IoTデータ設定
IoTデータ設定
はWEB-UIのメンテナンス
→機能拡張
タブのサービスの追加で行います。
先ずはこちらでサービスをインストールしてください。
info
- IoTデータ制御は
Node-RED
と連携可能ですので、使う場合はNode-RED
もインストールしてください。 - IoTデータ制御は
Azure IoT Edge
に対しても送信可能ですが、OpenBlocks内にインストールされたAzure IoT Edge
にデータ送信する場合はAzure IoT Edge
もインストールしてください。
IoTデータ設定
がインストールされ、サービス
タブをクリックすると以下の画面表示表示されます。
サービス
→基本
タブよりIoTデータ
リンクをクリックすると、システムタブ
列がサービスタブ
列に偏移し、そしてIoTデータ
タブが表示されます。
IoTデータ制御機能
OpenBlocksシリーズのIoTデータ
制御機能は、BLE・UART等のセンサーデバイス、Modbus対応PLC機器などからメッセージデータを取得しIoTクラウドへを送信するセンサーデータのアップリンク機能と、
IoTクラウドからコマンドメッセージを受信しModbus対応PLC機器などを制御するダウンリンク機能をサポートしています。
アップリンク機能においては各センサーデバイスからのデータを取得し、複数のIoTクラウドへ送信可能としています。
OpenBlocksでは、このデータを一時バッファーとしてOpenBlocksシリーズ内のキャッシュに保存しているため、ネットワーク障害等が発生しても再送信が行えデータを安全に送信することが出来ます。
ダウンリンク制御はIoTクラウド側から制御メッセージを受け取り、ModbusのPLCなどの制御をすることが可能です。
各アプリケーションの概要
OpenBlocksはIoTの処理系が様々なマイクロサービスとして機能別に独立している処理系です。
そのマイクロサービスをUNIXドメインソケット
というプロセス間通信でメッセージをやり取りします。
一般的にはセンサーデータ受信用のPD Handler
からIoTクラウドへの送信PD Repeater
へとUNIXドメインソケット
をつないだアップリンクの構成と、
IoTクラウドからの受信PD Repeater
から下流制御のスクリプト実行用のPD Agent
をつなぐUNIXドメインソケット
が標準的な構成になります。
このUNIXドメインソケット
を他のプロセスと組み合わせカスタムする事で、より高度な処理系を実現できるシステムとなっています。
UNIXドメインソケット
をこれらモジュールへの入出力とするプログラムであれば、C言語
やその他Python
などの高級言語との連携も容易に行えます。
これらOpenBlocksのIoTデータ処理は、それぞれの持つ役割によってマイクロサービスモジュールとして構成されています。
また、このモジュールの集まりをPDHMSと呼び、それぞれPDの接頭語で機能別の区別を行っています。
PD Repeater
センサーから取り込んだデータを様々なIoTクラウドへ送信し、またIoTクラウドからの下流制御メッセージを受信するアプリケーションモジュールです。
PD Agent
PD Repeaterからの下流制御メッセージを受け取り、その下流制御用のスクリプトを呼び出すアプリケーションモジュールです。
PD Broker
PD Brokerは、一つのメッセージパス(UNIXドメインソケット
)を二つ以上に分岐させるアプリケーションモジュールです。
また、通過メッセージを指定によって通過させないなどのフィルター機能があります。
PD Handler
センサーからのデータを取り込むアプリケーションモジュールです。
BT/BLE/EnOcean/Modbusなど個々のインターフェースによって複数のハンドラーが用意されています。
アプリケーションモジュール構成のカスタム例
アプリ設定
アプリ起動制御
アプリ起動制御とは、IoTの処理系のPDモジュールの内、起動するアプリケーションモジュールを選択する機能です。
一般的にはセンサーの種類に応じた例えばBLE
用のPD Handler
でデータを取り込みPD Repeater
でIoTクラウドへ送信すると言った構成です。
この様な標準構成はWEB-UI
上で設定が容易です。
WEB-UIのIoTデータ
→アプリ設定
タブから使用するアプリケーションの起動制御の設定を行います。
なお、初めてこの設定を行う時はデフォルト使用アプリモード表示
にチェックを入れ、使うハンドラのみ使用する
にしてからチェックを外して閉じてください。
※使うハンドラを変更する時は、毎回ここのデフォルト使用アプリ
の設定を予め変えてください。
デフォルトアプリの設定が終わったら一括有効
ボタンを押してください。
※個別に使用する
を選んでも構いません。
コンフィグレーション制御
コンフィグ設定モード表示
は、特別なカスタマイズを行う時だけで一般では使いません。
コンフィグ設定モード表示
にチェックを入れると次の画面になります。
コンフィグ設定
は通常本システムコンフィグ
のまま変更しないでください。
ユーザー定義コンフィグ
は特殊なカスタマイズを行う時に選びます。
※特殊なコンフィグレーションについては開発者向けガイドを参照ください。
PD Handlerの種類
PD Handlerはハードウェアインターフェースによってアプリケーションモジュールがわけられています。
PD Handler 種類 | 説明 |
---|---|
BLE | BLEセンサーもしくはBLEビーコンからデータを受け取るアプリケーションです。 |
UART | UART経由での接続デバイスからデータを受け取るアプリケーションです。 このハンドラには次のモジュールが含まれるのでどれか一つを選択します。 ● EnOcean ● Wi-SUN(Bルート) ※ECHONET Lite非認定なので正規利用はできません。 |
MODBUS2 Client | 機器毎のモデリングファイルに基づきMODBUSプロトコルでPLC機器のレジスタを読み書きするモジュールです。*1 |
MODBUS2 Server | 機器毎のモデリングファイルに基づきMODBUS機器としてのプロトコル通信で読み出しを可能とするモジュールです。*1 |
MODBUS Client | MODBUSプロトコルでPLC機器のレジスタを読み書きするモジュールです。*1 |
MODBUS Server | MODBUS機器としてプロトコル通信での読み出しを可能とするモジュールです。*1 |
SW4x | SII社製ミスター省エネ無線ネットワークに接続し無線センサーのデータを取得するモジュールです。 |
HVSMC | 高圧スマート電力量メータ(Bルート)からECHONET LiteとAIFの仕様に基きデータを取得するモジュールです。*2 |
RS-SERIAL | RS-232CやRS-485等のシリアルデバイスに対してデータを送受信する汎用プログラミングモジュールです。 このモジュールはLua言語によるユーザーカスタマイズが前提となっています。*3 参照:LUA言語拡張ハンドラ |
脚注
- PD Handler MODBUSの1系と2系のアプリケーションを、同時に使用することはできません。
- PD Handler HVSMCのラジオボタンはECHONET Liteの認定を受けた同アプリケーションが使用可能な機種(OpenBlocks IoT EX1,VX2)でのみ表示されます。
- PD Handler RS-SERIALはコンフィグファイルを用いません。
そのためLua言語内ですべての必要パラメータを設定してください。
caution
IP フィルタの開放について
PD Handler HVSMC機能を「使用する」に設定し保存した場合、フィルタ開放確認のウィンドウが表示されます。
ウィンドウ画面にて適用する旨を選択した場合、自動でフィルタが恒久的に反映されます。
PD Handler MODBUS ServerまたはPD Handler MODBUS2 Server機能を「使用する」に設定し保存した場合、上記のフィルタ開放確認のウィンドウに続き、"フィルタ開放ポリシー設定[Modbus]" のウィンドが表示されます。
「ローカルエリアネットワークのみ」もしくは「全て」のいずれかを選択して下さい。
一旦、開放されたフィルタは、これらの機能を「使用しない」に設定し保存しても開放されたままとなります。
開放されたフィルタを閉じたい場合、もしくはフィルタ開放ポリシーを変更したい場合は、WEBUIの「システム」→「フィルター」タブの「フィルター開放設定」メニューから設定することができます。
アプリ自動再起動設定
アプリ自動再起動設定
は、アプリケーションモジュールを定期的に自動再起動させる機能です。
ユーザーカスタムによって開発されたアプリケーションモジュールに、もし不使用メモリーの増加でシステムを不安定しまう場合にアプリケーションモジュールを定期的に再起動する設定を行います。
アプリ自動再起動設定の再起動トリガーを毎日 にした例 |
---|
アプリ自動再起動設定の再起動トリガーを曜日指定 とした場合の表示例 |
---|
アプリ自動再起動設定の再起動トリガーを日にち指定 とした場合の表示例 |
---|
アプリ自動再起動設定の設定項目
設定項目 | 説明 |
---|---|
アプリ自動再起動設定 | 使用する もしくは使用しない に設定します。 |
再起動トリガー | 毎日 、曜日指定 、日にち指定 のいずれかを選択します。 |
曜日指定 | 再起動させる曜日を指定します。複数日指定することができます。 |
日にち指定 | 再起動させる日にちを指定します。複数日指定することができます。 |
再起動実施時間 | 再起動させる時刻を指定します。 |
送受信設定(PD Repeater)
IoTクラウド・サーバーの選択
IoTデータ
→送受信設定
タブの送受信設定
メニューより、本システムで利用するIoTクラウドやサーバーを選択します。
送受信設定の設定項目
ここでMS AzureやAWS IoTなどセンサーデータの送り先となるIoTクラウドを選びます。
本体内(lo)を除き最大4つの送受信先を選択することができます。
※センサーの送信先は個々に複数設定可能ですが次項での解説になります。
それぞれのIoTクラウドやサーバーの詳細設定は以下一覧のリンク先を参照ください。
設定項目 | 説明 |
---|---|
本体内(lo) | BLEデバイスのJSONテーブルと温度/湿度グラフを「IoTデータ」→「データ表示」タブに出力します。 |
DEXPF(dexpf) | 送受信先としてDEXPFを選択します。 |
DEXPF[Websocket](dexpf_ws) | 送受信先としてDEXPFを選択します。接続プロトコルとしてWebsocket over MQTTを用います。 |
MS Azure IoT Hub(iothub) | 送受信先としてMicrosoft Azure IoT Hubを選択します。 尚、Azure IoT Edgeに対して送信する場合には、本項目を選択します。 |
MS Azure IoT Hub[Websocket](iothub_ws) | 送受信先としてMicrosoft Azure IoT Hubを選択します。 接続プロトコルとしてWebsocket over MQTTを用います。 |
AWS IoT(awsiot) | 送受信先としてAmazon AWS IoTを選択します。 |
AWS IoT[Websocket](awsiot_ws) | 送受信先としてAmazon AWS IoTを選択します。 接続プロトコルとしてWebsocket over MQTTを用います。 |
Google IoT Core(iotcore) | 送受信先としてGoogle IoT Coreを選択します。 |
Watson IoT for Gateway(w4g) | 送受信先としてIBM Watson IoT for Gatewayを選択します。 |
MS Azure Event hubs(eventhub) | 送信先としてMicrosoft Azure Event hubsを選択します。 |
Amazon Kinesis(kinesis) | 送信先としてAmazon Kinesisを選択します。 |
Watson IoT for Device(w4d) | 送受信先としてIBM Watson IoT for Deviceを選択します。 |
Toami for DOCOMO(t4d) | 送信先としてNTT docomo Toami for DOCOMOを選択します。 |
SoftBankスマ可視専用クラウド(sbiot) | 送信先としてSoftBankスマ可視専用クラウドを選択します。 |
KDDI IoTクラウドStandard(kddi_std) | 送信先としてKDDI IoT クラウド Standardを選択します。 |
PH社独自仕様WEBサーバー(pd_web) | 送受先として弊社独自仕様のWEBサーバーを選択します。 |
WEBサーバー(web) | 送信先として汎用のWEBサーバーを選択します。 |
MQTTサーバー(mqtt) | 送受信先として汎用のMQTTサーバーを選択します。 |
TCP(ltcp) | 送受信先として汎用のTCPサーバーを選択します。 |
PD Exchange(pd_ex) | 送受信先としてPD Exchangeを選択します。 |
ドメインソケット(lsocket) | 送信先としてUNIXドメインソケットを選択します。 Node-REDパッケージがインストールされている場合のみ表示されます。 |
センサー受信(PD Handler)
センサー毎の送り先の設定
センサーデータの送信設定ペインはアプリ設定の項でPD Handler
のどれかを使用する
に設定した時に表示されます。
センサー用PD Handler
を使用する
に設定した時、それぞれのPD Handler
が自分の使用するHWインターフェース用にデバイス番号(UNIXドメインソケット
)を確保します。
そしてセンサーデータの送り先ペインは、各HWインターフェース毎に表示されます。
それぞれHWデバイス毎の送信設定ペインの送受信設定
を使用する
にすると詳細設定が表示されます。
それぞれHWデバイス毎に設定内容が変わりますが、ここでは全てのPD Handler
で共通な赤枠の部分ついて解説しておきます。
赤枠の中の送受信設定の右側はチェックボックスがたくさん表示されています。
チェックボックスの右側にアルファベットで数文字書かれているのはIoTクラウドの短縮名です。
これはIoTクラウド・サーバーの選択の項目で括弧内に書かれたIoTクラウド短縮名と同一のものです。
IoTクラウド・サーバーの選択で使用する
に設定されたチェックボックスのみにチェックが入れられます。
つまりここで二つのIoTクラウド・サーバーにチェックを入れると二つのIoTクラウドに同じセンサーデータを送信することが可能になります。
センサーI/F毎のハンドラ
PD Handlerのその他の詳細設定については以下の一覧のリンク先を参照ください。
インターフェース | 概要説明 |
---|---|
BLEビーコン | 社員証などのBLEビーコンからのデータ受信 |
BLEセンサー | BLEアドバタイズタイプのBLEセンサー |
EnOcean | EnOceanデバイス |
Wi-SUN Bルート | 低圧スマートメータのBルート受信 ※ECHONET LiteとAIF認証は未取得なので本番運用できません。 |
Modbusクライアント | Modbusの機器に対して問い合わせをする側のモジュールです。 |
Modbusサーバー | Modbusの機器としてModbusプロトコルで問い合わせされる側のモジュールです。 |
Modbus2クライアント | モデリングファイルで定義されたModbusの機器に対して 問い合わせをする側のモジュールです。 |
Modbus2サーバー | モデリングファイルで定義されたModbusの機器として Modbusプロトコルで問い合わせされる側のモジュールです。 |
SII SW4x | SII社のミスター省エネのホスト側のモジュールです。 |
高圧スマートメータ | 高圧スマートメータへの有線LANアクセスモジュールです。 ECHONET LiteとAIF認証済 |
ログ
IoTデータ制御ツールのログはIoTデータ
→ログ
タブから確認が行えます。
閲覧したいログファイルをログ欄から選択します。
ログファイルの選択を行うと、対象ログファイルの末尾が表示されます。
ダウンロードボタンを押すことによりログファイルのダウンロードが行えます。
また、自動更新(30秒間隔)
にチェックいれると30秒毎に表示が更新されます。
PD Broker / PD Agent
OpenBlocksのWEB-UIで操作可能なIoT処理は以下のスタイルが標準になります。
したがってカスタムに必要なPD Broker
とPD Agent
は開発者向けガイドのPDHMSリファレンスでの解説になります。
PD Exchange
PD Exchangeは、クラウドサービスのデータエクスチェンジサービスです。
ぷらっとホームの提供するPD Exchangeサーバーをライセンスしインターネット上へ設置する必要があります。
PD Exchangeは一つのIoTサーバーにデータを配するだけではなく、多対多のデバイス:アプリケーションサーバーへの接続を可能にするソリューションです。
ここでの設定は、PD ExchangeでのアクセスIDとなる、デバイス番号・アプリケーション名・チャンネルIDをOpenBlocksと紐づけします。
IoTデータ
→PD Exchange
タブにて以下を設定します。
PD Exchange の設定項目
設定項目 | 説明 |
---|---|
デバイス番号 | 紐付けしたい登録されたデバイスをプルダウンメニューで選択します。 |
アプリケーション名 | PD Exchangeに予め登録されたアプリケーションを指定して生成 ボタンを押します。PD Exchangeに未登録のアプリケーション名を指定するとエラーになります。 |
チャネルID一覧 | 取得 ボタンを押すと紐付されたデバイスとアプリケーションのチャネルIDが表示されます。作成したチャネルIDを削除する場合には チャネルID削除 ボタンを押してください。 |
BLE Lua
Lua言語を利用して開発したカスタムBLEハンドラーをOpenBlocksへアップロードする操作画面です。
詳細な使い方は、開発者向けガイドのLUA言語拡張ハンドラでの解説になります。
EnOcean Lua
Lua言語を利用して開発したカスタムEnOceanハンドラーをOpenBlocksへアップロードする操作画面です。
詳細な使い方は、開発者向けガイドのLUA言語拡張ハンドラでの解説になります。
SERIAL Lua
Lua言語を利用して開発したカスタムシリアルハンドラーをOpenBlocksへアップロードする操作画面です。
詳細な使い方は、開発者向けガイドのLUA言語拡張ハンドラでの解説になります。
HVSMC Lua
Lua言語を利用して開発したカスタムHVSMCハンドラーをOpenBlocksへアップロードする操作画面です。
詳細な使い方は、開発者向けガイドのLUA言語拡張ハンドラでの解説になります。
CSV送信
CSV送信
機能はOpenBlocks内にCSVファイル
として保存されたデータをIoTクラウド/サーバーへjsonテキスト
に変換して送信する機能です。
CSVファイル
は列ごとにjsonテキスト
変換され、これを1レコードとしてIoTクラウド/サーバーへ送信します。
詳細な使い方は、開発者向けガイドのCSVデータ送信機能での解説になります。
調整
それぞれのPDHMSサービスに割り当てるバッファサイズなどを設定します。
※通常はデフォルトのままお使いください。
詳細な使い方は、開発者向けガイドのPDHMSの調整での解説になります。
状態
PDHMSサービス関連のバッファステータスを表示します。