智慧路灯设备SDK与平台通信,主要是通过MQTTS/MQTT协议接入华为云物联网平台,实现南向“数据上报”、“命令下发”的功能,下面将详细讲解如何实现智慧路灯设备SDK与平台通信:

1、前提条件
操作系统和编译器:需要Linux操作系统,且已安装好gcc(建议4.8及以上版本)。
开发环境搭建:SDK的开发编译环境推荐使用64位的Ubuntu16.04,需要安装make(4.1及以上版本)、gcc(5.4.0及以上版本)。
2、上传产品模型
创建产品:在物联网平台控制台创建产品,选择MQTT协议,填写相关信息。
开发产品模型:定义设备上报到平台的光照强度值(luminance)和远程控制路灯开关状态的命令(switch),服务ID为BasicData。
上传模型文件:下载模型文件并上传到平台上,使平台理解设备的功能。
3、创建设备

注册设备:在设备接入服务中注册设备,所属产品选择刚刚创建的产品,密钥不填写则由平台自动生成。
保存设备信息:设备创建成功后,保存设备ID和密钥,后续设备连接时需要用到。
4、导入代码样例
下载样例代码:下载quickStart(C)样例,拷贝到linux运行环境中。
代码目录简述:src是源码目录,conf是证书目录,include是头文件目录,lib是依赖库文件。
5、编译库文件
编译openssl库和paho库文件:下载并解压openssl和paho.mqtt.c源码,进行编译。
拷贝库文件:将编译成功的库文件拷贝到quickStart(C)的lib文件夹下。

6、建立连接
修改参数:修改IoT平台mqtt对接地址、deviceId和secret等参数。
连接平台:设备或网关在接入物联网平台时首先需要和平台建立连接,从而将设备或网关与平台进行关联。
7、属性上报
组装消息体:消息体jsonMsg组装格式为JSON,其中service_id要与产品模型中的定义对应,properties是设备的属性。
上报属性值:设备或网关成功连接到物联网平台后,即可调用MqttAsyncClient的publish方法向平台上报设备属性值。
8、命令下发
发送命令:在控制台界面找到“设备命令”一栏,下发的参数跟产品模型中保持一致,然后点击“调试”按钮即可发送命令。
查看命令:设备侧可查看已收到命令。
在了解以上内容后,以下还有一些其他建议:
光照强度数据上报至物联网平台后,可以借助平台提供的数据分析工具进行进一步的处理和分析,比如根据光照强度自动调整路灯亮度,实现智能化管理。
在实际应用过程中,除了光照强度上报和命令下发外,还可以考虑增加温湿度传感器、烟雾报警器等其他传感器的数据上报,以及远程升级固件等功能,进一步提升智慧路灯设备的智能化水平。
智慧路灯设备通过MQTTS/MQTT协议与华为云物联网平台进行通信,实现了南向“数据上报”、“命令下发”的功能,开发者可以通过编写代码,利用平台提供的接口和工具,方便地实现设备与平台的连接、数据上报和命令下发等操作,还可以根据实际需求进行功能拓展,实现更多智能化应用。
【版权声明】:本站所有内容均来自网络,若无意侵犯到您的权利,请及时与我们联系将尽快删除相关内容!
发表回复