Перевод от 16.06.2026г.
Копия на английском
Оригинальный материал

Команды CLI

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


Операционные команды

Перезагрузить узел

Использование:

Примечание: Ответ не отправляется.


Выключить узел

Использование:

Примечание: Ответ не отправляется.


Сбросить часы и перезагрузить узел

Использование:

Примечание: Ответ не отправляется.


Синхронизировать часы с удалённым устройством

Использование:


Показать текущее время в UTC

Использование:


Установить время на указанную временную метку

Использование:

Параметры:


Отправить широковещательное объявление (flood advert)

Использование:


Отправить объявление с нулевым числом переходов (zero-hop)

Использование:


Запустить обновление прошивки по воздуху (OTA)

Использование:


Стереть данные / Сброс к заводским настройкам

Использование:

Только через последовательный порт: Да

Предупреждение: Это приведёт к безвозвратному удалению данных!


Соседи (только для ретранслятора)

^84f8a1

Показать список ближайших соседей

Использование:

Примечание: Вывод этой команды ограничен 8 самыми недавними объявлениями.

Примечание: Каждая строка кодируется как {pubkey-prefix}:{timestamp}:{snr*4}


Удалить соседа

Использование:

Параметры:

Примечание: Вы можете удалить всех соседей, отправив в качестве префикса символ пробела. Пробел обозначает пустой префикс, который соответствует всем существующим соседям.


Обнаружить соседей с нулевым числом переходов

Использование:


Статистика

Очистить статистику

Использование: clear stats


Системная статистика - батарея, время работы, длина очереди и флаги отладки

Использование:

Только через последовательный интерфейс: Да


Статистика радио - уровень шума, последний RSSI/SNR, эфирное время, ошибки приёма

Использование: stats-radio

Только через последовательный интерфейс: Да


Статистика пакетов - счётчики пакетов: получено, отправлено

Использование: stats-packets

Только через последовательный интерфейс: Да


Журналирование

Начать запись журнала rx во внутреннее хранилище узла

Использование: log start


Завершить запись журнала rx во внутреннее хранилище узла

Использование: log stop


Удалить сохранённый журнал

Использование: log erase


Вывести сохранённый журнал в последовательный терминал

Использование: log

Только через последовательный интерфейс: Да


Информация

Получить версию

Использование: ver


Показать название аппаратной платформы

Использование: board


Конфигурация

Радио

Просмотреть или изменить параметры радио этого узла

Использование:

Параметры:

Устанавливается флагами сборки: LORA_FREQ, LORA_BW, LORA_SF, LORA_CR

По умолчанию: 869.525,250,11,5

Примечание: Для применения требуется перезагрузка


Просмотреть или изменить мощность передачи этого узла

Использование:

Параметры:

Устанавливается флагом сборки: LORA_TX_POWER

По умолчанию: Зависит от платы

Примечания: Эта настройка управляет только уровнем мощности чипа LoRa. Некоторые узлы имеют дополнительный каскад усилителя мощности, который увеличивает общую выходную мощность. Обратитесь к руководству вашего узла, чтобы выбрать правильное значение. Установка слишком высокого значения может нарушать законодательство вашей страны.


Временно изменить параметры радио на заданное время

Использование:

Параметры:

Примечание: Не сохраняется в настройках и сбрасывается после перезагрузки


Просмотреть или изменить частоту этого узла

Использование:

Параметры:

По умолчанию: 869.525

Примечание: Для применения требуется перезагрузка Только через последовательный интерфейс: set freq <frequency>


Просмотреть или изменить режим повышенного усиления приёма (rx boosted gain) этого узла (SX12xx и LR1110, v1.14.1+)

Использование:

Параметры:

По умолчанию: on

Временное примечание: Если вы обновились со старой версии до 1.14.1 без очистки flash-памяти, эта настройка будет иметь значение off из-за #2118


Система

Просмотр или изменение имени этого узла

Использование:

Параметры:

Устанавливается флагом сборки: ADVERT_NAME

По умолчанию: Зависит от платы

Примечание: Максимальная длина различается. Если задано местоположение, максимальная длина составляет 24 байта; в противном случае - 32 байта. Эмодзи и символы Unicode могут занимать более одного байта.


Просмотр или изменение широты этого узла

Использование:

Устанавливается флагом сборки: ADVERT_LAT

По умолчанию: 0

Параметры:


Просмотр или изменение долготы этого узла

Использование:

Устанавливается флагом сборки: ADVERT_LON

По умолчанию: 0

