Sigfox Callbackとenebular連携

技術情報

IoTセンサデータをSigfoxクラウドで受け、Callbackを使って、株式会社ウフルさんのenebularと連携する方法を記載します。

20200128-technical-01.png

今回は、単純に、Sigfox CallbackのBodyにあたるJSONメッセージをenebularのデバッグウィンドウに表示するだけです。もし、より高度なことをやりたければ、enebularのマニュアルを参考にしてください。

enebular側の設定

enebularのSign-upから、プロジェクトを作成し、Flow編集するまでは、enebular introdutionのページを見れば、簡単にできます。

Nodeを配置

今回は、Sigfox Callbackとの連携ですので、http inNodeとdebugNodeをワークスペースにドラッグ&ドロップしてください。

20200128-technical-02.png

http inノードの設定

http inノードをダブルクリックすれば、編集画面が表示されます。
メソッドをPOST、URLを/sigfoxとしておきます。このURLの/sigfoxをデプロイ後の生成されるURLに追加するので覚えておいてください。

20200128-technical-03.png

debugノードの設定

デバッグノードの設定は特に変更する必要はありません。デフォルトで対象がmsg.payloadとなっています。これが、Sigfox CallbackのBody(JSON)部分に相当します。

20200128-technical-04.png

httpNodePath

デプロイ後、デプロイボタンの左にある(i)マークにマウスオーバーすると、httpNodePathが表示されます。

20200128-technical-05.png

後にSigfox Callbackに設定するURLは、このパスに先程http inノードで設定したURLを追加します。今回の場合、フルパスは、
https://ev2-prod-node-red-******.herokuapp.com/sigfox
となります。

Sigfox Cloud側の設定

対象デバイスタイプのCALLBACK設定から、新規にCustom Callbackを作成してください。
Callbackの作成方法はこちらを見てください。

enebular用Callbackの設定

いくつか方法はありますが、今回は、TypeをDATA_UPLINK、ChannelをURLとし、シンプルな上りメッセージのコールバックを作成することとします。

20200128-technical-06.png

Url patternには、先程enebular側で確認したhttpNodePath + /sigfoxを入力、Use HTTP Methodも、enebular側設定にあわせてPOST、Content typeはapplication/json、Bodyは、Sigfoxルールに合わせて記載します。今回は、デバイスIDとメッセージ受信時刻、メッセージペイロードの3項目を送ることとし、下記のJSONを入力します。

sigfox-callback.json
{ 
 "device":"{device}",
 "time":{time},
 "data":"{data}"
}

Sigfoxメッセージをenebularのデバッグウィンドウで確認する

両プラットフォームの設定に問題がなければ、下図のようにデバッグ画面にmsg.payloadが表示されます。

20200128-technical-07.png

enebular連携をすることにより、ソーシャルメディアへのアウトプットや、関数処理、他プラットフォームとの連携もnode-redライクにできるようになりますね。