device

Параметры конфигурации устройства: Role, Rebroadcast Mode, GPIO для пользовательской кнопки, GPIO для PWM-жужжалки, Node Info Broadcast Seconds, Double Tap as Button Press, Disable Triple Click, Timezone Definition и LED Heartbeat Disabled. Конфигурация устройства использует административное сообщение, отправляющее protobuf Config.Device.

Значения конфигурации устройства

Роли

Device Role Description Best Uses
CLIENT Приложение подключено или автономное устройство для обмена сообщениями. Повторно транслирует пакеты, если этого не сделал ни один другой узел. Общее использование для частных лиц, нуждающихся в общении по сети Meshtastic с поддержкой клиентских приложений.
CLIENT_MUTE Устройство, которое не пересылает пакеты от других устройств. Ситуации, когда устройство должно участвовать в сети, не помогая в маршрутизации пакетов, снижая нагрузку на сеть.
CLIENT_HIDDEN Устройство, которое транслирует только по необходимости для скрытности или экономии энергии. Использование в скрытых/стелс-развёртываниях или для снижения времени в эфире/потребления энергии при сохранении участия в сети.
CLIENT_BASE Личная базовая станция: всегда повторно транслирует пакеты от или к избранным узлам. Обрабатывает все остальные пакеты как CLIENT. Использование для более мощных узлов на чердаке/крыше в качестве «базовой станции» для более широкого распространения сообщений от ваших слабых внутренних или менее удачно расположенных узлов.
TRACKER Транслирует пакеты GPS-положения с приоритетом. Отслеживание местоположения лиц или активов, особенно в сценариях, где важны своевременные и эффективные обновления местоположения.
LOST_AND_FOUND Регулярно транслирует местоположение как сообщение на канал по умолчанию для помощи в восстановлении устройства. Используется для усилий по восстановлению потерянного устройства.
SENSOR Транслирует телеметрические пакеты с приоритетом. Развёртывание в сценариях, где сбор данных с датчиков окружающей среды или других данных критически важен, с эффективным потреблением энергии и частыми обновлениями.
TAK Оптимизировано для связи с системой ATAK, снижает рутинные трансляции. Интеграция с системами ATAK (через плагин Meshtastic ATAK) для связи в тактических или координированных операциях.
TAK_TRACKER Включает автоматические трансляции TAK PLI и снижает рутинные трансляции. Автономная интеграция PLI с системами ATAK для связи в тактических или координированных операциях.
REPEATER [^4] Инфраструктурный узел для расширения покрытия сети путём постоянной повторной трансляции пакетов один раз с минимальными накладными расходами. Не отображается в списке узлов. Лучше всего размещать в стратегических местах для максимизации общего покрытия сети. Устройство не отображается в топологии.
ROUTER Инфраструктурный узел для расширения покрытия сети путём постоянной повторной трансляции пакетов один раз. Отображается в списке узлов. Лучше всего размещать в стратегических местах для максимизации общего покрытия сети. Устройство отображается в топологии.
ROUTER_LATE Инфраструктурный узел, который всегда повторно транслирует пакеты один раз, но только после всех других режимов, обеспечивая дополнительное покрытие для локальных кластеров. Отображается в списке узлов. Идеально для покрытия мёртвых зон или обеспечения надёжности для кластера узлов, где размещение не приносит пользы более широкой mesh-сети. Устройство отображается в топологии.

[^4]: Эта роль устарела начиная с версии прошивки 2.7.11 :::tip Всё ещё не уверены, какую роль выбрать? Ознакомьтесь с нашей статьёй в блоге: Choosing the Right Device Role :::

Ищете ROUTER_CLIENT? Эта роль устарела в прошивке 2.3.15. Подробнее в примечаниях к выпуску 2.3.15

Сравнение ролей

Эта таблица показывает значения по умолчанию после выбора пресета. Как всегда, отдельные настройки можно корректировать после выбора пресета.

