Sobre o projeto

PySmartHome-PC é uma plataforma de casa inteligente resiliente projetada para conectar nós de sensor ESP32 a um servidor Python robusto em execução em um PC com Windows. O sistema coleta dados de temperatura e umidade de dispositivos ESP32 (como ESP32 Hub e ESP32-S3) equipados com sensores DHT22 e displays OLED. Esses nós expõem um endpoint de API HTTP mínimo (/api/status), que o servidor Python consulta a cada 10 segundos. O servidor, construído com Flask, registra os dados em arquivos CSV e serve um dashboard local em http://localhost:5000. Ele também sincroniza dados e configuração com o GitHub a cada 5 minutos, permitindo um dashboard online espelhado hospedado no GitHub Pages. Essa abordagem de duplo dashboard garante a disponibilidade dos dados tanto localmente quanto remotamente, com designs visuais e recursos idênticos. Recursos principais incluem: - Gráficos interativos com zoom, pan e capacidade de exportação CSV. - Estatísticas ricas por sala, incluindo médias, valores mínimo/máximo e análise de tendências em relação aos dias anteriores. - Um sistema especializado de agendamento de queda de energia para regiões com cortes planejados, com slots de 2 horas rotativos, pular sextas-feiras e contagens regressivas ao vivo com barras de progresso. - Um gerenciador de arquivos local para upload, download e exclusão de arquivos do servidor. - Dez temas personalizáveis (por exemplo, cyberpunk, claro, CRT retro) e suporte completo para idiomas persa e inglês com layout RTL. - Configuração via variáveis de ambiente para IPs, intervalos e thresholds, mantendo as alterações de código mínimas. - Instalação automática de dependências e scripts de inicialização para facilitar o uso no Windows. A arquitetura enfatiza confiabilidade e simplicidade, evitando frameworks complexos do Arduino no lado do servidor, enquanto mantém o firmware mínimo nos ESP32. O projeto é de código aberto sob a licença MIT e recebe contribuições para recursos futuros, como atualizações WebSocket e previsão de temperatura.