Синяя яма
MeteoChangelog

MeteoChangelog

История метеостанции — Погода в Синей Яме

История метеостанции «Синяя Яма»

От трёх проводков до магнитных бурь

Всё началось с простого желания — знать, сколько градусов за окном в деревне под Новосибирском, где центральная метеослужба часто «врёт» из-за перепадов рельефа и застройки. Сначала это была голая Raspberry Pi, к которой я припаял три датчика DS18B20 и назвал точки: «Ружа», «Комната жениха», «Спальня». Никакого веб-интерфейса — только SSH и cat /sys/bus/w1/devices/.... Но работало! А потом всё заверте~1

Этап 1: Первая визуализация (Конец ноября 2025)

  • Появился простейший PHP-скрипт, который читал данные и выводил их на веб-страницу.
  • Добавлена ручная запись в CSV — началась история.
  • Первый график — ломаная линия температуры в <canvas> (да, без js-визуализации).

Этап 2: Появление «микроклимата» (начало декабря 2025)

  • Подключили BME280 — и мир стал трёхмерным: температура, влажность, давление.
  • Научились переводить гектопаскали в мм рт.ст., чтобы сравнивать с нормой Новосибирска (736–756 мм).
  • Появился прогноз по трендам: «если давление падает — будут осадки».

Этап 3: (Не)Большие данные и Grafana (Начало декабря 2025)

  • Данные начали уходить в InfluxDB через Mosquitto (MQTT).
  • Появился Grafana-дашборд с панелями на 6 ч, 3 дня, неделю.

Этап 4: Геомагнитные бури вошли в дом (~8 декабря 2025)

  • Был интегрирован Kp-индекс из NOAA: фактический и прогнозный на трое суток.
  • Научил систему определять уровни магнитных бурь (G1–G5) — и предупреждать за сутки.
  • Добавил отдельный график геоактивности с фактом и прогнозом.

Этап 5: Метеостанция вышла в люди(12 Декабря 2025)

  • Запустили Telegram-бота @bluepit_bot — чтобы погода была в кармане.
  • Создал виджетЛовит даже на парковке Теперь виджет можно как открыть в браузере, так и установить как автономное приложение на телефон или ПК, как PWA

Этап 6: Больше функционала и фишечек!

  • Добавил всплывающие подсказки при наведении на влажность и KP-индекс
  • Добавил прогноз по трендам давления, влажности и температуры:
    • Туман
    • Гололёд
    • Осадки / ясно
    • Похолодание / потепление
  • Добавил алерты в telegram о предстоящих и текущих магнитных бурях
  • Добавил симпатичную визуализацию Новосиба
  • Добавил всплывающие подсказки при наведении на влажность и KP-индекс

Этап 7: Поддержка и сообщество

  • Появился QR-код для пожертвований — чтобы проект мог развиваться.
  • Повысил уровень безопасности: Переделал архитектуру с варианта «на коленке» в более production-like вариант.
  • Запустил публичный changelog и задумался об истории проекта — вот она!

Сегодня «Синяя Яма» — это не просто датчики на стене. Это локальная погодная экосистема, которая помогает не только мне, но и (судя по всему) другим жителям нашего Простоквашино знать, когда надеть шапку, взять зонт… или приготовиться к магнитной буре.

Что дальше?

  • Автоматические уведомления о бурях и метеоусловиях на основе трендов в Telegram.
  • Анемометр (как только бюджет позволит!).
  • Датчик качества воздуха (Туда же, куда и анемометр).
  • Ротация симпатичных визуализаций Новосиба в зависимости от погоды.
  • Чего-нибудь еще прикручу.
Changelog(нажми, чтобы увидеть)

Changelog

v0.9

  • Добавил милую визуализацию Новосибирска к плагину
  • Добавил к плагину ссылки на tg-бота, weatherChangelog и qr-код
  • Написал Историю в weatherChangelog и собственно сам changelog, который вы сейчас читаете

v0.8

  • Добавил прогнозы по трендам давления, влажности и температуры
  • Добавил предупреждение в плагин касательно магнитных бурь
  • Добавил аннотации к графане, отмечающие магнитные бури по прогнозу и по факту
  • Добавил закрытое API
  • Написал простого telegram-бота, который может получать по API метрики, а также алерты о предстоящих\текущих «метеопроблемах»(гололёд, геомагнитные бури и тд)
  • Бот теперь может слать сообщения о геомагнитных бурях
  • Добавил qr-код для донатов(а что, а вдруг?)
  • Актуализировал виджет, с учетом всех последних обновлений

v0.6

  • Добавил js-график геомагнитной активности к плагину
  • вернул ебуняку\жаришку
  • Исправил жирный баг с отображением js-графиков из-за которого график геомагнитной активности показывал что-то не то

v0.55

  • Настраивал дашборд в графане, чтобы заставить её корректно отображать данные графика геомагнитной активности(с текущими данными всё ок, проблема возникла с отображением данных в будущем времени, т.е. с прогнозами)
  • Переписал скрипт, который пушит данные в history и influxdb, чтобы привести json с геомагнитными данными к единому виду, проблема была с разными форматами timestamp
  • Починил отображение графика с геомагнитной активностью в графане, добавил на публичный дашборд

v0.5

  • Отказался от виджета KWGT(работает плохо, требует доп. приложений, плохо масштабируется на массовую аудиторию, ломает красоту оригинального виждета)
  • Вернулся к оригинальному виджету, добавил PWA, теперь через браузер можно установавливать как приложение на телефон\ПК
  • Написал отдельный скрипт, получающий данные геомагнитной активности от NOAA
    • На стороне NOAA данные обновляются раз в 3 часа, поэтому нет смысла дёргать скрипт чаще, вместе с остальными данными
    • Были другие варианты, от них пришлось отказаться впоследствии: Немцы не отдают json нормально, отечественные обсерватории либо не дают актуальных данных, либо не дают прогнозных, только уже свершившийся факт.
  • Переписал скрипт, который пушит данные в mqtt и influx, чтобы отправлять данные геомагнитной активности.
  • Сломал «ощущается как ебуняка\жаришка»

v0.4

  • Добавил страницу с дашбордами grafana, добавил панелей с влажностью и давлением
  • Создал виджет для телефона
  • Создал виджет для телефона c помощью KWGT(немного порушил предыдущий виджет)
  • Добавил «ощущается как ебуняка\жаришка»

v0.3

  • Собрал датчик BME280, добавил поддержку необходимых библиотек на p1
  • получил данные в raw-формате
  • Переписал скрипт, отправляющий данные(ds18b20+BME280) с p1 в mqtt
  • Переписал скрипт, отправляющий данные в history и в influxdb
  • Добавил к js-графикам графики давления и влажности

v0.2

  • Поднял grafana и создал дашборд метеостанции
  • Переписал скрипт обработчик, данные теперь не только в history, но и в grafana, через influxdb
  • Добавил js-графики к wp-плагину

v0.1

  • Написана самая первая версия wp-плагина
  • Написан скрипт, который пишет данные из mqtt в history
  • Скрипт работает как сервис

v0.05

  • Датчики выведены в стратегические места
  • Написан скрипт, который пушит данные в mqtt
  • Скрипт работает как сервис
  • Поднят сервер mqtt
  • It`s Alive!

v0.01

  • Собрал на коленке станцию на p1
  • Прикрутил к ней 3 датчика ds18b20
  • Получил данные температур в raw-формате
  • It`s Alive!

Один комментарий

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *