AWS IoT / Azure / IBM WatsonにSigfox DATA ADVANCED Callbackが対応


Sigfoxクラウド8.0/8.1のリリースに伴いAWS IoT / Azure / IBM WatsonへのDATA ADVANCED Callbackが可能になりました。

DATA ADVANCED Callbackとは

Sigfoxネットワークでは、1つのデバイスから送信されたメッセージを、複数のSigfox Base Station(ゲートウェイ)で受信することができるため、ネットワーク品質評価は、受信した各基地局における受信レベル(RSSI)で評価されます。詳しくはこちら
DATA ADVANCED Callbackは、このネットワーク品質評価指標(Link Quality Indicator: LQI)を計算しCallbackしてくれます。
また、今後、Atlas WiFiと呼ばれるWiFi APベースの位置推定やAtlas Bubbleと呼ばれるSigfoxビーコンベースの位置推定によるデバイス位置が、このDATA ADVANCED Callbackに追加される予定です。(2019年2月現在)

DATA ADVANCED Callbackのはじめ方

Sigfox Callbackと各プラットフォームとの連携は、
AWS IoT : https://qiita.com/ghibi/items/a1c49a180b885e712841
Azure IoT Hub : https://qiita.com/ghibi/items/16f9f7a421bdd4fac1c1
IBM Watson IoT : https://qiita.com/ghibi/items/6ac04e23e9072dc07b21
を参考にしてください。
DATA ADVANCED Callbackは、上記設定において、Type項目をSERVICE-DATA_ADVANCEDに設定してください。

これにより、下図のように
lqi: Link Quality Indicator(ネットワーク品質評価指標)の他、computedLocation(Atlasシリーズにより算出されたデバイス位置情報)をCallback時の変数として利用することができます。

例えば、下記のようなCallback Bodyを作成することにより

in.json
{
  "device": "{device}",
  "time": "{time}",
  "seqNumber": {seqNumber},
  "lqi": "{lqi}",
  "computedLocation": {computedLocation}
}

下記のようなCallbackが各IoTプラットフォームに送信されます。

out.json
{
  "device": "7B0DE2",
  "time": "1550556026",
  "seqNumber": 398,
  "lqi": "Excellent",
  "computedLocation": {
    "lat":35.642533388093675,
    "lng":139.7312282567643,
    "radius":11736,
    "source":2,
    "status":1
    }
}

なお、sourceは、位置推定で使用したSigfoxサービス、statusは、推定エンジンの結果ステータスを意味し、下記の定義となっています。

source
- 1 : Sigfox GPSフォーマットでペイロードに記載されたGPS位置情報
- 2 : Atlas Native(基地局測位)
- 6 : Atlas WiFi(WiFi APベースの位置測位)

status
- 00: No position
- 01: OK
- 02: Fallback of Atlas WIFI
- 20: Invalid payload
※Fallback of Atlas WIFIは、Altas WiFiにより位置推定結果が得られたが、Atlas Nativeの結果に対して、10㎞以上の誤差がある場合を意味します。
つまり、この場合は、Atlas WiFiサービスで使用するWiFi APロケーションDBにおいて、登録されているAPの位置情報に誤りがある可能性があります。

最後に
DATA ADVANCED Callbackは、LQIや位置情報の計算処理のため、約30秒遅れてCallbackされることをご留意ください。

Sigfox Japan KCCS