我想提出以下申请。
1.Send a command from mosquitto_pub to Arduino device via Watson IoT.
2.Arduino subscribes to commands.
3.Arduino publishes sensor information to mosquitto_sub via Watson IoT.
为了进行简单的连接测试,我在Watson上注册了mosquitto_sub作为设备。
我订阅了mosquitto_sub。
mosquitto_sub - h osdjco.messaging.internetofthings.ibmcloud.com -p 1883 -u use-token-auth -P <TOKEN> -i "d:osdjco:mosquitto:18fe34cd17S1" -t "iot-2/cmd/shot/fmt/json" -d -v
接下来,我使用以下命令发布。
mosquitto_pub -i a:osdjco:mosquittopub -h osdjco.messaging.internetofthings.ibmcloud.com -u "a-osdjco-xztcbezrwh" - P '<TOKEN>' -t "iot-2/cmd/shot/fmt/json" -m '{"d":{"cmd":"shot"}}' -d
发布成功但命令未订阅。
有什么问题?
答案 0 :(得分:1)
您的应用程序发布的主题不正确,应该是
&#34; IOT-2 /类型/ mosquitto / ID / 18fe34cd17S1 / CMD /镜头/ FMT / JSON&#34;
从下面链接检查发布命令:
https://console.bluemix.net/docs/services/IoT/applications/mqtt.html#mqtt
答案 1 :(得分:1)
对不起,我注意到了这个错误。
我将device_type和device_id添加到mosquitto_pub的主题,并收到了mosuquitto_sub的消息。
mosquitto_pub -i a:osdjco:mosquittopub -h osdjco.messaging.internetofthings.ibmcloud.com -u "a-osdjco-xztcbezrwh" -P '<TOKEN>' -t "iot-2/type/mosquitto/id/18fe34cd17S1/cmd/shot/fmt/json" -m '{"d":{"cmd":"shot"}}' -d