IoTデータ設定

OpenBlocksでIoTデータを活用するためには、IoTデータ制御パッケージがインストールされている必要があります。
こちらを参照しIoTデータ制御パッケージをインストールして下さい。

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 RepeaterUNIXドメインソケットを繋ぐアップリンクの構成と、 IoTクラウドからの受信メッセージをPD Repeaterから下流制御のスクリプトを実行するのPD Agent等へ繋ぐUNIXドメインソケットが標準的な構成になります。
このUNIXドメインソケットを他のプロセスと組み合わせカスタムする事で、より高度な処理系を実現できるシステムとなっています。
UNIXドメインソケットをこれらモジュールへの入出力とするプログラムであれば、C言語やその他Lua,Pythonなどの高級言語との連携も容易に行えます。
これらOpenBlocksのIoTデータ処理は、それぞれの持つ役割によってマイクロサービスモジュールとして構成されています。
また、このモジュールの集まりをPDHMS(PlatHome Data Hanling Module System)と呼び、それぞれ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

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

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. OpenBlocks IoT EX1 または VX2 ではECHONET Lite及びAIF認証取得済です。それ以外のモデルについては取得しておりませんので実験用としてご利用下さい。
caution

IP フィルタの開放について

PD Handler HVSMC機能を使用するに設定し保存ボタンを押した場合、フィルタ開放確認のウィンドウが表示されます。
ウィンドウ画面にて適用する旨を選択した場合、自動でフィルタが恒久的に反映されます。

PD Handler MODBUS ServerまたはPD Handler MODBUS2 Server機能を使用するに設定し保存ボタンを押した場合、上記のフィルタ開放確認のウィンドウに続き、フィルタ開放ポリシー設定[Modbus]"のウィンドが表示されます。
ローカルエリアネットワークのみもしくは全てのいずれかを選択して下さい。(モバイル回線を用いている場合にはモバイル回線のみが追加で表示されます。)

一旦、開放されたフィルタは、これらの機能を使用しないに設定し保存ボタンを押しても開放されたままとなります。
開放されたフィルタを閉じたい場合、もしくはフィルタ開放ポリシーを変更したい場合は、WEBUIのシステム⇒フィルタータブのフィルター開放設定ペインから設定することができます。

モジュール自動再起動設定

モジュール自動再起動設定は、アプリケーションモジュールを定期的に自動再起動させる機能です。
ユーザーが独自に開発したアプリケーションモジュールにおいて、メモリーの解放プロセスが旨く働かず使用メモリーが徐々に増加している場合等、アプリケーションモジュールを定期的に再起動したい場合に行う設定です。

モジュール自動再起動設定再起動トリガー毎日にした例
モジュール自動再起動設定再起動トリガー曜日指定とした場合の表示例
モジュール自動再起動設定再起動トリガー日にち指定とした場合の表示例
モジュール自動再起動設定の設定項目
設定項目説明
モジュール自動再起動設定使用するもしくは使用しないに設定します。
再起動トリガー毎日曜日指定日にち指定のいずれかを選択します。
曜日指定再起動させる曜日を指定します。複数日指定することができます。
日にち指定再起動させる日にちを指定します。複数日指定することができます。
再起動実施時間再起動させる時刻を指定します。

送受信設定(PD Repeater)

IoTクラウド・サーバーの選択

IoTデータ⇒送受信設タブの送受信設定ペインより、OpenBlocksで利用するIoTクラウドやサーバーを選択します。

送受信設定の設定項目

ここでMS AzureAWS IoTなどセンサーデータの送り先となるIoTクラウドを選びます。
送り先は最大4箇所まで選択することができます。
次項に解説する通り、センサーデータの送信先は個々に複数設定可能です。 それぞれの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を選択します。
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アクセスモジュールです。
OpenBlocks IoT EX1及びVX2では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(高圧Bルート)ハンドラーをOpenBlocksへアップロードする操作画面です。
詳細な使い方は、開発者向けガイドのLUA言語拡張ハンドラを参照して下さい。

CSV送信

CSV送信機能はOpenBlocksにCSVファイルとして保存されたデータをIoTクラウド/サーバーへjsonテキストに変換して送信する機能です。
CSVファイルは列ごとにjsonテキスト変換され、これを1レコードとしてIoTクラウド/サーバーへ送信します。
詳細な使い方は、開発者向けガイドのCSVデータ送信機能を参照して下さい。

ファイル送信

ファイル送信機能はOpenBlocks内に保存されたファイルををIoTクラウド/サーバー等のファイル格納サービスにアップロードする機能です。
詳細な使い方は、開発者向けガイドのファイル送信機能を参照して下さい。

調整

それぞれのPDHMSサービスに割り当てるバッファサイズなどを設定します。
※通常はデフォルトのままお使い下さい。

詳細な使い方は、開発者向けガイドのPDHMSの調整を参照して下さい。

状態

PDHMSサービス関連のバッファステータスを表示します。