Meshtastic — автономная mesh-сеть связи на LoRa

Meshtastic объединяет компактные LoRa-устройства в распределенную сеть, где каждый узел может ретранслировать сообщения. Это позволяет общаться без сотовой связи и интернета, в горах, лесу, на мероприятиях или в экспедициях.

Что такое Meshtastic?

Meshtastic — это открытая платформа для создания mesh-сетей на базе LoRa радиомодулей. Каждый узел в сети может передавать свои сообщения и ретранслировать чужие, создавая децентрализованную систему связи без зависимости от операторов и интернета.

Легальность в России

В России использование LoRa устройств разрешено в диапазонах 864-865 МГц и 866-868 МГц с мощностью до 25 мВт без регистрации. Для диапазона 868,7-869,2 МГц (узкая полоса 500 кГц) разрешена мощность до 100 мВт с соблюдением рабочего цикла ≤10% или использованием LBT. Это позволяет использовать Meshtastic для личных целей, походов и резервной связи.

Основные концепции

  • Mesh-топология: каждый узел — ретранслятор
  • LoRa технология: дальняя связь, низкое энергопотребление
  • Hop limit: ограничение числа ретрансляций (обычно 3-7)
  • Роли узлов: Client, Router, Repeater, Tracker
  • Шифрование: AES256 для безопасности сообщений

Где это применяют

Походы и экспедиции

Связь в горах и отдаленных местах без сотовой сети

Садоводство и дачи

Связь на дачных участках и в садоводческих товариществах

Спасательные операции

Резервный канал связи для служб спасения

Сельская местность

Связь в зонах со слабым покрытием операторов

Ключевые преимущества

Автономность: работает без интернета и сотовой связи
Дальность: до 10-15 км в городе, до 50+ км на открытой местности
Низкое энергопотребление: батареи хватает на недели или месяцы
Открытая экосистема: open source firmware и множество совместимых устройств

Техническая информация

Как работает сеть Meshtastic

Сообщения из приложения передаются на устройство по Bluetooth, Wi-Fi/Ethernet или USB, а затем узлы сети помогают доставить их дальше используя LoRa радиоканал.

Широковещательная отправка

Первичная передача идет в эфир, и соседние узлы могут ее повторить для расширения покрытия.

До 3 повторов

Если подтверждение не получено, узел повторит сообщение до трех раз для надежности доставки.

Ограничение hop limit

Каждая ретрансляция уменьшает hop limit, при нуле сообщение не пересылается дальше.

Почему hop limit не может быть больше 7?

В протоколе Meshtastic на поле hop_limit выделено ровно 3 бита в заголовке пакета. С помощью 3 битов можно закодировать значения от 0 до 7 (всего 2³ = 8 значений).

000 = 0, 001 = 1, 010 = 2, 011 = 3, 100 = 4, 101 = 5, 110 = 6, 111 = 7

При отправке сообщения узел устанавливает hop_limit (обычно 3-7). Каждый промежуточный узел, ретранслируя пакет, уменьшает это значение на 1. Когда hop_limit достигает 0, пакет больше не пересылается — это предотвращает бесконечное хождение пакетов по сети.

hop_limit = 7

Максимальное покрытие, до 7 ретрансляций

hop_limit = 3

Рекомендуемое значение для городской сети

hop_limit = 0

Пакет отбрасывается, не ретранслируется

Managed Flood Routing

Схема маршрутизации Managed Flood - алгоритм умной ретрансляции с приоритетом дальних узлов

Перед ретрансляцией узел слушает эфир и не дублирует чужие повторы. Дальние узлы с низким SNR ретранслируют раньше для оптимизации покрытия.

  • Снижение нагрузки на эфир
  • Избегание дубликатов
  • Приоритет дальним узлам

Next-Hop Routing (2.6+)

Схема маршрутизации Next-Hop - оптимальный путь для direct-сообщений через конкретные узлы

Для direct-сообщений в версиях 2.6+ применяется next-hop routing — более экономичный путь через конкретные узлы с лучшим качеством связи.

  • Меньше лишних передач
  • Выбор оптимального маршрута
  • Экономия энергии

Роли узлов (14 типов)

В Meshtastic роли определяют приоритет ретрансляции, энергопотребление и поведение в сети. Каждая роль оптимизирована под конкретный сценарий использования и влияет на то, как устройство обрабатывает пакеты от других узлов.

Важно: Роль устройства влияет на приоритет ретрансляции в алгоритме Managed Flood. Роутеры ретранслируют быстрее всех, клиенты — с задержкой, а CLIENT_MUTE не ретранслирует вообще.

Клиентские роли

CLIENT

Стандартный режим для мобильных устройств.

  • Отправляет и принимает сообщения
  • Ретранслирует с низким приоритетом (после роутеров)
  • Экран включается при получении сообщений
  • Оптимален для повседневного использования

CLIENT_MUTE

Тихий клиент — не ретранслирует чужие пакеты.

  • Только отправка и приём своих сообщений
  • Не участвует в ретрансляции
  • Снижает нагрузку на эфир в плотных сетях
  • Экономит батарею на мобильных устройствах

CLIENT_HIDDEN

Скрытый режим для минимальной видимости в сети.

  • Не отправляет периодические beacon'ы
  • Не ретранслирует пакеты
  • Передаёт только при необходимости
  • Для скрытых установок или максимальной экономии энергии

CLIENT_BASE

Личная базовая станция с подключением к питанию.

  • Повышенный приоритет ретрансляции для избранных узлов
  • Может служить мостом MQTT
  • Предпочтительна работа от сети 24/7
  • Оптимальна для домашних установок

Роутеры и ретрансляторы

ROUTER

Основная инфраструктурная роль для стационарных узлов.

  • Максимальный приоритет ретрансляции (первыми)
  • Виден в списке узлов сети
  • Постоянное прослушивание эфира
  • Требует подключения к питанию
  • Оптимален для высоких точек (крыши, мачты)

ROUTER_CLIENT

Гибридный режим: роутер с функциями клиента.

  • Ретранслирует как роутер
  • Включает экран при получении сообщений
  • Отправляет собственные сообщения и позицию
  • Полезен для портативных роутеров

REPEATER

Минималистичный ретранслятор для инфраструктуры.

  • Только ретрансляция, без отправки своих данных
  • Скрыт из списка узлов
  • Не отправляет telemetry, позицию
  • Минимальное потребление (для солнечных панелей)
  • Идеален для удалённых точек расширения покрытия

Специализированные роли

TRACKER

Приоритет GPS-позиции для отслеживания перемещений.

  • Частая отправка GPS координат
  • Снижен приоритет ретрансляции
  • Оптимизирован для батареи
  • Для отслеживания людей, транспорта, животных

LOST_AND_FOUND

Регулярная трансляция местоположения для поиска.

  • Постоянная отправка координат даже без запроса
  • Увеличенная частота beacon'ов
  • Для поиска потерянных устройств (рюкзаки, домашние животные)
  • Быстрый расход батареи

SENSOR

Оптимизирован для датчиков окружающей среды.

  • Приоритет отправки телеметрии
  • Низкое энергопотребление
  • Не ретранслирует чужие пакеты
  • Для метеостанций, мониторинга окружающей среды

POWER_STRESS

Стресс-тестирование сети с высокой нагрузкой.

  • Максимальная частота передач
  • Для тестирования пропускной способности
  • Высокое энергопотребление
  • Не рекомендуется для обычного использования

Тактические роли (ATAK интеграция)

TAK

Интеграция с ATAK (Android Team Awareness Kit).

  • Поддержка TAK протокола для тактических операций
  • Сокращённые рутинные передачи
  • Приоритет критичным сообщениям
  • Для спасательных служб, военных применений

TAK_TRACKER

Автоматический трекинг для ATAK с PLI broadcasts.

  • Автоматическая отправка Position Location Information
  • Автономная работа без подключения к ATAK
  • Оптимизирован для отслеживания в реальном времени
  • Интеграция с картами ATAK

📊 Сравнение приоритетов ретрансляции

Порядок ретрансляции пакетов в алгоритме Managed Flood (от быстрых к медленным):

1. ROUTER, REPEATER — ретранслируют немедленно

2. ROUTER_CLIENT — быстрая ретрансляция

3. CLIENT, CLIENT_BASE — задержка перед ретрансляцией

