Skip to content

J-A-A-M/ukraine_alarm_map

SWUbanner SWUbanner GitHub Clones

Репозиторій містить файли прошивки JAAM. JAAM це прошивка для ESP32, що дозволяє за допомогою розміщених на мапі України адресних світлодіодів відображати таку інформацію: повітряні тривоги, погода, візуальні зображення накшталт прапору України. Крім цього, є окремий диспей, який може відображати потончий час, погоду та сервісні повідомлення.

Плата JAAM 2.1

Текстолітова плата у формі мапи України

Фронтальна частина:

  • 124 LED WS2812B-2020: Підсвічування областей України, м. Київ - 1 LED.
  • OLED дисплей (SH1106G, 1.3''): Вивід часу, температури та іншої інформації.
  • 5 сервісних LED: Індикація системних подій (живлення, WiFi, сервер тощо).
  • Сенсор освітлення (BH1750): Автоматичне регулювання яскравості.
  • Динамік (buzzer): Звукові сповіщення з апаратним вимикачем.

Задня частина:

  • 44 LED ambient light: Ефект підсвітки для важливих подій.
  • Сенсор клімату (BME280): Вимірювання температури, вологості та тиску.
  • Чіп ESP32: Центр керування пристроєм.
  • Мікрофон (ICS-43432): Підтримка у майбутньому, з апаратним вимикачем.
  • Дві кнопки: Режими, перезавантаження, перепрошивка.
  • Виводи ESP32: Для підключеня додаткових модулів.

Живлення:

  • USB-C (живлення та прошивка).
  • DC (5.5x2.1, 5–24В).

Програмне забезпечення

Прошивка використовує бібліотеку FastLED

Прошивка використовує async в роботі, що дозволяє запускати декілька процесів одночасно і швидше реагувати на зміни

Прошивка використовує власний сервер даних jaam.net.ua для отримування даних про тривоги, вибухи та погоду

Прошивка використовує Websockets для звʼязку із сервером даних, що дозволяє майже миттєво отримувати оновлення

Прошивка має такі можливості:

  • режим відображення повітряних тривог на базі офіційного API https://www.ukrainealarm.com/
  • режим відображення погоди за даними сайту https://openweathermap.org/<
  • режим прапора України
  • режим випадкових кольорів
  • режим настільної лампи
  • режим offline - мапа не відображає нічого

В режимі тривог також є візуальна інформація про вибухи в регіонах, ракетну небезпеку та загрозу БПЛА

Мапа може бути обладнана дисплеєм SPI OLED моделей SSD1306, SH1106G або SH1107 роздільністю 128 * 32 чи 128 * 64.

Режим дисплея вмикається окремо через налаштування:

  • поточний час
  • погода
  • технічна інформація мапи
  • дані з датчика температури і вологості
  • також є сервісні сповіщення при старті мапи, при проблемних ситуаціях з мапою та процессі перемикання режимів

Мапа має вбудований web-сервер

для керування налаштуваннями. Сторінка керування знаходиться за адресою jaam.local (або по IP). Також доступна сервісна сторінка jaam.local:8080, де можна змінити WiFi налаштуванння, перезавантажити мапу або перепрошити, якшо у вас є готовий зібраний файл прошивки і ви не хочете використовувати Arduino IDE

Всі налаштування зберігаються у внутрішній пам'яті

Відновлюються після перезавантаження та після перепрошивки мапи (якшо не вказувати примусове очищення)

Мапа інтегрується в сервіс home assistant

HA бачить мапу як окремий прилад розумного будинку і має можливість керувати мапою

Мапа може бути обладнана фоновою лед-стрічкою (на платі jaam вже є)

Фонова стрічка повторює колір і режим в домашньому регіоні

Мапа може бути обладнана двома кнопками (на платі jaam вже є)

Є підтримка довгого натиснення на кнопку - можна встановити додатковий режим

