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

【源码】基于Arduino的室内极端热警告系统

项目简介

本项目是基于物联网的大学项目,以WeMos D1R1构建室内极端热警告系统。通过对比室内外温度,结合传感器数据与OpenWeatherMap服务器的天气信息,计算“不适指数”(DI),提醒用户在室内温度过高时及时采取措施,避免健康风险。

项目的主要特性和功能

  1. 连接OpenWeatherMap服务器获取当前温度和湿度等天气数据。
  2. 从传感器读取室内温湿度数据并进行正确性检查。
  3. 计算室内和室外的“不适指数”(DI)。
  4. 对数据进行分析,采用优化采样,不考虑最高和最低值来计算平均温度和湿度。
  5. 将计算后的数据发送到物联网服务器(ThingSpeak)。
  6. 根据“不适指数”的值,通过RGB LED和红色LED进行直观的视觉提示。

安装使用步骤

硬件连接

按照以下表格将WeMos D1R1与各外设进行连接: | | D1 | | | Connection | | | ------ | ------------- | --------------- | ----------------------------------------------------------- | --------------------- | --------------- | | ΑΑ | PIN ID | Description | | Peripheral | PIN ID | | 1 | D0 – GPIO 3 | RX- Receive | | RGB LED | Pin 1 – Blue | | 2 | D1 – GPIO 1 | TX – Transmit | Unconnected (In order to get messages to Serial Monitor-PC) | | | | 3 | D2 – GPIO 16 | | | RGB LED | Pin 2 – Green | | 4 | D3 – GPIO 5 | | | RGB LED | Pin 3 – Red | | 5 | D4 – GPIO 4 | | Unconnected (Short circuit with D15-SDA) | | | | 6 | D5 – GPIO 14 | | | RED LED | | | 7 | D6 – GPIO 12 | | Unconnected (Short circuit with D12- MISO) | | | | 8 | D7 – GPIO 13 | | Unconnected (Short circuit with D11- MOSI) | | | | 9 | D8 – GPIO 0 | WiFi – RX | | | | | 10 | D9 – GPIO 2 | WiFi – TX | | DHT11 | Data | | 11 | D10 – GPIO 15 | SS | | SD Reader | SC - Chipselect | | 12 | D11 – GPIO 13 | MOSI | | SD Reader | MOSI | | 13 | D12 – GPIO 12 | MISO | | SD Reader | MISO | | 14 | D13 - GPIO 14 | SCK | | SD Reader | SCK | | 15 | D14 - GPIO 4 | I2C BUS – SCL | | I2C – LCD MONITOR | SCL | | 16 | D15 - GPIO 5 | I2C BUS – SDA | | I2C – LCD MONITOR | SDA |

软件配置

  1. 下载并安装Arduino IDE,打开CivilHeatProtect.ino文件。
  2. 可通过SD卡设置WiFi连接、物联网服务器连接、OpenWeatherMap API连接以及用户位置信息等数据。若未检测到SD卡,将使用默认设置。

运行项目

  1. 完成硬件连接和软件配置后,按CTRL + S保存项目到其文件夹,然后关闭Arduino IDE。
  2. 将所有.ino文件移至项目文件夹中。
  3. 打开其中一个.ino文件,确保能看到所有标签页。
  4. 上传并运行代码到WeMos D1R1开发板,根据“不适指数”的值,相应的LED将亮起提供视觉提示。

下载地址

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