Параметры:


Просмотр или изменение идентификатора этого узла (закрытый ключ)

Использование:

Параметры:

Только через последовательный интерфейс:

Примечание: После установки требуется перезагрузка для применения изменений


Изменение пароля администратора этого узла

Использование:

Параметры:

Устанавливается флагом сборки: ADMIN_PASSWORD

По умолчанию: password

Примечание: В ответе на команду отображается обновлённый пароль для подтверждения.

Примечание: Любой узел, использующий этот пароль, будет добавлен в список ACL администраторов.


Просмотр или изменение гостевого пароля этого узла

Использование:

Параметры:

Устанавливается флагом сборки: ROOM_PASSWORD (только для Room Server)

По умолчанию: <пусто>


Просмотр или изменение информации о владельце этого узла

Использование:

Параметры:

По умолчанию: <пусто>

Примечание: Символы | преобразуются в переводы строк

Примечание: Требуется прошивка версии 1.12 или выше


Точная настройка показаний батареи

Использование:

Параметры:

По умолчанию: 0.0 (значение определяется платой)

Примечание: Возвращает сообщение «Error: unsupported by this board», если оборудование не поддерживает эту функцию


Просмотр открытого ключа этого узла

Использование: get public.key


Просмотр версии прошивки этого узла

Использование: ver


Просмотр настроенной роли этого узла

Использование: get role


Просмотр или изменение флага энергосбережения этого узла (только для ретранслятора)

Использование:

Параметры:

По умолчанию: off

Примечание: При включении устройство переходит в спящий режим между радиопередачами.


Маршрутизация

Просмотр или изменение флага ретрансляции этого узла

Использование:

Параметры:

По умолчанию: on


Просмотр или изменение размера хеша пути в рекламных сообщениях этого узла

Использование:

Параметры:

По умолчанию: 0

Примечание: параметр path.hash.mode задаёт размер кодирования ID/хеша низкого уровня, используемого в рекламных сообщениях ретранслятора. Этот параметр не влияет на размер ID/хеша пакетов, которые данный ретранслятор пересылает; в прошивках >= 1.14 должны пересылаться все размеры. Эта функция была добавлена в прошивке 1.14.

Временное примечание: рекламные сообщения с размером ID/хеша 2 или 3 байта могут иметь ограниченное распространение по сети, пока эта функция ещё новая, поскольку прошивки v1.13.0 и более ранние отбрасывают пакеты с многобайтовыми ID/хешами пути, поддерживая только 1-байтовые хеши. Перед использованием увеличенных размеров ID/хеша рекомендуется убедиться, что значительная часть устройств в сети уже работает на прошивке >= 1.14.


Просмотр или изменение обнаружения циклов для этого узла

Использование:

Параметры:

По умолчанию: off

Примечание: при включении этой функции ретрансляторы будут отклонять flood-пакеты, которые выглядят как зацикленные. В последнее время это наблюдалось в некоторых mesh-сетях при наличии хотя бы одного «плохого» ретранслятора (вероятно, с форком или кастомной прошивкой). Если полезная нагрузка изменяется и затем пересылается дальше, один и тот же пакет может вызвать шторм пакетов, повторяясь до максимальных 64 переходов. Эта функция была добавлена в прошивке 1.14.

Пример: если установлено значение loop.detect minimal и получен пакет с размером пути 1 байт, ретранслятор проверит, присутствует ли его собственный ID/хеш в пути. Если он уже закодирован 4 раза, пакет будет отклонён. Для пути размером 2 байта пакет отклоняется при наличии собственного ID/хеша 2 раза. Для пути размером 3 байта - при наличии собственного ID/хеша 1 раз.


Просмотр или изменение коэффициента задержки повторной передачи для flood-трафика

Использование:

Параметры:

По умолчанию: 0.5

Примечание: когда несколько близко расположенных ретрансляторов получают один и тот же flood-пакет, каждый ждёт случайное время перед повторной передачей, чтобы избежать одновременных коллизий. Этот коэффициент масштабирует размер случайного интервала ожидания. Более высокие значения уменьшают риск коллизий ценой увеличения задержки. Значение 0 полностью отключает этот интервал.


Просмотр или изменение коэффициента задержки повторной передачи для прямого трафика

Использование:

Параметры:

По умолчанию: 0.2

Примечание: используется тот же случайный интервал предотвращения коллизий, что и для txdelay, но применяется к прямому (не flood, маршрутизируемому) трафику. Значение по умолчанию ниже, поскольку прямые пакеты адресованы конкретному следующему узлу, и значительно меньшее количество узлов конкурирует за их ретрансляцию.


