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

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

Cette fois, j'ai créé un package de HULFT IoT Edge Streaming sur Sun Electronics Rooster (NSX7000), qui est une passerelle Linux!

Essayez d'abord

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

Informations sur l'appareil NSX7000

Il semble qu'il soit nécessaire de préparer l'environnement de création de package à l'avance pour installer HULFT IoT Edge Streaming, j'ai donc essayé de créer un package. image.png

Préparation de l'environnement de création de package

Ceci termine les préparatifs.

Préparation des modules à emballer

Utilisez HULFT IoT EdgeStreaming Studio pour implémenter le traitement de flux et le déployer dans votre environnement de packaging.

Pour savoir comment implémenter et déployer le traitement de flux, reportez-vous à "FirstStepGuide_jpn.pdf" dans le fichier zip obtenu lors du téléchargement du produit.

  1. Démarrez HULFT IoT EdgeStreaming Studio et créez un script qui représente le traitement de flux
  2. Déployez le script développé dans n'importe quel répertoire de l'environnement de création de package NSX7000 --ʻEs-agent.tar.gz` a été déployé dans n'importe quel répertoire spécifié
  3. Extrayez le fichier déployé avec la commande suivante
   tar zxf es-agent.tar.gz
  1. Lorsque la commande a été exécutée, les fichiers suivants ont été développés dans le même répertoire.

Créer un package

Créons un package pour le runtime HULFT IoT EdgeStreaing 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/
|    |
|    +-- run-es-script de démarrage de l'agent
+-- rpk/
|    |
|    +-- CONTROL/
|    |      |
|    |      +--fichier de contrôle
|    |
|    +--script appctl
|
+-- EdgeStreaming-runtime
+-- Makefile

  1. J'ai copié les fichiers suivants dans le répertoire d'objets.
  1. Ensuite, essayez de créer un fichier de contrôle. Je l'ai créé comme suit.
Package: EdgeStreaming-runtime
Version: 2.0.0
Depends: 
Runtime-Depends: 
Maintainer: Company
Architecture: nsx7000
Provides: 
Replaces: 
Description: 
  1. Créez un script appctl

Je l'ai créé comme suit.

#!/bin/sh

PACKAGE_NAME=EdgeStreaming-runtime
PACKAGE_DIR=/app/package

exec $PACKAGE_DIR/$PACKAGE_NAME/sbin/$PACKAGE_NAME $@

  1. Créez un script d'exécution EdgeStreaming qui sera exécuté à partir du script appctl.
#!/bin/sh /etc/rc.common

USE_PROCD=1

PACKAGE_NAME=EdgeStreaming-runtime
PACKAGE_DIR=/app/package
COMMAND=$PACKAGE_DIR/$PACKAGE_NAME/sbin/run-es-agent

start_service() {
	procd_open_instance
	procd_set_param command $COMMAND
	procd_set_param respawn
	procd_close_instance
}

stop_service() {
	return 0
}
  1. Créez un script de démarrage (run-es-agent)

Je l'ai créé comme suit.

#!/bin/sh

PACKAGE_NAME=EdgeStreaming-runtime
PACKAGE_DIR=/app/package

LD_LIBRARY_PATH=${PACKAGE_DIR}/${PACKAGE_NAME}/lib
BIN_DIR=${PACKAGE_DIR}/${PACKAGE_NAME}/bin
COMMAND=${BIN_DIR}/es-agent

export LD_LIBRARY_PATH
cd $BIN_DIR

exec $COMMAND run -c es-agent.yaml
  1. Accordez l'autorisation d'exécution au script de démarrage (run-es-agent).
chmod 755 run-es-agent
  1. Créez un Makefile.

Je l'ai créé comme suit.

ROOSTER_TOP_DIR ?= $(HOME)/RoosterOS-SDK

ADD_ON_PKG_NAME := EdgeStreaming-runtime
ADD_ON_PKG_VERSION := 2.0.0
ADD_ON_PKG_MAINTAINER := Company
ADD_ON_PKG_DESCRIPTION := 

OBJ_DIR=./object

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


EdgeStreaming-runtime: 


contents: $(ROOSTER_PACKAGE_ADD_ON_CONTENTS_DIR) EdgeStreaming-runtime
	mkdir -p $(ROOSTER_PACKAGE_ADD_ON_CONTENTS_DIR)/bin
	cp $(OBJ_DIR)/es-agent* $(ROOSTER_PACKAGE_ADD_ON_CONTENTS_DIR)/bin
	cp $(OBJ_DIR)/script.bql $(ROOSTER_PACKAGE_ADD_ON_CONTENTS_DIR)/bin
	cp -r $(OBJ_DIR)/plugins $(ROOSTER_PACKAGE_ADD_ON_CONTENTS_DIR)/bin

	mkdir -p $(ROOSTER_PACKAGE_ADD_ON_CONTENTS_DIR)/sbin
	cp $(OBJ_DIR)/run-es-agent $(ROOSTER_PACKAGE_ADD_ON_CONTENTS_DIR)/sbin
	$(call replace_add_on_keyword,\
		$(ADD_ON_PKG_NAME),\
		$(ROOSTER_PACKAGE_ADD_ON_CONTENTS_DIR)/sbin/$(ADD_ON_PKG_NAME))
	chmod +x $(ROOSTER_PACKAGE_ADD_ON_CONTENTS_DIR)/sbin/$(ADD_ON_PKG_NAME)

	touch $(ROOSTER_PACKAGE_ADD_ON_CONTENTS_PREPARED)


$(eval $(DefaultTarget))

  1. Exécutez la commande suivante pour créer un package.
make rpk
  1. Lorsque la commande est exécutée, 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.

finalement

Cette fois, j'ai installé HULFT IoT Edge Streaming sur une passerelle Linux. Comment était-ce? J'ai essayé de créer un package, mais le manuel était complet, donc le travail lui-même a été plus facile que prévu!

Aussi, cette fois, j'ai d'abord essayé de créer le package initial, J'aimerais utiliser HULFT IoT Edge Streaming concrètement à un autre moment! Je voudrais y parler de points plus spécifiques!

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 à vérifier et nous suivre si vous le souhaitez.

À la prochaine!

Recommended Posts

J'ai essayé de mettre HULFT IoT (Edge Streaming) dans la passerelle Rooster de Sun Electronics
J'ai essayé de mettre HULFT IoT (Agent) dans la passerelle Rooster de Sun Electronics
J'ai essayé de créer un plug-in avec HULFT IoT Edge Streaming [Development] (2/3)
J'ai essayé de créer un plug-in avec HULFT IoT Edge Streaming [Execution] (3/3)
J'ai essayé de créer un plug-in avec HULFT IoT Edge Streaming [Setup] (1/3)
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 représenter graphiquement les packages installés en Python
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
J'ai essayé d'extraire le texte du fichier image en utilisant Tesseract du moteur OCR
[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é 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 é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é d'implémenter le blackjack du jeu Trump en Python
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éverrouiller l'entrée 2 lock sésame d'une simple pression sur le bouton AWS IoT
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é d'adapter la fonction exponentielle et la fonction logistique au nombre de patients positifs au COVID-19 à Tokyo
[Linux] J'ai essayé de résumer les commandes de confirmation des ressources
J'ai essayé d'obtenir l'index de la liste en utilisant la fonction énumérer
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 essayé de traiter l'image en "style croquis" avec OpenCV
J'ai écrit le code pour écrire le code Brainf * ck en python
J'ai essayé de faire 5 modèles de base d'analyse en 3 ans
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.
[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
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
J'ai essayé d'améliorer la précision de mon propre réseau neuronal
J'ai essayé de résoudre 100 traitements linguistiques Knock version 2020 [Chapitre 3: Expressions régulières 25-29]