项目简介
本项目为完整的气象站系统,是物联网学习活动的成果。系统借助 DHT11 传感器与 ESP32CAM 微控制器采集本地环境温度和相对湿度,通过 MQTT 协议将数据以 JSON 格式发送至 NodeRed 的 Flow 中。同时,利用 OpenWeatherMap 提供的 API 获取温度、湿度、空气质量和紫外线指数等信息,并通过 MQTT 向组内其他成员报告。当温度超过 26°C 时,ESP32CAM 上的 LED 闪光灯会发出信号。
项目的主要特性和功能
- 数据采集:利用 DHT11 传感器和 ESP32CAM 微控制器获取本地环境温湿度数据。
- 数据传输:通过 MQTT 协议以 JSON 格式传输本地传感器数据和 API 获取的数据。
- 远程数据获取:通过 OpenWeatherMap API 获取指定地理位置的温度、湿度、空气质量和紫外线指数等信息。
- 数据可视化:使用 NodeRed Dashboard 展示本地和组内的气象数据图表。
- 温度预警:本地温度超过 26°C 时,ESP32CAM 上的 LED 闪光灯发出信号。
安装使用步骤
前提条件
用户已下载本项目的源码文件,且具备以下硬件和软件: - 硬件:ESP32CAM 微控制器、FTDI 转换器、USB 转 USB - mini 线、MM 跳线、实验板、DHT11 传感器、10k 欧姆电阻。 - 软件:Ubuntu 20.04、Arduino IDE、Mosquitto MQTT Broker(监听端口 1883,开启认证连接)、NodeJS、NPM、NodeRed 和 Node Dashboard。
安装步骤
- 硬件连接:按图示连接电子电路。
- 修改相关配置:
- 修改发布和订阅主题。
- 填写要连接的网络名称和密码。
- 设置数据发送间隔时间(以毫秒为单位)。
- NodeRed 配置:启动 NodeRed 并加载 Flow7,进行如下修改:
- 修改要报告的 MQTT 主题。
- 填写用于向 OpenWeatherMap 进行 API 请求的地理坐标。
- 生成并填写 OpenWeatherMap 的 API 密钥。
- 设置触发 LED 闪光灯亮起的温度阈值(建议设置为 26°C)。
- 电路供电:为电子电路供电,确保 WiFi 信号覆盖范围不超过 3 米。
使用步骤
在 NodeRed 中完成 Flow7 并部署后,打开仪表盘,访问 http://localHost:1880/ui 查看气象数据图表。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】