OpenMANET — проект с открытым исходным кодом для построения беспроводных самоорганизующихся mesh-сетей дальнего радиуса действия, так называемых MANET (Mobile Ad-hoc Network). В качестве узлов используются одноплатные компьютеры Raspberry Pi и чипы Wi-Fi HaLow (стандарт 802.11ah) австралийской компании Morse Micro.

Интерес к проекту вырос после появления USB-адаптеров Wi-Fi HaLow от Morse Micro: пользователи отмечают, что с ними для сборки узла больше не понадобятся платы расширения или модули M.2, а значит, OpenMANET может получить широкое распространение. Wi-Fi HaLow работает в субгигагерцевом диапазоне, поэтому сигнал распространяется дальше и лучше проходит через препятствия, чем привычный Wi-Fi на частотах 2,4 и 5 ГГц, а скорость остаётся заметно выше, чем у LoRa.

Логотип проекта OpenMANETЛоготип OpenMANET

Для чего нужен OpenMANET

Проект ориентирован на поисково-спасательные работы, ликвидацию последствий стихийных бедствий, страйкбольные игры и другие ситуации, когда нужно работать автономно или обычная инфраструктура связи вышла из строя. По сути, это альтернатива сетям Meshtastic и MeshCore на базе LoRa: пропускная способность гораздо выше, но оборудование дороже и потребляет больше энергии.

реклама кормит Уточку 🦆

OpenMANET поддерживает основные функции полевой связи:

  • голосовую связь в режиме рации (push-to-talk);
  • обмен GPS-координатами участников;
  • подключение камер и трансляцию видеопотоков;
  • интеграцию с ATAK (Android Team Awareness Kit) — Android-приложением для ситуационной осведомлённости с картами и метками.

Выход всей mesh-сети в интернет возможен через один узел-шлюз (mesh gate), подключённый к спутниковому Starlink или сотовой сети.

реклама кормит Уточку 🦆

Поддерживаемое оборудование

Проект работает на нескольких аппаратных платформах, среди которых Gateworks Venice, Raspberry Pi Zero 2 W, Raspberry Pi 3 Model B, HaLowLink 2 и Heltec HT-HD01 V2. Однако для полноценной работы разработчики рекомендуют комплект на базе Raspberry Pi 4. Именно такой вариант поддерживает все возможности: базовую сеть, автономную связь, камеру, новый пользовательский интерфейс и режим BLOS (Beyond Line of Sight), который позволяет защищённо объединить через интернет две сети MANET, развёрнутые в разных местах.

Узел OpenMANET на Raspberry Pi 4 с модулем Wi-Fi HaLow и аккумуляторным блокомУзел OpenMANET на Raspberry Pi 4 с модулем Wi-Fi HaLow Seeed Studio Wio-WM6108 в формате mini-PCIe и ИБП на аккумуляторах 18650. USB-адаптеры позволяют обойтись без платы расширения HAT+

реклама кормит Уточку 🦆

OpenMANET против Meshtastic

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

OpenMANET обеспечивает скорость от 1 до 15 Мбит/с в зависимости от страны использования, ведь разрешённые частоты и ширина каналов для субгигагерцевого диапазона в разных регионах отличаются. Кроме того, сеть поддерживает полноценный IP-стек, встроенную голосовую связь PTT, трансляцию видео с камеры по протоколу RTSP и интеграцию с ATAK. Главный недостаток — более мощное, прожорливое и дорогое оборудование по сравнению с Meshtastic или MeshCore.

Как устроено ПО

Прошивка OpenMANET основана на OpenWrt — популярной открытой операционной системе для роутеров. За управление сетью отвечает демон OpenMANETd, написанный на языке Go: он включает встроенный веб-интерфейс на React и предоставляет API на базе gRPC и HTTP.

реклама кормит Уточку 🦆

В основе сетевой части лежит стандарт mesh-сетей Wi-Fi 802.11s, а поверх него работает протокол маршрутизации batman-adv (Better Approach To Mobile Adhoc Networking – advanced), который давно применяется в сообществах, строящих городские беспроводные сети.

Веб-интерфейс OpenMANETВеб-интерфейс OpenMANET

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