Meshtastic: связь без интернета

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

Это не запасной интернет: через Meshtastic нельзя открыть сайт, позвонить, отправить обычное SMS или написать человеку в Telegram, если у него нет ноды в той же сети. На Meshtastic нельзя полагаться как на гарантированную связь с экстренными службами.

Сеть в Шелково только развивается, а гарантированного покрытия пока нет. Это эксперимент для технически подкованных энтузиастов: участник сам покупает, настраивает, питает и обслуживает ноду. Если хотите участвовать, заранее напишите координатору эксперимента silentroach в Telegram: уточним задачу, подберем совместимое устройство и проверим связь, пока обычные каналы доступны.

Что понадобится

Для первой пробы нужны готовая плата Meshtastic на 868 МГц, подходящая антенна, питание или аккумулятор и телефон с приложением. Недорогой вариант на ESP32, например Heltec LoRa 32 или LILYGO T3-S3, удобен для стационарной ноды с Wi-Fi. Платы на nRF52, например RAK4631 или Heltec T114, экономнее, но подключаются к интернету только через внешний клиент.

⚠️ Перед включением ноды подключите антенну на 868 МГц. Без нее передатчик может выйти из строя.

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

Meshtastic использует маломощную радиотехнологию LoRa. Телефон подключается к ноде по Bluetooth или локальной сети и служит клавиатурой и экраном. SIM-карта и интернет для самого радиообмена не нужны.

Личные ноды участников могут попутно передавать сообщения дальше по цепочке. Дальность зависит от рельефа, высоты и антенны, поэтому покрытие измеряют на месте. Если промежуточная нода выключится, маршрут через нее пропадет; для работы при отключении электричества ключевым устройствам нужно резервное питание.

Безопасность

Публичный канал LongFast использует стандартный ключ AQ==, поэтому его сообщения может прочитать любой пользователь Meshtastic. В групповых каналах нет надежной аутентификации отправителя: имя можно подменить. Не отправляйте секреты, персональные данные и точные координаты установки.

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

Используйте актуальную официальную прошивку, не включайте Legacy Admin channel и замените стандартный фиксированный PIN Bluetooth 123456.

Закон и радиоэфир

Профиль RU использует полосу 868,7–869,2 МГц. Приложение к решению ГКРЧ устанавливает для нее максимальную эквивалентную изотропно-излучаемую мощность 100 мВт и рабочий цикл не более 10% либо применение прослушивания перед передачей. Пункт 23 исключений из Постановления Правительства РФ № 1800 освобождает от регистрации квалифицируемые как оконечные устройства при эффективной излучаемой мощности не более 25 мВт. Это исключение из требования регистрации, а не разрешение для любой платы или схемы установки.

Для личной ноды используйте актуальную официальную прошивку, регион RU, мощность передатчика 10 dBm и документированное усиление антенны не более 3 dBi. Такая комбинация дает расчетную ЭИИМ около 13 dBm, или 20 мВт, до учета потерь в кабеле.

Радио и публичный канал

Для начала используем стандартный публичный канал LongFast. Личные устройства участников обмениваются сообщениями и могут попутно ретранслировать пакеты.

  • Region: RU.
  • TX power: 10 dBm. Это 10 мВт на выходе передатчика; с антенной до 3 dBi расчетная ЭИИМ составляет около 20 мВт без учета потерь в кабеле.
  • Modem preset: LONG_FAST. Это базовый профиль Meshtastic с разумным балансом дальности, скорости и нагрузки на эфир.
  • Frequency slot: 0, автоматический выбор для стандартного публичного канала.
  • Device role: CLIENT. Личные ноды смогут помогать общей сети ретрансляцией; для переносного устройства, которое не должно ретранслировать, подойдет CLIENT_MUTE.
  • Rebroadcast mode: ALL. Нода помогает публичной сети передавать пакеты с совместимыми настройками радио.
  • Hop limit: 3. Для локальной сети этого обычно хватает, а более высокое значение создает лишние повторы в эфире.
  • Channel role: PRIMARY. Через основной канал Meshtastic отправляет сообщения и служебные пакеты ноды.
  • PSK: AQ==. Это стандартный ключ публичного канала LongFast.
  • Uplink: выключен. Эта нода не будет отправлять сообщения канала в MQTT.
  • Downlink: выключен. Эта нода не будет переносить сообщения из интернета в локальный радиоэфир.
  • Position precision: 0. Нода не будет передавать свои координаты другим устройствам по радио.

Карта ONEmesh

ONEmesh — сторонняя публичная карта российских нод Meshtastic. Она помогает показать, что сеть в районе существует, но не нужна для радиообмена и не управляется этим сайтом.

Map reporting отправляет отдельный незашифрованный отчет: постоянный ID, название ноды, примерные широту и долготу, высоту, модель, версию прошивки, роль, имя основного канала, настройки радио и число недавно услышанных устройств. Точность 729 м округляет только широту и долготу, но не делает ноду анонимной. История местоположения хранится на карте 30 дней.

При настройках ниже нода отправляет свой отчет карты, но не сообщения публичного канала.

Для Шелково используется topic msh/RU/SKH: SKHкод зоны Ступино-Кашира. Актуальные параметры публикует ONEmesh в своей инструкции.

В разделе MQTT:

  • MQTT enabled: да. Модуль нужен только для отправки отчета карты через интернет.
  • Server address: mqtt.onemesh.ru. Это MQTT-сервер ONEmesh.
  • Username: onemesh, Password: onecat. Это опубликованные ONEmesh реквизиты обычного подключения; локальный Downlink все равно должен оставаться выключенным.
  • TLS: включен. Соединение с MQTT-сервером будет защищено при передаче через интернет.
  • Encryption: включено. Настройка защищает канальные пакеты, если Uplink когда-нибудь включат, но не шифрует отчет карты.
  • JSON output: выключен. Карте достаточно штатных пакетов Meshtastic, а незашифрованный JSON не нужен.
  • Root topic: msh/RU/SKH. Этот topic относит ноду к зоне Ступино-Кашира на карте.
  • Client proxy: выключен для Wi-Fi, включен для интернета через телефон. Wi-Fi на ESP32 работает автономно, но отключает Bluetooth; прокси требует подключенного телефона и не гарантирует ежечасный отчет.
  • Map reporting: да, согласие на отправку: да. Без согласия прошивка не отправит отчет карты.
  • Map report position precision: 729 м. Координата хранится в ноде, а карта получает округленную широту и долготу; если это слишком открыто, отключите отчет.
  • интервал отчета: 3600 секунд. Это минимальный интервал Meshtastic и рекомендация ONEmesh; отчет передается через интернет и не создает LoRa-пакет в полосе 868 МГц.

В разделе Position:

  • GPS mode: DISABLED, Fixed position: включено. Для стационарной ноды задайте фактические координаты с телефона или вручную; без GPS или сохраненной позиции карта не сможет правильно разместить точку.

В разделе LoRa:

  • OK to MQTT: нет. Это дополнительный запрет на отправку пакетов публичного канала в MQTT.
  • Ignore MQTT: да. Нода отбрасывает радиопакеты, которые ранее прошли через MQTT. Это предотвращает обычный возврат интернет-пакетов в радиоэфир, но не служит контролем доступа.

Если TLS не устанавливается, не отправляйте отчет до устранения проблемы. Карта необязательна, а радиосвязь продолжит работать без нее.

Поиск по сайту