Общая информация о системе
Минимальные системные требования
- systemd;
- веб-сервер;
- PHP 7.4;
- PostgreSQL 12;
- Redis 5.0.
Рекомендуемые требования: Ubuntu 20.04 LTS, веб-сервер nginx. Текущая версия системы в репозиториях содержит все необходимые компоненты. Возможна установка на одноплатные компьютеры, например, Raspberry Pi.
Компоненты системы
Система состоит из 3 компонентов:
- веб-сайт;
- демоны для работы с протоколами устройств;
- пользовательский скрипт, выполняемый ежеминутно.
Для демонов и скрипта имеются примеры Unit-файлов для системы инициализации systemd, которые могут быть применены без изменений при сохранении путей и настроек nginx по умолчанию.
Веб-сайт используется для непосредственного взаимодействия с сервером умного дома. Кроме этого, он может быть использован для получения информации от пользовательских устройств, если они умеют передавать информацию непосредственно по протоколу http/https.
Для устройств, которые взаимодействуют по протоколам, отличным от http/https используются демоны. Задача демона прослушивать необходимые порты на сервере для приёма информации от устройств. Принятая информация обрабатывается демоном и, при необходимости, передаётся на веб-сайт.
Информация о разработке
Разработка проекта ведётся на актуальной версии Fedora. Проект используется автором для своего сервера умного дома на базе Raspberry Pi 3B с актуальной версией Fedora.