
Новый легковесный гибридный протокол ячеистой маршрутизации для пакетных радиостанций
MeshCore — это легковесная, портативная C++ библиотека, обеспечивающая многоскачковую маршрутизацию пакетов для встраиваемых проектов с использованием LoRa и других пакетных радиостанций. Она создана для разработчиков, которые хотят строить устойчивые, децентрализованные сети связи, работающие без интернета.
MeshCore теперь поддерживает ряд устройств LoRa, что позволяет легко прошивать их без необходимости вручную компилировать прошивку. Пользователи могут загрузить предварительно собранный бинарный файл с помощью таких инструментов, как Adafruit ESPTool, и взаимодействовать с сетью через последовательную консоль. MeshCore предоставляет возможность создавать беспроводные ячеистые сети, аналогичные Meshtastic и Reticulum, но с упором на легковесную многоскачковую маршрутизацию пакетов для встраиваемых проектов. В отличие от Meshtastic, которая ориентирована на неформальное общение через LoRa, или Reticulum, предлагающей продвинутые сетевые возможности, MeshCore балансирует между простотой и масштабируемостью, что делает её идеальной для индивидуальных встраиваемых решений, где устройства (узлы) могут общаться на больших расстояниях, ретранслируя сообщения через промежуточные узлы. Это особенно полезно в автономных, аварийных или тактических ситуациях, когда традиционная коммуникационная инфраструктура недоступна.
Для разработчиков:
С примером Simple Secure Chat можно взаимодействовать через монитор последовательного порта в Visual Studio Code или через USB-терминал для последовательного порта на Android.
У нас есть предварительно собранная прошивка, готовая к загрузке на поддерживаемые устройства.
Прошивка Companion
К прошивке Companion можно подключиться через BLE, USB или Wi-Fi в зависимости от типа прошивки, которую вы загрузили.
Прошивки Repeater и Room Server
Прошивки Repeater и Room Server можно настроить через USB в веб-инструменте конфигурации.
Также ими можно управлять через LoRa в мобильном приложении с помощью функции удалённого управления.
MeshCore предназначен для устройств, перечисленных в MeshCore Flasher.
MeshCore — это программное обеспечение с открытым исходным кодом, выпущенное под лицензией MIT. Вы можете свободно использовать, изменять и распространять его в личных и коммерческих проектах.
Пожалуйста, отправляйте Pull Request'ы, используя ветку 'dev' в качестве базовой! Для небольших изменений просто отправьте свой PR, и мы постараемся его рассмотреть, но для более «значительных» изменений, пожалуйста, сначала создайте Issue и начните обсуждение. Лучше сначала озвучить, чего вы хотите достичь, и попытаться прийти к консенсусу относительно наилучшего подхода, особенно если это влияет на структуру или архитектуру данной кодовой базы.
Вот несколько общих принципов, которым следует стараться следовать:
Помогите нам расставить приоритеты! Отмечайте thumbs-up те issues/PR, которые наиболее важны для вас. Мы учитываем количество реакций при планировании работы.
Чтобы запустить модульные тесты, выполните следующую команду:
pio test --environment native --verbose
В очереди есть ряд довольно крупных функций, без привязки к конкретным срокам. В примерном хронологическом порядке: