notes/ham/meshtastic.md

174 lines
16 KiB
Markdown
Raw Normal View History

2023-07-22 23:48:53 +03:00
---
Author: Assada
Title: Meshtastic в Україні
Description: Meshtastic — LoRaWAN Mesh Network в Україні
Preview: https://assada.dead.guru/storage/images/1690058736_image.png
---
![Meshtastic модем](https://assada.dead.guru/storage/images/1690058736_image.png){.md-cover .md-img-r}
**Meshtastic** — це проект, який дозволяє використовувати недорогі радіоприймачі на базі LoRa як дальньобійну комунікаційну платформу в зонах без наявної або ненадійної комунікаційної інфраструктури.
[TOC]
# Історія появи технології LoRa.
На початку 2015 року [Semtech Corporation](https://www.semtech.com/) та дослідницький центр [IBM Research](https://research.ibm.com/) представили новий відкритий енергоефективний мережевий протокол LoRaWAN (Long Range Wide Area Networks), що забезпечує значні переваги перед Wi-Fi та стільниковими мережами завдяки можливості розгортання міжмашинних (M2M) комунікацій, чи сколихнули ринок IoT.
![IBM Research і Semtech Corporation](https://assada.dead.guru/storage/images/1690048845_image.png){.md-cover .md-img-r}
Технологія **LoRa** з'явилася на світ під егідою некомерційної організації [LoRa Alliance](https://lora-alliance.org/), заснованої такими компаніями, як IBM, Semtech, Cisco та ін., з метою прийняття та просування протоколу LoRaWAN як єдиний стандарт для глобальних мереж з низьким енергоспоживанням (LPWAN — від англ. Low Power Wide Area ).
Розробники **LoRa Alliance** позиціонують **LoRa** як технологію, що має значні переваги перед стільниковими мережами та WiFi завдяки можливості розгортання міжмашинних (M2M) комунікацій на відстанях до 20 км. та швидкостях до 50 Кбіт/с., при мінімальному споживанні електроенергії, що забезпечує кілька років автономної роботи на одному акумуляторі типу АА.
Діапазон застосування даної технології величезний: від домашньої автоматизації та інтернету речей до промисловості та розумних міст.
![Архітектруа LoRaWAN](https://assada.dead.guru/storage/images/1690049019_image.png){.md-cover .md-img-r}
# Що таке Meshtastic?
**Meshtastic** — це "LoRa based" проект, який дозволяє використовувати недорогі GPS-радіостанції (30 баксів плюс-мінус) як розширюваний меш GPS-комунікатор із надтривалим терміном служби батареї. Ці радіоприймачі чудово підходять для піших прогулянок, катання на лижах, велоспорту практично для будь-якого хобі, де у вас немає надійного доступу до Інтернету. Кожен учасник вашої приватної мережі завжди може бачити місцезнаходження та відстань усіх інших учасників, а також будь-які текстові повідомлення, надіслані у ваш груповий чат або писати вам особисто через приватні повідомлення.
Радіостанції автоматично створюють і підтримують мережу LoRaWAN для пересилання пакетів у разі потреби(до 7 хопів), тому кожен у групі може отримувати повідомлення навіть від найдальшого учасника. Радіостанції за бажанням працюватимуть із вашим телефоном, але телефон не обовя`зковий.
![Мапа мережі в Укріїні](https://assada.dead.guru/storage/images/1690049900_image.png){.md-cover .md-img-r}
**Основна функція проекту:** передача тексту та ваших координат через смартфон без використання стільникового зв'язку та інтернету.
Тобто. на ваш смартфон Android або iOS, встановлюється програма Meshtastic. Це програма-чат на зразок Telegram або Viber. Телефон з'єднується з радіомодемом через Btuetooth. Через радіомодем здійснюється зв'язок з іншими абонентами, у яких стоїть така сама програма і такий же модем. На екрані смартфона ви можете бачити список абонентів та карту їх розташування. Ви бачите груповий чат та p2p чати з учасниками мережі.
![Додаток Meshtastic для IOS](https://assada.dead.guru/storage/images/1690054367_meshtastic_app.png){.md-cover .md-img-r}
**Варіанти сценаріїв застосування:**
* Екстрений цифровий зв'язок при надзвичайних ситуаціях (наприклад відключення світла)
* Пошук втрачених людей
* Створення своєї радіомережі серед однодумців усередині свого району і навіть далі, що самоорганізується, у своєму власному проекті
* Передача легкої телеметрії, наприклад, з власної метеостанції, показання дозиметру чи іншого датчика
* Спорт на відкритому повітрі з обмеженим покриттям мобільного зв'язку. (Піші прогулянки горами, катання на лижах, катання на човнах, парапланеризм або квадрокоптери, і т. д.)
* Ситуації, в яких GPS-комунікатори із закритим вихідним кодом просто не допоможуть (легко додати функції для пілотів квадрокоптерів або планерів і т.д.)
* Безпечний зв'язок на великій відстані всередині груп, незалежно від стільникових операторів
**Необхідне апаратне забезпечення для роботи з Meshtastic:**
* Android/iOS cмартфон або комп'ютер для налаштувань і спілкування в чаті
* Meshtastic радіомодем на основі LoRa-модулів зв'язку ==про це далі==
* антена. Краща антена кращий зв`язок
* Li-Ion акумулятор або PowerBank для живлення модулю
Радіомережа будується на основі готових LoRa-радіомодулів. Головна особливість їх полягає у великій дальності зв'язку за дуже мізерної потужності. В Україні виділено під LoRa ділянки частот 433МГц. Саме під цю частоту вам необхідно знайти або зібрати модем і антену.
# Пристрої Meshtastic
Загальний список пристроїв, які підтримуються Meshtastic можна переглянути на офіційному сайті проекту: [https://meshtastic.org/docs/supported-hardware](https://meshtastic.org/docs/supported-hardware)
Є кілька варіантів радіомодемів, які [рекомендубться для використання в Українській мережі](https://wikimesh.pp.ua/uk/%D0%A0%D0%B5%D0%BA%D0%BE%D0%BC%D0%B5%D0%BD%D0%B4%D0%BE%D0%B2%D0%B0%D0%BD%D1%96_%D0%BF%D1%80%D0%B8%D1%81%D1%82%D1%80%D0%BE%D1%97):
* **LILYGO® TTGO LoRa32 V2.1_1.6 T-Lora** — найдешевший, без GPS і не великою потужністю передачі. https://a.aliexpress.com/_Ev5JaUT
![LILYGO® TTGO LoRa32 V2.1_1.6 T-Lora](https://assada.dead.guru/storage/images/1690055311_image.png){.md-cover .md-img-r}
* **LILYGO® T-Beam** - самий популярний пристрій. Вже з GPS і більшою потужністю передачі. https://www.aliexpress.com/item/4001286458852.html
![LILYGO® T-Beam](https://assada.dead.guru/storage/images/1690055673_image.png){.md-cover .md-img-r}
@mat_bot ужність, енергоефективний дисплей, вбудований датчик температури і вологості. https://www.aliexpress.com/item/1005003026107533.html
![LILYGO® TTGO Meshtastic T-Echo](https://assada.dead.guru/storage/images/1690055583_image.png){.md-cover .md-img-r}
## Прошивка пристроїв
Для себе я обрав саме **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 інтерфейс
1. Підключаємо пристрій до комп'ютера через USB
2. Відкриваємо https://flasher.meshtastic.org/ і виберіть прошивку, яку потрібно завантажити на Meshtastic , та виберіть COM порт, до якого підключений ESP32.
3. Натисніть кнопку "Flash" у веб-флешері. Процес прошивки може зайняти кілька хвилин.
4. Після завершення прошивки пристрій перезавантажиться.
### Прошивка через esptool (складний варіант)
Процес збірки і сам процес описаний **UT3UMS** тут: #hw/tbeam-firmware-ut3ums.md
Додатково при виборі цього способу прошивки модему можна реалізувати наступне:
* Українська мова на екрані пристрою: https://wikimesh.pp.ua/uk/%D0%BD%D0%B0%D0%BB%D0%B0%D1%88%D1%82%D1%83%D0%B2%D0%B0%D0%BD%D0%BD%D1%8F/%D0%A3%D0%B2%D1%96%D0%BC%D0%BA%D0%BD%D0%B5%D0%BD%D0%BD%D1%8F_%D0%A3%D0%BA%D1%80%D0%B0%D1%97%D0%BD%D1%81%D1%8C%D0%BA%D0%BE%D1%97_%D0%BC%D0%BE%D0%B2%D0%B8
* Збільшення потужності https://wikimesh.pp.ua/uk/%D0%BD%D0%B0%D0%BB%D0%B0%D1%88%D1%82%D1%83%D0%B2%D0%B0%D0%BD%D0%BD%D1%8F/%D0%97%D0%B1%D1%96%D0%BB%D1%8C%D1%88%D0%B5%D0%BD%D0%BD%D1%8F_%D0%BF%D0%BE%D1%82%D1%83%D0%B6%D0%BD%D0%BE%D1%81%D1%82%D1%96
* Розширене логування RadioLib через Serial https://wikimesh.pp.ua/uk/%D0%BD%D0%B0%D0%BB%D0%B0%D1%88%D1%82%D1%83%D0%B2%D0%B0%D0%BD%D0%BD%D1%8F/%D0%A0%D0%BE%D0%B7%D1%88%D0%B8%D1%80%D0%B5%D0%BD%D0%B5_%D0%BB%D0%BE%D0%B3%D1%83%D0%B2%D0%B0%D0%BD%D0%BD%D1%8F_RadioLib
## Перші налаштування і підключення до мережі
T-Beam і інші модеми з підтримкою Bluetooth можуть бути налаштовані з додатку. Але цей спосіб, особисто в мене, працює погано. Тому я обрав варіант використання meshtastic cli утиліти(клієнту).
Також варто зазначити що ви можете налаштувати і працювати з модемом через web клієнт: https://client.meshtastic.org/
### Встановлення meshtastic-cli
Вам потрібен python3 і pip > 20. Перевірте свої версії і оновіть за необхідності:
```bash
python3 --version
pip3 --version
```
Встановлюємо cli клієнт:
```bash
pip3 install --upgrade pytap2
pip3 install --upgrade meshtastic
```
Далі можна підключити модем до комп'ютера через USB і виконати наступну команду:
```bash
meshtastic --info
```
Таким чином ви перевірите що все працює.
### Налаштування модему.
Для початку роботи з модемом вам необхідно виконати наступні дії:
```bash
meshtastic --set-owner 'your node name' --set-owner-short 'NODE'
```
де `your node name` - це ваше ім'я в мережі, а `NODE` - це коротке ім'я, яке буде відображатися на екрані модему. Щось типу аватарки. Підтримується в тому числі і емодзі.
Встановлюємо налаштування радіо:
```bash
meshtastic --set lora.region UA_433 --set lora.modem_preset LONG_FAST
```
Після зміни кожного налаштування модем автоматично перезавантажиться. Параметри налаштувань можна об`єднувати в одну команду:
```bash
meshtastic --set-owner 'your node name' --set-owner-short 'NODE' --set lora.region UA_433 --set lora.modem_preset LONG_FAST
```
### Підключення до мережі
Завантажте клієнт для вашої сторінки https://meshtastic.org/downloads
І відскануйте QR код з налаштуваннями мережі.
Для IOS використовуйте QR сканер в додатку камери. Для Android використовуйте вбудований в додаток Meshtastic сканер в налаштуваннях каналів.
![QR код з налаштуваннями мережі](https://assada.dead.guru/storage/images/1690058019_image.png){.md-cover .md-img-r}
Вітаю! Ви в мережі! Спробуйте написати щось в чат і ви обов`язково отримаєте відповідь якщо ваш пакет хтось "почув". Якщо ні, то спробуйте змінити місцезнаходження або використати антену з більшим коефіцієнтом підсилення. Приклади антен наведені тут: https://wikimesh.pp.ua/uk/%D0%A0%D0%B5%D0%BA%D0%BE%D0%BC%D0%B5%D0%BD%D0%B4%D0%BE%D0%B2%D0%B0%D0%BD%D1%96_%D0%B0%D0%BD%D1%82%D0%B5%D0%BD%D0%B8
# Корисні посилання
* https://wikimesh.pp.ua/uk/home - Українська документація
* https://meshtastic.org/- основний сайт проекту
* https://t.me/meshtastic_ua - Українська спільнота в Telegram
* https://mesh.0x21h.net - карта покриття (beta)
* https://mesh.in.ua/grafana/d/R4RChebVk/mesh?orgId=1&refresh=5s - Дашборд мережі
* https://t.me/meshtastic_lviv - спільнота міста Львів
* https://t.me/meshtastic_ua_chernivtsi - спільнота міста Чернівці
* https://t.me/meshtastic_ua_odesa - спільнота міста Одеса