前回の記事ではSens’itのバイナリデータの内容を確認しました。今回は確認したバイナリデータの内容を基に、SORACOMのバイナリパーサーでJSON形式に変換します。バイナリパーサーの書式はこちらにあります。Ver2の形式に合わせます。Ver2の形式はここで説明されています。私は下のように設定しました。内容を説明すると、バイナリデータから、mode、battery、Frameの3つの項目を取り出しています。取り出し方はバイナリパーサーの説明に詳しくかいていますが、下記のようになります。符号なし整数)だけ使っているので、変数の型に依存した設定内容はlength(必須)、offset(任意、何bit目から読み始めるか)、operations(任意、計算を記述)の3つがあります。modeからみますが、項目名:mode、取り出すbyteの番号:1byte(0から始まるので2つ目のbyte)、変数の型:uint(符号なし整数)、length:5bit、offset:7bit(7から開始なので先頭bit)目から読み始める。前回の記事に書いていますが、データ形式は下記のようになっています。mode:1:uint:5:7は「00011の部分をmodeという項目名で、符号なし整数で取り出す」という事になります。届いたJSONデータには”mode”:3=ドアモードとなっています。同様にbatteryを見ると、battery:0:uint:5:7:*0.05+2.7と定義しています。この項目ではoperations(計算)も利用しています。Level×0.05)+2.7と定義されています。バイナリパーサーの計算では通常の四則演算と異なり、左から順番に計算されます。ここでは”11011′′(10進数の27)×0.05+2.7=4.05Vがバッテリー残量となります。Flagを取り出しています。データを参照にどの部分を取り出しているのか確認してみてください。別に書くのが面倒になったので、Sens’itのVer2とVer3のドアモードで気づいた違いをここに記載します。1.開閉通知:Ver2は1開閉で1発報。Ver2は1開閉でOpen、Closeの2発報2.電波強度:Ver3は2割程度電波が強い。(同一環境で測定した際に、Ver2のrssi値は110、Ver3のrssi値は136でした。)開閉通知については、Ver3では開け閉めの判断が出来るようになった一方で、1日の送信回数140回と制限されているので70回の開け閉めしか確認できなくなります。(Ver2は開け閉めで1回の送信なので140回まで確認可能)。どの程度バッテリーの持ちにも影響があると思われます。場合によってはSDKを利用してファームの改造が必要かもしれません。電波強度に関しては実感としても明確に違いがあり、Ver2では届かなかった部屋の奥まったところでも、Ver3では通信可能となっていました。電波強度に関しては、私の利用目的ではかなり実用的になったと感じています。こちらもバッテリーの持ちには影響があると思うので、その点については今後評価したいと思います。Ver3についての記事は今回で終わりますが、他に気づいた点があれば、随時更新したいと思います。【追記】3.データ形式:定期通知の際のバイナリデータは”d61a000046003f0f8004223c”のような形となっていました。マニュアルにも記載されていましたが、定期通知の際はconfigpayloadの8byteが追加されていました。Analyticsを利用しているので、その中のクエリでdata項目のバイト数を調べる事により分けてみようと思います。4.定期通知はVer3では最後のデータ送信から24時間後となるようです。Ver2ではアラートと定期通知が分かれていました。Flagは定期送信の場合も0でした。Button押下の場合のみ1となるようです。コメントをキャンセルメールアドレスが公開されることはありません。コメントデータの処理方法の詳細はこちらをご覧ください。technology.。