mirror of
https://github.com/meshtastic/Meshtastic-Android.git
synced 2026-10-03 09:04:32 -04:00
146 lines
13 KiB
HTML
146 lines
13 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="ru-rRU" dir="ltr">
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
<title>MQTT</title>
|
|
<link rel="stylesheet" href="../../styles/docs.css">
|
|
</head>
|
|
<body data-page="mqtt" data-locale="ru-rRU">
|
|
<pre class="markdown-content"># MQTT
|
|
|
|
MQTT соединяет твою mesh-сеть Meshtastic с интернетом, обеспечивая связь на больших расстояниях за пределами радиодиапазона.
|
|
|
|
## Обзор
|
|
|
|
Модуль MQTT подключает вашу ноду к MQTT-брокеру, что позволяет:
|
|
|
|
- Сообщениям достигать нод в других физических mesh-сетях через интернет
|
|
- Интегрироваться с системами домашней автоматизации и мониторинга
|
|
- Публиковать местоположения нод на публичной карте Meshtastic
|
|
- Создавать собственные каналы данных для журналирования и оповещений
|
|
|
|
## Как это работает
|
|
|
|
```
|
|
[Ваша нода] → Радио → [Шлюзовая нода с WiFi] → MQTT-брокер → [Удалённый шлюз] → Радио → [Удалённая нода]
|
|
```
|
|
|
|
Шлюзовая нода с доступом в интернет (WiFi или Ethernet) публикует сообщения mesh-сети в топик MQTT. Удалённые шлюзы, подписанные на тот же топик, передают эти сообщения в свою локальную mesh-сеть.
|
|
|
|
## Настройки
|
|
|
|
### Включение MQTT
|
|
|
|
1. Перейдите в **Настройки → Конфигурация модулей → MQTT**.
|
|
2. Включите модуль MQTT.
|
|
3. Настройте подключение к брокеру:
|
|
|
|

|
|
|
|
Настройка | Описание | По умолчанию |
|
|
------------------- | ----------------------------------------------------------------------------------- | --------------------------------------------------- |
|
|
Адрес сервера | Имя хоста MQTT-брокера | mqtt.meshtastic.org |
|
|
Имя пользователя | Аутентификация брокера | meshdev |
|
|
Пароль | Аутентификация брокера | large4cats |
|
|
Корневая тема | Базовый топик для сообщений | msh |
|
|
Шифрование | Шифровать полезную нагрузку MQTT | Включено |
|
|
~~Вывод в JSON~~ | ⚠️ **Устарело** — поддержка 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](https://meshmap.net) и аналогичных картографических сервисах сообщества
|
|
- Передаются только координаты и информация о ноде
|
|
- Отключи эту функцию, если не хочешь, чтобы твоё местоположение было общедоступным
|
|
|
|
## Uplink и Downlink
|
|
|
|
Направление | Описание |
|
|
-------------------------------------------- | ------------------------------------- |
|
|
**Uplink** (восходящий) | Сообщения из mesh-сети → MQTT-брокер |
|
|
**Downlink** (нисходящий) | Сообщения от MQTT-брокера → mesh-сеть |
|
|
|
|
Настройте для каждого канала активные направления, чтобы управлять потоком сообщений и использованием эфирного времени.
|
|
|
|
## Форматы сообщений
|
|
|
|
MQTT использует формат сообщений protobuf:
|
|
|
|
Формат | Описание | Сценарий использования |
|
|
------------ | ---------------------------------------- | -------------------------------- |
|
|
**Protobuf** | Бинарное кодирование Meshtastic protobuf | Соединение нод между mesh-сетями |
|
|
|
|
> ⚠️ **Примечание:** Поддержка вывода в JSON была удалена из прошивки. Настройка `json_enabled` всё ещё отображается в приложении для обратной совместимости, но не влияет на текущие версии прошивки.
|
|
|
|
## Шифрование и приватность
|
|
|
|
Понимание многоуровневой модели шифрования:
|
|
|
|
1. **Шифрование канала** происходит в mesh-сети _до_ MQTT. Если твой канал использует PSK, полезная нагрузка MQTT уже зашифрована — брокер и любые подписчики видят только зашифрованный текст.
|
|
2. **Шифрование MQTT** (настройка модуля) добавляет дополнительный уровень шифрования при передаче к брокеру. Это защищает метаданные и информацию о маршрутизации.
|
|
3. **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` работает для публичного брокера.
|
|
|
|
## Связанные темы
|
|
|
|
- [Настройки — Модули и администрирование](settings-module-admin) — справочник по конфигурации модуля MQTT
|
|
- [Сообщения и каналы](messages-and-channels) — шифрование каналов и настройка PSK
|
|
- [Руководство по интеграции MQTT](https://meshtastic.org/docs/software/integrations/mqtt) — подробная документация по MQTT на meshtastic.org
|
|
|
|
---
|
|
|
|
</pre>
|
|
</body>
|
|
</html> |