Создать акаунт
Ukraine Radio Link » Meshtastic » Meshtastic в Украине или строим свою сеть.

Meshtastic в Украине или строим свою сеть.

23 дек 2023, 16:28
Meshtastic
1 193
0
Meshtastic в Украине или строим свою сеть.

Meshtastic – это проект, позволяющий использовать недорогие трансиверы на базе LoRa как дальнобойную коммуникационную платформу в зонах без имеющейся или ненадежной коммуникационной инфраструктуры.

Основная технология LoRa — это радиопротокол большой дальности, доступный для большинства регионов без дополнительного лицензирования или сертификации.

Радиостанции автоматически ретранслируют полученные сообщения, чтобы создать распределенную сеть, чтобы все в группе могли получать сообщения – даже от самого дальнего участника. В зависимости от используемых настроек Meshtastic меш может поддерживать до 80 узлов устройств (но в общем, возможно и больше).

Радиостанции Meshtastic можно соединить с одним телефоном, чтобы ваши друзья и семья могли отправить сообщение на конкретную радиостанцию. Каждое устройство одновременно поддерживает подключение от одного пользователя.

Особенности

  • Большая дистанция связи (рекорд 206км)
  • Для связи телефон не обязателен
  • Децентрализованная связь – единый маршрутизатор не нужен
  • Зашифрованное общение
  • Отличное время автономной работы (зависит от устройства, но программно заложена энергоэффективность)
  • Дополнительные функции определения местоположения на основе GPS (можно отключить или отправлять фейковую локацию)
  • И более!


История появления технологии LoRa .

В начале 2015 года Semtech Corporation и исследовательский центр IBM Research представили новый открытый энергоэффективный сетевой протокол LoRaWAN (Long Range Wide Area Networks), обеспечивающий значительные преимущества перед Wi-Fi и сотовыми сетями благодаря возможности развертывания межмашинных (M2M) коммуникаций или сколых. .

IBM Research и Semtech Corporation

Технология 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 для каждого региона. Это позволяет использовать несколько сот возможных частотных каналов.


Архитектруа LoRaWAN


Что такое Meshtastic ?

Meshtastic – это "LoRa based" проект, который позволяет использовать недорогие GPS-радиостанции трансиверы (30 долларов плюс-минус) в качестве расширяемого мешка GPS-коммуникатор с сверхпродолжительным сроком службы батареи. Эти трансиверы отлично подходят для пеших прогулок, катания на лыжах, велоспорта – практически для любого хобби, где у вас нет надежного доступа в Интернет. Каждый участник вашей частной сети всегда может видеть местоположение и расстояние всех остальных участников, а также любые текстовые сообщения, отправленные в ваш чат или писать вам лично через частные сообщения.

Радиостанции автоматически создают и поддерживают сеть LoRa для пересылки пакетов по необходимости (до 7 хопов), поэтому каждый в группе может получать сообщения даже от самого дальнего участника. Радиостанции будут по желанию работать с вашим телефоном, но телефон не обязателен.

Карта сети в Украине

Основная функция проекта: передача текста и координат через смартфон без использования сотовой связи и интернета.

Есть. на ваш смартфон Android или iOS, устанавливается приложение Meshtastic. Это программа чат типа Telegram или Viber. Телефон соединяется с радиомодемом через Btuetooth. Через радиомодем осуществляется связь с другими абонентами, у которых стоит такая же программа и такой же модем. На экране смартфона можно увидеть список абонентов и карту их расположения. Вы видите групповой чат и p2p чат с участниками сети.

Приложение Meshtastic для IOS

Варианты сценариев применения:

  • Экстренная цифровая связь при чрезвычайных ситуациях (например, отключение света)
  • Поиск потерянных людей
  • Создание своей радиосети среди единомышленников внутри своего района и даже самоорганизующееся далее в своем собственном проекте
  • Передача легкой телеметрии, например с собственной метеостанции, показания дозиметра или другого датчика
  • Спорт на свежем воздухе с ограниченным покрытием мобильной связи. (Пешие прогулки по горам, катание на лыжах, катание на лодках, парапланеризм или квадрокоптеры, и т. д.)
  • Ситуации, в которых 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® TTGO LoRa32 V2.1_1.6 T-Lora

LILYGO® T-Beam

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

LILYGO® TTGO Meshtastic T-Echo

Прошивка устройств

Для себя я выбрал именно 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. После завершения прошивки устройство перезагрузится.

Прошивка через Visual Studio Code (Platformio )

