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データアプリ設定タブから使用するアプリケーションの起動制御の設定を行います。
なお、初めてこの設定を行う時はデフォルト使用アプリモード表示にチェックを入れ、使うハンドラのみ使用するにしてからチェックを外して閉じてください。
※使うハンドラを変更する時は、毎回ここのデフォルト使用アプリの設定を予め変えてください。

デフォルトアプリの設定が終わったら一括有効ボタンを押してください。
※個別に使用するを選んでも構いません。

default_apri_screen

コンフィグレーション制御

コンフィグ設定モード表示は、特別なカスタマイズを行う時だけで一般では使いません。
コンフィグ設定モード表示にチェックを入れると次の画面になります。

config_screen

コンフィグ設定は通常本システムコンフィグのまま変更しないでください。
ユーザー定義コンフィグは特殊なカスタマイズを行う時に選びます。
※特殊なコンフィグレーションについては開発者向けガイドを参照ください。

PD Handlerの種類

PD Handlerはハードウェアインターフェースによってアプリケーションモジュールがわけられています。

PD Handler 種類説明
BLEBLEセンサーもしくはBLEビーコンからデータを受け取るアプリケーションです。
UARTUART経由での接続デバイスからデータを受け取るアプリケーションです。
このハンドラには次のモジュールが含まれるのでどれか一つを選択します。
● EnOcean
● Wi-SUN(Bルート) ※ECHONET Lite非認定なので正規利用はできません。
MODBUS2 Client機器毎のモデリングファイルに基づきMODBUSプロトコルでPLC機器のレジスタを読み書きするモジュールです。*1
MODBUS2 Server機器毎のモデリングファイルに基づきMODBUS機器としてのプロトコル通信で読み出しを可能とするモジュールです。*1
MODBUS ClientMODBUSプロトコルでPLC機器のレジスタを読み書きするモジュールです。*1
MODBUS ServerMODBUS機器としてプロトコル通信での読み出しを可能とするモジュールです。*1
SW4xSII社製ミスター省エネ無線ネットワークに接続し無線センサーのデータを取得するモジュールです。
HVSMC高圧スマート電力量メータ(Bルート)からECHONET LiteとAIFの仕様に基きデータを取得するモジュールです。*2
RS-SERIALRS-232CやRS-485等のシリアルデバイスに対してデータを送受信する汎用プログラミングモジュールです。
このモジュールはLua言語によるユーザーカスタマイズが前提となっています。*3
参照:LUA言語拡張ハンドラ
脚注
  1. PD Handler MODBUSの1系と2系のアプリケーションを、同時に使用することはできません。
  2. PD Handler HVSMCのラジオボタンはECHONET Liteの認定を受けた同アプリケーションが使用可能な機種(OpenBlocks IoT EX1,VX2)でのみ表示されます。
  3. 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センサー
EnOceanEnOceanデバイス
Wi-SUN Bルート低圧スマートメータのBルート受信
※ECHONET LiteとAIF認証は未取得なので本番運用できません。
ModbusクライアントModbusの機器に対して問い合わせをする側のモジュールです。
ModbusサーバーModbusの機器としてModbusプロトコルで問い合わせされる側のモジュールです。
Modbus2クライアントモデリングファイルで定義されたModbusの機器に対して
問い合わせをする側のモジュールです。
Modbus2サーバーモデリングファイルで定義されたModbusの機器として
Modbusプロトコルで問い合わせされる側のモジュールです。
SII SW4xSII社のミスター省エネのホスト側のモジュールです。
高圧スマートメータ高圧スマートメータへの有線LANアクセスモジュールです。
ECHONET LiteとAIF認証済

ログ

IoTデータ制御ツールのログはIoTデータログタブから確認が行えます。

閲覧したいログファイルをログ欄から選択します。

ログファイルの選択を行うと、対象ログファイルの末尾が表示されます。
ダウンロードボタンを押すことによりログファイルのダウンロードが行えます。
また、自動更新(30秒間隔)にチェックいれると30秒毎に表示が更新されます。

PD Broker / PD Agent

OpenBlocksのWEB-UIで操作可能なIoT処理は以下のスタイルが標準になります。
したがってカスタムに必要なPD BrokerPD 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サービス関連のバッファステータスを表示します。