Настройка Meshtastic после прошивки
Первичная настройка ноды Meshtastic через CLI. Все команды используют переменную порта:
PORT=/dev/cu.usbmodemXXXXОбязательные настройки
Имя узла
meshtastic --port $PORT --set-owner "NodeName" --set-owner-short "NN"Регион
meshtastic --port $PORT --set lora.region RURU — 868 МГц, без ограничения duty cycle (в отличие от EU_868 с лимитом 10%).
Каналы
Канал 0 (PRIMARY) — не заменять. Подробнее: Каналы Meshtastic
Bluetooth PIN
Дефолтный 123456 небезопасен:
meshtastic --port $PORT --set bluetooth.mode FIXED_PIN --set bluetooth.fixed_pin <PIN>Рекомендуемые настройки
Устройство
meshtastic --port $PORT \
--set device.role CLIENT \
--set device.tzdef "MSK-3" \
--set device.node_info_broadcast_secs 43200 \
--set device.led_heartbeat_disabled true- CLIENT — оптимально для 2 человек (ROUTER агрессивнее пересылает чужие, CLIENT_MUTE не пересылает совсем)
- node_info_broadcast_secs 43200 — информация о себе раз в 12 часов (дефолт 3 часа)
- led_heartbeat_disabled — экономия батареи
Режим ретрансляции
meshtastic --port $PORT --set device.rebroadcast_mode CORE_PORTNUMS_ONLYОграничивает ретрансляцию только ключевыми типами пакетов (nodeinfo, position, routing, text). Телеметрия, range test и прочие служебные данные чужих нод не ретранслируются. Снижает airtime и нагрузку на эфир.
| Режим | Что ретранслирует |
|---|---|
| ALL (дефолт) | все пакеты |
| ALL_SKIP_DECODING | все, но не декодирует (экономит CPU) |
| LOCAL_ONLY | только пакеты от ближайших соседей (1 hop) |
| CORE_PORTNUMS_ONLY | только ключевые типы: nodeinfo, position, routing, text |
| KNOWN_ONLY | только от нод из NodeDB |
Для стационарных нод в крупных сетях CORE_PORTNUMS_ONLY — хороший компромисс между полезностью и экономией эфира.
Дисплей
meshtastic --port $PORT \
--set display.screen_on_secs 60 \
--set display.units METRICЭкран гаснет через 60 секунд (дефолт 10 минут).
Питание
meshtastic --port $PORT \
--set power.ls_secs 300 \
--set power.min_wake_secs 10Light Sleep через 5 минут неактивности. Без него ESP32-S3 живёт ~10-20 часов, с ним — значительно дольше.
Оптимизация airtime
Каждая передача занимает эфир. В крупных сетях важно снизить частоту служебных рассылок.
Позиция:
# Мобильная нода — раз в 3 часа
meshtastic --port $PORT --set position.position_broadcast_secs 10800
# Стационарная нода — раз в 6 часов
meshtastic --port $PORT --set position.position_broadcast_secs 21600Smart position (отправка при перемещении) полезна для мобильных нод, но увеличивает airtime:
meshtastic --port $PORT --set position.position_broadcast_smart_enabled trueNeighbor info:
# Раз в 4 часа (дефолт 900с = 15 мин)
meshtastic --port $PORT --set neighbor_info.update_interval 14400Neighbor info помогает сети строить граф связности, но в больших сетях дефолтные 15 минут создают лишний трафик.
Телеметрия:
meshtastic --port $PORT --set telemetry.device_update_interval 3600Метрики устройства (батарея, uptime) раз в час. Если нет дополнительных сенсоров (BME280, INA219) — телеметрию окружения можно отключить.
Range test:
Модуль range test генерирует постоянный поток пакетов. Не включать на постоянной основе — только для разовых замеров дальности.
Быстрые сообщения (Canned Messages)
Отправка заготовленных сообщений с кнопки устройства без телефона. Короткое нажатие — листать, длинное — отправить:
meshtastic --port $PORT \
--set canned_message.enabled true \
--set canned_message.allow_input_source scanAndSelect \
--set canned_message.send_bell true \
--set-canned-message "ОК|Иду|Жду|На месте|Где ты?|Всё ОК|Возвращаюсь|Выхожу|15 мин|Опаздываю|Перезвони|Батарея села|SOS"Дополнительные фразы для походов: Привал, Ставим лагерь, Жду на точке, Заблудился, Нужна вода, Темнеет. Лимит ~200 символов.
Одной командой
Все настройки кроме каналов и GPS-приватности (они требуют --ch-set):
meshtastic --port $PORT \
--set-owner "NodeName" \
--set lora.sx126x_rx_boosted_gain true \
--set device.role CLIENT \
--set device.tzdef "MSK-3" \
--set device.node_info_broadcast_secs 43200 \
--set device.rebroadcast_mode CORE_PORTNUMS_ONLY \
--set device.led_heartbeat_disabled true \
--set display.screen_on_secs 60 \
--set display.units METRIC \
--set bluetooth.mode FIXED_PIN \
--set bluetooth.fixed_pin <PIN> \
--set position.gps_mode ENABLED \
--set position.position_broadcast_smart_enabled false \
--set power.ls_secs 300 \
--set power.min_wake_secs 10 \
--set telemetry.device_update_interval 3600 \
--set security.debug_log_api_enabled false \
--set canned_message.enabled true \
--set canned_message.allow_input_source scanAndSelect \
--set external_notification.enabled true \
--set external_notification.output 35 \
--set external_notification.active true \
--set external_notification.alert_message true \
--set external_notification.output_ms 3000Отдельно:
# Скрыть позицию на LongFast
meshtastic --port $PORT --ch-index 0 --ch-set module_settings.position_precision 0
# Добавить региональный канал (не заменяет LongFast)
meshtastic --port $PORT --ch-add "ChannelName"
meshtastic --port $PORT --ch-index 1 --ch-set psk "base64:<KEY>"
meshtastic --port $PORT --set-canned-message "ОК|Иду|Жду|На месте|Где ты?|Всё ОК|Возвращаюсь|Выхожу|15 мин|Опаздываю|Перезвони|Батарея села|SOS"
# Быстрые сообщения
meshtastic --port $PORT --set-canned-message "ОК|Не слышу|Иду к тебе|Жди 10 мин|SOS"Известные проблемы CLI
CLI 2.7.8: device config сбрасывает rebroadcast_mode
При установке параметров device.* без явного указания device.role, CLI отправляет role=0 (CLIENT). Firmware интерпретирует смену роли и вызывает installRoleDefaults(), сбрасывая rebroadcast_mode в дефолт.
Workaround: всегда включать --set device.role <ТЕКУЩАЯ_РОЛЬ> при изменении любых параметров device-секции:
# Неправильно — rebroadcast_mode сбросится после ребута
meshtastic --port $PORT --set device.rebroadcast_mode CORE_PORTNUMS_ONLY
# Правильно
meshtastic --port $PORT --set device.role CLIENT --set device.rebroadcast_mode CORE_PORTNUMS_ONLYАналогичная проблема с position.* — CLI отправляет весь блок, неуказанные поля сбрасываются. Включать все важные position-поля в одну команду:
# При изменении position на стационарной ноде — указать fixed_position
meshtastic --port $PORT \
--set position.position_broadcast_secs 21600 \
--set position.gps_mode DISABLED \
--set position.fixed_position trueБэкап и восстановление
# Экспорт
meshtastic --port $PORT --export-config > backup.yaml
# Импорт на другое устройство
meshtastic --port $PORT --configure backup.yamlСм. также
- Каналы Meshtastic — структура, PSK, добавление каналов, uplink/downlink
- GPS и приватность Meshtastic — position_precision, стратегия по каналам
- LoRa радио Meshtastic — пресеты, TX Power, Hop Limit
- Remote Admin Meshtastic — удалённое управление через mesh
- Диагностика Meshtastic — SNR/RSSI, traceroute, спам, MQTT-защита
- Кириллица на OLED Meshtastic — сборка прошивки с флагом OLED_RU
- Бэкап и восстановление Meshtastic — экспорт/импорт конфигурации, пошаговый restore