如果我们必须使用Watson IoT平台提供的auth-token同时将事件发布到云并在设备上订阅MQTT消息,那么(在设备上)要遵循的方法是什么? 当我们尝试在设备已订阅某些主题时发布到主题时,连接将丢失。为了同时发布和订阅,应该采用哪种正确的方法? MQTT连接的详细信息如下,
Client id- <d:orgId:deviceType:deviceId>
Username - use-token-auth
Password - <platform-generated-token>
答案 0 :(得分:1)
根据documentation,Watson IoT Platform中的设备可以从平台发送事件和订阅命令。 注意,设备只能订阅命令而不能订阅事件。你能确保使用的主题是正确的吗?
<强>事件强>
事件是设备将数据发布到Watson IoT Platform(以及应用程序)的机制。设备控制其消息的内容,并为发送的每个事件指定名称。 以下MQTT主题用于发布事件,
iot-2/evt/event_id/fmt/format_string
,其中
命令
命令是应用程序与设备通信的机制。只有应用程序可以发送命令,命令将发送到特定设备。设备必须确定在收到任何给定命令时要采取的操作。 2 设备可以按以下格式订阅命令主题:
iot-2/cmd/command_id/fmt/format_string
其中
有关设备与Watson IoT Platform的连接的更多信息,请参阅document的此部分。
我们已经编写了一个分步指南,以展示如何将设备与Watson IoT Platform相关联,发布事件,从应用程序订阅命令,订阅应用程序中的事件,从应用程序发布命令以使用Java客户端生成Watson物联网平台的库可以在这里找到 - Java Client Library for IBM Watson IoT Platform。
此外,您还可以找到多种语言的样本。请参阅this document以获取可用库和样本列表。