文章目录
- 一、前言
- 1.1 项目介绍
- 【1】开发背景
- 【2】研究的意义
- 【3】最终实现需求
- 【4】项目硬件模块组成
- 1.2 设计思路
- 【1】整体设计思路
- 【2】上位机开发思路
- 1.3 项目开发背景
- 【1】选题的意义
- 【2】摘要
- 【3】国内外相关研究现状
- 【5】参考文献
- 1.4 开发工具的选择
- 【1】设备端开发
- 【2】上位机开发
- 1.5 系统框架图
- 1.6 系统功能总结
- 1.7 系统原理图
- 1.8 实物图
- 1.9 模块的技术详情介绍
- 【1】NBIOT-BC26模块
- 【2】MQ5气体传感器
- 【3】SHT30模块
- 【4】蜂鸣器模块
- 【5】PM2.5传感器
- 【6】OLED显示屏
- 【7】MQTT协议
- 二、硬件选型
- 2.1 STM32开发板
- 2.2 USB下载线
- 2.3 SHT30温湿度模块
- 2.4 PCB板
- 2.5 BC26 NBIOT模块
- 2.6 母对母杜邦线
- 2.7 电源扩展板(4个)
- 2.8 PM2.5传感器
- 2.9 蜂鸣器模块
- 2.10 OLED显示屏
- 2.11 稳压模块
- 2.12 电源插头
- 2.13 MQ5传感器
- 2.14 继电器(2个)
- 2.15 风扇模块(通风风扇)
- 2.16 雾化片
- 三、部署华为云物联网平台
- 3.1 物联网平台介绍
- 3.2 开通物联网服务
- 3.3 创建产品
- (1)创建产品
- (2)填写产品信息
- (3)产品创建成功
- (4)添加自定义模型
- 【1】创建服务ID
- 【2】SHT30_T 环境温度 浮点数
- 【3】SHT30_H 环境湿度 浮点数
- 【4】MQ5 瓦斯气体 浮点数
- 【5】PM25 PM2.5 浮点数
- 【6】MOTOR_SW1 雾化降尘 布尔类型
- 【7】MOTOR_SW2 通风风扇 布尔类型
- 【8】run_mode 运行模式 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 修改设备属性
- 四、 NBIOT模块调试过程
- 4.1 模块调试接线
- 4.2 测试模块
- 4.3 上电初始化操作
- 4.4 开启GPS定位
- 4.5 连接MQTT服务器
- 4.6 完整的AT指令操作过程
- 五、STM32设备端代码设计
- 5.1 硬件连线说明
- 5.2 硬件原理图
- 5.3 硬件组装过程
- 5.4 NBIOT模块说明
- 5.5 KEIL工程
- 5.6 代码移植需要改的地方
- 5.7 程序下载
- 5.8 程序正常运行效果
- 5.9 取模软件的使用
- 5.10 STM32与手机APP的交互协议
- 5.11 初始化代码分析
- 5.12 NBIOT初始化配置代码
- 5.13 按键翻页代码分析
- 5.14 主循环里数据采集、显示、上传代码分析
- 5.15 处理服务器下发命令的代码
- 六、Qt开发入门与环境搭建
- 6.1 Qt是什么?
- 6.2 Qt版本介绍
- 6.3 Qt开发环境安装
- 6.4 开发第一个QT程序
- 6.5 调试输出
- 5.6 QT Creator常用的快捷键
- 6.7 QT帮助文档
- 6.8 UI设计师使用
- 6.9 按钮控件组
- 6.10 布局控件组
- 6.11 基本布局控件
- 6.12 UI设计师的布局功能
- 七、上位机开发
- 7.1 Qt开发环境安装
- 7.2 新建上位机工程
- 7.3 切换编译器
- 7.4 编译测试功能
- 7.5 设计UI界面与工程配置
- 【1】打开UI文件
- 【2】开始设计界面
- 7.6 设计代码
- 【1】获取token
- 【2】获取影子数据
- 【3】解析数据更新界面
- 【4】判断设备是否离线
- 【5】获取设备最新数据上传时间
- 7.5 编译Windows上位机
- 7.6 配置Android环境
- 【1】选择Android编译器
- 【2】创建Android配置文件
- 【3】配置Android图标与名称
- 【3】编译Android上位机
- 7.7 模拟设备联调
- 八、使用STM32代码的流程以及注意事项
- 8.1 第1步
- 8.2 第2步
- 8.3 第3步
- 8.4 第4步
- 九、完整STM32代码
一、前言
1.1 项目介绍
【1】开发背景
在当前快速发展的工业背景下,矿山开采作为重要的资源获取方式之一,其安全性和环境保护问题越来越受到社会的关注。矿山环境的恶劣条件,包括高温、高湿、有毒有害气体的积聚以及粉尘污染等,不仅严重影响了矿工的身体健康,还存在着巨大的安全隐患,可能导致严重的事故。因此,构建一个能够实时监测矿山环境变化,并能迅速响应异常情况的智能监测系统,对于提升矿山作业的安全水平和效率具有重要意义。
基于上述需求,本项目提出了一种基于STM32F103RCT6单片机的矿山环境监测系统设计方案。该系统通过集成多种环境监测传感器,如SHT30温湿度传感器、MQ5气体传感器以及PM2.5颗粒物传感器等,实现对矿山内温度、湿度、瓦斯浓度及空气颗粒物浓度等关键环境参数的全面监测。同时,系统具备智能化的预警机制,当检测到的任何一项指标超出预设的安全范围时,能够立即通过蜂鸣器报警或启动相应的控制装置(例如通风风扇和雾化降尘设备),从而有效预防潜在的安全风险。
为了提高系统的可操作性和实用性,本项目还特别设计了一个人机交互友好的OLED显示屏,用于直观地展示各项环境数据,便于现场工作人员随时了解矿山环境状况。此外,通过集成BC26 NBIO