Настройка ноды Meshtastic

Введение

В последнее время попадалось мне много видео и статей о технологии Meshtastic, которая позволяет обмениваться сообщениями в отсутствии мобильной связи. По сути это программно-аппаратный комплекс позволяющий реализовать децентрализованный обмен короткими текстовыми сообщениями и телеметрией в условиях отсутствия интернета. Другими словами это современный пейджер, но без единого оператора, который работает на основе mesh-сети.

В статье я расскажу как собрать простую переносную ноду для экпериментов.

Сборка ноды

Для сборки нода потребуется следующее:

  1. Плата Heltec Meshtastic LoRa32 V3 863-928 МГц
  2. Корпус (я распечатал себе готовую модель c thingiverse)
  3. Аккумулятор 3.7V 3000Mah (я выбралCaoDuRen 103565 чтобы влезал в коробку)

Еще у аккумуляторов пришлось отрезать заводской коннектор и припаять тот, который шел в комплекте с нодой, времени это заняло около 10 минут, хотя мастером паяльника меня назвать нельзя.

В итоге когда я все запаковал в корпус получилось следующее:

нода в разборке

Прошивка платы

Для прошивки устройства необходим usb кабель для передачи данных (обычный для зарядки не подойдет) и установленный драйвер CP210x. Этот драйвер нужен чтобы система смогла определить новое внешнее устройство для дальнейшей работы с ним. В целом данное действие относится к любым платам на ESP32.

Прошивку я буду собирать из исходников, поэтому еще потребуется фреймворк PlatformIO.

Для начала скачаем исходники и переходим в папку с ними:

git clone git@github.com:meshtastic/firmware.git meshtastic-firmware

Обновляем подмодули git в прошивке:

cd meshtastic-firmware && git submodule update --init

Подключаем плату к usb и с помощью PlatformIO проверяем что она определяется:

pio device list

у меня в системе был девай примерно такой:

/dev/cu.usbserial-0001
----------------------
Hardware ID: USB VID:PID=10C4:EA60 SER=0001 LOCATION=20-2
Description: CP2102 USB to UART Bridge Controller - CP2102 USB to UART Bridge Controller

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

Запускаем сборку и загрузку прошивки с помощью PlatformIO:

pio run -e heltec-v3 --target upload

Так как я использую плату heltec v3, то мне нужно указать именно ее конфигурацию через аргумент -e.

Если прошивка завершилась успешно, то будет сообщение:


Hash of data verified.

Leaving...
Hard resetting via RTS pin...
======================= [SUCCESS] Took 257.86 seconds =========================

Environment    Status    Duration
-------------  --------  ------------
heltec-v3      SUCCESS   00:04:17.860
======================= 1 succeeded in 00:04:17.860 ===========================

После запуска у ноды на экране появиться окно преверствия и настрока диапазона:

нода в разборке

Далее осталось установить приложение для Android и можно приступать к работе.

Заключение

По итогу цена ноды получилась в районе 2000 рублей, при это дальность прямой работы (без ретрасляторов) в городской застройке с домами составила около 500 метров, при том что передатчики были не на высоких этажах, а на земле. Далее я планирую взять еще пару нод и посмотреть какая зона покрытия будет после этого.

Для энтузиастов этой технологии также есть чат в ТГ, в котором есть много полезной информации.

Ссылки