[Экспериментально] Просмотр или изменение задержки обработки входящего трафика

Использование:

Параметры:

По умолчанию: 0.0

Примечание: при включении этой функции ретрансляторы, получившие flood-пакет со слабым сигналом, помещают его в очередь задержки перед обработкой, тогда как узлы, получившие пакет с сильным сигналом, обрабатывают его сразу. Это даёт приоритет маршрутам с сильным сигналом. К моменту обработки копии пакета узлами со слабым сигналом пакет уже может распространиться по сети и быть подавлен как дубликат, что уменьшает количество лишних повторных передач.


Просмотр или изменение ограничения duty cycle

Использование:

Параметры:

По умолчанию: 50% (эквивалентно коэффициенту эфирного времени 1.0)

Примеры:

Примечание: добавлено в прошивке v1.15.0


Просмотр или изменение коэффициента эфирного времени (ограничения duty cycle)

Устарело начиная с прошивки v1.15.0. Используйте get/set dutycycle.

Использование:

Параметры:

По умолчанию: 1.0


Просмотр или изменение порога локальных помех

Использование:

Параметры:

По умолчанию: 0.0


Просмотр или изменение интервала сброса AGC

Использование:

Параметры:

По умолчанию: 0.0


Включение или отключение поддержки Multi-Acks

Использование:

Параметры:

По умолчанию: 0


Просмотр или изменение интервала flood-рекламы

Использование:

Параметры:

По умолчанию: 12 (ретранслятор) - 0 (датчик)


Просмотр или изменение интервала рекламы с нулевым числом переходов

Использование:

Параметры:

По умолчанию: 0


Ограничение числа переходов для flood-сообщения

Использование:

Параметры:

По умолчанию: 64


Ограничение числа переходов для flood-сообщения без области

Использование:

Параметры:

По умолчанию: 64 - (0xFF означает, что значение не установлено и будет следовать flood.max, пока не будет задано явно.)

Примечание: как альтернатива region denyf *, установка flood.max.unscoped в более низкое значение, например 3, позволит локальным сообщениям без области распространяться, предотвращая при этом flood из соседних регионов.


Ограничение числа переходов для flood-рекламного сообщения

Использование:

Параметры:

По умолчанию: 8


ACL

Добавление, обновление или удаление разрешений для компаньона

Использование:

Параметры:

Примечание: запись удаляется, если параметр permissions не указан


Просмотр текущего ACL

Использование:

Только через последовательный интерфейс: Да


Просмотр или изменение флага «только чтение» этого серверного узла комнаты

Использование:

Параметры:

По умолчанию: off


Управление регионами (v1.10.+)

Массовая загрузка списков регионов

Использование:

Параметры:

Примечание: flood_flag: необязательный параметр F, разрешающий flood

Примечание: отступы создают отношения родитель–дочерний элемент (максимум 8 уровней)

Примечание: region load без имени не работает удалённо (интерактивный режим)


Сохранение изменений регионов, сделанных после перезагрузки

Использование:


Разрешить регион

Использование:

Параметры:

Примечание: установка для подстановочного региона * разрешает пакеты без транспортных кодов региона


Заблокировать регион

Использование:

Параметры:

Примечание: установка для подстановочного региона * отбрасывает пакеты без транспортных кодов региона


Показать информацию о регионе

Использование:

Параметры:


Просмотр или изменение домашнего региона этого узла

Использование:

Параметры:


Просмотр или изменение региона области действия по умолчанию для этого узла

Использование:

Параметры:


Создать новый регион

Использование:

Параметры:


Определение иерархии регионов (одна строка)

Использование:

Параметры (токены): разделяются пробелами. Логический курсор начинается в подстановочном регионе *.

Поведение: каждый созданный регион по умолчанию получает разрешение на flood (как и при использовании region put). В ответе возвращается результирующее дерево регионов (в том же формате, что и команда region без параметров); перед выполнением region save рекомендуется его проверить. При ошибке ответ имеет вид Err - ..., а регионы, созданные до возникновения ошибки, остаются на узле, аналогично частично выполненной последовательности команд region put.

Существующие регионы: region def не очищает существующее дерево. Если регион с таким именем уже существует, его родитель изменяется на текущий курсор; в противном случае создаётся новый регион. Чтобы начать с нуля, сначала удалите ненужные регионы через region remove.

