Описание задачи
Разработать скрипт (или систему) для Raspberry Pi, которая обеспечит надёжный обмен данными с удалённым сервером с использованием протокола MQTT. Устройство должно работать в условиях стабильной или прерывистой сети.
Функциональные требования
- Отчет о статусе - устройство периодически подтверждает свою работоспособность, отправляет уровень заряда (если применимо), сигналы Lifecycle.
- Приём команд - объявляются MQTT‑топики для управления (например, перезагрузка, смена режимов), выполнять поступившую команду в реальном времени.
- Событийность - сообщать о дискретных событиях: срабатывании датчика, подключении периферии, алерты и ошибки.
- Телеметрия - непрерывная отправка захваченных сенсорных данных (температура, влажность, напряжение и т.п.).
Технические детали
- Код должен быть написан на языке Python с асинхронностью (as Paun, asio или Threding)
- Стабильное переподключение при потере связи; дублирование отправки важных команд.
- Автоконфиг от брокера: отсутствие открытых токенов в коде, считывание key или из vars/flafrom env.
Стек
- Язык: Python 3.10+
- Протокол святи: MQTT 3.1.1 (через paho‑mqtt клиент или аналогично)
- ОС узла: Raspberry Pi OS (Raspbian/Kali)
Брокер
Предоставляется доступ к тестовому MQTT‑серверу (топики, CA‑файлы/Пароли высылаем исполнитету. реализован OщOковервленный interface с подписками производитещных topк.