Raspberry Pi から IFTTT に連携する
Raspberry Pi から IFTTT に連携する方法を記載します。
IFTTT では、this に Webhook を設定し、Raspberry Pi から HTTP Request します。
IFTTT の設定
this の設定
IFTTT の this に Webhooks を設定します。
今回は、Event Name に raspberrypi と指定します。
項目 | 設定値 |
---|---|
Event Name | raspberrypi |
that の設定
今回は、Beebotte に REST API で Publish して、Raspberry Pi に MQTTメッセージを Subscribe させます。
詳細は、以下の記事を参照ください。
IFTTT から Raspberry Pi に指示を出す
項目 | 設定値 |
---|---|
URL | https://api.beebotte.com/v1/data/publish/raspberrypi/action?token=<TOKEN> |
Method | POST |
Content Type | application/json |
Body | {"data" : "{{Value1}},{{Value2}},{{Value3}}"} |
Webhook の設定確認
IFTTT の Search で Webhooks を検索、表示します
[Documentation ]を選択します。
POST 先のURLが表示さるので控えます。
今回設定した Event Name から、URLは以下のようになります。
項目 | 設定値 |
---|---|
URL | https://maker.ifttt.com/trigger/rasspberrypi/with/key/<key> |
また、POSTするJSONの形式は以下であることが確認できます。
変数は3つまで設定できるようです。
項目 | 設定値 |
---|---|
JSON body | { "value1" : "", "value2" : "", "value3" : "" } |
Raspberry Pi(Node-RED)の設定
IFTTT へ メッセージを送信する設定
http request ノードにて POST します。
その前に、function ノードで POST する JSON を作成します。
function ノード
var payload={ "value1" : "値1", "value2" : "値2", "value3" : "値3" }
msg.payload=payload
return msg;
http request ノード
項目 | 設定値 |
---|---|
メソッド | POST |
URL | https://maker.ifttt.com/trigger/rasspberrypi/with/key/<key> |
出力形式 | 文字列 |
Beebotte から MQTTメッセージを受信する設定
以下の記事を参照ください。
IFTTT から Raspberry Pi に指示を出す
メッセージの送受信
inject ノードによりメッセージを送信します。
送信が成功すると、http request ノードから以下のメッセージが出力されます。
"Congratulations! You've fired the raspberrypi event"
mqtt inノードでは以下のメッセージを受信します。
{ data: "値1,値2,値3", ispublic: true, ts: 1518436824359 }