littlebot
Published on 2025-04-09 / 3 Visits
0

【源码】基于Arduino和Python的远程温度监控系统

项目简介

本项目开发了一个远程温度监控系统,用于监测家庭内部温度变化,并分析其与供暖系统工作周期的关系。系统借助Arduino微控制器读取温度传感器数据,通过Python服务器将数据存入SQLite数据库,最后通过图形界面呈现温度随时间的变化情况。

项目的主要特性和功能

  1. 数据采集:利用ESP - 32 CAM微控制器和DS18B20防水温度传感器,通过Arduino代码读取温度数据,再经HTTP请求将数据发送到Python服务器。
  2. 数据存储:Python服务器接收温度数据并存储到SQLite数据库,通过数据库操作类(如SQLiteTempDao.py)进行数据的存储与检索。
  3. 数据处理与展示:Python服务器以图形界面展示温度随时间的变化,使用grapher.py绘制温度随时间变化的图表。
  4. 系统稳定性:采用Docker容器化技术,保证应用程序在故障时能自动重启;运用多线程技术处理多个传感器的数据读取,提升系统响应速度。
  5. 测试驱动开发:使用PyTest进行测试驱动开发,对传感器数据读取、数据库操作和线程处理进行单元测试,确保代码的正确性和稳定性。

安装使用步骤

  1. 环境准备:确保已安装Python 3.x和Docker,通过pip install -r requirements.txt安装所需的Python库。
  2. 硬件设置:将ESP - 32 CAM微控制器与DS18B20温度传感器连接,上传Remote_Temp_ESP32.ino代码;把Raspberry Pi 3配置为运行温度服务器,保证其24/7运行。
  3. 软件配置:在Raspberry Pi上运行包含Python服务器和SQLite数据库的Docker容器,通过python temperatureServer.py启动Python服务器。
  4. 数据采集与展示:温度数据会自动从ESP - 32 CAM微控制器发送到Python服务器并存储到SQLite数据库,使用grapher.py绘制温度随时间变化的图表以查看温度变化趋势。
  5. 测试与调试:运行测试脚本(如test_Sensors.pytest_SQLiteDao.py等),确保系统各部分功能正常,依据测试结果进行调试和优化。

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】