前回まででEnOceanを使った基本的なフローの作成方法はマスターできたと思います。
本シリーズの最後の項目では、多数のセンサを使ったより大規模なプロジェクトの導入の際に役に立つ仕組みを見ていきましょう。このようなプロジェクトでは、使用されるセンサはSenderID(送信者ID)、プロファイル、識別のための名前などの必要な情報とともにjsonファイルに登録されています。この事前登録は、公式センサからのデータのみが受信され分析されることを確実にするために必要なものです。それぞれのセンサのSenderID、EnOcean機器プロファイルの詳細はセンサのメーカーから入手することができます。名前は、設置場所および/またはセンサの種類をもとにユーザーがつけます。
このファイルは登録後、enebularの「ファイルデプロイ」機能を使ってそれぞれのゲートウェイデバイスにデプロイされます。実際にこれを行うための手順を理解していきましょう。
ファイルデプロイ機能を使って、センサリストを配信し、一つのフローで複数のセンサを扱えるようにすることができます。
コンフィグレーション:
1.センサリスト(json)の作成:まずは使いたいセンサのリストのjsonファイルを作成します。作成するJsonファイルのフォーマットは以下の通りです。
{ “$SenderId1”: {"type": "LRN", "senderId": “$SenderId1”, "eep": “$EEP”, "name": “$name” }, “$SenderId2”: {"type": "LRN", "senderId": “$SenderId2”, "eep": “$EEP”, "name": “$name” }, }
- senderId:センサのMACアドレスと同じです。センサに書いてない場合、フローを使って取得する必要はあります。
- eep:センサの種類によって設定されています。詳しくは下記を参照してください。
URL: https://enocean-js.github.io/enocean-js/ - name:センサの種類や設置場所を特定するために使用します。
2.enebular.com上のセットアップ:enebular.comにログインし、 enebularファイルのデプロイ 機能を使ってセンサリストのjsonファイルをJsonDB フォルダにデプロイします。
3.enebular editor上のセットアップ:’For Actor Node’ サブフローが入っているフローを開きます。
センサのリストがあるファイルの保存と読み取りが同じ場所(JsonDBフォルダ)で行われるため、’JsonDBパッケージのDataInとDataOut ノード’の設定をアップデートする必要があります。
- CollectionNameはセンサリストJsonファイルの保存パスに設定してください。
例:‘../../../ports/awsiot/assets/JsonDB/EnOceanDevices’
- 名前は任意。
動作確認チェック:
- センサでアクション行うと配信されたセンサリストの中のセンサから受け取ったデーターをDebugウィンドウに以下のようなアウトプットが表示されます。
完了です!このシンプルなコンフィグレーションによって、すべてのセンサがゲートウェイデバイスに公式に登録されました。この方法でとセンサの管理が大変簡単になります。センサリストに新しいセンサを追加してデプロイすればゲートウェイデバイスが新たなセンサからデータを受け取り始めます。
本シリーズが気に入っていただけましたら幸いです!ご意見・ご感想をぜひお聞かせください。また別のプロトコルを取り上げた新たなシリーズを次回お届けいたします!
ありがとうございました!enebularをどうぞ楽しんでください!