华为iotda sdk发送消息无法更新quickstartpython问题解决

问题描述:

华为官方智慧路灯python代码: quickstartpython/IoT_device_demo/message_sample.py上报消息时,无法更新设备数据信息。

经过排查和对比后发现:

传递的数据格式与mqtt.fx不一致,导致平台无法解析。

(排查方式: iotda实例网页--设备管理--设备详情--消息跟踪--查看发送的消息内容发现,多了content字段。同时"流转规则触发"失败 )

解决办法:

把IoT_device/client/IoT_client.py中的payload代码改为:payload = device_message

python 复制代码
# 设备发送消息到平台,又用户自定义topic
    def __publish_raw_message(self, topic, device_message):
        # payload = {"content": device_message}
        payload = device_message
        payload = json.dumps(payload)
        self.__publish_result, _ = self.__client.publish(topic, payload, qos=1)

同时,正确的代码实例:

python 复制代码
# 发送用户自定义topic消息 e.g.订阅操作等
iot_client.publish_message(r'$oc/devices/' + str(client_cfg.device_id) + r'/sys/properties/report',
                               {"services": [
                                   {"service_id": "BasicData", "properties": {"luminance": 20}, "event_time": "null"}]}

                               )

即可运行成功:

相关推荐
用户298698530144 小时前
Java 实现 Word 文档文本查找与高亮标注
java·后端
Ausra无忧5 小时前
记录在公司把单服务器升级成多服务器架构流程
前端·后端·架构
宇宙之一粟5 小时前
乐企版式文件生成平台
java·后端·python
极客密码5 小时前
来看看我用Codex两周时间vibe coding的这款轻量级的剪贴板管理应用,win/mac系统均可用
前端·ai编程·vibecoding
前端双越老师5 小时前
Agent 实战: 智语 + baoyu-skills 自动发布文章到公众号
前端·agent·全栈
hunterandroid5 小时前
Jetpack Compose 入门:用声明式 UI 写 Android 页面
前端
以和为贵5 小时前
前端手写 RAG 踩坑实录:四个让检索"翻车"的坑
前端·人工智能·面试
用户2136610035725 小时前
Redux异步方案与React性能优化Hooks
前端
plainGeekDev5 小时前
MVC 写法 → MVVM
android·java·kotlin
假如让我当三天老蒯5 小时前
TypeScript 继续学习(学习用)
前端·面试·typescript