Обзор
Модуль 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 и аналоги).
Сценарии использования
| Сценарий | Состав оборудования | Описание |
| Тест через LoRa | 1 сервер + 2 клиента | Если Клиент А отправил сообщение, пока Клиент Б был не в сети, Клиент Б может запросить историю у сервера, вернувшись в зону покрытия. |
| Тест через приложение | 1 сервер + 1 клиент | Устройство-клиент отправляет сообщения, пока к серверу не подключено приложение. При подключении приложения к серверу история подтянется автоматически. |
Настройка сервера
- Роль узла: Установите роль устройства
ROUTERили активируйте параметрstore_forward.is_server. - Имя: Дайте узлу понятное имя, например:
Base Node (S&F). - Команды настройки:
| Параметр | Команда в CLI | Описание |
| Включение | meshtastic --set store_forward.enabled true | Обязательно для работы модуля. |
| Heartbeat | meshtastic --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). |