Веб-додаток для управління розумним будинком (Smart Home)
Опис проєкту
Розробив повнофункціональний веб-додаток для дистанційного управління системою опалення через розумний термостат. Проєкт дозволяє контролювати температуру в приміщенні, моніторити стан обладнання та отримувати дані про погоду в режимі реального часу.
Основний функціонал
Керування термостатом:
Встановлення цільової температури (діапазон 5-35°C) з інтуїтивним інтерфейсом
Увімкнення/вимкнення системи опалення
Перемикання режимів роботи (економний/звичайний)
Батьківський контроль (блокування від дітей)
Візуальна індикація стану нагріву (котел працює/температура досягнута/вимкнено)
Моніторинг:
Відображення поточної температури в приміщенні
Інтеграція з OpenWeatherMap API для показу зовнішньої температури та вологості
Статус підключення термостата до мережі
Система відстеження змін параметрів у реальному часі
REST API:
20+ endpoints для повного контролю системи
Підтримка real-time оновлень через Tuya Pulsar
Система моніторингу з налаштовуваними інтервалами
Детальна діагностика можливостей обладнання
JSON відповіді з підтримкою UTF-8
Технології
Backend:
Python 3
Flask (веб-фреймворк)
Tuya IoT Platform SDK (tuya-connector-python)
WebSocket для real-time комунікації
Threading для фонового моніторингу
Frontend:
HTML5/CSS3
JavaScript (ES6+)
UIKit CSS Framework
jQuery
Adaptive дизайн (responsive layout)
Google Fonts (Noto Sans, Roboto)
Інтеграції:
Tuya Cloud API (європейський endpoint)
OpenWeatherMap API
Pulsar Message Queue для real-time оновлень
Особливості інтерфейсу
Сучасний, мінімалістичний дизайн
Адаптивна верстка для всіх пристроїв
Анімовані індикатори статусу (вогонь, годинник)
Debounce для плавної зміни температури
Інтерактивні кнопки з миттєвим візуальним фідбеком
Інтеграція SVG іконок для погоди
Notification система для користувацьких повідомлень
Функціонал API
Реалізовано комплексний REST API з можливостями:
Отримання статусу пристроїв
Керування налаштуваннями термостата
Автоматичний моніторинг змін стану
Історія подій (останні 50 змін)
Діагностика можливостей обладнання
Управління Pulsar підключенням
Перегляд списку всіх пристроїв у системі
Розгортання
Проєкт успішно розгорнуто на виділеному VPS-сервері:
Налаштовано SSL сертифікат
Сервер працює 24/7 в фоновому режимі (nohup)
Налаштовано aaPanel для зручного адміністрування
Оптимізовано використання пам'яті сервера
Результати
Стабільна робота без збоїв
Швидкий відгук інтерфейсу (< 1 секунда)
Успішна інтеграція з Tuya Cloud Platform
Підтримка real-time оновлень
Масштабована архітектура для додавання нових пристроїв
Повна документація API з прикладами використання
Безпека
Автентифікація через Tuya Cloud
Захищене з'єднання (HTTPS)
Валідація вхідних даних
Обробка помилок на всіх рівнях
Secret keys винесені в конфігурацію
Стек: Python, Flask, JavaScript, HTML/CSS, UIKit, Tuya IoT, REST API, WebSocket, Linux
Тип проєкту: Full-stack веб-розробка, IoT, Smart Home
Розробив повнофункціональний веб-додаток для дистанційного управління системою опалення через розумний термостат. Проєкт дозволяє контролювати температуру в приміщенні, моніторити стан обладнання та отримувати дані про погоду в режимі реального часу.
Основний функціонал
Керування термостатом:
Встановлення цільової температури (діапазон 5-35°C) з інтуїтивним інтерфейсом
Увімкнення/вимкнення системи опалення
Перемикання режимів роботи (економний/звичайний)
Батьківський контроль (блокування від дітей)
Візуальна індикація стану нагріву (котел працює/температура досягнута/вимкнено)
Моніторинг:
Відображення поточної температури в приміщенні
Інтеграція з OpenWeatherMap API для показу зовнішньої температури та вологості
Статус підключення термостата до мережі
Система відстеження змін параметрів у реальному часі
REST API:
20+ endpoints для повного контролю системи
Підтримка real-time оновлень через Tuya Pulsar
Система моніторингу з налаштовуваними інтервалами
Детальна діагностика можливостей обладнання
JSON відповіді з підтримкою UTF-8
Технології
Backend:
Python 3
Flask (веб-фреймворк)
Tuya IoT Platform SDK (tuya-connector-python)
WebSocket для real-time комунікації
Threading для фонового моніторингу
Frontend:
HTML5/CSS3
JavaScript (ES6+)
UIKit CSS Framework
jQuery
Adaptive дизайн (responsive layout)
Google Fonts (Noto Sans, Roboto)
Інтеграції:
Tuya Cloud API (європейський endpoint)
OpenWeatherMap API
Pulsar Message Queue для real-time оновлень
Особливості інтерфейсу
Сучасний, мінімалістичний дизайн
Адаптивна верстка для всіх пристроїв
Анімовані індикатори статусу (вогонь, годинник)
Debounce для плавної зміни температури
Інтерактивні кнопки з миттєвим візуальним фідбеком
Інтеграція SVG іконок для погоди
Notification система для користувацьких повідомлень
Функціонал API
Реалізовано комплексний REST API з можливостями:
Отримання статусу пристроїв
Керування налаштуваннями термостата
Автоматичний моніторинг змін стану
Історія подій (останні 50 змін)
Діагностика можливостей обладнання
Управління Pulsar підключенням
Перегляд списку всіх пристроїв у системі
Розгортання
Проєкт успішно розгорнуто на виділеному VPS-сервері:
Налаштовано SSL сертифікат
Сервер працює 24/7 в фоновому режимі (nohup)
Налаштовано aaPanel для зручного адміністрування
Оптимізовано використання пам'яті сервера
Результати
Стабільна робота без збоїв
Швидкий відгук інтерфейсу (< 1 секунда)
Успішна інтеграція з Tuya Cloud Platform
Підтримка real-time оновлень
Масштабована архітектура для додавання нових пристроїв
Повна документація API з прикладами використання
Безпека
Автентифікація через Tuya Cloud
Захищене з'єднання (HTTPS)
Валідація вхідних даних
Обробка помилок на всіх рівнях
Secret keys винесені в конфігурацію
Стек: Python, Flask, JavaScript, HTML/CSS, UIKit, Tuya IoT, REST API, WebSocket, Linux
Тип проєкту: Full-stack веб-розробка, IoT, Smart Home