Перейти к основному содержимому

Repeater и Room Server

Роли “сервера” в MeshCore

  • Repeater - нода, которая пересылает MeshCore‑пакеты и расширяет покрытие. Важно: она не обязана “ретранслировать всё подряд” как в некоторых других системах. Это часть messaging‑first дизайна MeshCore.
  • Room Server — сервер “комнаты” с историей сообщений. Клиент может уйти из зоны сети и потом догрузить историю.

Практическая рекомендация: repeater и room server лучше держать на отдельных устройствах. Технически room server может включить ретрансляцию, но это обычно не лучший вариант для “идеального” repeater.

Room Server: что это и как он “экономит эфир”

Room Server — это упрощённая “комната/доска объявлений” (BBS‑подход): сервер хранит историю и отдаёт её клиентам.

Зачем он нужен:

  • в каналах сообщения “живут” только в момент отправки: если вы были вне зоны покрытия — вы их пропустили;
  • в room server вы можете уйти из сети, вернуться позже и получить пропущенное.

Поведение, которое часто упоминают на практике:

  • при входе в комнату клиент получает последние 32 непросмотренных сообщения;
  • подключение к room server подразумевает прямую сессию с ним: во время этой сессии устройство старается работать в режиме прямой связи, а не flood (кроме фазы подключения). Это важно для масштабирования сети, потому что flood‑пакеты “дорожают”, когда пользователей становится больше.

Почему не стоит делать room server “ретранслятором”

В CLI может встречаться команда:

set repeat on

Технически room server может повторять пакеты, но это обычно не рекомендуют: room server не заменяет полноценный repeater по поведению/ожидаемым возможностям.

Рекомендация: ставьте repeater и room server на разные устройства и включайте ретрансляцию только там, где это действительно нужно.

Первичная настройка: радио‑параметры под регион

После первой прошивки серверного устройства важно выставить частоту/пресет под ваш регион, иначе:

  • устройство может работать на “неправильной” частоте;
  • управление по радио и совместимость с сетью будут страдать.

В CLI серверов встречается команда вида:

set freq {frequency}

Как администрировать repeater/room server

На практике встречаются несколько способов:

  1. Через веб‑интерфейс конфигуратора по USB‑serial (удобно для первичной настройки).
  2. Через web flasher с “Console” (подключение по USB и команды).
  3. Удалённо по радио из мобильного клиента MeshCore (если сервер уже в совместимости по радио).
  4. С T‑Deck (с расширенными возможностями, если они разблокированы) — удалённое администрирование по RF.

Локация для repeater: нужно ли?

Не обязательно для работы, но полезно для карт и учёта инфраструктуры.

В CLI может использоваться команда вида:

set lat <lat> set long <lon>

Пароли по умолчанию (и почему их нужно менять)

Админ‑пароль сервера

Встречается дефолтный пароль администратора: password.

Сразу после установки рекомендуется задать свой:

password {new-password}

Гостевой пароль для room server

Встречается дефолтный guest‑пароль: hello.

Сменить можно командой вида:

set guest.password {guest-password}

warning

Оставлять дефолтные пароли на публично доступной инфраструктурной ноде - плохая идея.

Ключи repeater: получить/задать (осторожно)

На серверных устройствах можно встретить команды:

  • get prv.key — вывести приватный ключ в консоль (USB‑serial).
  • set prv.key <hex> — установить приватный ключ.

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

warning

Приватный ключ - критичный секрет. Не публикуйте его и не оставляйте инфраструктурные ноды без физической защиты.

Коллизия “первого байта” публичного ключа

Если в вашей сети встречается коллизия по первому байту публичного ключа repeaters (по наблюдениям/инструментам), иногда генерируют новый ключ (и, соответственно, новый публичный) под нужные условия. В таких случаях важно:

  • понимать, зачем вы это делаете;
  • фиксировать изменения (иначе клиенты могут “потерять” сервер).

“Deafness” (плохая слышимость repeaters рядом с мощными помехами)

Если repeater стоит рядом с сильными источниками излучения и перестаёт “слышать” другие ноды, это иногда связывают с поведением AGC на некоторых радиочипах.

Встречается практический приём: периодически сбрасывать AGC таймером. Команда вида:

set agc.reset.interval <number>

Где число задаёт интервал, и некоторые значения вроде минимальных секунд дают заметный эффект. Настраивайте аккуратно и проверяйте влияние на сеть.

Observer (наблюдатель/анализатор)

В MeshCore‑экосистеме встречается сценарий “observer” - это нода (обычно на базе repeater‑прошивки), которая отправляет статистику и пакеты в онлайн‑анализатор по MQTT.

Подробная инструкция (с безопасными плейсхолдерами вместо чужих доступов): Observer и MQTT.

BRIDGE (серийный мост)

Если нужно “сшить” сети на разных частотах/настройках без интернета, иногда используют экспериментальные сборки BRIDGE (два repeaters, соединённые serial).

Подробности и ограничения: BRIDGE: мост между сетями.

Что дальше