16 809
правок
Brainroot (обсуждение | вклад) |
м (→Настройка своего брокера MQTT: Поправил) |
||
Строка 308: | Строка 308: | ||
== Настройка своего брокера MQTT == | == Настройка своего брокера MQTT == | ||
=== Установка === | === Установка === | ||
Установите <code>mosquitto</code>: | |||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
apt update && apt | 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> | ||
Создайте пароль для пользователя, в примере использован пользователь <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 | ||
</syntaxhighlight> | |||
Введите дважды пароль и запомните его, он вам пригодится ниже. | |||
Перезапустите <code>mosquitto</code> и проверьте его состояние: | |||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
systemctl restart mosquitto && systemctl status mosquitto | systemctl restart mosquitto && systemctl status mosquitto | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Подключитесь к брокеру для проверки, в примере адрес брокера <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> | ||
Брокер установлен, доступ к нему разрешен только с логином | Брокер установлен, доступ к нему разрешен только с логином и паролем, с контроллера брокер доступен. |