Назад к обновлениям
New releaseAug 9, 2026

MeshCore room-server-v1.17.0

Новый легковесный гибридный протокол ячеистой маршрутизации для пакетных радиостанций

Поделиться

О MeshCore

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

🔍 Что такое MeshCore?

MeshCore теперь поддерживает ряд устройств LoRa, что позволяет легко прошивать их без необходимости вручную компилировать прошивку. Пользователи могут прошить готовый бинарный файл с помощью таких инструментов, как Adafruit ESPTool, и взаимодействовать с сетью через последовательную консоль. MeshCore предоставляет возможность создания беспроводных ячеистых сетей, аналогичных Meshtastic и Reticulum, но с акцентом на легковесную многоскачковую маршрутизацию пакетов для встраиваемых проектов. В отличие от Meshtastic, ориентированного на повседневную связь по LoRa, или Reticulum, предлагающего продвинутые сетевые возможности, MeshCore сочетает простоту с масштабируемостью, что делает его идеальным для пользовательских встраиваемых решений, где устройства (узлы) могут обмениваться данными на больших расстояниях, ретранслируя сообщения через промежуточные узлы. Это особенно полезно в автономных, аварийных или тактических ситуациях, когда традиционная инфраструктура связи недоступна.

⚡ Ключевые возможности

  • Многоскачковая маршрутизация пакетов
    • Устройства могут пересылать сообщения через несколько узлов, расширяя зону покрытия за пределы досягаемости одного радиомодуля.
    • Поддерживается настраиваемое количество скачков для баланса между эффективностью сети и предотвращением избыточного трафика.
    • Узлы используют фиксированные роли, где узлы «Companion» вообще не повторяют сообщения, чтобы предотвратить использование неблагоприятных маршрутов.
  • Поддержка радиомодулей LoRa — работает с Heltec, RAK Wireless и другим оборудованием на базе LoRa.
  • Децентрализация и устойчивость — не требуется центральный сервер или интернет; сеть самовосстанавливается.
  • Низкое энергопотребление — идеально для устройств с батарейным или солнечным питанием.
  • Простота развёртывания — готовые примеры приложений позволяют легко начать работу.

🎯 Для чего можно использовать MeshCore?

  • Автономная связь: оставайтесь на связи даже в отдалённых районах.
  • Реагирование на чрезвычайные ситуации и восстановление после катастроф: развёртывание мгновенных сетей там, где инфраструктура вышла из строя.
  • Активный отдых: связь во время походов, кемпинга и приключенческих гонок.
  • Тактические и охранные применения: военные, правоохранительные органы и частная охрана.
  • IoT и сенсорные сети: сбор данных с удалённых датчиков и их ретрансляция в центральное место.

🚀 Как начать работу

Для разработчиков:

  • Установите PlatformIO в Visual Studio Code.
  • Клонируйте и откройте репозиторий MeshCore в Visual Studio Code.
  • Ознакомьтесь с примерами приложений, которые можно изменять и запускать:
    • Companion Radio — для использования с внешним чат-приложением через BLE, USB или Wi-Fi.
    • KISS Modem — мост последовательного протокола KISS для хост-приложений. (документация протокола)
    • Simple Repeater — расширяет покрытие сети путём ретрансляции сообщений.
    • Simple Room Server — простой BBS-сервер для общих сообщений.
    • Simple Secure Chat — защищённая текстовая связь между устройствами на базе терминала.
    • Simple Sensor — удалённый сенсорный узел с телеметрией и оповещениями.

С примером Simple Secure Chat можно взаимодействовать через Serial Monitor в Visual Studio Code или с помощью Serial USB Terminal на Android.

⚡️ Прошивальщик MeshCore

У нас есть готовые прошивки для прошивки на поддерживаемых устройствах.

  • Откройте https://meshcore.io/flasher
  • Выберите поддерживаемое устройство
  • Прошейте один из типов прошивки:
    • Companion, Repeater или Room Server
  • После завершения прошивки вы можете подключиться с помощью одного из клиентов MeshCore, перечисленных ниже.

📱 Клиенты MeshCore

Прошивка Companion

К прошивке companion можно подключиться через BLE, USB или Wi-Fi в зависимости от типа прошитой прошивки.

Прошивка Repeater и Room Server

Прошивку repeater и room server можно настроить через USB в веб-инструменте конфигурации.

Ими также можно управлять через LoRa в мобильном приложении с помощью функции Remote Management.

🛠 Совместимость с оборудованием

MeshCore разработан для устройств, перечисленных в MeshCore Flasher

📜 Лицензия

MeshCore — это программное обеспечение с открытым исходным кодом, выпущенное под лицензией MIT. Вы можете свободно использовать, изменять и распространять его для личных и коммерческих проектов.

Участие в разработке

Пожалуйста, отправляйте PR, используя 'dev' в качестве базовой ветки! Для незначительных изменений просто отправьте свой PR, и мы постараемся его рассмотреть, но для всего более «значимого» сначала откройте Issue и начните обсуждение. Лучше сначала озвучить, чего вы хотите достичь, и попытаться прийти к консенсусу относительно наилучшего подхода, особенно когда это влияет на структуру или архитектуру этой кодовой базы.

Вот несколько общих принципов, которых следует придерживаться:

  • Будьте проще. Пожалуйста, не думайте как программист высокоуровневого языка. Думайте как во встраиваемых системах и держите код лаконичным, без лишних слоёв.
  • Никакого динамического выделения памяти, кроме как во время функций setup/begin.
  • Используйте тот же стиль скобок и отступов, что и в основных исходных модулях. (.clang-format, вероятно, скоро будет добавлен, но, пожалуйста, НЕ переформатируйте существующий код задним числом. Это лишь создаёт ненужные диффы, которые затрудняют поиск проблем)

Помогите нам расставить приоритеты! Пожалуйста, ставьте палец вверх на issues/PR, которые для вас наиболее важны. Мы учитываем количество реакций при планировании работы.

Запуск модульных тестов

Чтобы запустить модульные тесты, выполните следующую команду:

pio test --environment native --verbose

Дорожная карта / Список задач

Категории