20-04-2020 | Описание MQTT сервера, параметры подключения устройств и ограничения
В рамках проекта реализован собственный MQTT сервер с поддержкой до 10 тыс. одновременных подключений и 100 тыс. публикаций в минуту на один TCP порт. По мере необходимости допускается открытие новых портов. Брокер поддерживает MQTT протокол версий 3.1, 3.1.1 и 5.0.
Для получения доступа пользователю достаточно в разделе профиля MQTT Сервер выбрать доступный порт, заполнить и сохранить поля Username и Password.
1. Обязательные параметры устройств.
(в различных прошивках устройств названия параметров могут отличаться)
Параметр | Описание | Пример |
---|---|---|
Host | Доменный адрес сервера из профиля, не рекомендуется использовать IP адрес | mqtt.dealgate.ru |
Port | Порт из профиля | 1883 |
Username | Имя пользователя согласно регистрации в профиле. Разрешено использовать латинские прописные и строчные символы, цифры и знаки _@. | username |
Password | Пароль согласно регистрации. Профиль допускает изменение пароля, который вступает в силу сразу после сохранения. Разрешено использовать латинские прописные и строчные символы, цифры и знаки _@. | password |
ClientID | Уникальный ID устройства. Сервер не допускает подключение двух и более устройств с одинаковыми ID и принудительно разрывает соединение, также пресекаются случаи использования пустой строки. Не рекомендуется использовать dashboard, yandex и scenario зарезервированных для нужд сервиса. Разрешено использовать латинские прописные и строчные символы, цифры и знаки _@#$%&:-/ | light |
2. Необязательные параметры устройств.
Параметр | Описание | Пример |
---|---|---|
LastWillTopic | Так называемое завещание, используется для публикации брокером топика от имени устройства при его разъединении. Обычно используется для оповещения подписчиков об отключении устройства. | light/lwt |
LastWillMsg | Сообщение в топик LastWillTopic. Соответственно, устройство должно уметь отправлять в этот же топик сообщение ON сразу после подключения к брокеру. | OFF |
KeepAlive | Интервал времени в секундах, в течение которого брокер будет считать соединение активным. В случае отстутствия обмена данными (устройство должно в рамках интервала присылать пакет PING) брокер разорвет соединение. Функцию можно отключить указав интервал 0. | 30 |
3. Правила заполнения топиков устройствами.
(нарушение требований приводит к разрыву брокером соединения с устройством)
4. Ограничение трафика.
(нарушителю отзывается логин и пароль доступа к брокеру, либо применяются правила фильтрации сетевого трафика на текущем порту)