Huawei-IoT-SDK (Python社区版)开发说明(设备侧)

举报
苌奥林 发表于 2021/12/04 23:37:26 2021/12/04
【摘要】 Huawei-IoT-SDK (Python社区版)开发说明(设备侧)

Huawei-IoT-SDK (Python社区版)开发说明(设备侧)

项目背景

参加的华为物联网全栈工程师活动,在活动末端,看到华为云iot相关接口Python版本的调用方式不太清晰,而且当前IoT Device SDK只有Java、C、Go,而没有Python相关的sdk。查看了Python的Demo,于是动思起念,想要自己封装实现一个Python版本的sdk,既是对此次活动的回馈,也是对自身学习知识的一个检验,大可一试。

项目地址

项目实现依据

项目功能

参考C版本的功能实现,实现如下功能:

  • 支持物模型:设备消息/属性/事件上报,设备命令/消息/属性/事件接收
  • 支持子设备消息转发、子设备管理
  • 支持OTA升级
  • 支持密码认证和证书认证两种设备接入方式
  • 支持自定义topic
  • 支持设备影子查询
  • 支持自定义日志收集能力

Demo源码解析

代码目录

  • IoT_device_demo:使用MQTT协议的demo文件
  • message_sample.py:设备发送消息和接收平台消息的demo
  • command_sample.py:响应平台下发命令的demo
  • properties_sample.py:属性上报等的demo
  • IoT_device/client:对paho-mqtt进行了封装
  • IoT_client_config.py:配置客户端信息,如设备id、秘钥等
  • IoT_client.py:提供mqtt协议相关功能,如连接、订阅、发布和响应等
  • IoT_device/Utils:工具方法,如获取时间戳、秘钥加密等
  • IoT_device/resources:存放证书;
  • IoT_device/request:对设备相关属性进行封装,如命令、消息和属性等。

使用步骤

  1. 调动IoTClientConfig 进行客户端配置
  2. 调用IotClient 进行客户端的实例化
  3. 调用实例方法connect 进行连接
  4. 调用实例方法subscribe 进行topic订阅
  5. 调用实例方法set_command_callback 进行平台下发命令的监听
  6. 调用实例方法report_properties 进行属性上报
    1. ServicesProperties 类实例化对象
    2. add_service_property 方法增加属性
  7. 调用实例方法publish_message 进行消息的发送。(作用待研究)

自研项目规划

第一期实现Demo版本全部功能

  • 客户端创建,链接
  • topic订阅,发布
  • 属性上报,命令监听
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。