当前位置: 首页 > article >正文

华为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

# 设备发送消息到平台,又用户自定义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)

同时,正确的代码实例:

# 发送用户自定义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"}]}

                               )

即可运行成功:


http://www.kler.cn/a/464367.html

相关文章:

  • Python爬虫 - 豆瓣图书数据爬取、处理与存储
  • 性能测试03|JMeter:断言、关联、web脚本录制
  • Rockect基于Dledger的Broker主从同步原理
  • C语言渗透和好网站
  • 双目视觉:reprojectImageTo3D函数
  • springboot实战(19)(条件分页查询、PageHelper、MYBATIS动态SQL、mapper映射配置文件、自定义类封装分页查询数据集)
  • 丢弃法hhhh
  • python中subprocess指定用户与传递环境变量
  • 【重庆】《政务数字化应用费用测算规范》(T/CDCIDA 001—2023)-省市费用标准解读系列36
  • 单片机的存储器类型
  • DC-DC 降压转换器设计提示和技巧
  • Echart实现3D饼图示例
  • 【DSP/matlab】fftshift 是什么意思?在信号处理中有什么作用?
  • C#编写的盘符图标修改器 - 开源研究系列文章
  • STM32CUBEIDE FreeRTOS操作教程(十二):std dynamic memory 标准动态内存
  • 电子应用设计方案82:智能 AI 椅子系统设计
  • 软件工程期末复习汇总
  • 小程序组件 —— 24 组件案例 - 绘制公司信息区域
  • 矩阵简单问题(Java)
  • python小项目:给复制出来的段落前添加星号
  • UML统一建模语言测试题汇总
  • 【问题解决】ogr.GetDriverByName(‘ESRI Shapefile‘),driver输出路径命名问题
  • P8打卡——YOLOv5-C3模块实现天气识别
  • GitHub 及 GitHub Desktop 详细使用教程(通俗易懂)
  • linux驱动开发笔记
  • java控制语句详解