IBM IOT-Node RED应用程序无法通过MQTT与ESP8266 Node MCU设备通信。
您好,我正在从事物联网项目,偶然发现了一个问题。在我的项目中,我指的是以下文档
https://console.bluemix.net/docs/services/IoT/applications/mqtt.html#mqtt
https://console.bluemix.net/docs/services/IoT/devices/mqtt.html#mqtt
我已使用MQTT在IBM IOT上成功注册了设备。设备正在订阅主题O(1)
来获取命令。注册设备时没有错误,并且在“ IBM Watson IOT Platform”控制台上收到一条消息,表明设备已“连接”。我的第一个问题是,我们如何知道上述主题确实成立?它显示在控制台上的某个地方吗?
在第二阶段,我创建了一个带有MQTT Node RED的小型应用程序,该应用程序应该将该设备的命令发布到主题iot-2/cmd/on/fmt/txt
上。此过程不会发生。我不断收到一条错误消息,“主题与授权规则不匹配”。我试图将主题名称更改为iot-2/cmd/on/fmt/txt
(根据https://console.bluemix.net/docs/services/IoT/applications/mqtt.html#mqtt)。但是,我一直收到相同的错误。当应用程序发布主题(针对设备)的命令时,您能告诉我有效的主题格式吗?
一个常见问题:我发现,当应用程序发布设备命令时,主题的格式应为iot-2/type/*******/id/********/cmd/******/fmt/*******
AND当设备订阅同一命令时,主题的格式应为iot- /type/device_type/id/device_id/cmd/command_id/fmt/format_string
。
似乎没有断开连接吗?当我将其与Kafka或JMS消息传递进行比较时,我们订阅了我们发布的“相同主题名称”,但是在IBM IOT中,用于发布和订阅的主题名称似乎有所不同。为什么?