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

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

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


Код
Код
        <code>opkg update</code>
<pree>opkg update
 
opkg install mosquitto mosquitto-client</pre>
        <code>opkg install mosquitto mosquitto-client</code>


* '''Через LuCI (веб-интерфейс):'''
* '''Через LuCI (веб-интерфейс):'''
Строка 20: Строка 19:


Код
Код
    <code>/etc/init.d/mosquitto enable</code>
<pre>/etc/init.d/mosquitto enable
 
/etc/init.d/mosquitto start</pree>
    <code>/etc/init.d/mosquitto start</code>


* '''Включите автозапуск при загрузке роутера:''' В LuCI, в разделе "System" > "Startup", убедитесь, что служба <code>mosquitto</code> включена и будет запускаться при загрузке.  
* '''Включите автозапуск при загрузке роутера:''' В LuCI, в разделе "System" > "Startup", убедитесь, что служба <code>mosquitto</code> включена и будет запускаться при загрузке.  

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

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

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

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

Код <pree>opkg update

opkg install mosquitto mosquitto-client

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

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

Код

/etc/init.d/mosquitto enable
/etc/init.d/mosquitto start</pree>

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

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