4. TRACKER, TAK — низкий приоритет

CLIENT_MUTE, CLIENT_HIDDEN, SENSOR, LOST_AND_FOUND — не ретранслируют

Настройка пресетов LoRa

Для стабильной работы сети все узлы должны использовать одинаковые настройки радио.

Рекомендуемый пресет

MediumSlow — баланс скорости и дальности

SF: 11, BW: 250 kHz, CR: 4/8

Hop limit

7 прыжков — оптимально для большинства сетей

Позволяет покрыть значительную территорию

Структура пакета Meshtastic

Протокол Meshtastic использует Protocol Buffers (protobuf) для сериализации данных. Каждый пакет проходит через несколько уровней инкапсуляции перед отправкой по LoRa радиоканалу.

MeshPacket — основной пакет

Поле Тип Описание
from uint32 ID отправителя (32-битный адрес узла)
to uint32 ID получателя или broadcast адрес
channel uint8 Индекс канала (0-7)
id uint32 Уникальный ID пакета
hop_limit uint8 (3 бита) Максимальное число прыжков (0-7)
hop_start uint8 (3 бита) Начальное значение hop_limit
want_ack bool Требуется ли подтверждение доставки
priority enum Приоритет: MIN, BACKGROUND, DEFAULT, RELIABLE, ACK, MAX
rx_time uint32 Unix timestamp получения пакета
encrypted bytes Зашифрованная полезная нагрузка (до 237 байт)

Data Payload — содержимое пакета

После дешифрования поля encrypted получаем структуру Data:

Поле Тип Описание
portnum enum Тип данных: TEXT_MESSAGE, POSITION, NODEINFO, TELEMETRY и др.
payload bytes Данные в зависимости от portnum
want_response bool Ожидается ли ответ
dest uint32 Целевой адрес (для маршрутизации)
request_id uint32 ID запроса для связывания с ответом

Радио-метаданные

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

SNR (Signal-to-Noise Ratio)

Отношение сигнал/шум в дБ. Положительные значения — хорошая связь, отрицательные — слабая.

RSSI (Received Signal Strength)

Мощность принятого сигнала в дБм. Обычно от -120 до -30 дБм.

Hop Stat

Сколько прыжков пакет уже совершил: hop_start - hop_limit.

💡 Важно: Шифрование

Поле encrypted содержит данные, зашифрованные алгоритмом AES-256-CTR. Ключ шифрования генерируется из PSK (Pre-Shared Key) канала. Без правильного ключа невозможно прочитать содержимое сообщения, но метаданные пакета (from, to, hop_limit) остаются открытыми.

Устройства Meshtastic

Фильтр устройств

Используйте фильтры для поиска устройства из 24 доступных моделей, подходящего под ваши требования

Как выбрать устройство

Для автономных узлов

Выбирайте устройства на базе nRF52840 + SX1262/LR1110. Они обеспечивают минимальное энергопотребление и могут работать от батареи неделями. Рекомендуемые: RAK WisBlock, T-Echo, Seeed Card Tracker, Nano G2 Ultra.

Для домашних/стационарных узлов

Отдайте предпочтение устройствам на ESP32-S3 с Wi-Fi. Они могут работать как мосты между LoRa сетью и интернетом (MQTT). Рекомендуемые: Station G2, Heltec V4, T-Beam S3.

Для трекинга

Выбирайте платы со встроенным GPS модулем и компактным форм-фактором. Идеальны для отслеживания местоположения в походах. Рекомендуемые: Seeed Card Tracker T1000-E, Wio Tracker L1, Heltec Wireless Tracker.

Для DIY проектов

Начните с плат для разработки: Heltec LoRa32 V3/V4, LILYGO LoRa T3-S3, RAK WisBlock модули. Они дешевле, но требуют навыков пайки и настройки. Отличны для экспериментов и обучения.

Сеть Meshtastic в Алтайском крае и Барнауле

Присоединяйтесь к сообществу

Мы развиваем mesh-сеть Meshtastic на территории Алтайского края. Присоединяйтесь к нашему Telegram каналу для обмена опытом и координации.

📱 Telegram: @meshtastic_altai
Антенна

Часто задаваемые вопросы

