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

【源码】基于ESP32的天气监测模块

项目简介

本项目是基于ESP32开发板构建的无线天气监测模块。该模块借助WiFi连接互联网,能定时获取天气信息并做出响应,可显示温度、湿度、压力、风速和能见度等天气内容。

项目的主要特性和功能

  • 支持无线WiFi连接。
  • 可获取多种天气信息,包括温度、体感温度、最高/最低温度、气压、湿度、风速、能见度。
  • 具备温度状态LED指示,红色代表热,绿色代表正常,蓝色代表冷。
  • 有极端天气警报功能,遇到雨雪等极端天气时黄色LED亮起并发出蜂鸣声。
  • 能根据天气状况改变文本颜色。
  • 可使用NTP客户端更新时间和日期。

安装使用步骤

假设用户已经下载了本项目的源码文件。

硬件需求

  • ESP32开发板
  • 1.8英寸SPI TFT 128x160显示屏
  • 四颗LED灯(红、绿、蓝、黄)
  • 压电蜂鸣器
  • 若干100欧姆电阻(用于LED)
  • 面包板及连接线(或焊接原型板)

软件需求

  • Arduino IDE,并安装ESP32插件
  • Arduino json库
  • Adafruit TFT显示屏驱动库

步骤

  1. 配置参数:在代码文件中找到以下部分并进行相应设置: CPP const char* ssid = "你的WiFi名称"; const char* password = "你的WiFi密码"; String openWeatherMapApiKey = "你的OpenWeatherMap API密钥"; String city = "你的城市"; String countryCode = "你的国家代码"; unsigned long timezone = "你的时区偏移量"(以秒为单位,例如GMT+2h为7200)
  2. 硬件连接:根据硬件连接情况,确认LED和显示屏的引脚连接正确。参考ESP32引脚参考图进行连接。
  3. 编译与上传:编译并上传代码至ESP32开发板。
  4. 连接WiFi:将ESP32开发板连接到WiFi网络。
  5. 运行模块:每隔大约五分钟,模块将自动获取天气信息并在显示屏上显示。

注意事项

使用本模块前,需创建OpenWeatherMap账户并获得API密钥。同时,要根据实际硬件连接调整代码中的引脚定义。项目的成功运行依赖于稳定的WiFi连接和正确的硬件连接。

参考资料

下载地址

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