Хранение и пересылка

Обзор

Модуль Store & Forward (S&F) позволяет клиентскому устройству запрашивать у специального сервера повторную отправку текстовых сообщений, если клиент временно находился вне зоны действия LoRa-сети.

Начиная с версии прошивки 2.4, при подключении клиентского приложения к серверу S&F история сообщений загружается автоматически. Это позволяет получить гораздо больше данных, чем стандартный кэш устройства (который ограничен примерно 30 пакетами).

Техническое ограничение

В качестве сервера Store & Forward могут выступать только устройства на базе ESP32 с распаянной памятью PSRAM (например, Lilygo T-Beam или T3S3).

Когда клиент запрашивает историю, сервер переотправляет через LoRa те сообщения, которые он сохранил. Сервер отправляет данные только за указанный временной интервал и не более заданного лимита сообщений.

Примечание: Сервер «не знает», какие именно сообщения пропустил клиент, поэтому возможна доставка дубликатов.

Внимание!

Будьте осторожны при запросе истории: сервер может отправить большой объем сообщений, что создаст высокую нагрузку на сеть на некоторое время. Запрос истории через LoRa недоступен на стандартном публичном канале.


Детали работы

Требования к серверу

  • Постоянная работа: Сервер должен быть всегда включен. Если он пропустит сообщение, оно не будет сохранено в истории.
  • Аппаратная часть: Процессор ESP32 и наличие PSRAM (T-Beam версии выше 1.0, T3S3 и аналоги).
Сценарии использования
СценарийСостав оборудованияОписание
Тест через LoRa1 сервер + 2 клиентаЕсли Клиент А отправил сообщение, пока Клиент Б был не в сети, Клиент Б может запросить историю у сервера, вернувшись в зону покрытия.
Тест через приложение1 сервер + 1 клиентУстройство-клиент отправляет сообщения, пока к серверу не подключено приложение. При подключении приложения к серверу история подтянется автоматически.

Настройка сервера
  1. Роль узла: Установите роль устройства ROUTER или активируйте параметр store_forward.is_server.
  2. Имя: Дайте узлу понятное имя, например: Base Node (S&F).
  3. Команды настройки:
ПараметрКоманда в CLIОписание
Включениеmeshtastic --set store_forward.enabled trueОбязательно для работы модуля.
Heartbeatmeshtastic --set store_forward.heartbeat falseОпционально: отключение «пульса» (сигнала о присутствии).

Совет

Рекомендуется отключать Heartbeat (отправляется каждые 15 минут) для снижения трафика, если вы планируете получать историю только через прямое подключение приложения к серверу.


Использование на стороне клиента

Функция реализована в приложениях для Android и iOS версии 2.2.23 и выше.

  • Android: Чтобы запросить историю, отправьте серверу личное сообщение (Direct Message) с текстом SF (без кавычек).
  • iOS: В списке узлов сервер S&F помечается особым значком (после получения Heartbeat). Зажмите имя узла и выберите «Client History».
  • Версия 2.4+: При прямом подключении телефона к серверному узлу через Bluetooth/Wi-Fi история сообщений подгружается в приложение автоматически.

Описание параметров (Settings)
НастройкаОписание
EnabledВключает или выключает модуль.
HeartbeatСервер периодически отправляет пакет в сеть. Это сообщает другим устройствам, что сервер доступен. Приложения (Android/iOS) могут отображать статус доступности сервера.
History Return MaxМаксимальное количество сообщений, которое сервер отправит клиенту за один запрос.
History Return WindowВременное окно (в минутах), за которое клиент может запросить сообщения.
RecordsМаксимальное количество записей в памяти. По умолчанию (0) модуль использует 2/3 доступной PSRAM (около 11 000 сообщений).
Is serverУстановите true, если устройство с PSRAM должно работать как сервер. Альтернатива роли ROUTER (доступно с версии 2.4).

Вы не можете скопировать содержимое этой страницы