Aplikacja internetowa do zarządzania inteligentnym domem (Smart Home)
Opis projektu
Opracowałem w pełni funkcjonalną aplikację internetową do zdalnego zarządzania systemem ogrzewania za pomocą inteligentnego termostatu. Projekt umożliwia kontrolowanie temperatury w pomieszczeniu, monitorowanie stanu urządzeń oraz uzyskiwanie danych o pogodzie w czasie rzeczywistym.
Główna funkcjonalność
Zarządzanie termostatem:
Ustawienie docelowej temperatury (zakres 5-35°C) z intuicyjnym interfejsem
Włączanie/wyłączanie systemu ogrzewania
Przełączanie trybów pracy (oszczędny/normalny)
Rodzicielska kontrola (blokada przed dziećmi)
Wizualna indikacja stanu ogrzewania (kocioł działa/temperatura osiągnięta/wyłączono)
Monitoring:
Wyświetlanie aktualnej temperatury w pomieszczeniu
Integracja z OpenWeatherMap API w celu wyświetlania zewnętrznej temperatury i wilgotności
Status połączenia termostatu z siecią
System śledzenia zmian parametrów w czasie rzeczywistym
REST API:
20+ punktów końcowych dla pełnej kontroli systemu
Wsparcie dla aktualizacji w czasie rzeczywistym przez Tuya Pulsar
System monitorowania z konfigurowalnymi interwałami
Szczegółowa diagnostyka możliwości urządzeń
Odpowiedzi JSON z wsparciem UTF-8
Technologie
Backend:
Python 3
Flask (framework webowy)
Tuya IoT Platform SDK (tuya-connector-python)
WebSocket do komunikacji w czasie rzeczywistym
Threading do monitorowania w tle
Frontend:
HTML5/CSS3
JavaScript (ES6+)
UIKit CSS Framework
jQuery
Adaptacyjny design (responsywne układ)
Google Fonts (Noto Sans, Roboto)
Integracje:
Tuya Cloud API (europejski punkt końcowy)
OpenWeatherMap API
Pulsar Message Queue dla aktualizacji w czasie rzeczywistym
Cechy interfejsu
Nowoczesny, minimalistyczny design
Adaptacyjny układ dla wszystkich urządzeń
Animowane wskaźniki statusu (ogień, zegar)
Debounce dla płynnej zmiany temperatury
Interaktywne przyciski z natychmiastowym wizualnym feedbackiem
Integracja ikon SVG dla pogody
System powiadomień dla użytkowników
Funkcjonalność API
Zrealizowano kompleksowe REST API z możliwościami:
Uzyskiwanie statusu urządzeń
Zarządzanie ustawieniami termostatu
Automatyczne monitorowanie zmian stanu
Historia zdarzeń (ostatnie 50 zmian)
Diagnostyka możliwości urządzeń
Zarządzanie połączeniem Pulsar
Przegląd listy wszystkich urządzeń w systemie
Wdrożenie
Projekt został pomyślnie wdrożony na dedykowanym serwerze VPS:
Skonfigurowano certyfikat SSL
Serwer działa 24/7 w tle (nohup)
Skonfigurowano aaPanel dla wygodnej administracji
Optymalizacja wykorzystania pamięci serwera
Wyniki
Stabilna praca bez awarii
Szybka reakcja interfejsu (< 1 sekunda)
Pomyślna integracja z Tuya Cloud Platform
Wsparcie dla aktualizacji w czasie rzeczywistym
Skalowalna architektura do dodawania nowych urządzeń
Pełna dokumentacja API z przykładami użycia
Bezpieczeństwo
Autoryzacja przez Tuya Cloud
Zabezpieczone połączenie (HTTPS)
Walidacja danych wejściowych
Obsługa błędów na wszystkich poziomach
Klucze tajne przeniesione do konfiguracji
Stos: Python, Flask, JavaScript, HTML/CSS, UIKit, Tuya IoT, REST API, WebSocket, Linux
Typ projektu: Full-stack rozwój webowy, IoT, Smart Home
Opracowałem w pełni funkcjonalną aplikację internetową do zdalnego zarządzania systemem ogrzewania za pomocą inteligentnego termostatu. Projekt umożliwia kontrolowanie temperatury w pomieszczeniu, monitorowanie stanu urządzeń oraz uzyskiwanie danych o pogodzie w czasie rzeczywistym.
Główna funkcjonalność
Zarządzanie termostatem:
Ustawienie docelowej temperatury (zakres 5-35°C) z intuicyjnym interfejsem
Włączanie/wyłączanie systemu ogrzewania
Przełączanie trybów pracy (oszczędny/normalny)
Rodzicielska kontrola (blokada przed dziećmi)
Wizualna indikacja stanu ogrzewania (kocioł działa/temperatura osiągnięta/wyłączono)
Monitoring:
Wyświetlanie aktualnej temperatury w pomieszczeniu
Integracja z OpenWeatherMap API w celu wyświetlania zewnętrznej temperatury i wilgotności
Status połączenia termostatu z siecią
System śledzenia zmian parametrów w czasie rzeczywistym
REST API:
20+ punktów końcowych dla pełnej kontroli systemu
Wsparcie dla aktualizacji w czasie rzeczywistym przez Tuya Pulsar
System monitorowania z konfigurowalnymi interwałami
Szczegółowa diagnostyka możliwości urządzeń
Odpowiedzi JSON z wsparciem UTF-8
Technologie
Backend:
Python 3
Flask (framework webowy)
Tuya IoT Platform SDK (tuya-connector-python)
WebSocket do komunikacji w czasie rzeczywistym
Threading do monitorowania w tle
Frontend:
HTML5/CSS3
JavaScript (ES6+)
UIKit CSS Framework
jQuery
Adaptacyjny design (responsywne układ)
Google Fonts (Noto Sans, Roboto)
Integracje:
Tuya Cloud API (europejski punkt końcowy)
OpenWeatherMap API
Pulsar Message Queue dla aktualizacji w czasie rzeczywistym
Cechy interfejsu
Nowoczesny, minimalistyczny design
Adaptacyjny układ dla wszystkich urządzeń
Animowane wskaźniki statusu (ogień, zegar)
Debounce dla płynnej zmiany temperatury
Interaktywne przyciski z natychmiastowym wizualnym feedbackiem
Integracja ikon SVG dla pogody
System powiadomień dla użytkowników
Funkcjonalność API
Zrealizowano kompleksowe REST API z możliwościami:
Uzyskiwanie statusu urządzeń
Zarządzanie ustawieniami termostatu
Automatyczne monitorowanie zmian stanu
Historia zdarzeń (ostatnie 50 zmian)
Diagnostyka możliwości urządzeń
Zarządzanie połączeniem Pulsar
Przegląd listy wszystkich urządzeń w systemie
Wdrożenie
Projekt został pomyślnie wdrożony na dedykowanym serwerze VPS:
Skonfigurowano certyfikat SSL
Serwer działa 24/7 w tle (nohup)
Skonfigurowano aaPanel dla wygodnej administracji
Optymalizacja wykorzystania pamięci serwera
Wyniki
Stabilna praca bez awarii
Szybka reakcja interfejsu (< 1 sekunda)
Pomyślna integracja z Tuya Cloud Platform
Wsparcie dla aktualizacji w czasie rzeczywistym
Skalowalna architektura do dodawania nowych urządzeń
Pełna dokumentacja API z przykładami użycia
Bezpieczeństwo
Autoryzacja przez Tuya Cloud
Zabezpieczone połączenie (HTTPS)
Walidacja danych wejściowych
Obsługa błędów na wszystkich poziomach
Klucze tajne przeniesione do konfiguracji
Stos: Python, Flask, JavaScript, HTML/CSS, UIKit, Tuya IoT, REST API, WebSocket, Linux
Typ projektu: Full-stack rozwój webowy, IoT, Smart Home