22
16

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Sigfox Callback機能

Last updated at Posted at 2018-06-01

#Sigfox Callbacksとは
Sigfoxクラウドには、Callbacksと呼ばれる機能がついています。このCallback機能とは、Sigfoxデバイスから送信され、Sigfoxクラウドに届いたデータをサードパーティーのアプリケーションサーバーに転送する機能です。
image.png

この機能を使用することにより、IoTアプリケーション開発で、複雑な通信プロトコル処理を必要とせず、RESTfulなデバイスメッセージ処理が可能になります。
Sigfox Callbacksは、一般的なHTTP/HTTPSでアプリケーションサーバーにデータを転送するCustom Callbackの他、下記のIoTプロットフォームに対する専用コネクタが用意されています。

ここでは、一般的なCustom Callbackについて説明します。
##Custom Callback設定方法
Custom Callbackは、URLを指定しアプリケーションサーバーにデータを転送することや指定したメールアドレス先にデータを転送することができます。事前に、アプリケーションサーバー側の待ち受け、もしくはメールアドレスをご準備ください。また、Callback設定は、DEVICE TYPE(複数デイバスをグルーピング化したもの)単位となります。

  1. Callback設定をしたいDEVICE TYPEを選択し、左メニューのCALLBACKSをクリック。
  2. 右上の[New]ボタンをクリックすると下記画面となります。
    image.png
  3. ここで、Custom callbackを選択してください。
    image.png
  4. この画面でCallback設定を行います。各メニューの説明をしておきます。
  • Type
    • DATA: ペイロードデータ(メッセージ)を転送
      • UPLINK: 上りメッセージを転送
      • BIDIR: 上りメッセージの転送に加え、下りメッセージの応答
    • SERVICE: メッセージ以外の付加サービス情報の転送
      • STATUS: デバイスのバッテリー電圧や温度情報の転送
      • GEOLOC: 位置情報サービスオプション(Sigfox Atlas) *GEOLOC CallbackはData Advanced Service Callbackにマイグレートされました
      • ACKNOWLEDGE: 下りメッセージを送信したことを通知
      • REPEATER: Sigfoxリピータ情報(日本対応のリピータはまだ出ていません)
      • DATA_ADVANCED: Sigfox Altas位置情報サービスやRFメタデータ用
    • ERROR: 通信エラー情報の転送
  • Channel
    • URL: アプリケーションサーバへの転送
    • BATCH_URL: アプリケーションサーバへの転送。ですが、これを選んだ場合は、複数のデバイスからのメッセージを1秒間まとめて転送します。
    • EMAIL: メールアドレス先への転送
  • Custom payload config: ペイロードデータを独自の記述言語を使いparseする機能です。(別記事で説明予定)
  • Url patern: 転送先アプリケーションサーバの待ち受けURL
  • Use HTTP Method: HTTPメソッド。GET/PUT/POSTから選択できます。
  • Send SNI: SSL/TLSの拡張仕様 Server Name Indication (SNI)を使用する場合にチェックを入れます。(☑推奨)
  • Headers: HTTP/HTTPSのヘッダを付加したい場合に設定します
  • Contents type: コンテンツタイプ。例えば、JSON形式で送る場合は、application/json
  • Body: コンテンツの中身です

Bodyでは、下記変数を{}カッコ括りで記述することが可能で、
device, time, duplicate, snr, station, data, avgSnr, lat, lng, rssi, seqNumber, deviceTypeId
例えば、{device}と記述した場合、この部分が実際のSigfoxデバイスのIDに切り替わってPOSTされることになります。
*注意:duplicatie, snr, station, avgSnr, lat, lng, rssiは2020年4月に廃止されました。Data Advanced Service Callback及び、それに伴うオプションの契約が必要となります。

##Custom Callback設定の一例
ここでは、www.foo.com/receiveapiで待ち受けてもらっているアプリケーションサーバに対してJSONでPOSTする例を記します。
image.png
このように設定すると、デバイスID "12AB90"から"1234567890ABCDEF"というデータ(メッセージ)が送信された場合に、

{
  device:"12AB90",
  time:"1527860900",  <-unixタイムスタンプです
  data:"1234567890ABCDEF"
}

というBodyがPOSTされるようになります。
初めての方は、まず、Channelを[EMAIL]にして、ご自身のメールアドレス先にデータ(メッセージ)を転送されることをお勧めします。

Next > Custom payload config機能
image.png

22
16
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
22
16

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?