サン電子のゲートウェイRoosterにHULFT IoTを入れてみた(1/2)

【運営】セゾン情報システムズ
作成日時: - 更新日時:
Avatar
こんにちは、Orangelab事務局です。


今回は、Linuxゲートウェイ機器であるサン電子Rooster(NSX7000)にHULFT IoT EdgeStreamingを入れてみたことをブログにまとめてみました。

皆さまの課題を解決する糸口があるかもしれませんので、是非ご一読いただければ、と思います。

はじめに

サン電子Rooster(NSX7000)とは、サン電子株式会社のIoT/M2M向けルーターRoosterシリーズの機器となります。NSX7000は、マルチキャリア対応 LTE通信対応Linuxゲートウェイと位置づけられております。

NSX7000機器情報

機器の詳細については、下記リンクをご参照ください。

img_nsx.jpg

作業の流れ

HULFT IoT EdgeStreamingを インストールするには、事前にパッケージ作成環境を準備する必要があります。
主に以下の流れで作業をしていきます。
  • パッケージ作成環境を準備し、HULFT IoT EdgeStreamingのパッケージを作成します
  • NSX7000に作成したHULFT IoT EdgeStreamingのパッケージを適用します

事前準備

まず事前に以下の準備が必要となります。

HULFT IoT EdgeStreaming

  • 製品本体が含まれる zip ファイルを指定のサイトからダウンロードします
  • HULFT IoT EdgeStreaming に関する用語や操作などについては zip ファイルに含まれる「FirstStepGuide_jpn.pdf」をご参照ください

NSX7000 パッケージ作成環境

NSX7000マニュアル
上記リンクから、パッケージ作成環境の構築手順のマニュアルを参照してください

  • Add-onアプリケーション開発-パッケージ作成マニュアル.pdf
  • Add-onアプリケーション開発-環境構築マニュアル.pdf

パッケージ化するモジュールの準備

注意:以降の手順は、rootユーザで実行してください。

HULFT IoT EdgeStreaming Studio を使って、ストリーム処理を実装しパッケージ作成環境にデプロイします。

ストリーム処理を実装方法やデプロイ方法については、以下のマニュアルを参照してください。

  • FirstStepGuide_jpn.pdf

1. HULFT IoT EdgeStreaming Studio を起動し、ストリーム処理を表すスクリプトを作成します

2. 開発したスクリプトを NSX7000 パッケージ作成環境上の任意のディレクトリにデプロイします
      指定した任意のディレクトリには es-agent.tar.gz がデプロイされます

3. デプロイしたファイルを以下のコマンドで展開します

   tar zxf es-agent.tar.gz

4. コマンドを実行すると、同一ディレクトリに以下のファイルが展開されます

  • es-agent
  • es-agent.yaml
  • script.bql
  • (plugins)※プラグインモジュールを使用している場合

パッケージの作成

NSX7000 パッケージ作成環境で HULFT IoT EdgeStreaing runtime のパッケージを作成します。

各種ファイルのパラメータについては以下のマニュアルを参照してください。

  • Add-onアプリケーション開発-パッケージ作成マニュアル.pdf

1. 規定のディレクトリを作成します

   トップ・ディレクトリ/
   |
   +-- object/
   |    |
   |    +-- run-es-agent 起動スクリプト
   +-- rpk/
   |    |
   |    +-- CONTROL/
   |    |      |
   |    |      +-- control ファイル
   |    |
   |    +-- appctl スクリプト
   |
   +-- EdgeStreaming-runtime
   +-- Makefile

2. 以下のファイルを object ディレクトリにコピーします
- es-agent
- es-agent.yaml
- script.bql
- (plugins)※プラグインモジュールを使用している場合

3. control ファイルの作成します
以下は作成例です。

   Package: EdgeStreaming-runtime
   Version: 2.0.0
   Depends: 
   Runtime-Depends: 
   Maintainer: SAISON INFORMATION SYSTEMS CO.,LTD.
   Architecture: nsx7000
   Provides: 
   Replaces: 
   Description: 

4. appctl スクリプトを作成します

以下は作成例です。

   #!/bin/sh

   PACKAGE_NAME=EdgeStreaming-runtime
   PACKAGE_DIR=/app/package

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

5. appctl スクリプトから実行される EdgeStreaming-runtime スクリプトを作成します

   #!/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
   }

6. 起動スクリプト(run-es-agent)を作成します

以下は作成例です。

   #!/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

7. 起動スクリプト(run-es-agent)に実行権限を付与します

chmod 755 run-es-agent

8. Makefile を作成します

以下は作成例です。

   ROOSTER_TOP_DIR ?= $(HOME)/RoosterOS-SDK

   ADD_ON_PKG_NAME := EdgeStreaming-runtime
   ADD_ON_PKG_VERSION := 2.0.0
   ADD_ON_PKG_MAINTAINER := SAISON INFORMATION SYSTEMS CO.,LTD.
   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))

9. 以下のコマンドを実行してパッケージを作成します

   make rpk

10. コマンドを実行すると以下のファイルが作成されます

  • EdgeStreaming-runtime_2.0.0.rpk

パッケージのインストール、アンインストール

パッケージのインストール手順、アンインストール手順については、以下のマニュアルを参照してください。
  • Add-onアプリケーション開発-パッケージ作成マニュアル.pdf

まとめ

いかがでしたでしょうか。
この手順を実施することで、HULFT IoT EdgeStreamingのパッケージを作成して、
ゲートウェイ機器に適用することが可能になります。


関連記事:サン電子のゲートウェイRoosterにHULFT IoTを入れてみた(2/2)

この記事は役に立ちましたか?
0人中0人がこの記事が役に立ったと言っています

コメント