Проект Geek Automation System, изначально созданный для автоматизации теплиц на базе Raspberry Pi 4, превратился в контроллер умного дома. Система теперь поддерживает платы Rock Pi, Zigbee-датчики и облачное управление. Контроллер позволяет отслеживать температуру, управлять оборудованием и получать уведомления.
Архитектура включает устройства, контроллер и облачный сервис. Контроллер на базе Raspberry Pi или Rock Pi выполняет правила автоматизации локально, что сохраняет работоспособность системы при обрыве интернета. Поддерживаются устройства, подключенные через GPIO, локальную сеть (ESP8266, ESP32) и Zigbee-координатор.
Для работы с Zigbee используются Zigbee2MQTT и Mosquitto. Система различает длительные состояния и разовые события, что важно для корректной обработки данных, например, с датчиков дыма. Правила автоматизации позволяют настраивать условия срабатывания и паузы между повторными действиями.
Облачный сервис GeekLab обеспечивает удаленный доступ через личный кабинет. Взаимодействие между контроллером и облаком реализовано через gRPC с шифрованием mTLS, что исключает необходимость настройки портов на роутере. Облако также отвечает за доставку уведомлений в MAX.
За первоначальную привязку контроллера отвечает служба provision-agent. Она автоматизирует процесс регистрации, включая получение цифровых сертификатов и хранение закрытых ключей на плате. Это обеспечивает уникальную идентификацию каждого устройства и безопасность подключения к облачной инфраструктуре.






