Установка из APT

Пакет называется elx-mqttbroker, а служба — elxmqttbroker. Пакеты доступны для amd64, arm64 и armhf. Если на машине уже есть MQTT-брокер, проверьте занятость портов и назначьте свободные адреса до запуска второго экземпляра.

sudo wget -qO /usr/share/keyrings/elx-repo.gpg https://repo.elxmqtt.ru/elx-repo.gpg
printf '%s\n' 'deb [signed-by=/usr/share/keyrings/elx-repo.gpg] https://repo.elxmqtt.ru stable main' | sudo tee /etc/apt/sources.list.d/elx-repo.list
sudo apt-get update
sudo apt-get install elx-mqttbroker
systemctl is-active elxmqttbroker

Если APT не подтверждает подпись, проверьте источник, ключ и настройки времени, прежде чем продолжать. Не отключайте проверку подписи.

Панель и MQTT-пользователь

На локальной машине откройте http://127.0.0.1:8567, если порт панели не меняли. При удалённой установке используйте закрытый административный доступ, например SSH-туннель. После первого входа смените начальный пароль. Создайте MQTT-пользователя test с правом читать и писать в lab/demo/#.

Проверка двумя клиентами

Установите mosquitto-clients или воспользуйтесь ELX MQTT Client. Сначала откройте подписку, затем выполните публикацию в другом окне.

mosquitto_sub -h 127.0.0.1 -p 1883 -u test -P '<пароль>' -t lab/demo/ping -v
mosquitto_pub -h 127.0.0.1 -p 1883 -u test -P '<пароль>' -t lab/demo/ping -m hello

В первом окне ожидается lab/demo/ping hello. Если соединение не открывается, проверьте слушающие порты и журнал службы. Если подключение есть, а сообщения нет, сверьте имя топика, подписку и права.

sudo journalctl -u elxmqttbroker -n 50 --no-pager
sudo ss -lntp

Перед использованием вне локальной сети

  • Для внешних клиентов используйте TLS с сертификатом на DNS-имя брокера.
  • Не публикуйте порт панели в Интернет без ограничения доступа.
  • Сохраните настройки и данные перед обновлением; отдельно задайте правила копирования критичных топиков.
  • Проверяйте работу подписки после перезапуска и оставьте отдельную тестовую ветку для диагностики.