
回复
###本文章仅整理视频笔记及对一些地方的解释,如果想看详细内容,请在鸿蒙开发者学堂搜索鸿蒙设备开发###
###本文章图片来自视频后PDF文档,本文侧重代码讲解###
1.华为IOT平台介绍及产品创建
1.1.平台介绍
1.2.产品创建
1.3.创建步骤
打开链接
设备接入_IoTDA_IoT_物联网IoT平台-华为云 (huaweicloud.com)
注册并实名认证
右上角创建产品
创建完成后点击查看
点击自定义模型,创建一个模型
之后添加属性是传到云上的属性,添加命令可以向设备下发命令。属性,命令,服务id都可以按照1.2产品创建第二张图进行。
2.产品代码
2.1.代码实例
2.2.代码讲解
引入库文件,定义消息队列结构体以及最大长度16,创建两个不同优先级任务
通过在云平台在线调试并将两个值带入网址(下面第二个图)可得三个参数
定义枚举以及相关结构体。
第一个任务函数,连接wifi,配置设备信息,初始化MQTT客户端,定义命令回调函数,根据消息队列传的类型选择执行哪个函数(msg_type),命令或report函数。
是对命令进行处理(开关灯)还是对消息进行上报
命令处理
消息上报
而第二个优先级更高的任务一直在读取传感器的值,并上传消息队列,通过第一个任务选择上传函数对数据进行处理
数据上报函数前面一部分为JSON数据的拼装
服务id要与华为云创建时的一致
后面是在华为云创建的属性,第一个是属性名,第二个是第二个任务从传感器上读取的数据,第三个为类型,第四个指向到下面的属性直到NULL则不需进行进一步封装。
第一个任务对应命令处理中控制灯亮灭的代码
控制舵机的代码
之后的操作也可以在华为云平台在线调试对设备进行调试(控制)