#概要
思えば、mqttからmythingsを、発火させたいだけの、一年だった。
実は、mythingsから、mqttでactionを受けるサンプルはあるが、
mqttからトリガーを引く、サンプルは、なかった。
#仕掛け
残念ながら、meshbluのmqttブローカーから直接、発火できなかった。
node-redが、仲を取り持つ。
IOT端末から、meshbluへmqttをpubしたら、node-redで受け取り、http経由でmythingsを
発火させる。
以下に、各ノードの設定を記す。
#mqtt node
broker: meshblu url
port: 1883
username: trigger-1 uuid
password: trigger-1 token
topic: trigger-1 uuid
#json node
置くだけ。
#function node
var p = msg.payload.data.payload;
msg.payload = p;
msg.headers = {
"meshblu_auth_uuid": "trigger-1 uuid",
"meshblu_auth_token": "trigger-1 token"
};
return msg;
#http reqest node
Method: post
url: meshblu url
#iot端末
mosquitto_pub \
-h meshblu url \
-p 1883 \
-t message \
-m '{"devices": ["trigger-1 uuid"], "payload": {"text1":"255"}}' \
-u trigger-1 uuid \
-P trigger-1 token \
-d
#mythingsアプリの設定
idcfで条件を満たしたら、自分に通知する。
トリガー: trigger-1
メッセージ: {{text1}}