项目简介
本项目开发了一个远程温度监控系统,用于监测家庭内部温度变化,并分析其与供暖系统工作周期的关系。系统借助Arduino微控制器读取温度传感器数据,通过Python服务器将数据存入SQLite数据库,最后通过图形界面呈现温度随时间的变化情况。
项目的主要特性和功能
- 数据采集:利用ESP - 32 CAM微控制器和DS18B20防水温度传感器,通过Arduino代码读取温度数据,再经HTTP请求将数据发送到Python服务器。
- 数据存储:Python服务器接收温度数据并存储到SQLite数据库,通过数据库操作类(如
SQLiteTempDao.py
)进行数据的存储与检索。 - 数据处理与展示:Python服务器以图形界面展示温度随时间的变化,使用
grapher.py
绘制温度随时间变化的图表。 - 系统稳定性:采用Docker容器化技术,保证应用程序在故障时能自动重启;运用多线程技术处理多个传感器的数据读取,提升系统响应速度。
- 测试驱动开发:使用PyTest进行测试驱动开发,对传感器数据读取、数据库操作和线程处理进行单元测试,确保代码的正确性和稳定性。
安装使用步骤
- 环境准备:确保已安装Python 3.x和Docker,通过
pip install -r requirements.txt
安装所需的Python库。 - 硬件设置:将ESP - 32 CAM微控制器与DS18B20温度传感器连接,上传
Remote_Temp_ESP32.ino
代码;把Raspberry Pi 3配置为运行温度服务器,保证其24/7运行。 - 软件配置:在Raspberry Pi上运行包含Python服务器和SQLite数据库的Docker容器,通过
python temperatureServer.py
启动Python服务器。 - 数据采集与展示:温度数据会自动从ESP - 32 CAM微控制器发送到Python服务器并存储到SQLite数据库,使用
grapher.py
绘制温度随时间变化的图表以查看温度变化趋势。 - 测试与调试:运行测试脚本(如
test_Sensors.py
、test_SQLiteDao.py
等),确保系统各部分功能正常,依据测试结果进行调试和优化。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】