Meshtastic в Україні
Матеріал використано з дозволу UT3USW
Джерело матеріалу: Персональний блог UT3USW

Meshtastic — це проект, який дозволяє використовувати недорогі трансивери на базі LoRa як дальньобійну комунікаційну платформу в зонах без наявної або ненадійної комунікаційної інфраструктури.
Основна технологія, LoRa, — це радіопротокол великої дальності, доступний для більшості регіонів без додаткового ліцензування чи сертифікації.
Радіостанції автоматично ретранслюють отримані повідомлення, щоб створити розподілену меш мережу, щоб усі в групі могли отримувати повідомлення – навіть від найдальшого учасника. Залежно від налаштувань, що використовуються, Meshtastic меш може підтримувати до 80 вузлів пристроїв (але загалом, можливо і більше).
Радіостанції Meshtastic можна з’єднати з одним телефоном, щоб ваші друзі та родина могли надіслати повідомлення на вашу конкретну радіостанцію. Кожен пристрій підтримує підключення від одного користувача одночасно.
Особливості
- Велика дистанція зв’язку (рекорд 206км)
- Для зв’язку телефон не обов’язковий
- Децентралізований зв’язок - єдиний маршрутизатор не потрібен
- Зашифроване спілкування
- Відмінний час автономної роботи (залежить від пристрою, але програмно закладена енергоефективність)
- Додаткові функції визначення місцезнаходження на основі GPS (можна вимкнути, або надсилати фейкову локацію)
- І більше!
[TOC]
Історія появи технології LoRa.
На початку 2015 року Semtech Corporation та дослідницький центр IBM Research представили новий відкритий енергоефективний мережевий протокол LoRaWAN (Long Range Wide Area Networks), що забезпечує значні переваги перед Wi-Fi та стільниковими мережами завдяки можливості розгортання міжмашинних (M2M) комунікацій, чи сколихнули ринок IoT.

Технологія LoRa з’явилася на світ під егідою некомерційної організації LoRa Alliance, заснованої такими компаніями, як IBM, Semtech, Cisco та ін., з метою прийняття та просування протоколу LoRaWAN як єдиний стандарт для глобальних мереж з низьким енергоспоживанням (LPWAN — від англ. Low Power Wide Area ).
Розробники LoRa Alliance позиціонують LoRa як технологію, що має значні переваги перед стільниковими мережами та WiFi завдяки можливості розгортання міжмашинних (M2M) комунікацій на відстанях до 20 км (правда рекорди дальності вже білше за 800км). та швидкостях до 50 Кбіт/с., при мінімальному споживанні електроенергії, що забезпечує кілька років автономної роботи на одному акумуляторі типу АА.
Діапазон застосування даної технології величезний: від домашньої автоматизації та інтернету речей до промисловості та розумних міст.
В нашому, реальному, житті LoRa використовується, наприклад: для взаємодії розумних елементів міста (автоматичне освітлення в містах України), для військових потреб (Проект ComBat Vision використовує Mashtastic для синхронизації пристроїв в своїй системі).
Meshtastic не є LoRaWAN. Meshtastic використовує повний спектр частот, призначений для технології LoRa для кожного регіону. Це дозволяє використовувати кілька сотень можливих частотних каналів.

