梅科尔工作室-#14天鸿蒙设备开发实战#设备联网上云笔记 原创 精华
目录
HarmonyOS网络应用开发
对接华为IoT平台
参考:
- HarmonyOS网络应用开发—对接华为IoT平台_哔哩哔哩_bilibili
- applications/BearPi/BearPi-HM_Nano/sample/D6_iot_cloud_oc/README.md · 小熊派开源社区/BearPi-HM_Nano - 码云 - 开源中国 (gitee.com)
- 成长地图_设备接入 IoTDA_华为云 (huaweicloud.com)
- cJSON 解析 - 简书 (jianshu.com)
- cJSON库学习总结+使用例程 | 码农家园 (codenong.com)
华为IoT平台介绍
华为云物联网平台即华为设备接入服务(IoT Device Access),提供海量设备连接上云、设备和云端双向消息通信、批量设备管理、远程控制和监控、OTA升级、设备联动规则等能力,并可将设备数据灵活流转到华为云其他服务,帮助物联网行业用户快速完成设备联网及行业应用集成。
华为IoT平台产品创建
可以在华为IoT平台创建产品模型,用于描述设备具备的能力和特性。开发者通过定义产品模型,在物联网平台构建一款设备的抽象模型,使平台理解该款设备支持的服务、属性、命令等信息,如颜色、开关等。
本次以智慧农业产品为案例,最终实现效果是可以接收环境温度(Temperature)、湿度(Humidity)、光照强度(Luminance)、补光灯状态(LightStatus)、电机状态(MotorStatus),可以控制补光灯开关和电机的开关,通过MQTT协议对接华为IoT平台。
服务信息:
服务ID | 服务类型 |
---|---|
Agriculture | Senser |
属性信息:
属性名称 | 数据类型 |
---|---|
Temperature | int |
Humidity | int |
Luminance | int |
LightStatus | string |
MotorStatus | string |
命令信息:
命令名称 | 参数名称 | │数据类型│ | 长 度 | 枚举 |
---|---|---|---|---|
Agriculture_Control_light | Light | string | 3 | ON,OFF |
Agriculture_Control_Motor | Motor | string | 3 | ON,OFF |
设备对接华为IoT平台
本次案例将演示如何在BearPi-HM_Nano开发板上使用MQTT协议连接华为IoT平台,需要将E53_IA1智慧农业扩展板与BearPi-HM_Nano开发板安装在一起。E53_IA1智慧农业扩展板购买地址为:小熊派BearPi开发板智慧农业案例扩展板E53_IA1-淘宝网 (taobao.com)
安装效果图如下:
华为云IoT平台创建产品
-
点击立即使用
-
控制台选择华北-北京四
-
可以由MQTT协议的域名生成ip地址,在命令行工具中
ping 域名
,通过ip地址和端口来连接IoT平台(似乎没有用到,可省略) -
创建一个产品,并输入相应信息
-
产品创建完成
产品服务能力开发
-
创建一个服务
-
为服务添加属性和命令,属性是指设备能上报哪些数据,命令是指设备能下发哪些命令
-
填加属性
需要依次添加温度(Temperature)、湿度(Humidity)、光照强度(Luminance)、补光灯状态(LightStatus)、电机状态(MotorStatus)5个属性。补光灯状态(LightStatus)、电机状态(MotorStatus)的数据类型需要选择string(字符串),之后一些选项会改变,其中长度为3(补光灯状态和电机状态有ON和OFF两种类型,最大长度是3)。
-
添加命令
需要添加补光灯状态控制(Agriculture_Control_light)、电机状态控制(Agriculture_Control_Motor)2个命令。
-
-
产品服务能力开发完毕
生成设备对接信息
-
新增测试设备,最近点击确定之后会弹出一个弹窗,需要复制其中的设备ID和设备秘钥,后续激活设备需要使用
-
生成设备对接信息网址
-
打开网址:Huaweicloud IoTDA Mqtt ClientId Generator (myhuaweicloud.com)
-
输入设备ID和设备秘钥,需要将生成的设备信息保存,后续需要填入代码中
-
设备开发
打开案例源码,源码在applications\BearPi\BearPi-HM_Nano\sample\D6_iot_cloud_oc\iot_cloud_oc_sample.c
路径下,以下添加了部分注释:
其中的WiFi名称及password、设备对接信息需要自行修改
修改applications\BearPi\BearPi-HM_Nano\sample
路径下BUILD.gn,指定 oc_mqtt
,编译、烧录,打印日志
日志中实时打印此时的温度、湿度、光照强度,并且在华为云IoT平台新增的测试设备调试页面,数据接收窗口可以看到接收的数据;在命令发送窗口,可以进行命令的发送,如打开补光灯命令发送后,开发板的E53_IA1智慧农业扩展板上的补光灯会被点亮。
感悟
本部分是14天鸿蒙设备开发实战最后一章(虽然学了30天),学习完之后还是挺有成就感的。并且通过本章也直接让我感受到了小熊派开发板在实际生活中的应用,智慧农业只是其中一个方面,根据不同的应用场景有不同的扩展板可以进行使用,这就大大降低了开发者的门槛。通过这一个月的学习,也让我认识到了我的基础知识需要加强,需要学习的地方还有很多。未来各种智慧场景的应用一定会更加广泛,如果想要出一份力,我目前的水平远远不够,还需要提高自己,学习的路很长,需要慢慢的走,关键是要坚持下去,加油加油!!!。
一路跟着楼主的文章走来,感叹楼主认真的学习态度,向楼主学习。
谢谢鼓励