Перейти к содержанию

Навигация

MQTT: различия между версиями

268 байт добавлено ,  3 года назад
м
Строка 308: Строка 308:
== Настройка своего брокера MQTT ==
== Настройка своего брокера MQTT ==
=== Установка ===
=== Установка ===
Стандартная:
Установите <code>mosquitto</code>:
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
apt update && apt update mosquitto -y
apt update && apt install mosquitto -y
</syntaxhighlight>
</syntaxhighlight>


Редактируем конфиг, отключив возможность анонимного входа:
Отредактируйте файл конфигурации, отключив возможность анонимного входа:
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
cat << EOF >>/etc/mosquitto/mosquitto.conf
cat << EOF >>/etc/mosquitto/mosquitto.conf
Строка 325: Строка 325:
</syntaxhighlight>
</syntaxhighlight>


создадим пароль для пользователя, (тут пользователь "test")
Создайте пароль для пользователя, в примере использован пользователь <code>test</code> с паролем <code>test11test</code>:
<syntaxhighlight lang="bash">
mosquitto_passwd -c /etc/mosquitto/mosquitto.pwd test
mosquitto_passwd -c /etc/mosquitto/mosquitto.pwd test
Вводим дважды пароль (использую '''для теста''' "test11test")
</syntaxhighlight>
Введите дважды пароль и запомните его, он вам пригодится ниже.




Перезапускаем и проверяем состояние:
Перезапустите <code>mosquitto</code> и проверьте его состояние:
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
systemctl restart mosquitto && systemctl status mosquitto
systemctl restart mosquitto && systemctl status mosquitto
</syntaxhighlight>
</syntaxhighlight>


Подключаемся с контроллера для проверки (адрес брокера "10.0.26.1"):
Подключитесь к брокеру для проверки, в примере адрес брокера <code>10.0.26.1</code>:
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
mosquitto_sub -v -h 10.0.26.1 -u test -P test11test -t "/#"
mosquitto_sub -v -h 10.0.26.1 -u test -P test11test -t "/#"
</syntaxhighlight>
</syntaxhighlight>


В другой консоли можно запустить
Запустите в другой консоли команду ниже и убедитесь, что топик меняется:
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
for i in {1..25}; do mosquitto_pub -h 10.0.26.1 -u test -P test11test -t "/client/temp1/temp" -m "$i" -r; done
for i in {1..25}; do mosquitto_pub -h 10.0.26.1 -u test -P test11test -t "/client/temp1/temp" -m "$i" -r; done
</syntaxhighlight>
</syntaxhighlight>
И убедиться что топик меняется.


Брокер установлен, доступ к нему разрешен только с логином-паролем, с контроллера брокер доступен.
Брокер установлен, доступ к нему разрешен только с логином и паролем, с контроллера брокер доступен.