3.1. ICE Core SDK概要

ICEではエッジ側のアプリケーション開発を行うためのSDKが提供されます。
本SDKのファイル構成は下記の通りです。
core/
 +-- bin/                                # npm等の実行ファイル群
 |
 +-- conf/                               # 開発環境用の初期設定ファイル群
 |
 +-- include/                            # Node.jsのヘッダファイル群
 |
 +-- lib/node_modules                    # npm用のライブラリ群
 |
 +-- native/include/                     # ICE Data Delivery C API のヘッダファイル群
 |
 +-- sample/                             # Device Adapter、Edge Application、Node-REDフローのサンプル群
 |
 +-- share/                              # Node.jsの共有ファイル群

3.1.1. エッジ側開発環境のセットアップ

  1. 運用・利用ガイドを参照しICE Coreをセットアップします

  2. ICE CoreをセットアップしたディレクトリにSDKを展開します

    # cd /opt/nec/pf/ice
    # tar xzf iot_connectivity_engine_core-sdk-noarch-1.2.3.tar.gz
    
  3. gcc をインストール

    Device Adapterや Edge Applicationを開発する場合にはgccをインストールします。 Node-REDのみを利用した開発の場合は不要です。

    # apt-get install gcc make
    

3.1.2. サンプル一覧

ICE Core SDKの中に、エッジ側のアプリケーションサンプルを同梱しています。

本開発ガイドでは、サンプルを使ってDevice AdapterやEdge Applicationの実装について簡単に説明します。

core/
 +-- samples/
      +-- native/app/
      |    +-- thermometer_sample/       # Device Adapter サンプル
      |    |                             # 疑似温度(摂氏)センサ
      |    |
      |    +-- hydrometer_sample/        # Device Adapter サンプル
      |    |                             # 擬似湿度センサ
      |    |
      |    +-- temp_converter_sample/    # Edge Application サンプル
      |    |                             # 摂氏 → 華氏  変換処理
      |    |
      |    +-- device_operation_sample/  # Device Adapter サンプル
      |    |                             # Backendからの任意指示を受信
      |    |
      |    +-- edgeap_operation_sample/  # Edge Application サンプル
      |    |                             # Backendからの任意指示を受信
      |    |
      |    +-- partition_sample/         # Device Adapter サンプル
      |    |                             # 64KBを越えるデータを分割
      |    |
      |    +-- assemble_sample/          # Edge Application サンプル
      |    |                             # 分割されたデータを結合
      |    |
      |    +-- air_conditioning_sample/  # Device Adapter サンプル
      |    |                             # 空調機器を想定したエミュレータ
      |    |
      |    +-- lighting_sample/          # Device Adapter サンプル
      |                                  # 照明機器を想定したエミュレータ
      |
      +-- node-red/
      |    discomfort.json               # 温度センサ、湿度センサのデータを元に不快指数を算出・通知するフロー
      |    device_actuation.json         # 空調、照明にアクチュエーションするフロー
      |    aws_thingshadow.json          # AWS IoTのThing Shadowと連携するフロー
      |
      |
      +-- onvif_xml/                     # ONVIF対応Node-REDノード用のテンプレートサンプル
  • SDKには実行時に利用するライブラリは含まれません。