# smart-thermometer
**Repository Path**: holdCoder/smart-thermometer
## Basic Information
- **Project Name**: smart-thermometer
- **Description**: 本项目基于STM32F103RBT6主控板设计并实现了一套智能语音交互电子体温计系统。系统采用经过校准的DHT11传感器实现对人体体温的高精度测量。创新性地集成小智AI语音助手服务,用户可通过语音指令查询体温信息。系统通过ESP8266 WiFi模块将体温数据上传至云平台,支持网页前端远程监控。当体温超过预设健康阈值时,系统将同时触发体温计内蜂鸣器报警和小智AI语音播报超温温度。
- **Primary Language**: C
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 1
- **Created**: 2026-02-11
- **Last Updated**: 2026-02-11
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# 智能电子测温仪 - 基于STM32的智能测温监测平台

*实时监测,智能预警,连接云端*
[](https://www.st.com/)
[](https://www.keil.com/)
[](LICENSE)
[]()
## 📖 项目简介
本项目基于STM32F103RBT6主控板,设计并实现了一套创新性的智能语音交互电子体温计系统。系统集成了高精度体温测量、自然语音交互和云端远程监控等功能,为用户提供智能化的健康监测体验。
## ✨ 主要特性
### 🚀 核心功能
- **多参数监测**:同步采集温度、湿度等体温数据
- **实时显示**:OLED显示屏动态展示监测数据
- **云端传输**:通过ESP8266将数据实时上传至云平台
- **智能报警**:体温参数超阈值自动触发报警机制
- **稳定可靠**:采用硬件IIC和定时器中断确保系统稳定性
### 🛡️ 技术特点
- **高效驱动**:基于HAL库的硬件驱动配置
- **多任务处理**:定时器中断实现数据采集与显示分时复用
- **通信协议**:USART AT指令配置ESP8266透传模式
- **数据处理**:ADC采集光照强度,数字接口读取温湿度
### 🎨 用户体验
- **直观界面**:OLED分时显示体温、湿度参数
- **实时反馈**:LED指示灯显示系统状态
- **自动切换**:定时轮换显示温度、湿度、光照数据
- **远程监控**:云平台实时数据查看和历史记录
## 🏗️ 系统架构
### 硬件架构
```
STM32F103RBT6 (主控核心)
↓
外围设备接口
├── DHT11 (温湿度传感器)
├── AMS TSL (光照传感器)
├── OLED (显示模块)
├── ESP8266 (WiFi通信)
└── LED指示灯 (状态显示)
```
### 软件架构
```
主循环 (数据采集与处理)
↓
定时器中断 (显示刷新)
↓
传感器驱动层 (DHT11/TSL/OLED)
↓
通信协议层 (IIC/USART)
↓
云平台接口 (TCP长连接)
```
## 📦 硬件组成
### 主要组件
- **主控芯片**: STM32F103RBT6
- **温湿度传感器**: DHT11
- **光照传感器**: AMS TSL2561
- **显示模块**: 0.96寸OLED (IIC接口)
- **通信模块**: ESP8266 WiFi模块
- **开发环境**: Keil MDK5
### 接口配置
- **IIC接口**: OLED显示、光照传感器
- **USART接口**: ESP8266通信
- **GPIO接口**: DHT11温湿度传感器、LED指示灯
- **ADC接口**: 光照强度模拟量采集
## 🔧 安装与配置
### 开发环境要求
- **IDE**: Keil MDK5
- **编译器**: ARMCC 5.06+
- **调试器**: ST-Link V2
- **库支持**: STM32CubeMX HAL库
### 工程配置步骤
1. **导入工程**
```bash
# 使用Keil MDK打开项目文件
打开 EnvironmentalMonitor.uvprojx
```
2. **硬件配置**
- 确认STM32F103RBT6芯片选型
- 配置系统时钟为72MHz
- 初始化相关外设接口
3. **编译下载**
```bash
# 在Keil中
Project → Build Target
Project → Download → Download to Flash
```
### 硬件连接说明
| 模块 | 接口 | 引脚配置 |
| --------- | ----- | ------------------ |
| OLED | IIC | SDA: PB7, SCL: PB6 |
| ESP8266 | USART | TX: PA2, RX: PA3 |
| DHT11 | GPIO | DATA: PA0 |
| TSL2561 | IIC | SDA: PB7, SCL: PB6 |
| LED指示灯 | GPIO | PC1, PC3, PC7 |
## 📋 使用指南
### 系统启动流程
1. **硬件初始化**:系统上电,各外设模块初始化
2. **传感器校准**:DHT11和TSL2561传感器初始化检测
3. **网络连接**:ESP8266自动连接WiFi并接入云平台
4. **数据采集**:开始循环采集体温参数
5. **实时显示**:OLED分时显示监测数据
### 操作说明
- **数据查看**:通过OLED显示屏查看实时体温数据
- **状态指示**:LED灯显示系统运行状态和报警信息
- **云端访问**:通过云平台查看历史数据和报警记录
## 🔍 技术实现细节
### 传感器数据采集
- **DHT11温湿度**:单总线协议,精确到0.1℃和1%RH
- **TSL2561光照**:IIC接口,量程0.1-40000+ Lux
- **数据滤波**:移动平均算法消除数据波动
### 显示优化策略
```c
// 分时显示实现
void display_rotation(void)
{
static uint8_t display_mode = 0;
if(HAL_GetTick() - last_switch_time > 2000) {
display_mode = (display_mode + 1) % 3;
last_switch_time = HAL_GetTick();
}
switch(display_mode) {
case 0: display_temperature(); break;
case 1: display_humidity(); break;
case 2: display_light(); break;
}
}
```
### 网络通信协议
- **AT指令集**:配置ESP8266工作模式
- **TCP长连接**:保持与云平台的稳定通信
- **数据封装**:JSON格式传输传感器数据
- **心跳机制**:定期发送心跳包维持连接
## 🐛 故障排除
### 常见问题及解决方案
1. **传感器无数据**
- 检查传感器接线是否正确
- 验证IIC/USART接口配置
- 确认传感器供电正常
2. **OLED显示异常**
- 检查IIC地址配置
- 验证刷新频率设置
- 确认段码表数据正确
3. **网络连接失败**
- 检查WiFi账号密码配置
- 验证AT指令响应
- 确认云平台地址和端口
4. **数据上传异常**
- 检查TCP连接状态
- 验证数据格式封装
- 确认网络信号强度
## 🔄 数据处理流程
### 数据采集周期
```
定时器中断(每2秒)
↓
切换显示模式 → 采集传感器数据 → 更新显示
↓
数据有效性校验 → 阈值判断 → 触发报警
↓
封装数据包 → 通过网络发送 → 云平台存储
```
### 报警机制
```c
// 阈值检测示例
void check_thresholds(void)
{
if(temperature > TEMP_THRESHOLD) {
trigger_alarm(TEMP_ALARM);
}
if(light_intensity < LIGHT_THRESHOLD) {
trigger_alarm(LIGHT_ALARM);
}
}
```
## 👥 开发团队
- **项目发起人**: 杨家翔
- **主要开发**: 杨家翔
- **测试维护**: 杨家翔
## 📞 技术支持
- **问题反馈**: 通过GitHub Issues提交问题
- **联系方式**: 15097601713@163.com
## 🎯 版本规划
### 当前版本 v1.0
- [x] 基础体温参数监测
- [x] OLED本地显示
- [x] 云平台数据上传
- [x] 阈值报警功能
- [x] 集成小智AI
- [x] 手机APP远程控制
- [x] 语音提示功能
### 未来版本规划
- [ ] 数据历史曲线显示
- [ ] 多节点组网监测
- [ ] 能耗优化管理
- [ ] 太阳能供电支持
---
**智能电子测温仪** - 让体温感知更智能,让生活健康更安心