# SmartRoom Hub
**Repository Path**: dogdoog/smart-room-hub
## Basic Information
- **Project Name**: SmartRoom Hub
- **Description**: 专注于智能家居系统的开源项目,提供房间自动化、环境监测与控制等功能,旨在打造更加智能舒适的生活空间。
- **Primary Language**: Unknown
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2025-11-05
- **Last Updated**: 2025-11-05
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# SmartRoom Hub - 智能室内物联网系统

*智慧环境,触手可及*
[](https://www.st.com/)
[](https://mqtt.org/)
[](https://www.qt.io/)
[](LICENSE)
[]()
## 📖 项目简介
SmartRoom Hub 是一个完整的智能室内物联网监控系统,集成了STM32嵌入式硬件、Web前端界面、Qt桌面应用和MQTT通信协议。系统实现了对室内环境的实时监测和设备远程控制,为现代化生活空间提供智能化解决方案。
## ✨ 主要特性
### 🚀 核心功能
- **环境监测**:实时采集温度、湿度、光照强度数据
- **设备控制**:远程控制灯光、报警器、LED等设备
- **多平台访问**:支持Web浏览器和Qt桌面应用
- **实时通信**:基于MQTT协议的实时数据推送
- **自动告警**:环境异常自动触发告警机制
### 🛡️ 技术特点
- **嵌入式传感**:STM32+DHT11+光敏传感器硬件方案
- **双向通信**:MQTT协议实现设备与客户端双向通信
- **TCP桥接**:C语言设备服务器实现协议转换
- **响应式设计**:Web界面自适应不同屏幕尺寸
- **多线程处理**:服务器端并发处理多个客户端连接
### 🎨 用户体验
- **直观仪表盘**:实时数据可视化展示
- **一键控制**:简洁明了的设备控制界面
- **状态反馈**:设备状态实时同步显示
- **动画效果**:流畅的界面交互动画
## 🏗️ 系统架构
### 整体架构
ESP8266 WiFi模块
↓
设备服务器 (TCP-MQTT桥接)
↓
MQTT消息代理 (通信中枢)
↓
客户端应用 (Web + Qt)
### 数据流向
传感器数据 → STM32 → ESP8266 → 设备服务器 → MQTT → Web/Qt客户端
控制命令 ← STM32 ← ESP8266 ← 设备服务器 ← MQTT ← Web/Qt客户端
## 📦 安装与运行
### 环境要求
- **硬件平台**: STM32F103C8T6开发板 + ESP8266模块
- **传感器**: DHT11温湿度传感器 + 光敏电阻模块
- **软件环境**:
- MQTT服务器 (Mosquitto)
- Web浏览器 (支持WebSocket)
- Qt 5.12+ (可选,用于桌面应用)
- GCC编译器 (设备服务器)
### 部署步骤
1. **硬件准备**
```bash
# 连接传感器到STM32对应引脚
# PA0 - 光照传感器
# PA1 - DHT11温湿度传感器
# PC1,PC2,PC3 - LED控制
# PC7 - 蜂鸣器控制
# PA4 - 室内灯光控制
```
2. **启动服务**
# 编译设备服务器
```bash
# cd device-server
# gcc -o device_server device_server.c mqtt_client.c -lpthread -lpaho-mqtt3c
# ./device_server
```
3. **访问界面**
- Web端: 浏览器打开 `web-interface/Smart_Room_Front.html`
- Qt端: 编译运行 `qt-app/maindialog.cpp`
### 连接配置
**设备服务器配置** (device_server.c):
```c
#define MQTT_ADDRESS "tcp://8.140.241.110:1883"
#define TCP_PORT 8866
```
**Web界面配置** (scr2.0.html):
```javascript
const host = 'ws://8.140.241.110:8083/mqtt';
const deviceId = 'dogdoog';
```
**Qt应用配置** (maindialog.cpp):
```.cpp
m_mqtt->setHostname("8.140.241.110");
m_mqtt->setPort(1883);
```
## 📋 使用指南
### 基本操作
1. **环境监测**: 查看温度、湿度、光照实时数据
2. **灯光控制**: 点击按钮控制室内灯光开关
3. **报警控制**: 触发或关闭蜂鸣器报警
4. **LED控制**: 远程控制LED指示灯状态
### 控制命令
| 命令 | 功能 | 支持平台 |
| :--- | :--------- | :------- |
| `a` | 开启灯光 | Web |
| `b` | 关闭灯光 | Web |
| `c` | 开启报警 | Web |
| `d` | 关闭报警 | Web |
| `e` | 开启室内灯 | Web + Qt |
| `f` | 关闭室内灯 | Web + Qt |
## 🔍 技术细节
### 通信协议
- **数据上传**: `设备ID/传感器类型 数据值`
- **状态上报**: `设备ID/状态类型 状态值`
- **控制命令**: `设备ID/cmd 单字符命令`
### 数据格式示例
text
```
dogdoog/sensor/dht11 25.5_60
dogdoog/sensor/light 3200
dogdoog/state/led 1
dogdoog/cmd e
```
## 🐛 故障排除
### 常见问题
1. **MQTT连接失败**
- 检查MQTT服务器地址和端口
- 验证网络连通性
- 确认防火墙设置
2. **传感器数据异常**
- 检查传感器接线
- 验证STM32引脚配置
- 查看传感器供电
3. **控制命令无响应**
- 确认设备ID匹配
- 检查主题订阅关系
- 验证命令字符正确性
4. **Web界面无法连接**
- 检查WebSocket地址
- 验证MQTT over WebSocket配置
- 查看浏览器控制台错误信息
## 👥 开发团队
- **项目发起人**: 杨家翔
- **硬件开发**: 杨家翔
- **软件开发**: 杨家翔
- **测试维护**: 杨家翔
## 📞 技术支持
- **问题反馈**: 提交 [Gitee反馈处理](https://gitee.com/dogdoog/smart-room-hub/issues)
- **技术讨论**: 项目Discussion板块
- **邮件联系**: 15097601713@163.com
## 🎯 未来规划
- 支持更多传感器类型
- 添加数据历史记录和图表
- 实现自动化场景规则
- 开发移动端App
- 增加用户权限管理
- 添加语音控制功能
- 实现能耗统计分析
------
**让每一个室内空间都拥有智慧的大脑** 🏠