Современная метеостанция на базе ESP32-S3 с цветным TFT-дисплеем 480×320. Отображает текущую погоду, прогноз на 3 дня, данные внутреннего и внешнего датчиков, передаёт данные в MQTT сервер и в сервис Народный мониторинг.
Полноценная метеостанция с современным функционалом для дома и дачи
TFT ILI9488 480×320 (4") с яркими иконками погоды и плавной анимацией
Данные от Open-Meteo API: текущая погода и прогноз на 3 дня с геомагнитным индексом Kp
BME280 по I2C: температура, влажность и атмосферное давление в помещении
Беспроводной датчик на nRF24L01+ с автономным питанием от Li-Ion 18650
Отправка данных на MQTT брокер и народный мониторинг погоды
Обновление прошивки по воздуху через WiFi без подключения кабеля
Проверенные компоненты для надёжной работы метеостанции
16MB Flash, 8MB PSRAM, WiFi + Bluetooth 5.0
Главный контроллер
480×320, 4 дюйма, SPI интерфейс
Дисплей
Температура, влажность, давление (I2C: 0x76/0x77)
Сенсор
2.4GHz радиомодуль для связи с внешним датчиком
Радио| Микроконтроллер | ESP32-S3 (Xtensa LX7 dual-core @ 240MHz) |
| Память | 16MB Flash, 8MB PSRAM |
| Дисплей | TFT ILI9488 480×320, 4", SPI |
| Внутренний датчик | BME280 (I2C: темп, влажность, давление) |
| Радиомодуль | nRF24L01+ (SPI, 2.4GHz) |
| Файловая система | LittleFS |
| Связь | WiFi 802.11 b/g/n, Bluetooth 5.0 |
Автономный беспроводной датчик на базе XIAO ESP32-C6. Работает от аккумулятора 18650 с умным управлением питанием — просыпается каждую минуту, делает измерения, отправляет данные и снова засыпает.
Компактный микроконтроллер с WiFi 6 и Bluetooth 5
Высокоточный сенсор температуры и влажности
Автономное питание с контролем заряда через АЦП
Надёжная радиосвязь 2.4GHz с низким энергопотреблением
200×200 монохромный дисплей для локального отображения
Построено на проверенных open-source библиотеках
Инструкция по сборке и настройке метеостанции
Проект состоит из двух частей: основная метеостанция и внешний беспроводной датчик.
git clone https://github.com/rrn-sss/meteo_station.git
git clone https://github.com/rrn-sss/meteo_sensor_out.git
Открыть workspace файл:
meteo_station.code-workspace
Или через терминал:
code meteo_station.code-workspace
Дождаться инициализации PlatformIO, затем нажать Build и Upload
Открыть workspace файл:
out_sensor.code-workspace
Или через терминал:
code out_sensor.code-workspace
Дождаться инициализации PlatformIO, затем нажать Build и Upload
LittleFS содержит HTML-файлы веб-интерфейса. Без него веб-интерфейс работать не будет. Требуется только для основного блока.
CLI команда:
pio run --target uploadfs
Или через VS Code:
Важно: последовательность прошивки
Нажмите для увеличения
GPIO4
GPIO5
GPIO6
GPIO7
GPIO10
GPIO15
GPIO9
GPIO46
GPIO14
GPIO11
GPIO12
GPIO13
GPIO3
GPIO8
Автономный датчик работает от батареи 18650 с глубоким сном между измерениями.
Нажмите для увеличения
GPIO0
GPIO21
GPIO19
GPIO18
GPIO20
GPIO2
GPIO17
Гербер-файлы — стандартный формат для производства печатных плат (PCB). Содержат все слои: медные дорожки, маску, шелкографию и сверловку.
Плата для ESP32-S3, TFT дисплея, NRF24L01 и BME280
Скачать gerber_meteostation.zipПлата для XIAO ESP32-C6, SHT3x, NRF24L01 и E-ink
Скачать gerber_pcb2.zipИзготовление плат 5-15 рабочих дней
Если метеостанция уже была подключена к WiFi — отключите роутер или выйдите из зоны покрытия, затем перезагрузите метеостанцию:
Подключитесь к сети со смартфона или компьютера:
SSID: MeteoStation-AP
В браузере откроется captive portal или введите:
http://192.168.4.1
Главное окно настроек (captive portal)
Конфигурация WiFi и MQTT
MQTT (Message Queuing Telemetry Transport) — лёгкий протокол обмена сообщениями по принципу "издатель-подписчик". Метеостанция публикует данные в топики → брокер сохраняет → приложение на смартфоне получает обновления в реальном времени.
| Broker | srv2.clusterfly.ru |
| Port | 9991 |
| Username | ваш_логин |
| Password | ваш_пароль |
| Prefix | meteo_station |
Рекомендуется приложение IoT MQTT Panel (Android):
| Параметр | Топик | JsonPath |
|---|---|---|
| Температура внутри | <user>/<prefix>/in |
$.t |
| Влажность внутри | <user>/<prefix>/in |
$.h |
| Температура снаружи | <user>/<prefix>/out |
$.t |
| Влажность снаружи | <user>/<prefix>/out |
$.h |
| Заряд батареи | <user>/<prefix>/out |
$.bat |
Проект поддерживает отправку данных на сервис NarodMon — бесплатную карту метеостанций с историческими графиками.