前項ではEnOceanプロトコルのコンセプトの基礎を取り上げました。次は実際の体験へと進みましょう。
セットアップ
EnOceanプロトコルに対応したセンサを使用するには以下の手順が必要です。
デバイス側
使用したいゲートウェイデバイス端末を開いてください。
- エネブラーエジェントのインストール
enebular docsを参照して、enebular agentをゲートウェイにインストールしてください。
- パーミッションの設定
enebularが管理するNode-REDが、EnOcean受信機が使用するシリアルポートにアクセスできるようにするため、以下のコマンドを実行して、必要なパーミッション(アクセス権)をenebularユーザーに与えてください。
-
- sudo usermod -a -G dialout <ユーザ名>
例:sudo usermod -a -G dialout enebular
-
- sudo usermod -a -G tty <ユーザ名>
例:sudo usermod -a -G tty enebular
-
- sudo rebootでゲートウェイデバイスを再起動してください。
- EnOceanモジュールの接続
EnOceanハードウェアがゲートウェイデバイスに接続されている必要があります。利用可能なモジュールは2種類あります。
- シリアルポート設定(デバイスファイル)の確認
EnOcean受信機モジュールはシリアルプロトコルを使ってゲートウェイデバイスと通信します。EnOceanモジュール用のシリアルポートを確認してください。ここで確認したデバイスファイル名を、次章で説明するサンプルフローの「Input」ノードに設定します。
標準的なポートについて以下に記します。
-
- RaspberryPi(USB) ‘/dev/ttyUSB0’
- Armadillo-IoT G3 ‘/dev/ttymxc1’ もしくは ‘/dev/ttymxc0’
- OpenBlocks IoT VX2では再起動のたびに変わる可能性があります。ls -l /dev/serial/by-id it のコマンドを使って探すことができます。
enebular.com側
- enebular.comにログインします。プロジェクトを作成します。デバイスにenebularエージェントをインストールした時に使ったAWS IoTアカウントへの接続を作成します。接続の作成は、以下の手順に従っておこなってください。
>>AWS IoTのConnection作成
enebular editor側
- EnOceanフローで利用するパッケージのインストール
- プロジェクト内に新しいフローを作成します。
- リモートモードをクリックします。プロジェクト内に作成した接続を使ってフローを開きます。
- 右上のハンバーガーメニューから「Manage palette」に進みます。 フローに使いたい以下のパッケージを検索しインストールします 。
- node-red-contrib-enocean(v 0.7.9)
- node-red-node-serialport (v 0.10.0)
- json-db-node-red (v 0.5.3)
動作確認環境
このシリーズのサンプルフローはすべて以下の環境でテストされています。
フロー1: EnOceanセンサからメッセージを受信する
以下のフローは「Input」ノードを使ってセンサの送信者ID及びセンサのRORG(プロファイル)を読み取るフローです。
サンプルフローへのリンク:
以下のリンクから、サンプルフローをインポートできます。
URL:https://enebular.com/discover/flow/c2b4558e-8f7f-429d-a6e6-b0852da619b8
サンプルフロー:
設定説明:
- 「Input」ノードの設定で、EnOceanハードウェアがゲートウェイデバイスに接続されているシリアルポートを設定します(インストールの手順のシリアルポートに関する詳細を参照してください)。
- enocean-Input node(「Input」ノード)をデバッグノードに繋ぎます。
- デバッグノードのコンフィギュレーションで出力を’complete msg object’に設定します。
- 「Deploy」ボタンをクリックしてフローをデプロイします。
動作確認チェック:
センサでアクション行うとDebugウィンドウに、読み取られたメッセージが固有の送信者IDとともにデバッグのウインドウに表示されます。
できましたね!
これでEnOceanの基本的な設定が完了しました。次の項目では、EnOceanセンサからのメッセージを解析するために作成されたフローをチェックし、今後の参考のために、センサのリストがどのように作成されjsonファイルとして保存されるのかを理解しましょう。