インストール&管理ガイド¶
インデックス¶
インストール¶
Ultralight 2.0 エージェントをインストールするには、Github リポジトリのクローン作成、RPM の使用、または Docker の使用の3つの方法があります。インストール方法にかかわらず、コンポーネントのインストールの前提条件として、ミドルウェアが存在する必要があります。ここには、これらのミドルウェアのインストール手順は記載していません :
-
MQTT バインディングが機能するには、MQTT v3.1 Broker が必要です。Mosquitto と Rabbit 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 をマシンにインストールしたら、次の手順に従ってください :
- コンポーネントリポジトリがクローンされたパスに移動します
- Docker build を起動します
- DockerfileのFROMキーワードで定義されているオペレーティングシステムのデフォルトのNodeJSバージョンを使用する場合 :
sudo docker build -f Dockerfile .
- 代替の NodeJS バージョンの使用 :
sudo docker build --build-arg NODEJS_VERSION=0.10.46 -f Dockerfile .
- DockerfileのFROMキーワードで定義されているオペレーティングシステムのデフォルトのNodeJSバージョンを使用する場合 :
使用法¶
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 |