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

Навигация

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

342 байта добавлено ,  2 года назад
м
→‎Создание своего брокера MQTT: Поправил форматирование и текст
м (→‎Создание своего брокера MQTT: Поправил форматирование и текст)
Строка 349: Строка 349:


== Создание своего брокера MQTT ==
== Создание своего брокера MQTT ==
Можно поднять отдельный брокер на компьютере, в том числе на VDS в интернете для того чтобы собирать на нем данные с контроллеров. Инициатором соединения будет авляться контроллер, поэтому на нем не нужен "белый" IP адрес.
Вы можете создать отдельный брокер на компьютере или на VDS-сервере в интернете и собирать на нем данные с контроллеров.
Также - в настройках мосте можно указать для данных какждого контроллера свой, отдельный корневой топик.
 
Инициировать соединение будет контроллер, поэтому контроллеру не нужен «белый» IP-адрес. Если контроллеров несколько, вы можете разделить данные от них на брокере, для этого в настройках моста укажите для каждого контроллера отдельный корневой топик.
=== Установка брокера ===
=== Установка брокера ===
#Установите <code>mosquitto</code>:
#Установите <code>mosquitto</code>:
Строка 389: Строка 390:
=== Настройка моста на контроллере ===
=== Настройка моста на контроллере ===


Создайте файл конфигурации моста:
Создайте файл конфигурации моста, для этого:
<syntaxhighlight lang="bash">
# Создайте файл <code>/etc/mosquitto/conf.d/bridge1.conf</code>
cat << EOF >>/etc/mosquitto/conf.d/bridge1.conf
#:<syntaxhighlight lang="bash">
nano /etc/mosquitto/conf.d/bridge1.conf
</syntaxhighlight>
# Вставьте в него строки:
#:<syntaxhighlight lang="bash">
/etc/mosquitto/conf.d/bridge1.conf
connection bridge1
connection bridge1
#address of server
#address of server
Строка 401: Строка 407:


topic /temp1/# both 2 /devices /controller
topic /temp1/# both 2 /devices /controller
</syntaxhighlight>


EOF
Содержимое топика <code>/devices/temp1/#</code> контроллера будет отображаться на брокере в <code>/controller</code>. Вместо <code>/controller</code> можете указать уникальное имя контроллера, например, серийный номер.
</syntaxhighlight>
Содержимое топика /devices/temp1/# контроллера будет отображаться в /controller на брокере. Вместо /controller можно указать другое имя, уникальное для каждого контроллера в схеме.


=== Проверка работоспособности ===
=== Проверка работоспособности ===