我在MQTT通信方面遇到了麻烦。我是MQTT和IOT的新手。我使用IBM Bluemix作为云服务。我可以使用设备类型上的节点红色MQTT节点发布数据。但我无法订阅该设备和主题。每当我尝试订阅时,它都会断开连接。 感谢
PS:我使用相同的客户端ID。我不知道如何为同一设备类型使用不同的客户端ID。
答案 0 :(得分:2)
发布时,您将作为设备发布并使用设备客户端ID进行连接。设备无法订阅状态事件,因此您应该订阅应用程序。它将使用诸如A:orgId:appId https://console.ng.bluemix.net/docs/services/IoT/applications/mqtt.html#mqtt
之类的ID进行连接答案 1 :(得分:0)
我正在添加此信息作为答案,因为它太长而无法作为评论。您可以从Watson IOT Platform服务仪表板生成API密钥。
连接应用程序时,您需要3个属性:
组织($ org)
API密钥($ key)
API令牌($令牌)
应用程序需要API密钥才能连接到组织。注册API密钥时,将生成必须与该API密钥一起使用的令牌。
要生成API密钥和令牌,请启动Watson IoT服务信息中心。从左侧边栏中选择“应用程序”,然后在顶部菜单中选择“API密钥”,并选择右上角的“生成API密钥”按钮。该平台将为您提供一对“API密钥”和“身份验证令牌”,您需要记下这些
见截图。
API密钥看起来像这样:a:$ org:a84ps90Ajs
令牌看起来像这样:MP $ 08VKz!8rXwnR-Q *
使用API密钥进行MQTT连接时,以下情况适用:
MQTT客户端ID:a:$ org:$ appId MQTT用户名必须是API密钥:a:$ org:a84ps90Ajs MQTT密码必须是身份验证令牌:MP $ 08VKz!8rXwnR-Q *