Добавим репозиторий, обновим зависимости и установим сервер MQTT
1 2 3 |
sudo apt-add-repository ppa:mosquitto-dev/mosquitto-ppa sudo apt-get update sudo apt install mosquitto |
Установим клиент
1 |
sudo apt-get install mosquitto-clients |
Проверяем запущена ли служба mqtt брокера
1 2 |
sudo service mosquitto status mosquitto start/running, process 16614 |
На этом этапе нам доступен запущенный сервер mqtt с гостевым доступом. Проверить можно с помощью плагина для браузера MQTTlens или MQTTDashboard для андроид например.
Установка пароля
По желанию для безопасности можем сделать доступ по логину/паролю. Команда ниже создаст файл mosquitto.pwd в каталоге /etc/mosquitto/ и сгенерирует в нем пароль для пользователя leo
1 |
sudo mosquitto_passwd -c /etc/mosquitto/mosquitto.pwd leo |
Далее, два раза вводим новый пароль
Редактируем конфиг
1 |
sudo nano /etc/mosquitto/mosquitto.conf |
Добавляем в конец файла, чем говорим MQTT где искать наш файл с паролями
1 2 |
allow_anonymous false password_file /etc/mosquitto/mosquitto.pwd |
Перезагружаем службу
1 |
sudo service mosquitto restart |
Пробрасываем MQTT в мир (настройка роутера)
По умолчанию, сервис слушает 1883 порт. Чтобы получить доступ из мира к серверу, добавим правила в роутере
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
config rule option name 'Allow Mosquitto' option src 'wan' option proto 'tcp' option dest 'lan' option dest_ip '192.168.1.13' option dest_port '1883' option enabled '0' option target 'ACCEPT' config redirect option name 'Mosquitto' option target 'DNAT' option src 'wan' option dest 'lan' option proto 'tcp' option src_dport '1883' option dest_ip '192.168.1.13' option dest_port '1883' |