Об этом проекте
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 и прогнозирование температуры.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.