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

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

Материал из OpenWrt Wiki
мНет описания правки
Нет описания правки
Строка 1: Строка 1:
Для настройки MQTT-сервера на роутере с OpenWRT нужно установить пакеты <code>mosquitto</code> и <code>mosquitto-client</code> через SSH или LuCI. После установки настройте <code>mosquitto</code>, запустите службу и настройте правила фаервола для доступа из вашей локальной сети, чтобы устройства могли подключаться к брокеру на порту 1883 по протоколу TCP.  
Для настройки MQTT-сервера на роутере с OpenWRT нужно установить пакеты <code>mosquitto-ssl или mosquitto-nossl</code> и <code>mosquitto-client</code> через SSH или LuCI. После установки настройте <code>mosquitto</code>, запустите службу и настройте правила фаервола для доступа из вашей локальной сети, чтобы устройства могли подключаться к брокеру на порту 1883 по протоколу TCP.  


=== 1. Установка MQTT-брокера (<code>'''mosquitto'''</code>) ===
=== 1. Установка MQTT-брокера (<code>'''mosquitto'''</code>) ===
Строка 8: Строка 8:
Код
Код
<pre>opkg update
<pre>opkg update
opkg install mosquitto mosquitto-client</pre>
opkg install mosquitto-nossl mosquitto-client</pre>


* '''Через LuCI (веб-интерфейс):'''
* '''Через LuCI (веб-интерфейс):'''
*# Перейдите в раздел "System" > "Software".  
*# Перейдите в раздел "System" > "Software".  
*# Нажмите "Update lists" для обновления списка пакетов.  
*# Нажмите "Update lists" для обновления списка пакетов.  
*# Найдите пакеты <code>mosquitto</code> и <code>mosquitto-client</code> в списке и установите их.  
*# Найдите пакеты <code>mosquitto-nossl</code> и <code>mosquitto-client</code> в списке и установите их.  


=== 2. Настройка и запуск сервиса <code>mosquitto</code> Запустите службу. ===
=== 2. Настройка и запуск сервиса <code>mosquitto</code> Запустите службу. ===

Версия от 20:19, 14 сентября 2025

Для настройки MQTT-сервера на роутере с OpenWRT нужно установить пакеты mosquitto-ssl или mosquitto-nossl и mosquitto-client через SSH или LuCI. После установки настройте mosquitto, запустите службу и настройте правила фаервола для доступа из вашей локальной сети, чтобы устройства могли подключаться к брокеру на порту 1883 по протоколу TCP.

1. Установка MQTT-брокера (mosquitto)

  • Через SSH:
    1. Подключитесь к роутеру по SSH.
    2. Выполните команду для установки пакетов:

Код

opkg update
opkg install mosquitto-nossl mosquitto-client
  • Через LuCI (веб-интерфейс):
    1. Перейдите в раздел "System" > "Software".
    2. Нажмите "Update lists" для обновления списка пакетов.
    3. Найдите пакеты mosquitto-nossl и mosquitto-client в списке и установите их.

2. Настройка и запуск сервиса mosquitto Запустите службу.

Код

/etc/init.d/mosquitto enable
/etc/init.d/mosquitto start
  • Включите автозапуск при загрузке роутера: В LuCI, в разделе "System" > "Startup", убедитесь, что служба mosquitto включена и будет запускаться при загрузке.

3. Настройка фаервола (Firewall)

  • Создайте правило: В LuCI, перейдите в "Network" > "Firewall".
  • Добавьте правило: для порта 1883 (TCP) на вашей локальной сети (lan):
    • Action: accept (разрешить).
    • Protocol: TCP.
    • Source zone: lan (или зона, куда подключены ваши клиенты).
    • Destination zone: Device (input) (для получения входящих соединений).
    • Destination port: 1883.

Пример использования:

  1. 1. Подключите устройства: Ваши устройства (например, с датчиками и ESP32) настройте на подключение к IP-адресу вашего OpenWRT-роутера по порту 1883.
  2. 2. Публикация данных: Одно устройство публикует данные (например, температуру) в определенную тему (topic) MQTT, например, /sensors/temperature.
  3. 3. Подписка на данные: Другое устройство или веб-сервис подписывается на эту тему, и когда данные публикуются, брокер Mosquitto доставляет их подписчикам.

Таким образом, ваш OpenWRT роутер будет выступать в роли центрального MQTT-брокера для вашего умного дома или IoT-проекта, обеспечивая обмен сообщениями между устройствами.