Data Advanced CallbackでLinkQualityを取得する

技術情報

SigfoxクラウドのCallback機能を使っていて、下記のような不便さを持っていなかったでしょうか?

  • Callbackパラメータとして定義されている{station}や{rssi}は、どの局の情報なの?
  • LinkQualityを取得したいのだけど、Callbackパラメータにない。。。
  • ジオロケーションCallbackとData Callbackが別々なので、扱いにくい

そのような悩みを解決する機能がData Advanced Callbackです。

Data Advanced Callbackを使ってみる

Callbackは、DeviceType単位での設定です。Sigfox Callback機能を参考に、Custom Callback設定画面まで移動してください。

tech-180902-01-1.png

Type項目で[SERVICE]_[DATA_ADVANCED]を選択するとData Advanced Callbackパラメータとして、device, time, data, seqNumberの他にlqi(Link Quality Indicator)やfixedLatfixedLngoperatorNamecountryCodeが利用可能となります。

Callback param説明
lqi Link Quality Indicator(詳しくはこちら)
fixedLat,fixedLng Device設定で固定的に登録した緯度経度
operatorName Sigfox Operator名
countryCode 国コード(ISO 3166-1参照)

Data Advanced Callbackは約30秒後

Data Advanced CallbackはLink Qualityを計算します。Link Qualityは、複数受信局の受信レベルにより計算されるため、Sigfoxクラウド上に受信局情報が集まってきてから計算する必要があります。
なので、Sigfox社は、Data Advanced Callbackが送信される時間を25秒~30秒後とアナウンスしています。

実際のデータで確認する

Data Advanced Callbackを実際に設定して試してみます。
下図がDeviceのMessagesビューで確認できるCallbackの送信ログです。「↑」ボタンをクリックするとCallbackログが見れます。

tech-180902-01-2.png

ここでMessageの受信時刻は2018-09-02 19:27:52 (UNIXタイムスタンプ:1535884072)となっています。

では、受信側のプラットフォームのログを見ています。

tech-180902-01-3.png

{time}として送られてきた時刻は、赤枠の1535884072(2018-09-02 19:27:52)となっています。Messageの受信時刻は変わらないとうことです。
ただ、青枠の時刻は2018-09-02 19:28:18となっています。つまり、今回のケース、DeviceのMessage受信時刻(Sigfox基地局がMessageを受信した時刻)とData Advanced Callbackが送信された時間の差として、26秒の差がありました。
この時間差は生じるものとして、システム設計すれば十分に使えそうです。

Device Location設定のすゝめ

今回、Data Advanced CallbackにfixedLatfixedLngが加わりました。これは、固定的に設置するデバイスの位置管理に利用できそうです。
この緯度経度設定は、DEVICEのEdit画面で設定できます。(下図)

tech-180902-01-4.png

ここで、緯度経度を設定することにより、Device Messages画面のLocationアイコンをクリックするとデバイスの位置を確認することができます。

tech-180902-01-5.png

今後、デバイス位置を使ったサービスが新たに登場するかもしれません。一度、お試しください。