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

Навигация

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

м
м (Убрал имя хоста из команд)
Строка 350: Строка 350:
== Настройка своего брокера MQTT ==
== Настройка своего брокера MQTT ==
=== Установка брокера ===
=== Установка брокера ===
Установите <code>mosquitto</code>:
#Установите <code>mosquitto</code>:
<syntaxhighlight lang="bash">
#:<syntaxhighlight lang="bash">
apt update && apt install mosquitto mosquitto-clients -y
apt update && apt install mosquitto mosquitto-clients -y
</syntaxhighlight>
</syntaxhighlight>
 
#Отредактируйте файл конфигурации
Отредактируйте файл конфигурации, отключив возможность анонимного входа:
#:<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
nano /etc/mosquitto/mosquitto.conf
cat << EOF >>/etc/mosquitto/mosquitto.conf
</syntaxhighlight>
 
#И отключите возможность анонимного входа, добавив строки:
#:<syntaxhighlight lang="bash">
#Disable anonomous login:
#Disable anonomous login:
allow_anonymous false
allow_anonymous false
#Password file:
#Password file:
password_file /etc/mosquitto/mosquitto.pwd
password_file /etc/mosquitto/mosquitto.pwd
EOF
</syntaxhighlight>
</syntaxhighlight>
 
#Создайте пароль для пользователя, в примере использован пользователь <code>test</code> с паролем <code>test11test</code>:
Создайте пароль для пользователя, в примере использован пользователь <code>test</code> с паролем <code>test11test</code>:
#:<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
mosquitto_passwd -c /etc/mosquitto/mosquitto.pwd test
mosquitto_passwd -c /etc/mosquitto/mosquitto.pwd test
</syntaxhighlight>
</syntaxhighlight>
Введите дважды пароль и запомните его, он вам пригодится ниже.
#Введите дважды пароль и запомните его, он вам пригодится ниже.
 
#Перезапустите <code>mosquitto</code> и проверьте его состояние:
 
#:<syntaxhighlight lang="bash">
Перезапустите <code>mosquitto</code> и проверьте его состояние:
<syntaxhighlight lang="bash">
systemctl restart mosquitto && systemctl status mosquitto
systemctl restart mosquitto && systemctl status mosquitto
</syntaxhighlight>
</syntaxhighlight>
 
#Подключитесь к брокеру для проверки, в примере адрес брокера <code>10.0.26.1</code>:
Подключитесь к брокеру для проверки, в примере адрес брокера <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>
 
Брокер установлен и доступен с контроллера. Для подключения нужно ввести логин и пароль.
Брокер установлен, доступ к нему разрешен только с логином и паролем, с контроллера брокер доступен.


=== Настройка моста на контроллере ===
=== Настройка моста на контроллере ===


Создайте файл конфигурации моста:
Создайте файл конфигурации моста: