MQTT
MQTT соединяет твою mesh-сеть Meshtastic с интернетом, обеспечивая связь на больших расстояниях за пределами радиодиапазона.
Обзор
Модуль MQTT подключает вашу ноду к MQTT-брокеру, что позволяет:
- Сообщениям достигать нод в других физических mesh-сетях через интернет
- Интегрироваться с системами домашней автоматизации и мониторинга
- Публиковать местоположения нод на публичной карте Meshtastic
- Создавать собственные каналы данных для журналирования и оповещений
Как это работает
[Ваша нода] → Радио → [Шлюзовая нода с WiFi] → MQTT-брокер → [Удалённый шлюз] → Радио → [Удалённая нода]
Шлюзовая нода с доступом в интернет (WiFi или Ethernet) публикует сообщения mesh-сети в топик MQTT. Удалённые шлюзы, подписанные на тот же топик, передают эти сообщения в свою локальную mesh-сеть.
Настройки
Включение MQTT
- Перейдите в Настройки → Конфигурация модулей → MQTT.
- Включите модуль MQTT.
- Настройте подключение к брокеру:

| Настройка | Описание | По умолчанию |
|---|---|---|
| Адрес сервера | Имя хоста MQTT-брокера | mqtt.meshtastic.org |
| Имя пользователя | Аутентификация брокера | meshdev |
| Пароль | Аутентификация брокера | large4cats |
| Корневая тема | Базовый топик для сообщений | msh |
| Шифрование | Шифровать полезную нагрузку MQTT | Включено |
| ⚠️ Устарело — поддержка JSON-пакетов удалена из прошивки; это поле игнорируется | Отключено | |
| TLS | Безопасное подключение к брокеру | Отключено |
| Публикация на карте | Сообщать о местоположении на публичную карту | Отключено |
MQTT-прокси на этом телефоне
Если у твоей ноды нет собственного доступа в интернет, она может использовать подключённый телефон как MQTT-шлюз: включите MQTT и Прокси для клиента в конфигурации модуля, и приложение будет передавать трафик MQTT между радио и брокером через интернет-соединение твоего телефона.
Переключатель MQTT-прокси на этом телефоне в верхней части экрана настроек MQTT показывает, запущена ли сейчас эта ретрансляция, и позволяет тебе немедленно отключить (или перезапустить) её — без редактирования и повторного сохранения конфигурации MQTT устройства.
Стандартный брокер Meshtastic
Сообщество поддерживает публичный брокер по адресу mqtt.meshtastic.org. Он предназначен для общего использования и тестирования.
ℹ️ Примечание: Подключения к
mqtt.meshtastic.orgвсегда используют TLS (порт 8883), даже если переключатель TLS выключен. Для любого другого брокера TLS используется только при включении (порт 8883 с TLS, 1883 без).
🔒 Приватность: Сообщения на публичном брокере доступны для чтения всем, кто подписан. Всегда используйте шифрование каналов для конфиденциальной связи.
Частный брокер
Для большей приватности и контроля ты можешь запустить собственный MQTT-брокер:
- Mosquitto (легковесный, с открытым исходным кодом)
- HiveMQ
- EMQX
Настройте свою ноду на подключение к частному брокеру с соответствующими учётными данными.
Публикация на карте
Когда публикация на карте включена, твоя нода отправляет своё местоположение на карту сообщества Meshtastic:
- Доступно на meshmap.net и аналогичных картографических сервисах сообщества
- Передаются только координаты и информация о ноде
- Отключи эту функцию, если не хочешь, чтобы твоё местоположение было общедоступным
Uplink и Downlink
| Направление | Описание |
|---|---|
| Uplink (восходящий) | Сообщения из mesh-сети → MQTT-брокер |
| Downlink (нисходящий) | Сообщения от MQTT-брокера → mesh-сеть |
Настройте для каждого канала активные направления, чтобы управлять потоком сообщений и использованием эфирного времени.
Форматы сообщений
MQTT использует формат сообщений protobuf:
| Формат | Описание | Сценарий использования |
|---|---|---|
| Protobuf | Бинарное кодирование Meshtastic protobuf | Соединение нод между mesh-сетями |
⚠️ Примечание: Поддержка вывода в JSON была удалена из прошивки. Настройка
json_enabledвсё ещё отображается в приложении для обратной совместимости, но не влияет на текущие версии прошивки.
Шифрование и приватность
Понимание многоуровневой модели шифрования:
- Шифрование канала происходит в mesh-сети до MQTT. Если твой канал использует PSK, полезная нагрузка MQTT уже зашифрована — брокер и любые подписчики видят только зашифрованный текст.
- Шифрование MQTT (настройка модуля) добавляет дополнительный уровень шифрования при передаче к брокеру. Это защищает метаданные и информацию о маршрутизации.
- TLS шифрует само TCP-соединение с брокером, предотвращая перехват на сетевом уровне.
🔒 Важно: Публичный канал по умолчанию использует общеизвестный ключ. Сообщения в канале по умолчанию, отправленные через MQTT, фактически не зашифрованы — кто угодно может их расшифровать. Всегда используйте собственный PSK для конфиденциальной связи.
Рекомендации
- Используйте шифрование на уровне канала (PSK) на каналах, подключённых к MQTT
- Не включайте MQTT на нодах без доступа в интернет (это приведёт к буферизации и напрасной трате памяти)
- Используйте частный брокер для задач, требующих повышенной безопасности
- Учитывайте эфирное время при передаче сообщений из загруженных MQTT-топиков — каждое такое сообщение расходует радиоэфирное время в вашей локальной mesh-сети
- Рассмотрите включение режима “только uplink”, если нужно лишь удалённо наблюдать за mesh-сетью, не отправляя сообщения обратно
Устранение неполадок
MQTT не подключается
- Проверьте WiFi — шлюзовая нода должна иметь активное подключение к интернету (WiFi или Ethernet). MQTT не работает через сам радиоканал LoRa.
- Проверьте учётные данные — неверное имя пользователя или пароль на большинстве брокеров приводят к тихому сбою. Проверьте, нет ли лишних пробелов в конце.
- Брандмауэр — порт 1883 (MQTT) или 8883 (MQTT+TLS) должен быть открыт. Некоторые сети блокируют нестандартные порты.
- Разрешение DNS — если используется имя хоста собственного брокера, убедитесь, что нода может его разрешить. Попробуйте подключиться напрямую по IP-адресу брокера.
Сообщения не проходят через мост
- Проверьте настройки uplink/downlink — если включён только uplink, сообщения идут из mesh-сети в MQTT, но не обратно. Включите downlink на принимающем шлюзе.
- Несовпадение каналов — оба шлюза должны использовать один и тот же канал с одинаковым PSK. Несовпадение означает, что сообщения зашифрованы разными ключами и выглядят как мусор.
- Несовпадение топиков — убедитесь, что оба шлюза используют одинаковый корневой топик. Стандартный
mshработает для публичного брокера.
Связанные темы
- Настройки — Модули и администрирование — справочник по конфигурации модуля MQTT
- Сообщения и каналы — шифрование каналов и настройка PSK
- Руководство по интеграции MQTT — подробная документация по MQTT на meshtastic.org