スマートメーターBルートの通信に挑戦(その7)

テセラ・テクノロジーのWi-SUNモジュールRL7023 Stick-D/IPS を購入して、今まで使っていたBP35A1と交換して動かしたところ・・・

WiSUNモジュールRL7023
 

アクティブスキャンはOKなのですが、その先で通信ソフトが止まってしまい、Bルートの接続が完了しません。

ドングルタイプで小型な筐体なので、電波の状況が良くないのかと思って、スマートメーターの近くに持って行ったりもしたのですが、全く状況は変わりません。
また、スマートメーターによっては、Bルートの接続相手を交換する時は1日程度時間を空ける必要がある。といった噂もあるので、1日置いてから再度やってみたりもしましたが、ダメでした。

いろいろ調べた結果、原因が判明しました。
ECHONET Liteの受信データ(ERXUDP)のフォーマットがBP35A1とRL7023で違っていました。

ERXUDPで受信したデータは、

BP35A1・・・バイナリ表示
RL7023・・・16進数ASCII表示

の形式で送られてきます。
具体的には、例えばECHONET Liteフレームの先頭部分EHD1, EHD2, TIDは、

バイナリ表示の場合・・・0x10, 0x81, 0x00
16進ASCII表示の場合・・・0x31,0x30,0x38,0x31,0x30,0x30

となります。

実はBP35A1では、WOPTコマンドでこの形式を選択できるようになっていました。
ただし、仕様書に「デフォルト設定以外の動作につきましては、お客様の検証にてご判断ください」などと書かれているので、何となく変更したくない感じがします。

ということで、原因が分かったので、ソフトを修正したところ、正常に通信できるようになりました。

ちなみに、SKSENDの送信データは、BP35A1もRL7023も両方バイナリです。