我创建了两个设备,用于使用mosquitto_pub
和mosquitto_sub
命令来模拟发布订阅场景。仪表板显示运行mosquitto_sub
的终端的连接状态。仪表板还显示了运行mosquitto_pub
的终端发送的最新消息。而且,运行订阅的终端什么也没有显示。
我想念什么?
订阅
mosquitto_sub -h orgId.messaging.internetofthings.ibmcloud.com -p 8883 -i d:orgId:dType:device01 -u use-token-auth -P token --cafile messaging.pem -t iot-2/evt/data/fmt/json
发布者
mosquitto_pub -h orgId.messaging.internetofthings.ibmcloud.com -p 8883 -i d:orgId:dType:device02 -u use-token-auth -P token --cafile messaging.pem -t iot-2/evt/data/fmt/json -f some.json
答案 0 :(得分:2)
您不能使用设备clientID(例如d:orgId:dType:device01)预订deviceid的主题,这是不允许的。您需要使用应用程序执行此操作。
在此处检查凭据和身份验证: https://console.bluemix.net/docs/services/IoT/applications/mqtt.html#mqtt
命令应如下所示:
mosquitto_sub -h orgId.messaging.internetofthings.ibmcloud.com -p 8883 -i a:orgId:myapp -u <api-key e.g a-orgId-a84ps90Ajs > -P <api-token> --cafile messaging.pem -t iot-2/type/dType/id/device01/evt/data/fmt/json