立省万元,HUAWEI DevEco Studio 分布式模拟器体验
886
2022-05-30
Huawei-IoT-SDK (Python社区版)开发说明(设备侧)
项目背景
参加的华为物联网全栈工程师活动,在活动末端,看到华为云iot相关接口Python版本的调用方式不太清晰,而且当前IoT Device SDK只有Java、C、Go,而没有Python相关的sdk。查看了Python的Demo,于是动思起念,想要自己封装实现一个Python版本的sdk,既是对此次活动的回馈,也是对自身学习知识的一个检验,大可一试。
项目地址
gitee
项目实现依据
IoTDA 帮助文档
项目功能
参考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订阅,发布
属性上报,命令监听
API/SDK IoT Python
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。