インストール&管理ガイド

インデックス

インストール

Ultralight 2.0 エージェントをインストールするには、Github リポジトリのクローン作成、RPM の使用、または Docker の使用の3つの方法があります。インストール方法にかかわらず、コンポーネントのインストールの前提条件として、ミドルウェアが存在する必要があります。ここには、これらのミドルウェアのインストール手順は記載していません :

  • MQTT バインディングが機能するには、MQTT v3.1 Broker が必要です。MosquittoRabbit MQ の両方 (MQTT プラグインが有効化されている)が、この目的のためにテストされています。

  • 永続ストレージを持つように設定されたIoT Agents には、MongoDB インスタンス (v3.2以上) が必要です。テストの目的で、インメモリ・リポジトリも提供されています。

  • Iot Agent の目的は、特定のサウスバウンド・デバイスプロトコルを使用するデバイスと NGSI エンドポイント、通常は OrionのようなNGSI Context Broker を接続することです。したがって、アクセス可能なContext Broker も必要です。Iot Agents はv0.26.0でテストされました。上位バージョンも動作するはずです。

ご自分の環境にどのようにミドルウェアをインストールすることができるかを調べるには、公式のWebページへのリンクに従ってください。

次のセクションでは、各インストール方法について詳しく説明します。

Githubリポジトリのクローニング

次のコマンドでリポジトリをクローンします :

git clone https://github.com/telefonicaid/iotagent-ul.git

リポジトリをクローンすると、次にプロジェクトのルートフォルダから次のコマンドが実行します :

npm install

これにより、プロジェクトの依存関係がダウンロードされ、実行準備が整います。

コンポーネントがクローン化された Github リポジトリから実行されると、リポジトリのルートにあるデフォルトの設定ファイルが使用されます。

RPM の使用

RPM の生成方法については、パッケージングの指示に従ってください。

RPM をインストールするには、yum ツールを使用します :

yum localinstall --nogpg <rpm-file_name>

RPMは、アプリケーションの起動に使用できる linux サービスをインストールします。これは、使用法のセクションで説明したように、実行可能ファイルを直接呼び出すのではないので、注意してください。

このオプションを使用すると、すべてのファイルが /opt/iotaul フォルダの下にインストールされます。ここで、サービスを構成する config.js ファイルを見つけることができます。設定ファイルが変更されるたびに、サービスを再起動することを忘れないでください。

Docker を使用

Docker Hub に公開されている IoTAgent の開発版の自動ビルドがあります。Docker パージョンを使用してインストールするには、次のコマンドを実行してください :

docker run -d --link orion:orion --link mosquitto:mosquitto --link mongo:mongo -p 7896:7896 -p 4041:4041 telefonicaiot/iotagent-ul

ご覧のように、他の Iot Agents と同様に Ultralight 2.0 でも、Docker の依存関係が必要です :

  • mongo : MongoDBインスタンス。プロビジョニング・データを格納するため
  • orion : Orion Context Broker
  • mosquitto : Mosquitto MQTT broker。MQTTベースのリクエストに対処します

それらをリンクするには、Docker を使用して展開し、例に示すように --link オプションを使用します。また、外部呼び出しのために、IoT Agent の外部ポート、4041(Northbound API) と 7896(HTTPバインディング)をマッピングすることもできます。

独自のDockerイメージを作成

IoT Agent Ultralight 2.0 コンポーネントの独自のローカルDockerイメージを構築することもできます。

Docker をマシンにインストールしたら、次の手順に従ってください :

  1. コンポーネントリポジトリがクローンされたパスに移動します
  2. Docker build を起動します
    • DockerfileのFROMキーワードで定義されているオペレーティングシステムのデフォルトのNodeJSバージョンを使用する場合 :
      bash sudo docker build -f Dockerfile .
    • 代替の NodeJS バージョンの使用 :
      bash sudo docker build --build-arg NODEJS_VERSION=0.10.46 -f Dockerfile .

使用法

Githubのインストール

IoT Agent を実行するには、クローンされたプロジェクトのルートフォルダから次のコマンドを実行します :

bin/iotagent-ul [config file]

config file はオプションです。次のセクションで説明します。

RPMのインストール

RPMは、典型的な手順で管理できる linux サービスをインストールします :

service iotaul start

service iotaul status

service iotaul stop

このモードでは、/var/log/iotaul/iotaul.log にログファイルが書き込まれます。

Dockerのインストール

Dockerは自動的に API ポートのリスンを開始するため、アプリケーションを実行するためにプロセスを実行する必要はありません。Docker image が自動的に開始されます。

パッケージング

許可される唯一のパッケージタイプは RPM です。パッケージング・スクリプトを実行するには、システムでRPM ビルドツールを使用可能にする必要があります。

プロジェクトのルートフォルダから、次のコマンドを使用してRPMを作成します :

cd rpm
./create-rpm.sh -v <version-number> -r  <release-number>

ここで、<version-number> はパッケージに必要なバージョン(x.y.z)で、<release-number> は前回のリリース数に依存します。

コンフィグレーション

Iot Agent のすべての設定は、アプリケーションのルートのconfig.jsファイルにあります。このファイルは JavaSript ファイルで、次のセクションが含まれています :

  • config.iota : 一般的な Iot Agent の設定。このグループの属性は、すべてのタイプの Iot Agent に共通であり、グローバル Iot Agent ライブラリドキュメント に記述されています。
  • config.mqtt : Iot Agent の MQTT トランスポート・プロトコル・バインディングの構成。以下のサブセクションで説明します。
  • config.http : Iot Agent の HTTP 転送プロトコルバインディングの設定。以下のサブセクションで説明します
  • config.defaultKey : 提供された Configuration を持たないデバイス用のデフォルト API キー
  • config.defaultTransport : MQTT トランスポートのコードで、トランスポート・プロトコルをデバイスに対して推測できなかった場合に、受信コマンドと遅延属性を解決するために使用されます。

MQTTバインディング構成

config.mqttconfig ファイルのセクションには、 IoT Agent からMQTT Broker に接続するために必要なすべての情報が含まれています。受け入れられる属性は次のとおりです :

  • host : MQTT Broker が配置されているホスト
  • port : MQTT Broker がリスニングしているポート
  • username : MQTT Broker 内の IoTAgent のユーザ名。認証がアクティブ化されている場合
  • password : 認証がアクティブになっている場合、MQTT Broker内の IoT Agent のパスワード

HTTPバインディングの設定

config.httpconfig ファイルのセクションには、HTTP 転送プロトコルバインディングのために HTTP サーバを開始するために必要なすべての情報が含まれています。以下のオプションが受け入れられます :

  • port : サウスバウンド HTTP リスナーがデバイスからの情報をリスンするポートです

環境変数による設定

より一般的な変数のいくつかは、環境変数を使用して構成できます。config.iota セット内の一般的なパラメータをオーバーライドするものは、IoT Agents ライブラリ設定マニュアルに記載されています。

特に Ultralight 2.0 バインディングに関連するものを次の表に示します。

環境変数 コンフィグレーション属性
IOTA_MQTT_HOST mqtt.host
IOTA_MQTT_PORT mqtt.port
IOTA_MQTT_USERNAME mqtt.username
IOTA_MQTT_PASSWORD mqtt.password
IOTA_HTTP_HOST http.host
IOTA_HTTP_PORT http.port