Ограничения: последовательный интерфейс ретранслятора принимает одну строку длиной до 160 символов. Для больших деревьев используйте несколько команд region def; между командами курсор сбрасывается в *, поэтому следующую команду следует начинать с child|ancestor для возврата в нужное место дерева. Каждый токен может быть разделён символом | только один раз - запись region def a|b|c|d не является сокращением для плоского списка; см. пример ниже.

Пример - линейная цепочка (каждый токен становится дочерним по отношению к предыдущему):

region def a b c d e
region save

Пример - разветвлённое дерево (эквивалентно region put a, region put b a, region put c b, region put d c, region put e b, region put f e):

region def a b c d|b e f
region save

Пример - ошибка и частичное состояние:

region def a b c|nope d

Ответ: Err - unknown jump: nope. Регионы a, b и c были созданы до ошибки; d создан не был. Выполните region для проверки, затем повторите команду с исправленным переходом или внесите изменения через region remove / region put.

Пример - плоский список (каждый регион является дочерним для *). Используйте |* после каждого токена, чтобы вернуть курсор в корень перед следующим токеном:

region def a|* b|* c|* d|* e|* f
region save

Удалить регион

Использование:

Параметры:

Примечание: перед удалением региона необходимо удалить все его дочерние регионы


Просмотр всех регионов

Использование:

Только через последовательный интерфейс: Да

Параметры:

Примечание: требуется прошивка 1.12+


Вывод всех определённых регионов и разрешений flood

Использование:

Только через последовательный интерфейс: для прошивок старше 1.12.0 не требуется; для более старых версий обязательно


Примеры регионов

Пример 1: Использование флага F с именованным публичным регионом

region load
#Europe F
<пустая строка для завершения region load>
region save

Пояснение:


Пример 2: Использование подстановочного региона с флагом F

region load
* F
<пустая строка для завершения region load>
region save

Пояснение:


Пример 3: Использование подстановочного региона без флага F

region load
*
<пустая строка для завершения region load>
region save

Пояснение:


Пример 4: Вложенный публичный регион с флагом F

region load
#Europe F
  #UK
    #London
    #Manchester
  #France
    #Paris
    #Lyon
<пустая строка для завершения region load>
region save

Пояснение:


Пример 5: Подстановочный регион с вложенными публичными регионами

region load
* F
  #NorthAmerica
    #USA
      #NewYork
      #California
    #Canada
      #Ontario
      #Quebec
<пустая строка для завершения region load>
region save

Пояснение:


GPS (если поддержка GPS включена при сборке)

Просмотр или изменение состояния GPS

Использование:

Параметры:

По умолчанию: off

Примечание: формат вывода:


Синхронизация часов узла по времени GPS

Использование:


Установить местоположение узла по координатам GPS

Использование:


Просмотр или изменение политики GPS-рекламы

Использование:

Параметры:

По умолчанию: prefs


Датчики (если поддержка датчиков включена при сборке)

Просмотр списка датчиков на этом узле

Использование: sensor list [start]

Параметры:

Примечание: Формат вывода: <var_name>=<value>\n


Просмотр или изменение значения датчика

Использование:

Параметры:


Мост (если поддержка моста включена при сборке)

Просмотр типа моста, включённого в сборку

Использование: get bridge.type


Просмотр или изменение флага включения моста

Использование:

Параметры:

По умолчанию: off


Добавление задержки к пакетам, маршрутизируемым через этот мост

Использование:

Параметры:

По умолчанию: 500


Просмотр или изменение источника пакетов, передаваемых через мост на внешний интерфейс

Использование:

Параметры:

По умолчанию: logTx


Просмотр или изменение скорости моста (только RS-232)

Использование:

Параметры:

По умолчанию: 115200


Просмотр или изменение канала, используемого для моста (только ESPNow)

Использование:

Параметры:


Установка секрета ESP-Now

Использование:

Параметры:

По умолчанию: Зависит от платы


Просмотр версии загрузчика (только nRF52)

Использование: get bootloader.ver


Просмотр поддержки управления питанием

Использование: get pwrmgt.support


Просмотр текущего источника питания

Использование: get pwrmgt.source

Примечание: Возвращает ошибку на платах без поддержки управления питанием.


Просмотр причин сброса при загрузке и выключения

Использование: get pwrmgt.bootreason

Примечание: Возвращает ошибку на платах без поддержки управления питанием.


Просмотр напряжения питания при загрузке

Использование: get pwrmgt.bootmv

Примечание: Возвращает ошибку на платах без поддержки управления питанием.