====== HULFT IoT の利用 ======
[[https://www.hulft.com/software/hulft-iot|{{:playground:hulft_iot:hulft_iot_logo.png|HULFT IoT}}]]
\\
===== 前提作業 =====
本書では、HULFT IoT Agent(以下Agent)を MA-E3xx に導入する際の手順について掲載します。\\
まずは、HULFT IoT に同梱されている「ファーストステップガイド」を確認し、HULFT IoT Manager の環境構築を実施してください。
\\
===== HULFT IoT Agent の導入 =====
MA-E3xx に Agent をインストールします。\\
Agentのインストールは、root ユーザで実行してください。
\\
==== セットアップ ====
MA-E3xx に、提供媒体内の Agent のモジュールを展開します。\\
インストール先のOSに該当するモジュールを選んでください。
MA-E3xx に入れるモジュールは以下になります。\\
''HULFT\_IoT\_Agent\_Linux\_AArch32\_{バージョン}.tar.gz''
なお、本手順ではファイル名が「''HULFT_IoT\_Agent\_Linux\_AArch32\_V110.tar.gz''」として記載します。\\
モジュール名については下記を参照してください。
**HULFT IoT Agent for Linux**
\-+-HULFT_IoT_Agent
+-huliotcore HULFT IoT Agent 制御モジュール
+-huliotsend HULFT IoT Agent 配信モジュール
+-huliotservice HULFT IoT Agent サービスモジュール
+-huliotsetup HULFT IoT Agent インストーラー
\\
=== 1. インストール作業用ディレクトリの作成 ===
MA-E3xx で任意のディレクトリに、Agent のインストール作業用ディレクトリを作成します。
# mkdir /tmp/module
# mv HULFT_IoT_Agent_Linux_AArch32_V110.tar.gz /tmp/module/
# ls -l
total 1220
-rw-r--r-- 1 root root 1249266 Feb 17 07:03 HULFT_IoT_Agent_Linux_AArch32_V110.tar.gz
\\
=== 2. Agent のモジュールの展開 ===
インストール作業用ディレクトリに展開します。
# tar -xzvf HULFT_IoT_Agent_Linux_AArch32_V110.tar.gz
./HULFT_IoT_Agent/
./HULFT_IoT_Agent/huliotsetup
./HULFT_IoT_Agent/huliotsend
./HULFT_IoT_Agent/huliotservice
./HULFT_IoT_Agent/huliotcore
\\
=== 3. Agent のインストール ===
Agent のインストール作業用ディレクトリで以下のコマンドを実行し、Agent をインストールします。 \\
コマンドは絶対パスまたは相対パスで指定してください。
セットアップコマンド の Usage は以下の通りです。
./huliotsetup --help
Argument has not been specified. [--key]
Usage: setup [OPTION]
Available Options
[--path INSTALL_PATH]
To specify the installation path.
If omitted, create and install "huliot" folder in the same hierarchy.
--key Activation-Key
Specify the activation key.
--server SERVER_NAME[:SERVER_PORT]
Specify the host information at the time of connection.
[--proxy PROXY_NAME[:PROXY_PORT]]
Specifies the proxy server to use when connecting.
[--proxy-user USERNAME:PASSWORD]
To specify the user information of the proxy.
[--ssl] To communicate with HTTPS. The default is to communicate with HTTP.
[--start] To start after the installation.
[--devicename DeviceName]
To specify the name of the device.
[--version] Print version information and then exit.
[--help] Print this message and then exit.
\\
== パラメータの説明 ==
--path {$INSTALL_PATH}
Agentのインストール先ディレクトリ(省略可)
省略した場合、「/opt/hulftiot」ディレクトリが作成され、Agentがインストールされます。
--key {$ACTIVATION_KEY}
接続先の Manager のアクティベーションキー
アクティベーションキーを確認する方法については、「3-1. HULFT IoTのアクティベーションキーの確認方法」を参照してください。
--server {$SERVER_NAME:$SERVER_PORT}
接続先の Manager が起動しているサーバ名および Manager のポート番号
{$:SERVER_PORT} を省略すると、ポート番号は「8765」が使用されます。
--proxy {$PROXY_NAME:$PROXY_PORT}
Manager への接続時に使用するプロキシサーバ名およびプロキシサーバのポート番号(省略可)
{:$PROXY_PORT} を省略すると、ポート番号は「80」が使用されます。
--proxy-user {$USERNAME:$PASSWORD}
Manager への接続時に使用するプロキシサーバのユーザー名とパスワード(省略可)
--ssl
HTTPS による Manager との通信(省略可)
省略時は HTTP による通信が行われます。
--devicename {$DEVICE_NAME}
Agent をインストールする任意の機器名(省略可)
省略時はインストール環境に設定されているホスト名が設定されます。
--start
インストール後に Agent を起動(省略可)
\\
=== 3-1. HULFT IoT のアクティベーションキーの確認 ===
IoT 機器に Agent をインストールする場合は、Manager への接続を有効にするためのキーが必要です。\\
Manager への接続を有効にすることをアクティベーションといい、アクティベーションに使用する文字列をアクティベーションキーといいます。\\
アクティベーションキーを確認する場合は、Manager の操作画面で[ライセンス]を選択し、\\
ライセンス画面でHULFT IoTのアクティベーションキーを確認します。
{{hulftiot_agent_01.png?1024|HULFT IoT Manager のライセンス画面}}
\\
セットアップコマンドの実行例
./huliotsetup --key 12345678-1234-1234-1234-123456789abc --server HOST01
下記以外は、省略値でセットアップを実行する例です。
ACTIVATION_KEY:12345678-1234-1234-1234-123456789abc
SERVER_NAME:HOST01
実行した結果、/opt/hulftiot 配下に ファイルが作成されます。
-rw-r--r-- 1 root root 159 May 29 03:19 agent.conf
-rwxr-xr-x 1 root root 2291296 May 29 03:19 huliotcore
-rwxr-xr-x 1 root root 228936 May 29 03:19 huliotsend
-rwxr-xr-x 1 root root 83488 May 29 03:19 huliotservice
agent.conf には コマンドに指定したパラメータが設定されています。
# less agent.conf
devicename =
server_hostname = HOST01:8765
proxy =
proxy_user =
protocol = 0
cert_verification = 0
activation_key = 12345678-1234-1234-1234-123456789abc
以上でAgentのインストールは完了です。
\\
=== 4. Agent のアクティベーション ===
MA-E3xx で、インストールした Agent を起動すると、アクティベーション(Manager との接続の有効化)が実行されます。 \\
Agent のインストール先ディレクトリで、以下のコマンドを実行します。 \\
Agent の起動は、root ユーザで実行してください。コマンドは、絶対パスまたは相対パスで指定してください。
./huliotservice
Agent を起動すると、アクティベーション(Managerとの接続の有効化)が実行されます。 \\
これで、Agent の起動は完了です。
\\
=== 4-1. Agent のアクティベーションの確認 ===
Manager の操作画面で[エージェント]を選択し、エージェント一覧画面で Agent の情報が表示されることを確認します。\\
{{hulftiot_agent_02.png?1024|HULFT IoT Manager のエージェント画面}}
\\
また、アクティベーションの初回実行時に、インストール先ディレクトリの agent.conf に 一意の agent_id が設定されます。
# less agent.conf
devicename =
server_hostname = HOST01:8765
proxy =
proxy_user =
protocol = 0
cert_verification = 0
activation_key = 12345678-1234-1234-1234-123456789abc
agent_id = aba798d1-c67c-499e-aa25-02ed69dd1b9c
\\
=== 5. 疎通テスト ===
HULFT IoT に同梱されている「ファーストステップガイド」を確認し、Agent から HULFT へのファイル転送の疎通テストを実施してください。
\\
=== 6. Agent のサービス化 ===
機器起動時に自動的にAgentが立ち上がるようにするための設定として、Upstartへのサービス登録の手順を記載します。
上記手順にてAgentが起動した状態の場合、Agentを停止させてください。\\
Agent の停止は、root ユーザで実行してください。
killコマンドの実行例
kill `cat huliotservice.pid`
\\
== 6-1. 定義ファイルの作成 ==
以下の定義ファイルを作成し、設定を記載してください。
/etc/init/hulftiot-agent.conf
description "hulftiot-agent"
start on runlevel [345]
stop on runlevel [0126]
respawn
expect daemon
exec /opt/hulftiot/huliotservice
\\
== 6-2. Service として認識されたか確認する ==
以下のコマンドを実行してください。
sudo initctl list |grep hulftiot-agent
認識されていれば、以下のように出力されます。
hulftiot-agent stop/waiting
\\
== 6-3. Serviceとして起動する ==
以下のコマンドを実行してください。
sudo initctl start hulftiot-agent
\\
== 6-4. Service のステータス確認 ==
以下のコマンドを実行してください。
sudo initctl status hulftiot-agent
サービスが無効になっている場合、以下のように表示されます。
hulftiot-agent stop/waiting
サービスが有効化され起動している場合、以下のように表示されます。
hulftiot-agent start/running, process 6232
\\
=== 7. Agent のインストールに失敗した場合 ===
Agent のインストール作業で、以下のような場合はインストールに失敗している可能性があります。\\
- コマンド実行は成功したが、Agent が起動しない。
- Manager から Agent を認識できない。
このような場合は、Agent を正しくインストールする必要があります。\\
以下の手順でアンインストールした後、再度、インストールを実行してください。
\\
* 1. Agent の終了
Agent のインストール先ディレクトリで kill コマンドを実行し、Agent を停止します。
Agent の停止は、root ユーザで実行してください。
kill コマンドの実行例
kill `cat huliotservice.pid`
\\
* 2. インストール先ディレクトリの削除
ディレクトリ削除の実行例
rm -rf /opt/hulftiot/