Введение
В последнее время попадалось мне много видео и статей о технологии Meshtastic, которая позволяет обмениваться сообщениями в отсутствии мобильной связи. По сути это программно-аппаратный комплекс позволяющий реализовать децентрализованный обмен короткими текстовыми сообщениями и телеметрией в условиях отсутствия интернета. Другими словами это современный пейджер, но без единого оператора, который работает на основе mesh-сети.
В статье я расскажу как собрать простую переносную ноду для экпериментов.
Сборка ноды
Для сборки нода потребуется следующее:
- Плата Heltec Meshtastic LoRa32 V3 863-928 МГц
- Корпус (я распечатал себе готовую модель c thingiverse)
- Аккумулятор 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 метров, при том что передатчики были не на высоких этажах, а на земле. Далее я планирую взять еще пару нод и посмотреть какая зона покрытия будет после этого.
Для энтузиастов этой технологии также есть чат в ТГ, в котором есть много полезной информации.