Esp32- проект. Погодна станція сигнали тривог на esp32

Опубліковано: сьогодні о 11:15


Яскравість регулюється вручну, по розкладу або по освітленню



Екран меню



Погода по годинах



Журнал тривог



Карта по районах



Налаштування через веб-інтерфейс



Головний екран


Всім доброго! після знайомства з esp32 першим проєктом був дублікатор ключів домофону, але там нічого складного, спаяв пдроти та прошив готовий код, а вже наступним проектом стала погодна станція, і тут я вже вирішив не повторюватись, а створити щось власне, не таке як в когось, і почав як всі рекомендують з точки доступу, годинника тексту HELLO WORLD, ну і вже більше року вдосконалюю проект, зараз вважаю що не соромно його показати людям.


Для чого взагалі робив? ну по перше навчитись програмувати, ну і зробити щось корисне для дому самостійно. почав як вже казав з погоди а там додався календар, замітки в ньому, тривоги з спвіщенням про них, а оскільки екран сенсорний, то і керування всім цим.... Тепер вдома окремий пристрій, який швидко показує погоду, час, календарні нагадування та ситуацію з повітряними тривогами. Не ще одну вкладка в телефоні, а невелика станцію з екраном, яку можна залишити увімкненою і просто поглянути на неї. бо буває, що, щоб дізнатися, чи є тривога, треба відкрити застосунок, а тут подивився на світлодіод і одразу видно.


Що показує станція


На головному екрані зібрана основна інформація:


* поточна погода та температура;

* прогноз на кілька днів;

* вологість, вітер, атмосферний тиск;

* час сходу та заходу сонця;

* індекс якості повітря;

* годинник, дата та день тижня;

* найближчі календарні замітки.

* тиск повітря (Для тиску можна обрати звичні одиниці мм рт. ст. або гектопаскалі).

* Окремо доступні повноекранний годинник і прогноз погоди по годинах.


Карта повітряних тривог


Одна з головних функцій станції


— показувати ситуацію з повітряними тривогами на карті України. Також є відображення статусу для налаштованої області чи громади та журнал останніх подій.


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


Дані про тривоги отримуються з онлайн-сервісів. Для роботи потрібні мережа Wi-Fi та відповідні ключі доступу; їх можна отримати на сайтах ukrainealarm та alertsinua.


та ввести в налаштуваннях пристрою. Також при натисканні на головному екрані на тривогу, можна подивитись журнал тривог для обраних районів.


Календар і замітки


У станції є календар із замітками. Це можуть бути дні народження, пам’ятні дати чи будь-які власні нагадування. Для події можна задати щорічне повторення або конкретну дату.


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


Налаштування в меню та через браузер


Для налаштування не потрібно щоразу підключати пристрій до комп’ютера. Станція відкриває локальний вебінтерфейс, до якого можна зайти з телефона чи комп’ютера в тій самій мережі.


Звідти можна змінити параметри погоди, тобто місце, де ви перебуваєте, дані для районів чи областей тривог, налаштування екрана та деякі інші параметри. Доступ до сторінок захищений PIN-кодом. Там само можна керувати замітками, а за відповідної конфігурації — оновити прошивку через Wi-Fi.


Коли станція не може під’єднатися до збереженої мережі, вона запускає власну точку доступу для налаштування Wi-Fi. Ідея в тому, щоб відновити підключення без перепрошивання пристрою.


Автоматизація і зручність


У проєкті є кілька функцій, які не відразу помітні на фото, але важливі під час щоденного використання:


* автоматичне налаштування часу через NTP і перехід на літній та зимовий час;

* автоматичне відновлення Wi-Fi після втрати зв’язку;

* регулювання яскравості, зокрема за показами датчика освітлення;

* нічний режим зі зниженою яскравістю;

* налаштування кольору фону;

* світлодіодна індикація стану;

* щоденний короткий сигнал о 9:00 на знак початку хвилини мовчання — його можна вимкнути у вебналаштуваннях.


