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
На практике встречаются несколько способов:
- Через веб‑интерфейс конфигуратора по USB‑serial (удобно для первичной настройки).
- Через web flasher с “Console” (подключение по USB и команды).
- Удалённо по радио из мобильного клиента MeshCore (если сервер уже в совместимости по радио).
- С T‑Deck (с расширенными возможностями, если они разблокированы) — удалённое администрирование по RF.
Локация для repeater: нужно ли?
Не обязательно для работы, но полезно для карт и учёта инфраструктуры.
В CLI может использоваться команда вида:
set lat <lat> set long <lon>
Пароли по умолчанию (и почему их нужно менять)
Админ‑пароль сервера
Встречается дефолтный пароль администратора: password.
Сразу после установки рекомендуется задать свой:
password {new-password}
Гостевой пароль для room server
Встречается дефолтный guest‑пароль: hello.
Сменить можно командой вида:
set guest.password {guest-password}
Оставлять дефолтные пароли на публично доступной инфраструктурной ноде - плохая идея.
Ключи repeater: получить/задать (осторожно)
На серверных устройствах можно встретить команды:
get prv.key— вывести приватный ключ в консоль (USB‑serial).set prv.key <hex>— установить приватный ключ.
После смены ключа часто требуется перезагрузка, чтобы изменения вступили в силу.
Приватный ключ - критичный секрет. Не публикуйте его и не оставляйте инфраструктурные ноды без физической защиты.
Коллизия “первого байта” публичного ключа
Если в вашей сети встречается коллизия по первому байту публичного ключа repeaters (по наблюдениям/инструментам), иногда генерируют новый ключ (и, соответственно, новый публичный) под нужные условия. В таких случаях важно:
- понимать, зачем вы это делаете;
- фиксировать изменения (иначе клиенты могут “потерять” сервер).
“Deafness” (плохая слышимость repeaters рядом с мощными помехами)
Если repeater стоит рядом с сильными источниками излучения и перестаёт “слышать” другие ноды, это иногда связывают с поведением AGC на некоторых радиочипах.
Встречается практический приём: периодически сбрасывать AGC таймером. Команда вида:
set agc.reset.interval <number>
Где число задаёт интервал, и некоторые значения вроде минимальных секунд дают заметный эффект. Настраивайте аккуратно и проверяйте влияние на сеть.
Observer (наблюдатель/анализатор)
В MeshCore‑экосистеме встречается сценарий “observer” - это нода (обычно на базе repeater‑прошивки), которая отправляет статистику и пакеты в онлайн‑анализатор по MQTT.
Подробная инструкция (с безопасными плейсхолдерами вместо чужих доступов): Observer и MQTT.
BRIDGE (серийный мост)
Если нужно “сшить” сети на разных частотах/настройках без интернета, иногда используют экспериментальные сборки BRIDGE (два repeaters, соединённые serial).
Подробности и ограничения: BRIDGE: мост между сетями.