Huawei-IoT-SDK (Python社区版)开发说明(设备侧)
【摘要】 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:对设备相关属性进行封装,如命令、消息和属性等。
使用步骤
- 调动
IoTClientConfig
进行客户端配置 - 调用
IotClient
进行客户端的实例化 - 调用实例方法
connect
进行连接 - 调用实例方法
subscribe
进行topic订阅 - 调用实例方法
set_command_callback
进行平台下发命令的监听 - 调用实例方法
report_properties
进行属性上报ServicesProperties
类实例化对象add_service_property
方法增加属性
- 调用实例方法
publish_message
进行消息的发送。(作用待研究)
自研项目规划
第一期实现Demo版本全部功能
- 客户端创建,链接
- topic订阅,发布
- 属性上报,命令监听
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)