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-сервер для отображения на онлайн-картах, поддерживающих этот пакет. Отчет включает следующую информацию:

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.

  1. Откройте приложение Meshtastic
  2. Перейдите в: Вертикальное многоточие (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**.

[![MQTT Settings](../../../img/modules/mqtt/android_mqtt_encryption_sm.webp.html)](/img/modules/mqtt/android_mqtt_encryption.webp)

_Опционально:_ Чтобы использовать интернет-соединение телефона для отправки и получения пакетов через веб, также включите ползунок **MQTT Client Proxy** и пропустите шаг Configure Network Settings ниже.

[![Client Proxy](../../../img/modules/mqtt/android_mqtt_proxy_sm.webp.html)](/img/modules/mqtt/android_mqtt_proxy_encryption.webp)

##### 2. Включите uplink и downlink канала

Перейдите в: Вертикальное многоточие (3 точки в правом верхнем углу) > Radio configuration > Channels > LongFast: Включите ползунки **Uplink enabled** и **Downlink enabled**, затем нажмите **Save** и **Send**.

[![Channel Settings](../../../img/modules/mqtt/android_channel_sm.webp.html)](/img/modules/mqtt/android_channel.webp)

##### 3. Настройте параметры сети

Перейдите в: Вертикальное многоточие (3 точки в правом верхнем углу) > Radio configuration > Network: Включите ползунок **WiFi enabled**, введите **SSID** и **PSK** для вашей сети, затем нажмите **Send**.

[![Network Settings](../../../img/modules/mqtt/android_network_sm.webp.html)](/img/modules/mqtt/android_network.webp)

#### Apple

##### 1. Включите модуль MQTT

Перейдите в Settings > MQTT: Включите ползунок MQTT enabled и нажмите **Save**

[![MQTT Settings 1](../../../img/modules/mqtt/apple_mqtt_1_encryption_sm.webp.html)](/img/modules/mqtt/apple_mqtt_1_encryption.webp)
[![MQTT Settings 2](../../../img/modules/mqtt/apple_mqtt_2_sm.webp.html)](/img/modules/mqtt/apple_mqtt_2.webp)

_Опционально:_ Чтобы использовать интернет-соединение телефона для отправки и получения пакетов через веб, также включите ползунок **MQTT Client Proxy** и пропустите шаг Configure Network Settings ниже.

[![Client Proxy](../../../img/modules/mqtt/apple_mqtt_1_proxy_sm.webp.html)](/img/modules/mqtt/apple_mqtt_1_proxy_encryption.webp)

##### 2. Включите uplink и downlink канала

Перейдите в Settings > Channels > Primary Channel: Включите ползунки **Uplink enabled** и **Downlink enabled** — нажмите **Save**

[![Channel Settings](../../../img/modules/mqtt/apple_channel_sm.webp.html)](/img/modules/mqtt/apple_channel.webp)

##### 3. Настройте параметры сети

Перейдите в Settings > Network: Включите ползунок **WiFi enabled** — введите **SSID** и **PSK** для вашей сети — нажмите **Save**

[![Network Settings](../../../img/modules/mqtt/apple_network_sm.webp.html)](/img/modules/mqtt/apple_network.webp)

#### CLI

##### 1. Включите модуль MQTT

```shell
meshtastic --set mqtt.enabled true
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.

Настройки MQTT

Необязательно: Чтобы использовать интернет-соединение вашего клиента для отправки и получения пакетов через веб, также включите переключатель Proxy to Client Enabled и пропустите шаг «Настроить сетевые настройки» ниже.

Прокси клиента

:::caution

Хотя эта опция может отображаться в вашем интерфейсе, прокси клиента пока не функционирует с веб-клиентом.

:::

Перейдите в Channels > Primary — включите переключатели Uplink Enabled и Downlink Enabled — нажмите на значок Save.

Настройки канала

3. Настроить сетевые настройки

Перейдите в Radio Config > Device > Network — включите переключатель Enabled — введите ваш SSID и PSK для вашей сети — нажмите на значок Save.

Настройки сети