Подготовка

  1. Установите Visual Studio Code ( https://code.visualstudio.com/ )
  2. Установите PlatformIO ( https://platformio.org/platformio-ide )
  3. Склоняйте прошивку:git clone https://github.com/meshtastic/firmware.git
  4. Установите необходимые модули:cd firmware && git submodule update --init

Прошивка

  1. Откройте папку с прошивкой в Visual Studio Code. И дождитесь пока PlatformIO установит все необходимые библиотеки
  2. В палитре быстрых команд Ctrl + Shift + Pвыберите PlatformIO: Pick Project Environment и выберите устройство. Дождитесь, пока PlatformIO загрузит необходимые библиотеки
  3. Далее запустить PlatformIO: Build для сборки прошивки
  4. И, наконец, PlatformIO: Upload для загрузки прошивки на устройство

Это самый простой способ прошивки, если вы планируете использовать модификации описанные ниже.

Прошивка через esptool (сложный вариант )

Процесс сборки и сам процесс описан UT3UMS здесь: tbeam-firmware-ut3ums.md

Дополнительно при выборе этого способа прошивки модема можно реализовать следующее:

Первые настройки и подключение к сети

T-Beam и другие модемы с поддержкой Bluetooth могут быть настроены из приложения. Но этот способ, лично у меня работает плохо. Поэтому я выбрал вариант использования meshtastic cli утилиты (клиента).

Также следует отметить, что вы можете настроить и работать с модемом через web клиент: https://client.meshtastic.org/

Если вы новичок и дальнейшие пункты настоящей статьи для вас сложны, то вам лучше использовать web клиент! Просто подключите модем по USB к компьютеру и откройте веб-конфигуратор! Всё просто!

client.meshtastic.org

Установка meshtastic- cli

Вам нужен python3 и pip > 20. Проверьте свои версии и обновите по необходимости:

python3 --version
 
pip3 --version
 

Устанавливаем клиент:

pip3 install --upgrade pytap2
 
pip3 
install --upgrade meshtastic
 

Далее можно подключить модем к компьютеру через USB и выполнить следующую команду:

meshtastic --info
 

Таким образом вы проверите, что все работает.

Настройка модема

Для начала работы с модемом вам необходимо выполнить следующие действия:

meshtastic --set-owner 'your node name' --set-owner-short  'NODE'
 

где your node name– это ваше имя в сети, а NODE– это короткое имя, которое будет отображаться на экране модема. Что-то типа аватарки. Поддерживается в том числе и эмодзы.

Устанавливаем настройки радио:

meshtastic --set lora.region EU_433 --set lora.modem_preset LONG_FAST
 

После изменения каждой настройки модем автоматически перезагрузится. Параметры настроек можно объединять в одну команду:

meshtastic --set-owner 'your node name' --set-owner-short  'NODE' --set lora.region EU_433 --set lora.modem_preset LONG_FAST
 

ИНФОРМАЦИЯ О РЕГИОНАХ

EU_433 – работает на частотах 433.0-434.0МГц и лимитом мощности 12 dBm

UA_433 – работает на частотах 433.0-434.7МГц и лимитом мощности 10 dBm

Список всех регионов и их настроек можно просмотреть в коде прошивки .

или в документации https://meshtastic.org/docs/overview/radio-settings


Подключение к сетиети

Загрузите клиент для вашей платформы https://meshtastic.org/downloads

И отсканируйте QR код с настройками сети.

Для IOS используйте сканер QR в приложении камеры. Для Android используйте встроенный в приложение Meshtastic сканер в настройках каналов.

QR код с настройками сети

Поздравляю! Вы в сети! Попытайтесь написать что-то в чат и вы обязательно получите ответ если ваш пакет кто-то "услышал". Если нет, то попробуйте изменить расположение или использовать антенну с большим коэффициентом усиления. Примеры антенн приведены здесь: https://wikimesh.pp.ua/ru/Рекомендуемые антенны

Что с антеннами ?

Если вы закажете из китая T-Beam или T-Echo то в комплекте будет простая антенна на 433МГц или на какую вы там частоту заказали модем . Ее может хватить для связи, а может нет. Зависит от вашей высоты, условий вашего расположения, дальности ближайшего работающего модема другому участнику сети. Мне повезло. Я живу на 13 этаже и у меня модем просто валяется где-то на столе с антенной от баофенга и все работает отлично.

Если вам не повезло с условиями, то антенну можно постепенно улучшать! OLX Базовая антенна продается в Украине на OLX за условные 300-500 грн. Это все нужно пробовать. Если вы не знаете какие антенны лучше, то вы можете обратиться к нам в телеграмм чате и мы вам поможем с выбором. Но сначала проверьте, работает ли с базовой антенной.

Направленная антенна типа волновой канал для 433МГц.

TLDR ;

Короче. Если вы ничто не поняли, но очень хочется попробовать то:

  • Купить модем. T-Beam или T-Echo
  • Скачать приложение для IOS/Android
  • Подключить модем к компьютеру и настроить через https://client.meshtastic.org/
  • Все!

ПРОЩЕ, ЧЕМ ВЫ ДУМАЕТЕ


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

Модификации прошивки

Несколько модификаций по включению поддержки русского языка и увеличению мощности передачи для некоторых версий чипов описаны здесь: https://wikimesh.pp.ua/

Но я добавлю еще несколько.

Замена SplashScreen на собственный для T-Beam и подобных экранов

Мой SplashScreen на T-Echo

Файл XBM для замены:/firmware/src/graphics/img/icon.xbm

Конвертор файлов в XBM https://windows87.github.io/xbm-viewer-converter/ Или здесь можно порисовать :

Код копируем в файл icon.xbm, но внимательно следим за наименованиями переменных и размерами, заданными для вашего устройства (поэкспериментируйте с размерами).

Полный перевод прошивки

Для этого нужно включить полную поддержку кириллицы. Сделать это можно в файле /firmware/variants/<variant>/platformio.iniзамените <variant>на устройство добавив флаг сборки -D OLED_UA


Пример для T-Beam:

Файл/firmware/variants/tbeam/platformio.ini

; The 1.0 release of the TBEAM board 
 
[env:tbeam]
 
extends = esp32_base
 
board = ttgo-t-beam
 
lib_deps =
 
  ${esp32_base.lib_deps}
 
build_flags = ${esp32_base.build_flags} -D TBEAM_V10   -I variants/tbeam -D OLED_UA -DGPS_POWER_TOGGLE ; comment this line to disable double press function on the user button to turn off gps entirely.
 
upload_speed = 921600
 

Дополнительно все тексты экрана можно заменить на русский здесь /firmware/src/graphics/Screen.cpp. Но хватает и просто поддержки украинского языка в шрифте. Если все-таки решить полностью переложить прошивку, будьте внимательны с количеством символов. Я старался переводить так чтобы количество символов совпадало с английским вариантом. Иногда получаются не очень удобные переводы.

Пример перевода

Поддержка украинского языка для T- Echo

EInk дисплей t-echo по умолчанию использует больший шрифт. 19 пикселей вместо стандартных для oled 13. Но официальная прошивка имеет только 13 пиксельный вариант шрифта.

Простой способ (с уменьшением шрифта):

В файле /firmware/src/graphics/Screen.cppнаходим строку #define FONT_SMALL ArialMT_Plain_16 где-то между 105 и 110 строкой. И заменяем на#define FONT_SMALL ArialMT_Plain_10_UA

Также следует добавить флаг сборки -D OLED_UAв файл./firmware/variants/t-echo/platformio.ini

Пример:

; First prototype eink/nrf52840/sx1262 device
 
[env:t-echo]
 
extends = nrf52840_base
 
board = t-echo
 
debug_tool = jlink

 
# add -DCFG_SYSVIEW if you want to use the Segger systemview tool for OS profiling.
 
build_flags = ${nrf52840_base.build_flags} -D OLED_UA -Ivariants/t-echo -L "${platformio.libdeps_dir}/${this.__env__}/BSEC2 Software Library/src/cortex-m4/fpv4-sp-d16-hard"
 
build_src_filter = ${nrf52_base.build_src_filter} +<../variants/t-echo>
 
lib_deps =
 
  ${nrf52840_base.lib_deps}
 
   https://github.com/meshtastic/GxEPD2#afce87a97dda1ac31d8a28dc8fa7c6f55dc96a61
 
  adafruit/Adafruit BusIO@^1.13.2
 
  lewisxhe/PCF8563_Library@^1.0.1
 
;upload_protocol = fs


Сложный способ (со СОХРАНЕНИЕМ размера шрифта)

Для этого способа нам нужно сменить шрифт на кастомный (я пытался сделать его наиболее красивым). Константа со шрифтом: https://gist.github.com/assada/8ab477d67653690842c2328faeb19a88

Эта константа должна быть изменена в файле /firmware/.pio/libdeps/t-echo/ESP8266 and ESP32 OLED driver for SSD1306 displays/src/OLEDDisplayFonts.cpp после запуска Platformio: Pick Project Environment выбрать t-echo. В противном случае этого файла может не быть!

Изменения /firmware/src/graphics/Screen.cppмы не делаем. Только добавляем флаг сборки -D OLED_UAв файл /firmware/variants/t-echo/platformio.ini(описано выше)

Пример перевода


Первоисточник и автор: https://ut3usw.dead.guru/docs/ham/meshtastic/

Комментарии
Минимальная длина комментария - 50 знаков. комментарии модерируются
Кликните на изображение чтобы обновить код, если он неразборчив

Смотрите также: