亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Manufacturing Technology >> 制造工艺

紧凑型气象站:Arduino Nano + ESP8266 双核方案 (BMP280 + OLED/Nokia 双屏)

项目概述

本项目将两套独立气象监测系统集成在一个外壳内:

  1. 本地气压趋势站:Arduino Nano + BMP280 气压计 + Nokia 5110 LCD,显示实时气压、温度,并对比 1 小时前、3 小时前气压差值 (hPa),辅助短时天气预判。代码采用 EEPROM 环形缓冲区存储历史数据,配合看门狗低功耗睡眠,实现分钟级采集。
  2. 联网天气预报站:NodeMCU (ESP8266) + 0.96" OLED,通过 WiFi 连接 OpenWeatherMap API 获取 3 天预报,显示天气图标、温度、湿度、风速等信息。需自行申请 API Key 并在代码中配置。

两套系统共用 5V 供电,互不干扰,适合桌面摆放或户外防水箱部署。

所需组件与物料

硬件接线指南

Arduino Nano 侧 (本地气压站)

模块引脚Arduino Nano备注
BMP280VCC5V板载 3.3V LDO
GNDGND
SDAA4I2C 数据
SCLA5I2C 时钟
Nokia 5110RSTD12复位
CED11片选
DCD10数据/命令
DIND9SPI 数据
CLKD8SPI 时钟
VCC3.3V屏幕供电 3.3V
LIGHT3.3V背光常亮
GNDGND

NodeMCU 侧 (联网预报站)

模块引脚NodeMCU (GPIO)备注
SSD1306 OLEDVCC3V3
GNDGND
SDAD2 (GPIO4)I2C 数据
SCLD1 (GPIO5)I2C 时钟

软件架构详解

本地气压站 (Arduino Nano)

核心库

关键算法

联网预报站 (ESP8266)

核心库 (需在 Arduino IDE 板管理器安装 ESP8266 支持)

关键流程

  1. 连接 WiFi (或 WiFiManager 自动配网)。
  2. HTTP GET 请求 https://api.openweathermap.org/data/2.5/forecast?q={city}&appid={API_KEY}&units=metric&lang=zh_cn。
  3. 解析 JSON,提取未来 3 天每 3 小时预报数据 (温度、湿度、天气代码、风速)。
  4. 映射天气代码至内置图标 (晴/云/雨/雪/雾等),OLED 分页滚动显示。
  5. 定时器每 30 分钟更新一次,失败重试机制。

OpenWeatherMap API Key 获取步骤

  1. 访问 openweathermap.org/api 注册免费账号。
  2. 进入 "My API Keys" 生成 Key。
  3. 在 ESP8266 代码中替换 const char* API_KEY = "YOUR_KEY";。
  4. 修改城市代码或坐标:const char* CITY = "Beijing,CN";。

详细安装指南 (ESP8266 侧)

参考官方详细教程:ESP8266 Weather Station Getting Started Guide,涵盖板管理器 URL、库安装、字体转换、图标提取等完整步骤。

原理图与结构

原理图展示两套系统共用 5V 降压模块 (如 LM2596 或 USB 供电),Nano 侧通过 ICSP 接口烧录引导程序,NodeMCU 通过 Micro-USB 烧录。建议在外壳预留 BMP280 通风孔,OLED 与 Nokia 屏幕分别开窗显示。

扩展建议

制造工艺

  1. 卡祖笛:从非洲米里通到现代塑料玩具——历史、制造与未来
  2. Giftduino:面向极客与教育者的终极 Arduino 礼物盒
  3. BME280 环境数据实时显示于 Nextion 触摸屏——Visuino 图形化开发
  4. 高性能 Arduino 气象气球数据记录器
  5. 自制 10 美元便携 Arduino 气象站 - Nano + DHT22 + BMP180 + LCD
  6. eDOT:基于 Arduino 的精密时钟与气象站,内置红外遥控
  7. Arduino + ThingSpeak 实时气象监测站
  8. 实时物联网压力监测:MKR GSM 1400 + Arduino Cloud + Google Sheets
  9. 打造可靠的 Arduino 气象站:DHT 传感器 + LCD + RTC
  10. Arduino 驱动乐高街机游戏盒 — 内置 5 款游戏、电池供电、LCD 显示
  11. 精密气压计:Arduino UNO & Nano 双表盘气压监测仪
  12. 告别跳线:BreadShield让Arduino直连面包板