mqtt
Если ваше устройство подключено к Интернету через Wi-Fi или Ethernet, вы можете включить его для пересылки пакетов на MQTT-сервер. Это позволяет пользователям в локальной mesh-сети общаться с пользователями в интернете. Один или несколько каналов также должны быть включены как uplink и/или downlink для передачи пакетов из/в вашу mesh-сеть (см. channels).
Параметры конфигурации модуля MQTT следующие: Enabled, Server Address, Username, Password, Encryption Enabled, JSON Enabled, TLS Enabled, Root Topic, Client Proxy Enabled, Map Reporting Enabled (с Position Precision и Publish Interval), и Okay to MQTT. Конфигурация модуля MQTT использует административное сообщение, отправляющее protobuf ConfigModule.MQTT.
Настройки
Значения конфигурации модуля MQTT
Enabled
Включает модуль MQTT.
Server Address
Сервер для использования MQTT. Если не установлен, будет использован публичный сервер по умолчанию.
Username
Имя пользователя MQTT-сервера (наиболее полезно для пользовательского MQTT-сервера). Если используется пользовательский сервер, это будет учтено даже если пусто. Если используется публичный сервер по умолчанию, это будет учтено только если установлено, иначе устройство использует имя пользователя по умолчанию.
Password
Пароль MQTT (наиболее полезно для пользовательского MQTT-сервера). Если используется пользовательский сервер, это будет учтено даже если пусто. Если используется сервер по умолчанию, это будет учтено только если установлено, иначе устройство использует пароль по умолчанию.
Encryption Enabled
Отправлять ли зашифрованные или незашифрованные пакеты на MQTT-сервер. Незашифрованные пакеты могут быть полезны для внешних систем, которые хотят потреблять пакеты Meshtastic.
Примечание: Все сообщения отправляются на MQTT-брокер незашифрованными, если эта опция не включена, даже если ваши каналы uplink имеют установленные ключи шифрования.
JSON Enabled
:::note JSON не поддерживается на платформе nRF52. :::
Включить отправку и получение JSON-пакетов через MQTT. Эти пакеты не зашифрованы, но предлагают простой способ интеграции с системами, которые могут читать JSON.
TLS Enabled
Если включено, устанавливается безопасное соединение с использованием TLS.
Root Topic
Корневой топик для сообщений MQTT. Полезно, если вы хотите использовать один MQTT-сервер для нескольких сетей Meshtastic и разделять их с помощью ACL.
Client Proxy Enabled
Если включено, устройство использует сетевое соединение клиента (например, вашего телефона) для подключения к MQTT-серверу. Если выключено, используется сетевое соединение устройства, которое нужно включить через network settings.
Map Reporting Enabled
Доступно с версии прошивки 2.3.2. Если включено, ваш узел периодически отправляет незашифрованный отчет карты на MQTT-сервер для отображения на онлайн-картах, поддерживающих этот пакет. Отчет включает следующую информацию:
- Длинное и короткое имя узла и ID;
- Позицию узла (с настраиваемой точностью) и высоту;
- Модель оборудования узла и role;
- Версию прошивки узла;
- Регион LoRa узла, пресет модема и имя основного канала;
- Доступен ли узел на канале по умолчанию с известным ключом;
- Количество локальных онлайн-узлов (услышанных за последние 2 часа, исключая услышанных через MQTT).
Map Report Position Precision
Точность позиции в отчете карты. По умолчанию максимальное отклонение около 1459 м.
Map Report Publish Interval
Как часто публиковать отчет карты на MQTT-сервер в секундах. По умолчанию 3600 секунд (1 час), что также является минимальным значением.
Доступность клиента конфигурации модуля MQTT
<Icon icon="mdi:android" height="1.5rem" style={{ marginRight: "0.25rem" }} /> Android
</>
),
value: "android",
},
{
label: (
<>
<Icon icon="mdi:apple" height="1.5rem" style={{ marginRight: "0.25rem" }} /> Apple
</>
),
value: "apple",
},
{
label: (
<>
<Icon icon="mdi:terminal" height="1.5rem" style={{ marginRight: "0.25rem" }} /> CLI
</>
),
value: "cli",
},
{
label: (
<>
<Icon icon="mdi:internet" height="1.5rem" style={{ marginRight: "0.25rem" }} /> Web
</>
),
value: "web",
},
]}>
Android
:::info
Параметры конфигурации MQTT доступны для Android.
- Откройте приложение Meshtastic
- Перейдите в: Вертикальное многоточие (3 точки в правом верхнем углу) > Radio Configuration > MQTT
:::
Apple
:::info
Все параметры конфигурации MQTT доступны в iOS, iPadOS и macOS в разделе Settings > Module Configuration > MQTT.
:::
CLI
:::info
Следующие параметры конфигурации доступны в Python CLI:
:::
| Настройка | Допустимые значения | Значение по умолчанию |
|---|---|---|
| mqtt.enabled | true, false |
false |
| mqtt.address | string |
mqtt.meshtastic.org |
| mqtt.username | string |
meshdev |
| mqtt.password | string |
large4cats |
| mqtt.encryption_enabled | true, false |
false |
| mqtt.json_enabled | true, false |
false |
| mqtt.tls_enabled | true, false |
false |
| mqtt.root | string |
|
| mqtt.proxy_to_client_enabled | true, false |
false |
| mqtt.map_reporting_enabled | true, false |
false |
:::tip
Поскольку устройство перезагрузится после каждой команды, отправленной через CLI, при установке нескольких значений в секции конфигурации рекомендуется объединять команды в одну.
```shell title="Пример:" meshtastic --set mqtt.enabled true --set mqtt.json_enabled true
:::
```shell title="Включение/выключение модуля MQTT"
meshtastic --set mqtt.enabled true
meshtastic --set mqtt.enabled false
```shell title="Включение/выключение MQTT JSON" meshtastic --set mqtt.json_enabled true meshtastic --set mqtt.json_enabled false
#### Web
:::info
Все параметры конфигурации модуля MQTT доступны в веб-интерфейсе.
:::
## Подключение к публичному серверу по умолчанию
:::important
Канал по умолчанию (LongFast) на публичном сервере обычно имеет много трафика. Ваше устройство может перегружаться и перестать работать должным образом. Рекомендуется использовать другой канал или свой собственный MQTT-сервер, если возникают проблемы.
:::
<Icon icon="mdi:android" height="1.5rem" style={{ marginRight: "0.25rem" }} /> Android
</>
),
value: "android",
},
{
label: (
<>
<Icon icon="mdi:apple" height="1.5rem" style={{ marginRight: "0.25rem" }} /> Apple
</>
),
value: "apple",
},
{
label: (
<>
<Icon icon="mdi:terminal" height="1.5rem" style={{ marginRight: "0.25rem" }} /> CLI
</>
),
value: "cli",
},
{
label: (
<>
<Icon icon="mdi:internet" height="1.5rem" style={{ marginRight: "0.25rem" }} /> Web
</>
),
value: "web",
},
]}>
#### Android
##### 1. Включите модуль MQTT
Перейдите в: Вертикальное многоточие (3 точки в правом верхнем углу) > Radio configuration > MQTT: Включите ползунок **MQTT enabled** и нажмите **Send**.
[](/img/modules/mqtt/android_mqtt_encryption.webp)
_Опционально:_ Чтобы использовать интернет-соединение телефона для отправки и получения пакетов через веб, также включите ползунок **MQTT Client Proxy** и пропустите шаг Configure Network Settings ниже.
[](/img/modules/mqtt/android_mqtt_proxy_encryption.webp)
##### 2. Включите uplink и downlink канала
Перейдите в: Вертикальное многоточие (3 точки в правом верхнем углу) > Radio configuration > Channels > LongFast: Включите ползунки **Uplink enabled** и **Downlink enabled**, затем нажмите **Save** и **Send**.
[](/img/modules/mqtt/android_channel.webp)
##### 3. Настройте параметры сети
Перейдите в: Вертикальное многоточие (3 точки в правом верхнем углу) > Radio configuration > Network: Включите ползунок **WiFi enabled**, введите **SSID** и **PSK** для вашей сети, затем нажмите **Send**.
[](/img/modules/mqtt/android_network.webp)
#### Apple
##### 1. Включите модуль MQTT
Перейдите в Settings > MQTT: Включите ползунок MQTT enabled и нажмите **Save**
[](/img/modules/mqtt/apple_mqtt_1_encryption.webp)
[](/img/modules/mqtt/apple_mqtt_2.webp)
_Опционально:_ Чтобы использовать интернет-соединение телефона для отправки и получения пакетов через веб, также включите ползунок **MQTT Client Proxy** и пропустите шаг Configure Network Settings ниже.
[](/img/modules/mqtt/apple_mqtt_1_proxy_encryption.webp)
##### 2. Включите uplink и downlink канала
Перейдите в Settings > Channels > Primary Channel: Включите ползунки **Uplink enabled** и **Downlink enabled** — нажмите **Save**
[](/img/modules/mqtt/apple_channel.webp)
##### 3. Настройте параметры сети
Перейдите в Settings > Network: Включите ползунок **WiFi enabled** — введите **SSID** и **PSK** для вашей сети — нажмите **Save**
[](/img/modules/mqtt/apple_network.webp)
#### CLI
##### 1. Включите модуль MQTT
```shell
meshtastic --set mqtt.enabled true
2. Включить Uplink и Downlink канала
meshtastic --ch-set uplink_enabled true --ch-index 0
meshtastic --ch-set downlink_enabled true --ch-index 0
или объединённые в одну команду:
meshtastic --ch-set uplink_enabled true --ch-index 0 --ch-set downlink_enabled true --ch-index 0
3. Настроить сетевые настройки
meshtastic --set network.wifi_enabled true
meshtastic --set network.wifi_ssid "your network"
meshtastic --set network.wifi_psk yourpassword
или объединённые в одну команду:
meshtastic --set network.wifi_enabled true --set network.wifi_ssid "your network" --set network.wifi_psk yourpassword
Веб
1. Включить модуль MQTT
Перейдите в Config > Module Config > MQTT — включите переключатель MQTT enabled — нажмите на значок Save.
Необязательно: Чтобы использовать интернет-соединение вашего клиента для отправки и получения пакетов через веб, также включите переключатель Proxy to Client Enabled и пропустите шаг «Настроить сетевые настройки» ниже.
:::caution
Хотя эта опция может отображаться в вашем интерфейсе, прокси клиента пока не функционирует с веб-клиентом.
:::
2. Включить Uplink и Downlink канала
Перейдите в Channels > Primary — включите переключатели Uplink Enabled и Downlink Enabled — нажмите на значок Save.
3. Настроить сетевые настройки
Перейдите в Radio Config > Device > Network — включите переключатель Enabled — введите ваш SSID и PSK для вашей сети — нажмите на значок Save.



