© 2004...2026

С любовью задеплоено на личный VPS ♥

v8.67.4

live · Yerevan, Armenia

Балконнаяметеостанция

Автономный комплекс на балконе в Ереване: ESP32, BME280 и PMS5003. Данные агрегируются в Supabase, зеркалируются через Raspberry Pi 4 в sensor.community и публикуются на kuzyak.in.

Открыть на GitHub

/ данные сейчас

Показания датчиков

Текущие замеры на балконе. Нажмите на карточку, чтобы посмотреть графики.

BME280 · 30 с · PMS · ~30 мин
online

32,9°C

Температура

online

37,2%

Влажность

online

671 мм

Давление

no_data

12,0 мкг

PM2.5

/ компоненты

Аппаратная часть

ESP32 с BME280 и PMS5003, отдельная ESP32-CAM и домашний Pi 4.

МК

ESP32

Wi‑Fi, агрегация раз в 5 мин

ESP32-CAM

Снимок с балкона по запросу

Raspberry Pi 4

Шлюз pi.kuzyak.in + зеркало

Датчики

BME280

T, RH, P — I²C, каждые 30 с

PMS5003

PM1/2.5/10 — UART, цикл ~30 мин

Стек

Supabase

PostgreSQL, JSON с ESP32

sensor.community

Зеркалирование с Pi 4

kuzyak.in

Next.js дашборды /weather

/ архитектура

Поток данных

От буферов на ESP32 до Supabase, Pi 4, sensor.community и дашбордов.

01

Сбор

BME280 пишет в буфер каждые 30 с; PMS5003 — прогрев 30 с и серия из 30 замеров раз в ~30 мин

02

Агрегация

Раз в 5 мин ESP32 отсекает выбросы, считает медиану и σ, упаковывает JSON

03

Хранение

HTTPS POST в Supabase PostgreSQL — единый источник для сайта и скриптов на Pi

04

Шлюз

Raspberry Pi 4 отдаёт /api/weather и зеркалирует ряды в sensor.community

05

Публикация

Дашборды kuzyak.in, фид AQICN и виджет камеры на главной

/ реальные графики

Живые измерения

Замеры сенсоров BME280 и PMS5003 за последние 24 часа. Живой график погоды и качества воздуха на балконе.

Как это работает

На балконе установлен автономный измерительный комплекс. Его аппаратная часть построена на микроконтроллере ESP32, к которому подключены два сенсора:

  • BME280 (подключен по шине I²C) — каждые 30 секунд замеряет температуру, влажность и атмосферное давление в буфер.
  • PMS5003 (подключен по UART) — работает в циклическом режиме для продления ресурса лазера. Раз в 30 минут датчик просыпается, прогревает камеру в течение 30 секунд и собирает серию из 30 высокоточных замеров концентрации мелкодисперсных частиц PM1.0, PM2.5 и PM10 методом лазерного рассеяния.

Раз в 5 минут ESP32 отсекает случайные выбросы, вычисляет математически чистую медиану и стандартное отклонение (σ) по накопленным буферам, упаковывает данные в JSON и отправляет в базу данных Supabase.

Далее в дело вступает домашний сервер на Raspberry Pi 4: специальный скрипт подхватывает эти агрегированные данные и зеркалирует их в международный гео-проект гражданской науки sensor.community.

I²CBME280SDA · SCL
UARTPMS5003TX · RX
I²CUART
ESP32
3V3GNDWi‑FiHTTP

Методология и контекст

Индекс AQI (Air Quality Index) рассчитывается в реальном времени по формуле US EPA (Агентства по охране окружающей среды США) на основе текущей медианной концентрации PM2.5.

Для оценки влияния на здоровье критически важно именно среднесуточное значение. Согласно рекомендациям Всемирной организации здравоохранения (ВОЗ), среднесуточный уровень PM2.5 не должен превышать 15 мкг/м³.

В Ереване из-за специфического рельефа котловины, плотной застройки и дефицита зелёных зон порог ВОЗ по PM2.5 регулярно нарушается, что делает независимый локальный мониторинг жизненно важным инструментом.

Трансляция данныхaqicn.org

Показания станции в реальном времени транслируются во всемирную сеть качества воздуха.

↗

/ репозиторий проекта

Инфраструктура IoT

Self-hosted шлюз на Raspberry Pi 4 и открытый код на GitHub.

ESP32 Gateway

Self-hosted панель управления парком ESP32: мониторинг устройств, OTA и отправка команд в реальном времени через MQTT. Разворачивается на Raspberry Pi 4 рядом со скриптом зеркалирования sensor.community.

Проект открыт на GitHub (iposho/esp-32-gateway-pi4). На pi.kuzyak.in крутится API погоды и temperature/chart для админских графиков «Уличный датчик» (zone=balcony).

  • ESP32
  • Raspberry Pi
  • MQTT
  • Self-hosted
GitHubesp32.kuzyak.in

/ источники информации

Что не с балконного датчика

Чтобы не путать локальные показания с внешними или квартирными контурами.

Радиационный фон на /weather

Показатель радиации на странице погоды берётся из внешнего API airquality.am (станция 214), а не с балконного датчика. Это справочный контекст, не live-сенсор.

Страница погоды

Датчик в квартире

Датчик в квартире (зона flat, «под столом в гостиной») — отдельный контур через Pi /api/temperature; для авторизованных также показывается CO₂. На /weather и /weather/air — только балконные показания.

Статистика
Датчиков:0 шт
BME280:0 сек
PMS5003:0 мин
Агрегация:0 мин
Погода с балконаКачество воздуха