Під час налаштування станція може призупиняти фонові запити погоди та тривог, щоб вони не заважали роботі з вебінтерфейсом і не створювали зайве навантаження.


додам що на екрані не всі налаштування, багато чого перенесено в вебінтерфейс для зручності.


 Що всередині


Основа проєкту — ESP32 wroom, кольоровий TFT дисплей з роздільною здатністю 320 × 240 із сенсорним керуванням і програмна частина на Arduino. Дані про погоду та якість повітря отримуються через OpenWeatherMap, а інформація про тривоги — через зовнішні API.


Налаштування пристрою та замітки зберігаються у пам’яті ESP32, тому їх не потрібно вводити після кожного перезапуску. Прошивка розділена на окремі частини: робота з Wi-Fi, вебінтерфейс, налаштування, календар, карта тривог та відображення на екрані.


Це не промисловий прилад і не заміна офіційних сповіщень на телефоні. Це особистий проєкт, який я поступово розвиваю під свої потреби. Надійність показу даних залежить від Wi-Fi, доступності зовнішніх сервісів і коректно введених ключів. але з досвіду скажу, що станція сповіщає про тривогу до вмикання сирен в місті. в меню параметри можно подивитись технічну інформацію для аналізу роботи коду, стан мережі, кількість вільної пам’яті та інше.


підключення 


* ЖИВЛЕННЯ ДИСПЛЕЯ (TFT): \* VCC — VIN (або 3.3V залежно від модуля)

* GND — GND

* SPI ШИНА ДИСПЛЕЯ (ILI9341 / TFT):

* TFT\_CS ───────── GPIO 5

* TFT\_RST ──────── GPIO 4

* TFT\_DC ───────── GPIO 22

* TFT\_MOSI ─────── GPIO 23

* TFT\_SCLK (CLK) ─── GPIO 18

* TFT\_MISO ─────── GPIO 19

* TFT LED (Підсвітка) ── GPIO 26

* СЕНСОРНИЙ ЕКРАН (Touch XPT2046):

* TOUCH\_CS ─────── GPIO 17

* T\_DIN ───────── TFT\_MOSI (GPIO 23)

* T\_DO ───────── TFT\_MISO (GPIO 19)

* (T\_CLK та T\_IRQ підключаються паралельно до SCLK та Touch)

* ІНДИКАЦІЯ ТА СЕНСОРИ:

* Зелений світлодіод ── GPIO 32 (через резистор \~0.5 кОм)

* Червоний світлодіод ── GPIO 27 (через резистор \~0.5 кОм)

* Біпер (Buzzer) ── GPIO 25 (другий вивід на GND)

* Датчик освітленості ── GPIO 34 (аналоговий пін, через дільник до GND)


Що хочу додати далі


Поточна версія зроблена під конкретну конфігурацію ESP32 WROOM і дисплея. Далі хотілося б адаптувати проєкт до інших плат ESP32 та інших типів екранів, а також додати нові сценарії використання.


Одна з ідей — інтеграція із Zigbee-пристроями та Smart Life: наприклад, показ стану датчиків або керування окремими пристроями. Поки це лише напрямок для дослідження, а не реалізована можливість. Для цього потрібні час на розробку, перевірки сумісності та, можливо, додаткове обладнання.


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


Буду радий відгукам

Відео роботи станції  

Якщо вам цікаві ESP32, домашня автоматизація або подібні пристрої — буду радий почути, яких функцій бракує, що варто покращити та які плати чи дисплеї було б найкорисніше підтримати наступними. всі файли за посиланням.  (https://github.com/VERT1984/weatherVERT-esp32-wroom-2.8tft) , там же можливість задонатаити на монобанку. 


пітун хубло!!!

2 0 0

Коментарі

Щоб залишати коментарі, потрібно авторизуватись.
Я їжджу на Volvo XC60 (1G)
Корпус в процесі створення, поки те що є
сьогодні о 11:10
niconor
Корпус в процесі створення, поки те що є
niconor, 3д печать как вариант решения по корпусу...)))
1
сьогодні о 12:52