Device Role BLE/WiFi/Serial Screen Enabled Power Consumption Retransmit Prioritized Routing Visible in Nodes List
CLIENT Yes Yes Regular Yes No Yes
CLIENT_MUTE Yes Yes Lowest No No Yes
CLIENT_HIDDEN Yes Yes Lowest Local Only No No
CLIENT_BASE Yes Yes Regular Yes Favorites Only[^3] Yes
TRACKER Yes No Regular / Low Awake Only[^1] No Yes
LOST_AND_FOUND Yes No Regular Yes No Yes
SENSOR Yes No Regular / Low Awake Only[^1] No Yes
TAK Yes Optional Regular Yes No Yes
TAK_TRACKER Yes Optional Regular Yes No Yes
ROUTER No[^2] No High Yes Yes Yes
ROUTER_LATE Yes Yes High Yes No Yes
REPEATER Yes No High Yes Yes No

[^1]: Awake Only означает, что повторные трансляции происходят нормально, но не во время сна между интервалами передачи.

[^2]: Роль ROUTER включает Power Saving по умолчанию (только ESP32). При необходимости обновления ROUTER через BLE рекомендуется использовать административный канал для временного изменения роли, чтобы обновить, а затем вернуть обратно.

[^3]: Favorites Only означает, что CLIENT_BASE будет отдавать приоритет пакетам от или к любым избранным узлам. С вашего CLIENT_BASE вы должны добавить в избранное все ваши другие узлы, которые обычно находятся в зоне действия лучше расположенной базовой станции CLIENT_BASE.

Заметки о энергосбережении + поведении роли

Только платформа ESP32

Все роли, кроме TRACKER и SENSOR, способны к традиционному поведению сна с использованием настройки power.is_power_saving. Когда узел засыпает, в общем случае отключаются последовательная консоль, периферия, GPS и радиомодули WiFi/Bluetooth для экономии энергии. Процессор перейдёт в низкоэнергетическое состояние (light sleep или deep sleep на ESP32). Радио LoRa останется в режиме ожидания для приёма пакетов, которые разбудят устройство для возобновления служб и ответа.

Конфигурации таймаутов display.screen_on_secs (таймаут экрана), power.min_wake_secs (минимальное время до сна) и power.wait_bluetooth_secs (таймаут Bluetooth) задержат переход узла в состояние сна. Таймауты и последующий переход в состояние сна также могут быть сброшены внешними событиями или действиями, такими как приём пакета, нажатие кнопки или подключение клиента через последовательный порт или другие средства.

Для роли ROUTER поведение power.is_power_saving сна включено автоматически и не может быть отключено.

Платформы ESP32 и NRF52

В ролях TRACKER и SENSOR предусмотрены специальные режимы сна при использовании вместе с power.is_power_saving. Для TRACKER устройство переходит в спящий режим на время position.position_broadcast_secs, а после пробуждения отправляет пакет с позицией, когда GPS предоставляет действительное местоположение, и повторяет цикл. Для SENSOR устройство переходит в спящий режим на время telemetry.environment_update_interval, а после пробуждения собирает данные окружающей среды, отправляет телеметрический пакет и повторяет цикл. Для обеих этих ролей LoRa-радио не остаётся в режиме ожидания для приёма пакетов и пробуждения устройства. Режим сна ограничен соответствующими интервалами передачи.

Режим повторной трансляции

Эта настройка определяет поведение устройства при повторной трансляции сообщений.

