Об этом проекте

PySmartHome-PC — это платформа умного дома, соединяющая узлы ESP32 с мощным сервером Python на ПК с Windows. Система собирает данные о температуре и влажности с устройств ESP32 (таких как ESP32 Hub и ESP32-S3) с датчиками DHT22 и OLED-дисплеями. Эти узлы предоставляют минимальный HTTP-эндпоинт (/api/status), который сервер опрашивает каждые 10 секунд. Сервер, построенный на Flask, записывает данные в CSV-файлы и обслуживает локальную панель на http://localhost:5000. Он также синхронизирует данные и конфигурацию с GitHub каждые 5 минут, что позволяет создать зеркальную онлайн-панель на GitHub Pages. Этот двойной подход обеспечивает доступность данных как локально, так и удаленно, с одинаковым визуальным дизайном и функциями. Ключевые особенности: - Интерактивные графики с возможностью масштабирования, панорамирования и экспорта в CSV. - Подробная статистика по каждой комнате, включая средние значения, минимумы/максимумы и анализ трендов по сравнению с предыдущими днями. - Специализированная система планирования отключений питания для регионов с запланированными перебоями, включающая 2-часовые окна, пропуск пятниц и живой обратный отсчет с полосами прогресса. - Локальный файловый менеджер для загрузки, скачивания и удаления файлов сервера. - Десять настраиваемых тем (например, киберпанк, светлая, ретро CRT) и полная поддержка персидского и английского языков с макетом RTL. - Конфигурация через переменные среды для IP-адресов, интервалов и порогов, что минимизирует изменения в коде. - Автоматическая установка зависимостей и скрипты запуска для удобства использования на Windows. Архитектура ориентирована на надежность и простоту, избегая сложных фреймворков Arduino на стороне сервера, сохраняя при этом минимальную прошивку на ESP32. Проект распространяется под лицензией MIT и открыт для вклада в будущие функции, такие как обновления по WebSocket и прогнозирование температуры.