基于STM32设计的青少年学习监控系统(华为云IOT)_282
文章目录
- 一、前言
-
- 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】ESP8266-WIFI模块
- 【2】BH1750传感器
- 【3】SHT30温湿度模块
- 【4】超声波测距模块
- 【5】MQ7一氧化碳气体模块
- 【6】MQ4天然气气体模块
- 【7】MQTT协议
- 二、硬件选型
-
- 2.1 STM32开发板(带显示屏)
- 2.2 PCB板
- 2.3 杜邦线(2份)
- 2.4 SHT30温湿度模块
- 2.5 ESP8266
- 2.6 继电器(买2个)
- 2.7 环境光检测模块
- 2.8 人体感应-热释电模块
- 2.9 蜂鸣器模块
- 2.10 LED灯-台灯灯泡
- 2.11 声音检测模块
- 2.12 超声波测距模块
- 2.13 MQ4天然气传感器
- 2.14 MQ7一氧化碳传感器
- 2.15 USB下载线
- 2.16 电源扩展板(买2个)
- 三、部署华为云物联网平台
-
- 3.1 物联网平台介绍
- 3.2 开通物联网服务
- 3.3 创建产品
-
- (1)创建产品
- (2)填写产品信息
- (3)产品创建成功
- (4)添加自定义模型
-
-
- 【1】创建服务ID
- 【2】环境温度 SHT30_T 浮点数
- 【3】环境湿度 SHT30_H 浮点数
- 【4】光照强度 BH1750 浮点数
- 【5】人体检测 HumanBody 布尔类型
- 【6】一氧化碳 MQ7 浮点数
- 【7】可燃气体 MQ4 浮点数
- 【8】声音检测 Audio 浮点数
- 【9】坐姿距离 Distance 浮点数
- 【10】运行模式 mode_type Bool类型
- 【11】电风扇 MOTOR1_SW Bool类型
- 【12】加湿器 MOTOR2_SW Bool类型
- 【13】台灯 LED_SW Bool类型
- 【14】灯光亮度 Light 整型(3个等级)
- 【15】距离阀值 Distance_Min 整型
-
- (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)**提取设备属性数据**
- (3)**提取各项传感器数据**
- (4)**提取设备传感器数据**
- (5)**更新界面**
-
- 环境温度(`SHT30_T`)显示:
- 环境湿度(`SHT30_H`)显示:
- 人体检测(`HumanBody`)显示:
- (6)**判断设备是否离线**
- (7)总结
- 5.5 编译Windows上位机
- 5.6 配置Android环境
-
- 【1】选择Android编译器
- 【2】创建Android配置文件
- 【3】配置Android图标与名称
- 【4】编译Android上位机
- 5.7 设备仿真调试
- 六、 ESP8266-WIFI模块调试过程
-
- 6.1 接电脑USB口调试
- 6.2 ESP8266的STA+TCP客户端配置
- 七、STM32代码设计
-
- 7.1 硬件连线说明
- 7.2 硬件原理图
- 7.3 硬件组装过程
- 7.4 硬件实物图
- 7.5 KEIL工程截图
- 7.6 程序下载
- 7.7 程序正常运行效果
- 7.8 取模软件的使用
- 7.9 WIFI模块与服务器通信
- 7.10 硬件初始化
-
- (1)**JTAG接口设置**
- (2)**板载LED初始化**
- (3)**板载按键初始化**
- (4)**串口1初始化(打印用)**
- (5)**串口2初始化(与WIFI通信)**
- (6)**定时器2初始化**
- (7)**蜂鸣器初始化**
- (8) **环境温湿度SHT30引脚初始化**
- (9)**LCD显示屏初始化**
- (10)**ADC初始化(气体和声音检测)**
- (11)**光敏传感器初始化**
- (12)**硬件初始化(台灯、加湿器、电风扇)**:
- (13)**关闭台灯**
- (14)总结
- 7.11 WIFI模块-初始化
-
- (1)**LCD显示初始化和显示WiFi初始化信息**
- (2)**ESP8266硬件初始化**
- (3)**连接WiFi热点**
- (4)**连接WiFi热点**
- (5)**WiFi连接成功后显示成功信息**
- (6)**连接MQTT服务器**
- (7)**连接MQTT服务器**:
- (8)**MQTT服务器连接成功**
- (9)**订阅MQTT主题**
- (10)**MQTT连接失败处理**
- (11)总结
- 7.12 LCD界面显示
- 7.13 数据显示
-
- (1)第一页 (`LCD_Page1`)
- (2)第二页 (`LCD_Page2`)
- (3)数据显示
- 7.15 按键代码
-
- (1)代码分析
- (2)总结
- 7.16 上位机命令处理
-
- (1)代码分析
-
- 1. **接收数据标志**
- 2. **解析接收到的数据**
- 3. **处理请求并回应服务器**
- 4. **重置接收标志和计数**
- (2)总结
- 7.17 核心代码
-
- (1)**按键控制**
- (2)**超声波测距**
- (3)**人体感应**
- (4)**周期性采集数据**
- (5)**自动模式下的设备控制**
- (6)总结
- 八、使用STM32代码的流程以及注意事项
-
- 8.1 第1步
- 8.2 第2步
- 8.3 第3步
- 九、代码移植更改
-
- 【1】STM32代码
- 【2】Qt上位机代码
- 十、完整STM32的main.c代码
- 任务书
-
- 一、项目基本信息
- 二、项目背景与研究意义
-
- 2.1 项目背景
- 2.2 研究意义
- 三、项目目标与要求
-
- 3.1 项目总体目标
- 3.2 项目功能要求
- 3.3 系统功能设计要求
- 四、技术路线
-
- 4.1 硬件设计
- 4.2 软件设计
- 4.3 系统调试与测试
- 五、研究计划与进度安排
- 六、项目预期成果
- 开题报告
-
- 一、课题背景
-
- 1.1 课题的背景与意义
- 1.2 课题的研究目标
- 1.3 课题的研究意义
- 二、研究内容与技术路线
-
- 2.1 研究内容
- 2.2 技术路线
- 三、研究方法与技术手段
- 四、预期成果与创新点
-
- 4.1 预期成果
- 4.2 创新点
- 五、项目计划与进度安排
- 六、参考文献
基于STM32设计的青少年学习监控系统(华为云IOT)
一、前言
1.1 项目介绍
【1】项目开发背景
随着社会的不断发展和教育水平的提高,青少年的学习环境逐渐受到人们的重视。良好的学习环境和正确的学习姿势对青少年的健康成长具有重要意义。然而,在实际学习过程中,青少年容易受到不良环境因素的影响,例如光线不足、空气质量不佳或湿度过低等。同时,不良的学习姿势还可能导致视力下降或脊柱发育问题。因此,设计一套能够实时监控学习环境和提醒坐姿的智能系统显得尤为必要。
基于此,开发了一款基于STM32的青少年学习监控系统,通过多种传感器实现学习环境的全面监控与调节,并辅以智能提醒功能来帮助学生改善学习习惯。该设备通过检测温湿度、环境光