Value Description
ALL ALL (По умолчанию) — эта настройка будет повторно транслировать ВСЕ сообщения из своей основной Mesh-сети, а также из других Mesh-сетей с одинаковыми настройками модема, включая случаи с отличающимися настройками шифрования.
ALL_SKIP_DECODING ALL_SKIP_DECODING — то же поведение, что и у ALL, но пропускает декодирование пакетов и просто повторно транслирует их. Доступно только для роли Repeater.
LOCAL_ONLY LOCAL_ONLY — игнорирует наблюдаемые сообщения из чужих Mesh-сетей, которые открыты или которые невозможно расшифровать. Повторно транслирует сообщения только на локальных основных / вторичных каналах узла.
KNOWN_ONLY KNOWN_ONLY — игнорирует наблюдаемые сообщения из чужих Mesh-сетей, как LOCAL_ONLY, но идёт дальше, также игнорируя сообщения от node nums, не входящих в известный список узла (NodeDB).
NONE NONE — разрешено только для ролей SENSOR, TRACKER и TAK_TRACKER; это подавляет все повторные трансляции, подобно роли CLIENT_MUTE.
CORE_PORTNUMS_ONLY CORE_PORTNUMS_ONLY — игнорирует пакеты от нестандартных portnums, таких как: TAK, RangeTest, PaxCounter и т. д. Повторно транслирует только пакеты со стандартными portnums: NodeInfo, Text, Position, Telemetry и Routing.

GPIO для кнопки пользователя

Это номер вывода GPIO, который будет использоваться для кнопки пользователя, если ваше устройство не оснащено предопределённой кнопкой пользователя.

GPIO для ШИМ-звукоподражателя

Это номер вывода GPIO, который будет использоваться для ШИМ-звукоподражателя, если ваше устройство не оснащено предопределённым звукоподражателем.

Секунды трансляции Node Info

Это количество секунд между трансляциями сообщений NodeInfo (содержащих, в частности, длинное и короткое имя) от устройства. Устройство по-прежнему будет отвечать ad-hoc на сообщения NodeInfo, если требуется ответ. Когда устройство обнаруживает любой пакет от неизвестного узла, оно автоматически отправит свой NodeInfo и запросит ответ.

Двойное касание как нажатие кнопки

Эта опция позволит трактовать двойное касание как нажатие кнопки при подключённом поддерживаемом акселерометре.

Отключить тройное нажатие

Отключает тройное нажатие кнопки пользователя для включения или отключения GPS.

TZDEF (Определение часового пояса)

Настройка tzdef позволяет задать локальное смещение для устройства. Она использует формат TZ Database для отображения правильного местного времени на дисплее устройства и в его журналах.

Для установки часового пояса используйте строку POSIX TZ Database для соответствующего региона. Вот список поддерживаемых часовых поясов. Например, если ваш регион America/Los_Angeles, введите PST8PDT,M3.2.0,M11.1.0 в качестве часового пояса.

Отключён heartbeat светодиода

Если true, отключить стандартное мигание светодиода (LED_PIN) на устройстве.

Доступность конфигурации устройства для клиентов

      <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

Конфигурация устройства доступна для Android.

  1. Откройте приложение Meshtastic
  2. Перейдите в: Вертикальное многоточие (3 точки в правом верхнем углу) > Конфигурация радио > Устройство

:::

Apple

:::info Все опции конфигурации устройства, кроме NTP Server, доступны в iOS, iPadOS и macOS по пути Settings > Device Configuration > Device. :::

CLI

:::info

Все опции конфигурации устройства доступны в CLI Python. Примеры команд приведены ниже:

:::

Настройка Допустимые значения По умолчанию
device.role CLIENT, CLIENT_MUTE, ROUTER, REPEATER, TRACKER, SENSOR CLIENT
device.rebroadcast_mode ALL, ALL_SKIP_DECODING, LOCAL_ONLY ALL
device.button_gpio 0 - 34 0
device.buzzer_gpio 0 - 34 0
device.node_info_broadcast_secs 3600 - UINT MAX 10800 (3 часа)
device.double_tap_as_button_press false, true false
device.disable_triple_click false, true false

:::tip

Поскольку устройство перезагружается после каждой отправленной через CLI команды, при установке нескольких значений в разделе конфигурации рекомендуется объединять команды в одну цепочку.

```shell title="Пример:" meshtastic --set device.role CLIENT --set device.tzdef UTC0


:::

```shell title="Установка роли клиента"
meshtastic --set device.role CLIENT

shell title="Установка tzdef" meshtastic --set device.tzdef UTC0

Web

:::info Все опции конфигурации устройства доступны в веб-интерфейсе. :::