littlebot
Published on 2025-04-12 / 0 Visits
0

【源码】基于Arduino的ESP32温度数据管理系统

项目简介

本项目基于Arduino编程语言,利用ESP32 NodeMCU开发板搭建Web服务器,结合DS18B20温度传感器和RTC DS3231实时时钟模块,实现温度数据的采集、存储和管理。采集到的温度数据会存储在SD卡的SQLite数据库中,用户可通过API接口对数据进行记录和查询。

项目的主要特性和功能

  1. 利用ESP32构建Web服务器,实现与外界交互。
  2. 通过DS18B20传感器实时获取环境温度。
  3. 借助RTC DS3231记录温度数据的时间戳。
  4. 将温度数据持久化存储在SD卡的SQLite数据库中。
  5. 提供POST和GET两种API接口,分别用于记录新的温度数据和查询特定时间范围内的温度数据。

安装使用步骤

前提条件

用户已下载本项目的源码文件。

硬件连接

  1. DS18B20温度传感器连接:
    • 信号引脚接ESP32数字引脚(如D4)。
    • VCC引脚接ESP32的3.3V或5V引脚。
    • GND引脚接ESP32的GND引脚,数据引脚和VCC引脚间连4.7k欧姆电阻。
  2. RTC DS3231连接:
    • SDA引脚接ESP32的SDA引脚。
    • SCL引脚接ESP32的SCL引脚。
    • VCC引脚接ESP32的3.3V或5V引脚。
    • GND引脚接ESP32的GND引脚。
  3. SD卡连接:
    • CS引脚接ESP32的GPIO5。
    • SCK引脚接ESP32的GPIO18。
    • MOSI引脚接ESP32的GPIO23。
    • MISO引脚接ESP32的GPIO19。
    • VCC引脚接ESP32的3.3V引脚。
    • GND引脚接ESP32的GND引脚。

代码上传

  1. 通过USB将ESP32连接到计算机。
  2. 在Arduino IDE中选择正确的COM端口和ESP32开发板类型。
  3. 点击“上传”按钮,将代码上传到ESP32。

使用API

当ESP32连接到网络后,可通过以下URL进行操作: - 记录温度数据:使用POST请求访问 http://[ESP32的IP地址]/setTemperature,示例请求:http://192.168.1.10/setTemperature?temperature=23.4&timestamp=1677649200,成功响应为 {"status": "success"}。 - 查询温度数据:使用GET请求访问 http://[ESP32的IP地址]/getTemperatures,示例请求:http://192.168.1.10/getTemperatures?startTime=1677649100&endTime=1677649300,响应格式为 [{"id": 1, "value": 23.4, "timestamp": 1677649200}]

下载地址

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