文章目录
- 一、前言
-
- 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】MQ-2烟雾传感器
- 【3】MPU6050陀螺仪
- 【4】MAX30102传感器
- 二、硬件选型
-
- 2.1 ESP8266-串口WIFI
- 2.2 STM32F103RCT6开发板
- 2.3 GPS模块
- 2.4 MPU6050陀螺仪
- 2.5 蜂鸣器
- 2.6 USB下载线
- 2.7 杜邦线
- 2.8 MQ-2烟雾传感器
- 2.11 心率脉搏检测
- 2.12 洞洞板
- 2.13 温度检测传感器
- 2.14 环境温湿度检测传感器
- 2.15 单排排针(焊接扩展电源的)
- 三、部署华为云物联网平台
-
- 3.1 物联网平台介绍
- 3.2 开通物联网服务
- 3.3 创建产品
-
- (1)创建产品
- (2)填写产品信息
- (3)产品创建成功
- (4)添加自定义模型
-
- 【1】HeartRate 心率 (整型)
- 【2】SPO 血氧浓度
- 【3】DHT11_T 环境温度
- 【4】DHT11_H 环境湿度
- 【5】temp 体温
- 【6】MQ2 烟雾浓度
- 【7】GPS_lon GPS信息(经度)
- 【8】GPS_lat GPS信息(纬度)
- (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 获取影子数据
- 四、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】获取影子数据
- 【3】解析数据更新界面
-
- **1. JSON 解析流程**
-
- **(1)将 JSON 数据转换为 `QJsonDocument` 对象**
- **(2)检查 JSON 是否为对象**
- **(3)解析 `shadow` 节点**
- **(4)遍历 `shadow` 数组**
- **(5)提取 `reported` 数据**
- **2. 提取 `event_time`(最新上报时间)**
-
- **(1)转换 `event_time` 为 `QDateTime`**
- **(2)转换后的时间格式**
- **3. 提取 `properties`(设备数据)**
-
- **(1)提取各项数据**
- **4. 显示数据到 UI 界面**
- **5. 设备状态判断(是否离线)**
-
- **(1)计算与当前时间的时间差**
- **(2)判断设备是否在线**
- **6. 总结**
- 【4】判断设备是否离线
-
- **(1)功能分析**
- **(2)离线处理**
- **(3)在线处理**
- 【5】获取设备最新数据上传时间
-
- **(1)详细代码解析**
- **(2)代码运行效果**
- 5.5 编译Windows上位机
- 5.6 配置Android环境
-
- 【1】选择Android编译器
- 【2】创建Android配置文件
- 【3】配置Android图标与名称
- 【3】编译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模块与服务器通信
-
- **1. 判断ESP8266是否联网**
- **2. 组合JSON格式数据**
- **3. 通过 MQTT 发布数据**
- **4. 打印上传数据**
- **5. 处理ESP8266未连接情况**
- **6. 总结**
- 7.10 硬件初始化
-
- **1. 基础硬件初始化**
- **2. 串口调试**
- **3. LCD 显示屏初始化**
- **4. 传感器初始化**
- **5. ESP8266(WIFI)初始化**
- **6. GPS 模块初始化**
- **7. LCD 屏幕清屏**
- **8. 蜂鸣器提示启动成功**
- **9. 总结**
- 7.11 MPU605模块与MAX30102模块初始化
-
-
- **1. MPU6050 陀螺仪初始化**
-
- **1.1 MPU6050 设备初始化**
- **1.2 显示 MPU6050 初始化成功**
- **2. DMP(数字运动处理器)初始化**
-
- **2.1 设置 DMP**
- **2.2 DMP 设置成功**
- **3. MAX30102 心率血氧传感器初始化**
-
- **3.1 传感器初始化**
- **4. 视觉停留**
- **5. 总结**
-
- **1. 主要功能**
- **2. 代码执行流程**
-
- 7.12 WIFI模块-初始化
-
- **1. 初始化状态检查**
- **2. 显示WiFi热点信息**
- **3. 连接WiFi热点**
- **4. 连接MQTT服务器**
- **5. 订阅MQTT主题**
- **6. 错误处理与提示**
- **7. 总结**
- 7.13 按键逻辑代码
-
- **1. 按键检测**
- **2. 切换显示页面**
- **3. 切换到不同的页面**
- 7.14 数据采集与显示
-
- **1. 定时轮询与LED状态切换**
- **2. 加速度传感器数据获取与欧拉角计算**
- **3. 心率与血氧数据读取**
- **4. 体温数据读取**
- **5. 烟雾浓度检测**
- **6. 环境温湿度读取**
- **7. LCD显示数据**
- **8. 报警判断**
- **9. 数据上传至华为云**
- **10. GPS数据解析**
- **11. 总结**
- 八、使用STM32代码的流程以及注意事项
-
- 8.1 第1步
- 8.2 第2步
- 8.3 第3步
- 九、代码移植更改
-
- 【1】STM32代码
- 【2】Qt上位机代码
- **任务书**
-
- **1. 课题背景与目的**
-
- **1.1 课题背景**
- **1.2 课题目的**
- **2. 设计的内容**
- **3. 设计的基本要求**
- **开题报告**
-
-
-
- (一)选题来源与背景
- (二)研究目的
- (三)国内外研究现状
- (四)主要参考文献
- (五)研究内容
- (六)研究思路
- (七)研究方法
- (八)设计的总体结构描述
- (九)设计的各个功能模块描述
- (十)可行性分析
- (十一)预期成果
-
-
- 基于STM32的人体健康监护系统
-
- 1. 项目概述
- 2. 系统功能
-
- (1)人体体温检测
- (2)环境温湿度检测
- (3)GPS定位
- (4)数据上传与远程监测
- (5)吸烟检测
- (6)本地LCD数据展示
- (7)心率与血氧检测
- (8)人体姿态检测与睡眠监测
- 3. 系统硬件选型
- 4. 系统数据流程
- 5. 应用场景
- 6. 结论
基于STM32设计的人体健康监护系统(华为云IOT))
一、前言
1.1 项目介绍
【1】项目开发背景
随着现代社会健康管理意识的提升,以及科技的发展,智能健康监护系统逐渐成为医疗、家庭护理和个人健康管理的重要工具。特别是在全球公共卫生事件频发的背景下,如新冠疫情等,人们对个人健康数据的实时监测需求大幅增加。同时,慢性病(如心血管疾病、糖尿病)患者和老年人群体也需要持续的健康监护,以降低突发健康事件的风险。因此,开发一款便携式、智能化、可远程监测的健康监护系统具有重要的现实意义。
当前市场上的健康监测设备往往功能单一,例如仅能测量体温、心率或血氧,缺乏多参数融合分析能力。此外,大多数设备依赖于本地存储和手动数据查看,不能实