notes/ham/meshtastic.md
2023-07-22 23:48:53 +03:00

174 lines
16 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
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 - спільнота міста Одеса