Прикладной программист. Серверное решение для управления устройствами по MQTT (Дистанционная работа)

Бюджет не указан

Задание: Прикладной программист. Серверное решение для управления устройствами по MQTT (Дистанционная работа)

Собрать\написать серверную часть для сети устройств на MQTT протоколе Локальная часть Имеется 40 000 устройств. Устройства представляют собой плату на ESP32 S2. В памяти устройства хранится 20 строк длиной 10 символов (байт). Локальный пользователь может читать и писать, через терминал, в устройство строки данных в произвольном порядке. Устройства подключены через ВайФай и интернет к серверу. Сервер записывает и читает данные на устройства по протоколу MQTT с уровнем доставки QoS1 QoS2 Серверная часть На сервере пользователи получают доступ к устройствам по платной месячной - годовой подписке. Основные функции: Чтение/запись данных для одного или нескольких устройств. Пользовательские поля для одного\ группы устройств - адрес устройства\объекта и подобное. Онлайн статус подключения устройства - в сети, не в сети. и прочая служебная информация. Личный кабинет пользователя. Кабинет администратора системы. Процедура подключения новых пользователей и устройств с подпиской на пользователя. К примеру: все устройства имеют уникальный номер (можно мак адрес использовать). Вновь подключенные устройства и не подписание в системе, имеют статус свободен. обращаются на сервер, сервер отправляет на устройство строку с его мак адресом, пользователь считывает данные и вводит в своем личном кабинете строку. так сервер узнает и закрепляет за пользователем обнаруженное устройство. Для устройства меняется статус на подписан.