IoTセンサデータをSigfoxクラウドで受け、Callbackを使って、株式会社ウフルさんのenebularと連携する方法を記載します。
今回は、単純に、Sigfox CallbackのBodyにあたるJSONメッセージをenebularのデバッグウィンドウに表示するだけです。もし、より高度なことをやりたければ、enebularのマニュアルを参考にしてください。
#enebular側の設定
enebularのSign-upから、プロジェクトを作成し、Flow編集するまでは、enebular introdutionのページ見れば、簡単にできます。
##Nodeを配置
今回は、Sigfox Callbackとの連携ですので、http in
Nodeとdebug
Nodeをワークスペースにドラッグ&ドラッグしてください。
###http inノードの設定
http inノードをダブルクリックすれば、編集画面が表示されます。
メソッドをPOST
、URLを/sigfox
としておきます。このURLの/sigfoxをデプロイ後の生成されるURLに追加するので覚えておいてください。
###debugノードの設定
デバッグノードの設定は特に変更する必要はありません。デフォルトで対象がmsg.payload
となっています。これが、Sigfox CallbackのBody(JSON)部分に相当します。
###httpNodePath
デプロイ後、デプロイボタンの左にある(i)マークにマウスオーバーすると、httpNodePathが表示されます。
後に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
とし、シンプルな上りメッセージのコールバックを作成することとします。
Url patternには、先程enebular側で確認したhttpNodePath + /sigfox
を入力、Use HTTP Methodも、enebular側設定にあわせてPOST
、Content typeはapplication/json
、Bodyは、Sigfoxルールに合わせて記載します。今回は、デバイスIDとメッセージ受信時刻、メッセージペイロードの3項目を送ることとし、下記のJSONを入力します。
{
"device":"{device}",
"time":{time},
"data":"{data}"
}
#Sigfoxメッセージをenebularのデバッグウィンドウで確認する
両プラットフォームの設定に問題がなければ、下図のようにデバッグ画面にmsg.payloadが表示されます。
enebular連携をすることにより、ソーシャルメディアへのアウトプットや、関数処理、他プラットフォームとの連携もnode-redライクにできるようになりますね。