基于 STM32+ 华为云 IOT 设计的智能路灯
1. 前言
随着工业和城市的快速发展,道路照明系统的产业也在迅速发展,并趋于复杂化,为了更经济地控制和维护复杂的路灯系统,市面上各大科技公司开发了各种路灯控制系统,并且路灯都连上物联网云端,连上了政府网络,可以远程了解路灯的工作情况,运行情况。为了方便了解物联网平台,学习物联网开发,了解智慧路灯的开发,本文就采用华为云 IOT 物联网平台,选择 STM32 作为主控芯片,再配合相关的传感器完成智慧路灯开发。
2. 具体实现的功能以及相关的硬件
当前设计的智慧路灯采用 NBIOT 模块-BC20 连接华为云物联网服务器,上传路灯的各种参数信息:环境光强度、太阳能充电板电压、锂电池电量等信息。设计了一款手机 APP,可以通过华为云物联网平台的应用侧提供的开发接口,获取路灯上传的参数信息,并且可以在手机 APP 上远程手动控制路灯开关,设置路灯的开启和关闭时间等。 智慧路灯的的主控芯片采用 STM32F103C8T6、NBIOT 联网模块采用 BC20,BC20 内置了 MQTT 协议,可以通过 AT 指令连接物联网平台实现通信。智慧路灯采用锂电池供电,并且配有太阳能充电板,可以使用太阳进行充电补偿电量。使用了功率监控器,电池电量检测芯片,可以检测充电效率、电流、电压、电池电量等信息。BC20 带了 GPS 功能,可以上报路灯的 GPS 位置到云端服务器,手机 APP 获取之后,可以调用百度地图显示出路灯的位置。






3. 硬件选型
3.1 STM32F103C8T6


3.2 太阳能板

3.3 锂电池充电模块

3.4 功率检测模块

3.5 BH1750 光敏传感器

3.6 LED 灯

3.7 BC20-NBIOT 模块

4. 创建产品与设备
4.1 创建产品
地址:https://www.huaweicloud.com/?locale=zh-cn




4.2 自定义模型









4.3 创建设备


4.4 MQTT 密匙生成
创建完产品、设备之后,接下来就需要知道如何通过 MQTT 协议登陆华为云服务器。官方的详细介绍在这里:https://support.huaweicloud.com/devg-iothub/iot_01_2127.html#ZH-CN_TOPIC_0240834853__zh-cn_topic_0251997880_li365284516112
属性上报格式:https://support.huaweicloud.com/api-iothub/iot_06_v5_3010.html


MQTT 设备登陆密匙生成地址: https://iot-tool.obs-website.cn-north-4.myhuaweicloud.com/


华为云物联网平台的域名是: 161a58a78.iot-mqtts.cn-north-4.myhuaweicloud.com
华为云物联网平台的 IP 地址是:121.36.42.100
在软件里参数填充正确之后,就看到设备已经连接成功了。接下来打开设备页面,可以看到设备已经在线了。


4.5 主题订阅与发布
通过 MQTT 客户端软件模拟上报测试:


4.6 应用侧开发
为了更方便的展示设备数据,与设备完成交互,还需要开发一个配套的上位机,官方提供了应用侧开发的 API 接口、SDK 接口,为了方便通用一点,我这里采用了 API 接口完成数据交互,上位机软件采用 QT 开发。
帮助文档地址: ttps://support.huaweicloud.com/api-iothub/iot_06_v5_0034.html
设备属性就是设备上传的传感器状态数据信息,应用侧提供了 API 接口,可以主动向设备端下发请求指令;设备端收到指令之后需要按照约定的数据格式上报数据;所以,要实现应用层与设备端的数据交互,需要应用层与设备端配合才能完成。


5. STM32 程序设计
STM32 连接华为云 IOT 的工程案例: https://download.csdn.net/download/xiaolong1126626497/81993720

5.1 BC20 连接华为云物联网服务器-调试

5.2 测试模块
第一步接上之后,串口调试助手选择波特率为 115200,勾选软件上的发送新行选项。发送AT
过去,正常模块会返回OK
。
5.3 keil 工程代码
MQTT 协议连接华为云 IOT 源码工程: https://download.csdn.net/download/xiaolong1126626497/81993720



5.4 功率检测
5.5 BH1750 环境光强度
版权声明: 本文为 InfoQ 作者【DS小龙哥】的原创文章。
原文链接:【http://xie.infoq.cn/article/1247cbbb669edd8afb9d715c6】。文章转载请联系作者。
评论