Що таке Meshtastic?
Meshtastic — це "LoRa based" проект, який дозволяє використовувати недорогі GPS-радіостанції трансивери (30 бак сів плюс-мінус) як розширюваний меш GPS-комунікатор із надтривалим терміном служби батареї. Ці трансивери чудово підходять для піших прогулянок, катання на лижах, велоспорту – практично для будь-якого хобі, де у вас немає надійного доступу до Інтернету. Кожен учасник вашої приватної мережі завжди може бачити місцезнаходження та відстань усіх інших учасників, а також будь-які текстові повідомлення, надіслані у ваш груповий чат або писати вам особисто через приватні повідомлення.
Радіостанції автоматично створюють і підтримують мережу LoRa для пересилання пакетів у разі потреби(до 7 хопів), тому кожен у групі може отримувати повідомлення навіть від найдальшого учасника. Радіостанції за бажанням працюватимуть із вашим телефоном, але телефон не обовя`зковий.

Основна функція проекту: передача тексту та ваших координат через смартфон без використання стільникового зв’язку та інтернету.
Тобто. на ваш смартфон Android або iOS, встановлюється програма Meshtastic. Це програма-чат на зразок Telegram або Viber. Телефон з’єднується з радіомодемом через Btuetooth. Через радіомодем здійснюється зв’язок з іншими абонентами, у яких стоїть така сама програма і такий же модем. На екрані смартфона ви можете бачити список абонентів та карту їх розташування. Ви бачите груповий чат та p2p чати з учасниками мережі.

Варіанти сценаріїв застосування:
- Екстрений цифровий зв’язок при надзвичайних ситуаціях (наприклад відключення світла)
- Пошук втрачених людей
- Створення своєї радіомережі серед однодумців усередині свого району і навіть далі, що самоорганізується, у своєму власному проекті
- Передача легкої телеметрії, наприклад, з власної метеостанції, показання дозиметру чи іншого датчика
- Спорт на відкритому повітрі з обмеженим покриттям мобільного зв’язку. (Піші прогулянки горами, катання на лижах, катання на човнах, парапланеризм або квадрокоптери, і т. д.)
- Ситуації, в яких GPS-комунікатори із закритим вихідним кодом просто не допоможуть (легко додати ф ункції для пілотів квадрокоптерів або планерів і т.д.)
- Безпечний зв’язок на великій відстані всередині груп, незалежно від стільникових операторів
Необхідне апаратне забезпечення для роботи з Meshtastic:
- Android/iOS cмартфон або комп’ютер для налаштувань і спілкування в чаті
- Meshtastic – радіомодем на основі LoRa-модулів зв’язку про це далі
- антена. Краща антена – кращий зв’язок. Комплектної антени може вистачити Читайте про це нижче.
- Li-Ion акумулятор або PowerBank для живлення модулю
Радіомережа будується на основі готових LoRa-радіомодулів. Головна особливість їх полягає у великій дальності зв’язку за дуже мізерної потужності. В Україні виділено під LoRa ділянки частот 433МГц. Саме під цю частоту вам необхідно знайти або зібрати модем і антену.
Пристрої Meshtastic
Українська мережа розвивається на частоті 433МГц. Тому будьте уважні! Замовляйте саме 433МГц модулі якщо бажаєте д оєднатися до загальнгої мережі.
Загальний список пристроїв, які підтримуються Meshtastic можна переглянути на офіційному сайті проекту: https://meshtastic.org/docs/supported-hardware
Є кілька варіантів радіомодемів, які рекомендуються для використання в Українській мережі:
- LILYGO® TTGO LoRa32 V2.1_1.6 T-Lora — найдешевший, без GPS і не великою потужністю передачі. https://a.aliexpress.com/_Ev5JaUT

- LILYGO® T-Beam — самий популярний пристрій. Вже з GPS і більшою потужністю передачі. https://www.aliexpress.com/item/4001286458852.html

- LILYGO® TTGO Meshtastic T-Echo — лакшері варіант. Найкраща потужність, енергоефективний дисплей, вбудований датчик темпера тури і вологості. https://www.aliexpress.com/item/1005003026107533.html

Прошивка пристроїв
Для себе я обрав саме LILYGO® T-Beam як найбільш збалансований по ціні і кількості функцій. Отримавши модуль перше що треба зробити — оновити прошивку модему до останньої версії. Зробити це можна двома способами: простим через web інтерфейс і умовно складним, через esptool. Вам можуть знадобитися драйвера для serial-чіпу ch9102: https://github.com/WCHSoftGroup/ch343ser_linux
Драйвер не підтримує версію ядра >= 6.1. Але ви можете застосувати відповідні патчі. Наприклад https://github.com/WCHSoftGroup/ch343ser_linux/commit/0c08ee45b25ca93d2c213e18f881627849094268.patch
Прошивка через web інтерфейс
- Підключаємо пристрій до комп’ютера через USB
- Відкриваємо https://flasher.meshtastic.org/ і виберіть прошивку, яку потрібно завантажити на Meshtastic , та виберіть COM порт, до якого підключений ESP32.
- Натисніть кнопку "Flash" у веб-флешері. Процес прошивки може зайняти кілька хвилин.
- Після завершення прошивки пристрій перезавантажиться.
Прошивка через Visual Studio Code (Platformio)
Підготовка
- Встановіть Visual Studio Code (https://code.visualstudio.com/)
- Встановіть PlatformIO (https://platformio.org/platformio-ide)
- Зклонуйте прошивку:
git clone https://github.com/meshtastic/firmware.git - Встановіть необхідні модулі:
cd firmware && git submodule update --init
Прошивка
- Відкрийте папку з прошивкою в Visual Studio Code. І дочекайтесь поки PlatformIO встановить всі необхідні бібліотеки
- За допомогою панелі швидких команд
Ctrl + Shift + Pоберіть PlatformIO: Pick Project Environment і виберіть свій пристрій. Дочекайтесь поки PlatformIO завантажить необхідні бібліотеки - Далі запустсть PlatformIO: Build для збірки прошивки
- І нарешті PlatformIO: Upload для завантаження прошивки на пристрій
Це найпростіший спосіб прошивки якщо ви плануєте використовувати модифікації описані нижче.