Какой узел лучше: самосборный или готовый?

+

Готовые решения (RAK, LILYGO T-Beam, T-Echo): plug-and-play, быстрый старт, подходят для начинающих. Обычно дороже, но экономят время.

Самосборные (DIY ESP32 + SX1276): дешевле, требуют навыков пайки и настройки, больше гибкости в конфигурации. Подходят для экспериментов.

Рекомендация: Для первого устройства выбирайте готовое решение (T-Beam S3 или RAK), а для расширения сети можно добавить DIY узлы.

Какие настройки пресета использовать?

+

Для Алтайской сети используем пресет MediumSlow с hop limit = 7.

  • MediumSlow: SF11, BW 250 kHz, CR 4/8 — баланс дальности и скорости
  • Hop limit 7: позволяет покрыть значительную территорию
  • Частота: 868 МГц (для России)

Эти настройки обеспечивают хорошую дальность (до 10-15 км в городе, до 50+ км на открытой местности) при приемлемой скорости передачи.

Какие каналы использовать в сети?

+

Рекомендуемые каналы для Алтайской сети:

  • LongFast (канал 0): основной публичный канал для общения
  • #forest: для походов и лесных маршрутов
  • #void: технические обсуждения и тесты
  • #tg-bridge: мост с Telegram для интеграции с группой

Вы также можете создать приватные каналы с собственным ключом шифрования для коммуникации в вашей группе.

Есть ли другие сообщества в России?

+

Да, Meshtastic активно развивается в нескольких городах России:

  • Новосибирск: @meshtastic_nsk
  • Москва: @meshtastic_moscow
  • Санкт-Петербург: @meshtastic_spb
  • Екатеринбург: @meshtastic_ekb
  • Общероссийский канал: @meshtastic_russia

Присоединяйтесь к местным сообществам для координации узлов и обмена опытом.

Развитие инфраструктуры

Для создания устойчивой сети нужны стационарные узлы в ключевых точках:

Высотные точки

Размещайте роутеры на крышах зданий для максимального покрытия

Солнечные панели

Используйте солнечное питание для автономных узлов

Направленные антенны

Для дальних связей между стационарными точками

Альтернативные решения

Meshtastic — не единственное решение для автономной связи. Рассмотрим альтернативы и сравним их возможности.

Meshcore

Meshcore — российская разработка для создания mesh-сетей на базе ESP32 и nRF52. Фокус на высокой производительности и интеграции с существующими системами.

Особенности:

  • Поддержка различных радиомодулей (LoRa, Sub-GHz)
  • Собственный протокол маршрутизации
  • Веб-интерфейс для настройки
  • Интеграция с MQTT и другими протоколами
  • Поддержка голосовой связи (в разработке)

Reticulum

Reticulum — это криптографически защищенная система связи, работающая поверх любых физических каналов (LoRa, пакетное радио, TCP/IP, даже голуби).

Особенности:

  • Агностичность к физическому уровню
  • Встроенное шифрование и аутентификация
  • Автоматическое построение маршрутов
  • Поддержка различных интерфейсов (RNode, модемы)
  • Приложения: Nomad Network, Sideband

Сравнительная таблица

Характеристика Meshtastic Meshcore Reticulum
Лицензия GPL v3 (Open Source) Проприетарная/Open Source MIT (Open Source)
Поддержка устройств Широкая (ESP32, nRF52) ESP32, nRF52, STM32 Любые (через RNode/модемы)
Мобильное приложение Android, iOS Android, iOS (в разработке) Android (Sideband)
Дальность (LoRa) До 50+ км До 50+ км До 50+ км (зависит от модуля)
Шифрование AES-256 AES-256 Curve25519 + AES-256
Маршрутизация Managed Flood + Next-Hop Proprietary mesh Автоматический Link Budget
Сообщество Большое (международное) Растущее (Россия) Среднее (международное)
Простота настройки Высокая (приложение) Средняя (веб-интерфейс) Низкая (требует навыков)
Голосовая связь Нет (только текст) В разработке Нет
MQTT интеграция Да Да Через мосты

Какую систему выбрать?

