[LINUX] J'ai essayé de mettre HULFT IoT (Agent) dans la passerelle Rooster de Sun Electronics

Bonjour, Yorozu responsable de la consultation Sugimon: miam: C'est le cas.

La dernière fois, j'ai créé un package de HULFT IoT Edge Streaming sur Sun Electronics Rooster (NSX7000), qui est une passerelle Linux. (Ce qui précède) Cette fois, comme deuxième étape, j'ai également résumé la création du package de HULFT IoT Agent sur le blog.

Il peut y avoir des indices pour résoudre vos problèmes, alors jetez un œil.

Procédure de création de package HULFT IoT Agent pour NSX7000

introduction

Sun Electronics Rooster (NSX7000) est un appareil de la série de routeurs Rooster de Sun Electronics Co., Ltd.pour IoT / M2M. Le NSX7000 se positionne comme une passerelle Linux compatible avec les communications LTE multi-porteuses.

Veuillez consulter le lien ci-dessous pour plus de détails sur l'équipement. Informations sur l'appareil NSX7000

Pour installer HULFT IoT Agent, vous devez préparer l'environnement d'empaquetage à l'avance. J'ai en fait essayé de créer un package. image.png

Préparation préalable

Veuillez préparer ce qui suit.

Environnement du gestionnaire de bâtiment

Manuel IoT HULFT Créez l'environnement Manager conformément au manuel HULFT IoT.

Préparation des modules à emballer

Remarque: effectuez les étapes suivantes en tant qu'utilisateur root

  1. Copiez les fichiers suivants dans n'importe quel répertoire de l'environnement de création de package NSX7000
  1. Extrayez le fichier copié
tar zxf HULFT_IoT_Agent_Linux_AArch32_Vxxx.tar.gz
  1. Lorsque vous exécutez la commande, les fichiers suivants seront développés
iot_agent/
+-- modules/
|    +-- huliotcore
|    +-- huliotinfo
|    +-- huliotsend
|    +-- huliotservice
|
+-- defaultsettings.ini
|
+-- huliotsetup
|
+-- huliotsetup.ini

Modifier le fichier de configuration

Modifiez le fichier de configuration de HULFT IoT Agent.

  1. Création de agent.conf

Copiez le texte suivant et enregistrez-le dans n'importe quel répertoire avec le nom de fichier agent.conf

devicename = 
server_hostname = 
proxy = 
proxy_user = 
protocol = 0
cert_verification = 0
activation_key = 
first_conn_retry_interval = 3600
remarks_file = 
  1. Définissez les éléments suivants dans le fichier agent.conf créé

Créer un package

Créez un package pour HULFT IoT Agent dans l'environnement de création de package NSX7000. Pour les paramètres de divers fichiers, reportez-vous au [Manuel] suivant (http://www.sun-denshi.co.jp/sc/nsx7000/manual/).

  1. Créez un répertoire spécifié
Top répertoire/
|
+-- object/
+-- rpk/
|    |
|    +-- CONTROL/
|    |      |
|    |      +--fichier de contrôle
|    |      +--script postrm
|    |
|    +--script appctl
|
+-- Makefile

  1. Copiez les fichiers suivants dans le répertoire d'objets
  1. Créez un fichier de contrôle

Je l'ai créé comme suit.

Package: hulftiot-agent
Version: 2.0.0
Depends: 
Runtime-Depends: 
Maintainer: Company
Architecture: nsx7000
Provides: 
Replaces: 
Description: 
  1. Créez un script postrm
#!/bin/sh

PATH=/usr/sbin:/sbin:$PATH
export PATH
: ${ROOSTER_OS_LOG_STDERR:=yes}
: ${ROOSTER_OS_LOG_FACILITY:=user}

. /lib/functions.sh
include /lib/functions/rooster-os/base
include /lib/functions/rooster-os/rpkg

PACKAGE_NAME=hulftiot-agent

on_remove() {
  rm -rf /app/var/${PACKAGE_NAME}
  return 0
}

case "$1" in
  *)
    if [ $PKG_ROOT = "/" ]; then
      on_remove
    fi
    ;;
esac

exit 0
  1. Créez un script appctl

Je l'ai créé comme suit.

#!/bin/bash

