基于STM32设计的智慧路灯(华为云IOT)_281
文章目录
- 一、前言
-
- 1.1 项目介绍
-
- 【1】项目开发背景
- 【2】设计实现的功能
- 【3】项目硬件模块组成
- 【4】设计意义
- 【5】国内外研究现状
- 【6】摘要
- 1.2 设计思路
- 1.3 系统功能总结
- 1.4 开发工具的选择
-
- 【1】设备端开发
- 【2】上位机开发
- 1.5 参考文献
- 1.6 系统框架图
- 1.7 系统原理图
- 1.8 实物图
- 1.9 模块的技术详情介绍
-
- 【1】合宙Air724UG 4G模块
- 【2】BH1750传感器
- 【3】SHT30温湿度模块
- 【4】MQ135气体传感器
- 【5】GPS模块
- 【6】MQTT协议
- 二、硬件选型
-
- 2.1 STM32开发板
- 2.2 USB下载线
- 2.3 杜邦线(2排)
- 2.4 OLED显示屏(SPI协议7针)
- 2.5 GPS模块
- 2.6 Air724UG 4G模块
- 2.7 LED白色路灯模块
- 2.8 BH1750光敏传感器
- 2.9 人体感应-热释电模块
- 2.10 SHT30温湿度模块
- 2.11 MQ135空气质量检测
- 2.12 独立按键
- 2.13 洞洞板
- 2.14 太阳能充电板【可选】
- 2.15 电源扩展板
- 三、部署华为云物联网平台
-
- 3.1 物联网平台介绍
- 3.2 开通物联网服务
- 3.3 创建产品
-
- (1)创建产品
- (2)填写产品信息
- (3)产品创建成功
- (4)添加自定义模型
-
-
- 【1】创建服务ID
- 【2】环境温度 SHT30_T 浮点数
- 【3】环境湿度 SHT30_H 浮点数
- 【4】HumanBody_Flag 人体感应 0无人 1有人
- 【5】BH1750 环境光强 浮点数
- 【6】LED_SW 路灯开关 布尔类型 1开 0关
- 【7】MQ135 空气质量 浮点数
- 【8】LED_SW_Flag 路灯的状态 布尔类型 1故障 0正常
- 【9】SOS_Info SOS紧急求助 布尔类型 1求助 0正常
- 【10】gps_lng 经度定位信息 浮点数类型
- 【11】gps_lat 纬度定位信息 浮点数类型
- 【12】mode_type 运行模式 整型枚举 1自动 0手动
-
- (5)创建完成
- 3.4 添加设备
-
- (1)注册设备
- (2)根据自己的设备填写
- (3)保存设备信息
- (4)设备创建完成
- (5)设备详情
- 3.5 MQTT协议主题订阅与发布
-
- (1)MQTT协议介绍
- (2)华为云平台MQTT协议使用限制
- (3)主题订阅格式
- (4)主题发布格式
- 3.6 MQTT三元组
-
- (1)MQTT服务器地址
- (2)生成MQTT三元组
- 3.7 模拟设备登录测试
-
- (1)填入登录信息
- (2)打开网页查看
- (3)MQTT登录测试参数总结
- 3.8 项目凭证
- 3.9 创建IAM账户
- 3.10 获取影子数据
- 3.11 修改设备属性
- 四、Qt开发入门与环境搭建
-
- 4.1 Qt是什么?
- 4.2 Qt版本介绍
- 4.3 Qt开发环境安装
- 4.4 开发第一个QT程序
- 4.5 调试输出
- 4.6 QT Creator常用的快捷键
- 4.7 QT帮助文档
- 4.8 UI设计师使用
- 4.9 按钮控件组
- 4.10 布局控件组
- 4.11 基本布局控件
- 4.12 UI设计师的布局功能
- 五、上位机开发
-
- 5.1 Qt开发环境安装
- 5.2 新建上位机工程
- 5.3 切换编译器
- 5.4 编译测试功能
- 5.5 设计UI界面与工程配置
-
- 【1】打开UI文件
- 【2】开始设计界面
- 5.6 设计代码
-
- 【1】获取token
- 【2】获取影子数据
-
- (1)获取当前时间并更新界面上的时间标签
- (2)设置请求URL和初始化网络请求
- (3)构造API请求URL
- (4)设置请求的头部信息
- (5)设置请求URL并发送请求
- (6)总结
- 【3】解析数据更新界面
-
-
- (1)**设备属性查询 (function_select == 0)**
- (2)**接收并解析 JSON 数据**
- (3)**解析 JSON 对象**
- (4)提取和解析设备状态数据
- (5)**提取具体的设备属性数据**
- (6)**时间处理和显示**
- (7)**数据显示和界面更新**
- (8)**根据数据值调整显示样式**
- (9)**设备离线状态判断**
- (10)**更新 UI 控件的状态**
- (11) **界面更新方法**
- (12)总结
-
- 5.5 编译Windows上位机
- 5.6 配置Android环境
-
- 【1】选择Android编译器
- 【2】创建Android配置文件
- 【3】配置Android图标与名称
- 【4】编译Android上位机
- 5.7 设备仿真调试
- 六、 Air724UG 模块调试过程
-
- 6.1 官方文档
- 6.2 模块调试接线
- 6.3 串口调试过程
-
- 【1】AT命令
- 【2】读取模块厂商信息
- 【3】读取详细的固件版本
- 【4】查询卡是否插好
- 【5】查询信号质量
- 【6】查询网络注册状态
- 【5】查询模组是否注册上GPRS网络
- 【6】查询附着GPRS网络
- 七、硬件开发
-
- 7.1 硬件连线
- 7.2 硬件原理图
- 7.3 硬件组装过程
- 7.4 硬件实物图
- 7.5 KEIL工程截图
- 7.6 程序下载
- 7.7 程序正常运行效果
- 7.8 取模软件的使用
- 7.9 4G模块与服务器通信
-
- (1)**组合JSON报文数据**
- (2)**上报数据到云平台**
- (3)**判断数据上传是否成功**
- (4)总结
- 7.10 硬件初始化
-
- (1)**释放PA15**
- (2)**按键初始化**
- (3)**LED灯初始化**
- (4)**串口1初始化(用于打印)**
- (5)**ADC初始化**
- (6)**初始化定时器,输出PWM信号**
- (7)**默认关灯**
- (8)**红外热释电模块初始化**
- (9)**环境温湿度传感器初始化(SHT30)**
- (10)**环境光强检测模块初始化(BH1750)**
- (11)**串口2初始化(用于与4G模块通信)**
- (12)**定时器2初始化(辅助串口2接收)**
- (13)**串口3初始化(用于接收GPS模块数据)**
- (14)**定时器3初始化(辅助串口3接收)**
- (15)**定时器4初始化(用于人体检测传感器滤波算法)**
- (16)**OLED显示屏初始化**
- (17)**OLED清屏**
- (18)**刷新OLED屏幕数据**
- (19)总结
- 7.11 4G模块-初始化
-
- (1)**OLED清屏并显示初始化信息**
- (2)**重试次数初始化**
- (3)**检测Air724UG 4G模块硬件是否正常**
- (4)**4G模块初始化**
- (5)**4G网络通讯服务初始化**
- (6)**MQTT协议初始化**
- (7)**MQTT主题订阅**
- (8)总结
- 7.12 数据采集与显示
-
- (1)**时间计数器控制** (`time_cnt > 150`)
- (2)**LED指示灯控制**
- (3)**空气质量采集** (MQ135)
- (4)**温湿度数据采集** (SHT30)
- (5)**光强度数据采集** (BH1750)
- (6)**人体检测** (红外热释电传感器)
- (7)**自动模式下的路灯亮度调节**
- (8)**路灯故障检测**
- (9)**OLED显示更新**
- (10)**数据上传到MQTT云端**
- (11)总结
- 7.13 按键代码
-
- (1)**按键扫描**
- (2)**切换显示页面**
- (3)**触发紧急信号**
- (4)**模式切换**
- (5)**开关路灯**
- (6)**总结**
- 7.14 上位机命令处理
-
- (1)**接收 4G 模块的数据**
- (2)**分析接收到的数据**
- (3)**路灯控制**
- (4)**模式切换**
- (5)**解析请求 ID**
- (6)**上报属性修改响应**
- (7)**清理和标志位重置**
- (8)**总结**
- 7.15 GPS定位信息处理
-
- (1)**接收GPS模块的数据**
- (2)**解析GPS数据**
- (3)**输出经纬度信息**
- (4)**清理接收缓存**
- **(5)GPS 数据格式**
- (6)**总结**
- 八、使用STM32代码的流程以及注意事项
-
- 8.1 第1步
- 8.2 第2步
- 8.3 第3步
- 九、代码移植更改
-
- 【1】STM32代码
- 【2】Qt上位机代码
- 任务书
-
-
- 任务书
-
- 一、课题名称
- 二、课题背景及意义
- 三、设计任务
- 四、设计内容
- 五、计划安排
- 六、预期成果
- 七、指导教师意见
- 八、学生签名
- 九、指导教师签名
-
- 开题报告
-
-
-
- 一、项目背景与意义
- 二、研究现状与发展趋势
- 三、设计目标
- 四、技术方案
-
- (1)系统总体架构
- (2)硬件设计
- (3)软件设计
- 五、创新点
- 六、预期成果
- 七、工作计划
- 八、参考文献
-
-
基于STM32设计的智慧路灯(华为云IOT)
一、前言
1.1 项目介绍
【1】项目开发背景
随着智慧城市建设的快速推进,智慧路灯作为城市物联网的重要组成部分,正逐渐成为城市基础设施数字化改造的核心内容。传统路灯存在能耗高、维护成本高、功能单一等问题,无法满足现代城市对节能、环保和智能化管理的需求。因此,设计一款基于STM32的智慧路灯系统,不仅可以实现路灯的节能高效管理,还能提升城市整体管理水平,为智慧城市的发展奠定基础。
本项目旨在通过STM32F103C8T6微控制器为核心,结合先进的传感技术和无线通信技术,实现智慧路灯的多功能化和智能化管理。通过整合环境温度、湿度、光照强度、空气质量的实时监测功能,可以为市政部门