Выбирайте Meshtastic, если:

  • Вам нужно простое решение "из коробки"
  • Важно большое сообщество и готовые устройства
  • Нужны удобные мобильные приложения
  • Достаточно текстовых сообщений и GPS-треков

Выбирайте Meshcore, если:

  • Нужна интеграция с другими системами
  • Требуется голосовая связь
  • Работаете в рамках российской экосистемы
  • Нужна большая гибкость настройки

Выбирайте Reticulum, если:

  • Нужна максимальная безопасность и анонимность
  • Хотите использовать разные физические каналы
  • Есть технические навыки для настройки
  • Важна универсальность и расширяемость

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

Некоторые устройства поддерживают работу со всеми тремя mesh-системами: Meshtastic, Meshcore и Reticulum. Это даёт гибкость выбора протокола и возможность экспериментировать с разными подходами к построению сети.

Устройство Технические характеристики
RAK4631 (WisBlock/WisMesh) MCU Nordic nRF52840 + LoRa-модуль SX1262. Поддержка диапазонов 433/470/799/865/868/915/920/923 МГц. Ультра-малопотребляющий, модульная система с разъёмом U.FL для антенны.
→ RAKWireless WisBlock
Heltec LoRa32 V4 (WiFi LoRa 32 V4) ESP32-S3R2 + SX1262, 2 МБ PSRAM, 16 МБ Flash. Варианты: High-Power (28 ± 1 dBm) и Low-Power (22 dBm). Поддержка солнечной панели и GNSS. Ультра-низкое энергопотребление (≤20 µA в режиме сна).
→ Heltec WiFi LoRa 32 V4
Heltec LoRa32 V3/3.1 ESP32-S3 + SX1262. Встроенный 0,96" OLED-дисплей, схема зарядки Li-Po, богатая GPIO разводка. Максимальная мощность передачи 21 ± 1 dBm.
→ Heltec WiFi LoRa 32 V3
Heltec Mesh Node T114 nRF52840 + SX1262, Bluetooth 5.0. Питание: USB-C, Li-ion аккумулятор или солнечная панель. Опциональный 1,14" цветной экран и GNSS-модуль. Глубина сна ≈11 µA, мощность передачи 21 ± 1 dBm.
→ Heltec Mesh Node T114
LILYGO T-Beam (S3 Core) ESP32-S3 + SX1262. GNSS-модули: NEO-M10S или L76K. Частоты 433/868/915 МГц, антенный разъём U.FL. Держатель батареи 18650, встроенная зарядка.
→ Meshtastic: T-Beam S3 Core
LILYGO T-Beam Supreme ESP32-S3 с 8 МБ PSRAM и 8 МБ Flash + SX1262. 1,3" OLED-дисплей, датчики QMI8658 (6-осевой IMU) и BME280. LoRa на частотах 433/868/915/923 МГц. Опционально GPS Ublox MAX-M10S или L76K.
→ LILYGO T-Beam GitHub
LILYGO T3 S3 ESP32-S3 + поддержка SX1262, SX1276, LR1121 и SX1280. Частоты 868/915 МГц и даже 2,4 ГГц режим. SMA-коннектор для антенны, встроенный 0,96" OLED-дисплей, слот для microSD.
→ Meshtastic: LoRa T3S3
LILYGO T-Deck ESP32-S3FN16R8 (Wi-Fi & Bluetooth) + SX1262. 2,8" IPS-экран, клавиатура, трекбол. Вторичный MCU ESP32-C3 для клавиатуры. Частоты 915/868/433 МГц, антенный разъём U.FL. Автономный коммуникатор.
→ Meshtastic: T-Deck
LILYGO T-Echo nRF52840 + SX1262. Частоты 433/868/915 МГц, встроенный GNSS-модуль L76K (GPS/BeiDou/GLONASS/QZSS). 1,54" e-Ink-экран, сенсорные кнопки, опциональный датчик BME280. Энергоэффективность для длительных походов.
→ Meshtastic: T-Echo

💡 Совет по выбору

Если вы планируете экспериментировать с разными mesh-протоколами, выбирайте устройства на базе ESP32-S3 + SX1262 (для Wi-Fi интеграции) или nRF52840 + SX1262 (для максимальной автономности). Эти комбинации обеспечивают лучшую совместимость и производительность.