IROHA2デバイス制御サーバー¶
目次:
起動¶
手動起動¶
デバイス制御サーバーがインストールされたディレクトリにおいて以下のコマンドを実行する。
$ cd /opt/mlfsoft/iroha2/iroha-device-server
$ ./run.sh
サービスとしての起動¶
デバイス制御サーバーをサービスとして登録している場合、systemctlコマンドによるサーバーの起動・停止の管理が可能である。 登録方法は管理者マニュアルの インストール手順 を参照のこと。
# 起動
$ sudo systemctl start irhdevsrv
# 状態確認
$ sudo systemctl status irhdevsrv
# 再起動
$ sudo systemctl restart irhdevsrv
# 停止
$ sudo systemctl stop irhdevsrv
Web UIへのアクセス¶
サーバーを起動しているマシンからアクセスする場合、Webブラウザで以下のURLにアクセスする。
http://localhost:8085/home
サーバー外のマシンからアクセスする場合、localhostをサーバーのIPアドレスに変更する。
Web UIからのサーバー停止¶
Web UIからサーバーを停止することが可能である。 詳細は サーバー管理画面:Server Control(バージョン2.7以降) を参照のこと。
監視画面および管理画面¶
デバイス制御サーバーのWeb UIには、大きく分けると監視画面と管理画面の2種類のモードがある。 また、それぞれのモードにおいてサーバー自体の監視・管理を行う画面とデバイスの監視・管理を行う画面がある。 つまり、以下のような構成となる。
- 監視画面
サーバーの監視画面
デバイスの監視画面
- 管理画面
サーバーの管理画面
デバイスの管理画面
それぞれの画面は Fig. 6 に示すように遷移する。
画面上部の Admin ラベルを選択することで、監視画面と管理画面が切り替わる 1
画面上部の サーバー名 と デバイス名 ラベルを選択することで、サーバー画面とデバイス画面が切り替わる
サーバーの設定¶
デバイス制御サーバーのサーバーとしての機能の設定を行う。 サーバー管理画面に移動し、 Server Setting を選択する。
ここでは以下の項目の設定を行う。 値を入力したのち、 Save ボタンを押下して設定を適用する。
項番 |
項目名 |
説明 |
---|---|---|
1 |
Server Name |
デバイス制御サーバー名(Web UI上で表示される名前) |
2 |
Maximum Retry Count for Device Conneting |
デバイスへの接続処理の最大リトライ回数 |
3 |
Web UI Update Interval (sec) |
自動更新対応ページの更新間隔 |
4 |
Measurement Logging Suppression |
同じ内容のログが連続して出力される場合、当該ログの出力を制御する回数を指定する |
5 |
Enable Sending to Message Server |
メッセージ通信の有効/無効を指定する 2 |
6 |
Redis Server Address:Port |
メッセージ通信を有効にした際に接続するRedisサーバーの接続先(IPアドレス:ポート) |
7 |
Allowed Hosts |
管理モードへのアクセスを許可するIPアドレス(ホスト名)を指定する(複数指定可) |
- 2
メッセージ通信はRedisサーバーを利用したリアルタイムデータ送信であり、使用するためにはPython redisのインストールが必要である。
Note
設定ファイル iroha-device-server/irhdevsrv.xml
を編集することで起動前に設定を変更することができる。
デバイスインスタンス¶
デバイス制御サーバーにおいて、デバイスを制御するためのスクリプトをインスタンス化したものをデバイスインスタンスという。 デバイスインスタンスはWeb UI上で作成や設定を行うことができる。
デバイスインスタンスの作成と削除¶
デバイスインスタンスの作成および削除は、サーバー管理画面の Edit Device 画面で行う。
作成¶
デバイスインスタンスを新規に作成するには、デバイスのClassをドロップダウンリストで選択し、 newNameのテキストボックスに追加する新しいデバイス名称を入力して Add ボタンを押下する。
このとき、すでに登録されているデバイス名称は使用できない。また、デバイス名称はURLとして使用できない文字列は指定できない。
削除¶
既存のデバイスインスタンスを削除するには、削除するデバイスの右にある Delete ボタンを押下する。
名称変更¶
名称を変更する場合は新しいデバイス名称を入力して Update ボタンを押下する。
デバイスインスタンスの設定¶
デバイスインスタンスの設定は、デバイス管理画面の Edit DevInfo 画面で行う。 デバイスインスタンスの設定画面内の設定項目はデバイスごとに異なるため、一例としてSampleデバイスの画面を Fig. 9 に示す。
多くの機器に共通する設定項目を示す (その他の設定項目はデバイスごとに異なるため、それぞれのデバイスのマニュアルを参照のこと)。 値を入力したのち、 Save ボタンを押下して設定を適用する。
項番 |
項目名 |
説明 |
---|---|---|
1 |
addr |
デバイスのIPアドレス |
2 |
portNo |
デバイスのポート番号 |
3 |
params/intervalReady |
(必須)非測定時にデバイスから情報を収集する時間間隔(秒) |
4 |
params/intervalMeasurement |
測定時にデバイスから情報を収集する時間間隔(秒) 3 |
5 |
params/intervalInProgress |
(必須)デバイスにパラメータを入力するなどしてInPorgress状態になった場合にデバイスから情報収集する時間間隔(秒) |
- 3
測定時においても、デバイスがInPorgress状態になった場合やintervalMeasurementが定義されていない場合、 intervalInPorgressの時間間隔でデバイスからの情報の収集を行う。
デバイスとの接続¶
デバイスインスタンスの作成、設定ののち、デバイスとの接続を行う。 デバイスとの接続は、サーバー管理画面の Thread Control 画面で行う。
この画面は2つに分かれており、上部はデバイスの制御、下部はスレッドの制御を行う。 デバイスとの接続は上部のデバイス制御部で行う。 接続するデバイスの行にある Reset ボタンを押下すると、デバイスとの接続を試みる。
接続に失敗した場合には Table 13 で設定した回数だけリトライを繰り返す。 その上限回数を超えた場合には、そのデバイスはDisconnect状態となる。 IP等の設定や物理的な接続状態を確認して再度接続を試みる。
ログ出力の設定¶
デバイスログの出力先と出力項目に関する設定を行う。 ログ出力の設定は、デバイス管理画面の Edit Logging 画面で行う。
出力先のパスの設定¶
出力先のパスの設定はこの画面の上部パネルで行う。
デバイスログには3種類あり、それぞれの出力先のパスを設定する。 値を入力したのち、 Save ボタンを押下して設定を適用する。
項番 |
項目名 |
説明 |
---|---|---|
1 |
Operation Log |
操作ログ:デバイスに対する操作や状態遷移などが記録される |
2 |
Measurement Log |
測定ログ:測定中に収集したデバイスの状態が記録される 4 |
3 |
Surveillance Log |
監視ログ:測定中、非測定中に関わらずデバイスの状態が記録される |
- 4
装置管理サーバーで管理している場合はそちらの設定が反映され、自動的に新しい測定ディレクトリに更新される。
測定ログの設定¶
デバイスログのうち測定ログの設定は下部のパネルで行う。
デバイスステータスごとに Table 15 に示した項目の設定を行う。 値を入力したのち、 Save ボタンを押下して設定を適用する。
項番 |
項目名 |
説明 |
---|---|---|
1 |
Status Element |
devStatus.tplに定義されているテキスト要素をもつ要素タグ名 |
2 |
Name |
測定ログの表示名 |
3 |
Meas |
チェックすると測定ログ項目となる |
4 |
type |
int、float、string のいずれかを選択する |
5 |
unit |
値の単位を指定する。単位は表示 |
6 |
range |
タイプがint、floatの場合に値の最小値、最大値、ステップを次の書式で指定する。
[min]:[max]:[step]
文字列の場合は、取りうる文字列を:で区切る。
|
デバイスの監視¶
デバイスの監視はデバイス監視画面で行う。 デバイス監視画面の説明は IROHA2デバイス制御サーバー のデバイス監視画面の項を参照のこと。
また、デバイスステータスはデバイス管理画面の Edit Params においても表示される。 ただし、デバイス独自の画面を表示している場合には表示されない場合がある。
デバイスの操作¶
デバイスの操作はデバイス管理画面の Edit Params において、デバイスパラメータを送信することで行う。
通常この画面は左にデバイスステータスのパネル、右にステータスパネルが表示される。 デバイスによっては独自の画面を定義しているものがあるため、デバイスステータスのパネルが表示されない場合もある。
デバイスパラメータのパネルにおいて各パラメータの値を設定し、 Save ボタンを押下することでデバイスにパラメータを送信する。 パラメータを送信するとデバイスはInProgress状態となり、処理が完了するとReadyへと遷移する。
Note
デバイスパラメータは複数の設定値を一括で送信する。 また、同じ設定値を連続して送信することはできない。