PACKAGE_NAME=hulftiot-agent
PACKAGE_DIR=/app/package

EXEC_DIR=/app/var/${PACKAGE_NAME}
WORK_DIR=${EXEC_DIR}/work
LOG_DIR=${EXEC_DIR}/log

HASH_CMD=sha1sum
HASH_FILE=huliot.sha1
IOT_FILE=("huliotcore"  "huliotinfo"  "huliotsend"  "huliotservice")


make_hash() {
    if [ -e ${EXEC_DIR}/${HASH_FILE} ]; then
        rm -f ${EXEC_DIR}/${HASH_FILE}
    fi

    for ((i = 0; i < ${#IOT_FILE[@]}; i++)) {
        ${HASH_CMD} ${PACKAGE_DIR}/${PACKAGE_NAME}/bin/${IOT_FILE[i]} >> ${EXEC_DIR}/${HASH_FILE}
    }
}

start_app() {
    if [ ! -d ${EXEC_DIR} ]; then
        mkdir -p ${EXEC_DIR}
        mkdir -p ${WORK_DIR}
        mkdir -p ${LOG_DIR}
        cp -p ${PACKAGE_DIR}/${PACKAGE_NAME}/bin/* ${EXEC_DIR}
        echo "workfile_path = ${WORK_DIR}" >> ${EXEC_DIR}/agent.conf
        echo "logfile_path = ${LOG_DIR}"  >> ${EXEC_DIR}/agent.conf
        make_hash
    else
        ${HASH_CMD} -c ${EXEC_DIR}/${HASH_FILE} > /dev/null 2>&1
        if [ $? -ne 0 ]; then
            cp -pf ${PACKAGE_DIR}/${PACKAGE_NAME}/bin/huliot* ${EXEC_DIR}
            make_hash
        fi
    fi
    ${EXEC_DIR}/huliotservice
}

stop_app() {
    ${EXEC_DIR}/huliotservice --stop
}

case "$1" in
    start)
        start_app
        ;;
    stop)
        stop_app
        ;;
    restart)
        stop_app
        start_app
        ;;
    *)
        ;;
esac

exit 0

  1. Créez un Makefile

Je l'ai créé comme suit.

ROOSTER_TOP_DIR ?= $(HOME)/RoosterOS-SDK

ADD_ON_PKG_NAME := hulftiot-agent
ADD_ON_PKG_VERSION := 2.0.0
ADD_ON_PKG_MAINTAINER := Company
ADD_ON_PKG_DESCRIPTION := 

include $(ROOSTER_TOP_DIR)/mk/add-on-package.mk

OBJ_DIR=./object

hulftiot-agent:

contents: $(ROOSTER_PACKAGE_ADD_ON_CONTENTS_DIR) hulftiot-agent
	mkdir -p $(ROOSTER_PACKAGE_ADD_ON_CONTENTS_DIR)/bin
	cp $(OBJ_DIR)/huliot* $(ROOSTER_PACKAGE_ADD_ON_CONTENTS_DIR)/bin
	cp $(OBJ_DIR)/agent.conf $(ROOSTER_PACKAGE_ADD_ON_CONTENTS_DIR)/bin
	touch $(ROOSTER_PACKAGE_ADD_ON_CONTENTS_PREPARED)

$(eval $(DefaultTarget))

  1. Exécutez la commande suivante pour créer un package
make rpk
  1. Lorsque vous exécutez la commande, le fichier suivant est créé

Après cela, vous pouvez l'utiliser en apportant ce fichier de package créé à Rooster et en l'installant en vous référant au manuel suivant.

Résumé

Qu'as-tu pensé. Cette fois, j'ai essayé de créer un package HULFT IoT Agent. Il y a de nombreuses étapes, mais si vous suivez le manuel et répondez régulièrement, vous l'avez fait jusqu'au bout!

Dans ce blog, je voudrais continuer à présenter le contenu des consultations au "Yorozu Consultation Counter" de la technologie et les astuces qui sont nées.

Veuillez continuer à le vérifier et nous suivre si vous le souhaitez.

À la prochaine!

Recommended Posts

J'ai essayé de mettre HULFT IoT (Agent) dans la passerelle Rooster de Sun Electronics
J'ai essayé de mettre HULFT IoT (Edge Streaming) dans la passerelle Rooster de Sun Electronics
J'ai essayé d'afficher la valeur d'altitude du DTM dans un graphique
J'ai essayé de corriger la forme trapézoïdale de l'image
J'ai essayé de vectoriser les paroles de Hinatazaka 46!
J'ai essayé de résumer la forme de base de GPLVM
J'ai essayé de mettre Pytest dans la bataille réelle
J'ai essayé de visualiser les informations spacha de VTuber
J'ai essayé d'effacer la partie négative de Meros
J'ai essayé de classer les voix des acteurs de la voix
J'ai essayé de résumer les opérations de chaîne de Python
[First data science ⑥] J'ai essayé de visualiser le prix du marché des restaurants à Tokyo
J'ai essayé de trouver l'entropie de l'image avec python
[Courses de chevaux] J'ai essayé de quantifier la force du cheval de course
J'ai essayé d'obtenir les informations de localisation du bus Odakyu
J'ai essayé de trouver la moyenne de plusieurs colonnes avec TensorFlow
J'ai essayé de résumer le code souvent utilisé dans Pandas
J'ai essayé d'illustrer le temps et le temps du langage C
[Python] J'ai essayé de visualiser la relation de suivi de Twitter
J'ai essayé de résumer les commandes souvent utilisées en entreprise
J'ai essayé d'implémenter la fonction d'envoi de courrier en Python
[Apprentissage automatique] J'ai essayé de résumer la théorie d'Adaboost
J'ai essayé de combattre le minimum local de la fonction Goldstein-Price
J'ai essayé d'implémenter le blackjack du jeu Trump en Python
J'ai écrit un doctest dans "J'ai essayé de simuler la probabilité d'un jeu de bingo avec Python"
[Traitement du langage naturel] J'ai essayé de visualiser les remarques de chaque membre de la communauté Slack
J'ai essayé de trouver la tendance du nombre de navires dans la baie de Tokyo à partir d'images satellites.
J'ai essayé de décrire le trafic en temps réel avec WebSocket
[Linux] J'ai essayé de résumer les commandes de confirmation des ressources
J'ai essayé de déverrouiller l'entrée 2 lock sésame d'une simple pression sur le bouton AWS IoT
J'ai essayé d'automatiser l'arrosage du pot avec Raspberry Pi
J'ai essayé de créer l'image de démarrage SD de LicheePi Nano
J'ai écrit le code pour écrire le code Brainf * ck en python
J'ai essayé d'enregistrer une station sur la plateforme IoT "Rimotte"
J'ai essayé de faire 5 modèles de base d'analyse en 3 ans
J'ai essayé de résumer le contenu de chaque paquet enregistré par Python pip en une seule ligne
[RHEL7 / CentOS7] J'ai mis dans le swatch de l'outil de surveillance du journal et j'ai essayé de notifier par e-mail.
J'ai essayé de traiter l'image dans un "style de dessin au crayon" avec OpenCV
J'ai essayé d'agrandir la taille du volume logique avec LVM
J'ai essayé de résumer la méthode de mise en œuvre fréquemment utilisée de pytest-mock
Je veux connaître la population de chaque pays du monde.
J'ai essayé d'améliorer l'efficacité du travail quotidien avec Python
J'ai essayé de visualiser la condition commune des téléspectateurs de la chaîne VTuber
J'ai essayé de déplacer le ballon
J'ai essayé d'estimer la section.
J'ai essayé d'adapter la fonction exponentielle et la fonction logistique au nombre de patients positifs au COVID-19 à Tokyo
J'ai essayé de transformer l'image du visage en utilisant sparse_image_warp de TensorFlow Addons
[Python] J'ai essayé de résumer le type collectif (ensemble) d'une manière facile à comprendre.
J'ai essayé d'obtenir les résultats de Hachinai en utilisant le traitement d'image
J'ai essayé de visualiser la tranche d'âge et la distribution des taux d'Atcoder
J'ai essayé de transcrire les actualités de l'exemple d'intégration commerciale sur Amazon Transcribe
zoom J'ai essayé de quantifier le degré d'excitation de l'histoire lors de la conférence
J'ai essayé d'estimer la similitude de l'intention de la question en utilisant Doc2Vec de gensim