EnOceanセミナー#3:プレゼント付!EnOcean IoTシステム開発コンテスト!meet up Q&A

9月19日の ALGYAN オンラインセッション「プレゼント付!EnOcean IoTシステム開発コンテスト!meet up」で頂いた Q&A をまとめ中です。
また、Sli.do や IoT Algyan 本会から頂いたコンテスト関連の質問も、随時ここに追加していきます。

Q. 事前準備で、スリーブモードで蓄電とありましたが、スリーブモードとは?
A.
スリーブモードは、別名Airplaneモードです。LEARNボタンを4秒間、ピンで押し続けると、LEDが3回点滅して、電源がOFFの様になります。この状態がUsers Manualでは、Sleep modeと呼んでいます。NFCアプリでは、同じ状態をAirplaneモードと呼びます。補足しますと、センサー内部MPUは「Deep Sleep」状態で、電源ONのボタン押下割り込みを常時監視しているため、正確には電源OFFでは無いのでこの様な呼び名で呼んでいます。

Q. セミナー参加、あるいは実習コンテンツを実行環境を事前に動作する方法は?
A.
セミナー参加予定で仮想環境や、不思議なマシン環境などをご利用予定の方向けに、セミナーで環境が使えるかどうかの確認用プログラムを作って公開しましたので、ご利用下さい。これで、何かそれらしいものが表示されればOKです。
https://github.com/ahidaka/EnOceanLinuxTest

Q. DolphinView Connectで表示される赤い三角マークは何?
A.
赤いビックマークは無視して下さい。
TCM410J/STM400Jベースの自作デバイスや、EDK400JキットでEOP350にSTM400Jを接続したファームウェア書き換え可能デバイスを入出力デバイスとして繋げた場合、Dolphin Viewの「Firmware Download」ボタンを押して「Dolphin Sniffer」ファームウェアをその入出力デバイスに送り込んでの書き換えが可能です。その Sniffer ファームウェア搭載デバイス接続時は、Sub Telegramの詳細タイミングを取得出来るなど、DolphinViewの全機能が利用出来る様になります。その様なデバイスが接続したときに、赤三角ビックリは無くなります。

ただしその「Dolphin Sniffer」ファームウェア搭載デバイスは、DolphinViewでの電波解析専用デバイスとなり、ESP3(EnOcean Serial Protocol Version 3)で規定している仕様通りには動作しなくなるので注意が必要です。

Q. セキュリティが有効の場合、接続台数の制限
A.
接続台数の制限は、EnOceanの初心者からよく聞かれる質問です。基本的なデータ通信は、UDPと同じ垂れ流し(コネクションレス)通信のため、通信相手の台数の制限はありません。受信側のリソースがある限り、無限に通信できます。これは暗号化通信時でも同じで、受信側が送信元から送られるID毎の公開キーを保管管理可能であれば、送信元の台数制限なしに利用できます。
EnOcean無線通信電波は一般的な他の無線通信方式と比べて、いわばIoT専用の20バイト程度非常に短いテレグラムを使用します。そのため電波の衝突(コリジョン)などもほとんど起きません。また画像や音声等の大量データを継続して連続送信するデバイスもありません。その様な事情もあって、通信台数の制限が無いと言えます。

Q. セミナー実習のwsclientが動作しません。
A.
申し訳ございません。元のプログラムapp.jsに問題がありました。セミナー参加のshoko93様からPull Requestを頂いて、修正しました。他の方は、を再入手してください。shoko93様、ありがとうございました。

Q. azure or awsへのクラウド接続のサンプル
A.
Azure IoT Hub接続機能と説明は、何と!EnOceanGateways/AzureIoTSupport 以下に入っています。製品出荷版と同じものです。
https://github.com/ahidaka/EnOceanGateways/tree/master/AzureIoTSupport

AWSは対応を検討中です。

Q. センサを振っても、データが送信されません。
EnOcean ToolでActivity threshold triggerの値を変化させても、現象は変わりません。定期的なデータ送信は行われます。
A.
デバイスのリセット、NFCによるEEPの書き換えで治る可能性があります。しかし、同様の症状のデバイスがあるので、現在原因、復旧方法を確認中です。続報をお待ちください。

ボタン電池を入れたら動作しなくなりました
A.
何かが間違っています。ボタン電池の型番と向きを良く確認して下さい。

勝手にハンズオンでやってみたけどで、STM550Jのデータは取りこめません
A.
マルチセンサーのデフォルト時の仕様の違いに気付かなくて申し訳ございません。マルチセンサーがサポートしている9種類のEEPのうち、現時点でEnOceanSampleプログラムでデータが取れるのは、A5で始まるEEPだけです。マルチセンサーデフォルトの D2-14-41 はサポートしてないので、急遽対応します。3日程度お待ち下さい。現在でも、NFCでマルチセンサーのEEP設定をA5-04-01等にすれば取れます。

Q. sclient実行で JServer: send error=32(Broken pipe) が数回に1度出ます。
A.
そのメッセージは、接続した相手先が無くなったときに出力されます。双方のプログラムを終了して、dpride, sclient の順で起動し直してください。

Q. dpride 起動時に次のエラーが出ます。
Failed to open XML file=eep.xml.
#WARN ReloadPublickey: No publickey file
**main() Oops! this GW should be ERP1, and mark it.

A.
Failed to open XML file=eep.xml.
は、EEP定義ファイルが見つからないというメッセージです。現在のバージョンは定義ファイルが無くても正常動作するので無視して下さい。メッセージ内容は後で、修正します。

#WARN ReloadPublickey: No publickey file
は、テキストにも記載の通り、無視下さい。対応するセキュリティーの公開キーが無いというメッセージですが、誤解を呼ぶので後で、修正します

**main() Oops! this GW should be ERP1, and mark it.
珍しいメッセージです。動作に影響がないですが、念のためUSB400Jを抜き差しして下さい。USB400J開始時のリセットがエラーです。USB400Jの最新版では動作が変わっているのかも知れません。修正します。ありがとうございます。