Кнопки дозволяють перемикати всі наявні режими мапи:

  • саму мапу (тривога, погода, прапор, лампа, вимкнено)
  • дисплей (годинник, погода, тех. інформація, мікроклімат (при наявності датчика температури/вологості), вимкнено)

Список можливих дій на кнопці:

  • "Вимкнено"
  • "Перемикання режимів мапи"
  • "Перемикання режимів дисплея"
  • "Увімк./Вимк. мапу"
  • "Увімк./Вимк. дисплей"
  • "Увімк./Вимк. мапу та дисплей"
  • "Увімк./Вимк. нічний режим"
  • "Перезавантаження пристрою" (доступно тількі для довгого натискання)

Мапа може бути обладнана пасивним бузером (на платі jaam вже є)

Бузер використовується для озвучення таких подій:

  • натискання на кнопку
  • годинне оповіщення
  • початок тривоги
  • відбій тривоги
  • хвилина мовчання

Набір звуків і рінгтонів:

  • Гімн України
  • Ой у лузі
  • Козацький марш
  • Гаррі Поттер
  • Сирена
  • Комунікатор
  • Зоряні війни
  • Імперський марш
  • Зоряний шлях
  • Індіана Джонс
  • Назад у майбутнє
  • Kiss - I Was Made
  • Русалонька
  • Nokia tune
  • Пакмен
  • Щедрик
  • Іксмен
  • Месники

Детальніше тут

Мапа може бути обладнана кліматичним датчиком (на платі jaam вже є)

Прошивка підтримує наступні сенсори: BME280*/BMP280, сімейство сенсорів SHT3x (SHT30*, SHT31, SHT35, SHT85), а також сімейство сенсорів SHT2x (SHT20, SHT21, SHT25, HTU20*, HTU21, Si7021). Сенсори відмічені зірочкою (*) тестувались разом з прошивкою, підтримка інших сенсорів зі списку вище теоретично можлива, але не перевірялась.

Мапа може бути обладнана сенсором освітлення (на платі jaam вже є)

Це може бути цифровий сенсор BH1750 або аналоговий фоторезитор

Детальніше тут

Мапа підтримує певний рівень кастомізацій:

  • загальна яскравість
  • яскравість на основі часу (нічний режим зі зниженою яскравістю)
  • яскравість на основі даних датчика освітлення (якщо встановлений, підтримується аналоговий фоторезистор та цифровий датчик BH1750)
  • можливість окремого світлодіода для Києва, або замість Київської області, чи обидна одночасно (дана кастомізація потребує окремого світлодіода в позиції 8 перед Київською областю, загальна довжина стрічкі збільшиться з 25 до 26 світлодіодів). Також є комбінований режим "Київ-Киівська область" для одного діода, що показує тривогу якщо вона є в Києві або області
  • можливість підсвічування нових тривог та відбоїв тривог певний час іншим кольором
  • можливість окремо і незалежно виставити яскравість різних зон тривог відносно одна одної
  • можливість окремо і незалежно виставити кольори різних зон тривог відносно одна одної
  • можливість окремо і незалежно виставити колір домашнього регіону
  • в налаштуваннях можна увімкнути та вимкнути звукове сповіщення (при наявності динаміка "buzzer") для різних подій, як-от початок та скасування тривоги, запуск мапи, щогодинні сповіщення, звуки в режимі "Хвилина мовчання"
  • є змога обрати канал розповсюдження нових версій прошивки PRODUCTION (стабільні прошивки, що готові для щоденного користування), або BETA (прошивки доступні одразу після додавання нових функцій, можуть містити помилки та виводити мапу з ладу, використовувати обережно!)

Для плати jaam окремо є функціонал сервісних світлодіодів на передній панелі:

  • наявність живлення
  • підключення до WiFi
  • підключення до сервера даних
  • підключення до home assistant

Якщо нова прошивка доступна, то мапа може оновлювати прошивку через веб інтерфейс або кнопкою (при її наявності)

CodeQL

GitHub version GitHub commits GitHub issues GitHub Clones

SWUbanner