Чему учит попытка использовать MeshCore для офлайн-переписки
Перевод статьи Lessons Learned After Trying MeshCore For Off-grid Text Messaging — Donald Papp, Hackaday.
Michael Lynch недавно решил окунуться в мир офлайн-, децентрализованной связи с помощью MeshCore — ведь возможность обмениваться сообщениями по беспроводу с другими людьми так, чтобы это не зависело от традиционной инфраструктуры связи, звучит довольно заманчиво. Заполучив в руки разное железо и всё это опробовав, он изложил свои мысли с точки зрения разработчика ПО, которому любопытно и железо.

Самый дешёвый способ начать — плата вроде Heltec v3 на фото. Она берёт на себя беспроводную связь по LoRa, а взаимодействуют с ней через Bluetooth.
В итоге он тестирует целый ряд вещей: прошивку MeshCore, установленную на плату Heltec V3 (используется через приложение по Bluetooth), похожее автономное устройство со встроенными антенной и батареей (SenseCAP T-1000e, слева на заглавном изображении) и Lilygo T-Deck+ (справа на том же изображении). Всё это работает на MeshCore, который построен на Meshtastic и, как заявляется, совместим с ним — фреймворком, о котором мы уже писали раньше.
Первые два устройства — по сути шлюзы MeshCore, к которым пользователь подключается по Bluetooth. T-Deck — автономное устройство, напоминающее Blackberry, с экраном и клавиатурой. Michael подробно разобрал, каково это — запустить их в работу.
Пожалуй, самым важным его выводом стало то, что весь процесс первоначальной настройки оказался куда сложнее и куда менее понятным, чем мог бы быть. Этот опыт знаком многим из нас: та обрывочная документация, что существует, словно написана людьми, которые уже досконально знают проект целиком, и для таких же людей.
Ещё он усвоил, что хотя LoRa — фантастическая технология, способная передавать данные по беспроводу на большие расстояния при низком энергопотреблении, для этого нужны хорошие антенны и прямая видимость. В типичной городской среде дальность будет куда скромнее. Michael смог добиться максимальной дальности примерно в пять кварталов между двумя устройствами. Дальность можно улучшить, купив и установив ретрансляторы или подключив больше устройств, находящихся в зоне действия друг друга, но вот тут Michael подвёл черту. Он почувствовал, что к этому моменту уже составил вполне неплохое представление о положении дел, и, не будучи специалистом по радио, отказался покупать оборудование для ретрансляторов, не имея реального понимания, где их следует размещать и какого прироста производительности от этого ждать.
Пожалуй, самым неожиданным открытием стало то, что MeshCore не полностью открытый — что кажется странным для офлайн-, децентрализованного фреймворка связи. Часть компонентов открыта, но официальные клиенты (мобильные приложения, веб-приложение и прошивка T-Deck) — нет. Michael выяснил это, когда, будучи в первую очередь разработчиком ПО, заглянул в код, чтобы понять, можно ли что-то сделать для улучшения посредственного пользовательского опыта на T-Deck, и обнаружил, что прошивка проприетарная.
Главный вывод Michael как разработчика ПО, которому любопытно железо: концепция отличная и доступная (железо недорогое, а для LoRa не требуется лицензия), но она пока ещё не дошла до состояния, когда человеку реально практично купить несколько устройств и раздать их друзьям для использования в чрезвычайной ситуации. По крайней мере не без того, чтобы ввязаться в развёртывание достаточного числа ретрансляторов ради устойчивой связи.