下面的代码是我用来将数据从r-pi sense-hat发布到IBM云的代码
topic = 'iot-2/evt/temperature/fmt/json'
print("Publishing data from pito cloud",json.dumps(payload))
client.publish(topic,json.dumps(payload), qos=1)在IBM Cloud上发布的格式是否已更改?IBM cloud connection日志显示消息: Topic不匹配授权规则。
发布于 2019-06-18 18:59:17
如果您要发布作为设备连接的事件(例如,d:{orgId}:{typeId}:{deviceId}) = clientId,这是正确的主题:
iot-2/evt/temperature/fmt/json如果您要发布作为应用程序连接的事件(例如clientId = a:{orgId}:{appId}) ),则需要使用的主题结构是不同的:
iot-2/type/{typeId}/id/{deviceId}/evt/temperature/fmt/json看起来你正在使用Python paho客户端,如果你正在使用Python,我强烈建议你尝试一下官方的SDK wiotp-sdk包,它屏蔽了和HTTP的所有内部细节,比如使用哪个主题字符串。
该代码在GitHub中是开源的,可从PyPi获得,并被Watson IoT Platform开发团队广泛用于我们所有的内部监控代理。
下面是应用程序和设备的事件发布的相关代码,即使您不想使用SDK,这些代码也可能有助于您了解底层Paho客户端是如何使用的:
https://stackoverflow.com/questions/56644622
复制相似问题