Meshtastic
Мештастик это на данный момент самый популярный из существующих
текстовый мессенджер, использующий радиомодули LoRa для передачи
данных.

LoRa передает данные с помощью CHIRP сигнала модулированного FSK. То
есть несущая частота сигнала пилообразно изменяется от минимальной
до максимальной и при этом частотно модулируется двоичными
данными.

Поскольку LoRa при соблюдении оговоренных условий (мощность и
частота, 868, 25мвт) может в РФ использоваться без лицензии и
разрешений вне зависимости от того с какой целью используется
радиомодуль (телеметрия газового счетчика, управление шлагбаумом или
светом, сигнализация) то устройства передающие текст по этому
радиоканалу тоже не требуют лицензии. Сеть ретрансляции устройств
LoRA через интернет начала строиться еще в десятых годах, но она не
была предназначена для текстового общения.
Хотя мештастик с его низкими скоростями (1кбит при настройке
LongFast) и постоянной пересылкой сообщений от модема к модему лучше
всего работает в малых масштабах сети (допустим у группы туристов) в
крупных городах есть шлюзы связывающие через интернет по несколько
высоко стоящих точек доступа, и вываливающие проходящие сообщения в
веб-интерфейс.

Инструкция по подключению к серверу
https://meshtastic.org.ru/mqtt.html
В Мештастик у сообщений есть аналог TTL в TCP - количество
ретрансляций, которое рекомендуется установить около 3 во избежание
перегрузки сети. При каждой ретрансляции промежуточный узел
уменьшает это значение на единицы, когда число доходит до нуля узел
принявший пакет его больше не ретранслирует. Таким образом в большой
сети вас услышат модемы удаленные на 4 пересылки, а не вся сеть.
Также в устройства сети могут выполнять разные роли. Можно отключить
у клиента ретрансляцию сообщений, можно ретранслировать только
сообщения своей группы, можно наоборот установить устройство в
качестве роутера который будет ретранслировать сообщения раньше всех
остальных узлов или наоборот - ретранслировтаь только если он не
услышит ретрансляций сообщения больше ни от кого.
В зависимости от задачи конфигурация устройств может меняться. От
коробочек питаемых от USB до герметичных контейнеров с солнечными
панелями висящих на каких-нибудь мачтах.






Клиентские устройства без клавиатуры на первый взгляд выглядят
странно, но в этом есть логика. Поскольку это меш сеть, то для того
чтобы слышать побольше клиентов логично оставлять такую коробочку
где-нибудь на окне и поключаться к ней через bluetooth со смартфона,
а не тащить ее внутрб железобетонной коробки.
Аппаратно устройства мештастик представляют плату с каким-нибудь
модулем LoRa, каким-нибудь контроллером с беспроводной связью
(bluetooth, wifi), и какой-нибудь периферией. Дисплеем, управлением
зарядом аккумулятора, клавиатурой, портами для GPS или датчиков.
Потребление некоторых в режиме приема может составлять миллиампер
10.
На данный момент в моих руках побывали
Heltekv4 - глухой, слишком мощный, esp32 выжирает батарею на 2,5а\ч
за сутки примерно. С "экономичной" прошивкой - примерно за трое. Ток
потребления при приеме с эконом прошивкой 75ма
Pro-Micro SX1262 + Pro Micro NRF52 - странное китайское поделие, на
которое пришлось самому компилировать прошивку, но удалось связаться
с держателем одного онлайн прошивальщика и теперь прошивка доступна
в интернете. Ток потребления при приеме 8ма
Faketek - по потреблению, чувствительности и мощности схожа с
китайской
heltek t114 ток не мерил, чуйка и мощность похожи на предыдущие.
Жрет 35% аккума на 500ма\ч за сутки.
Вот они, справа налево


Поскольку мой поселок находится в низине то почти сразу возник план
запилить ретранслятор поблизости.
Легкодоступная точка для установки, открывающая направления на все
окрестные поселки и шоссе, при установке на одно из деревьев на
гряде нода оказывается
высоко над остальным лесом.

Расчет покрытия (нода слышна из дома на внешнюю антенну с балкона)

Солнечный узел собран в относительно герметичной клеммной коробке. К
крышке эпоксидкой приклеена солнечная панель 6в 3Вт.


Платы которые я использую в уличных уустройствах я покрываю лаком.
Использованы собранные ранее J-pole, объемный фильтр, AGM батарея на
4в (AGM сносно работают на разряд и заряд при минусовых
температурах) и самодельный контроллер заряда на Attiny13 который
следит за напряжением на аккумуляторе и если оно ниже максимума а
солнечная панель выдает напряжение выше чем на аккуме - включает
заряд. Так же есть защита от просадки напряжения питания при попытке
зарядить севший ниже минимума аккумулятор.
Что касается питания-есть два варианта соединения солнечной панели,
батареи и потребителя. Самый простой который собирается из деталей с
озона за 5 минут. Зарядная платка для лития, банка, нода.

Но литий-полимер просто не работает нормально на холоде. И если
батарея разрядится ниже минимума то она будет потреблять всю
мощность, при этом даже при наличии солнца узел не запустится пока
напряжение на аккумуляторе не вырастет до рабочего.
Поэтому я использую такой вариант.

Диодный коммутатор, схема заряда не просаживает напряжение на выходе
коммутатор, так что даже если аккумулятор вообще сдох нода будет
работать при наличии солнца.
Я использую такую схему.

Стабилитрон в цепи базы ключа заряда ограничивает ток отбираемый от
солнечной панели при заряде севшего аккума так, что напряжение на
общей шине не проседает ниже 3+0.6в - напряжения достаточного для
питания узла. Вообще-то изначально это был простой MPPT контроллер
использующий алгоритм поддержания напряжения на солнечной панели в
0.8 от холостого хода. Но почему-то в среде ардуино не завелся PWM
на ATTINY, поэтому с платки были выкинуты элементы dc-dc а код был
переписан под простой ключ. Аккумулятора 4А\Ч в режиме приема хватит
более чем на месяц, в солнечный день энергия которая расходуется
нодой в режиме приема за сутки восполняется примерно минут за
40-50.
Питание 3.3В для экономичности, да и надежности (знаем мы эти
дешевые LDO, как и проектировщиков не учитывающих рассеяние тепла на
его миниатюрном корпусе) пущено на пин +3,3в через понижающтй mini
360. Ток потребления в режиме приема - около 8ма.

После установки роутера на дерево и проверок линка начались
странности


При пинге роутера через Heltek v4.3 разница в уровнях сигнала
принятого на роутере и принятого дома доходила до 19дБ. Если же
пинговать через китайскую pro micro sx1262 уровни были примерно
равны. Естесственно уровни мощности в настройках стояли одинаковые.
Измерение выходной мощности индикатором ВЧ показало что выходная
мощность Heltek была выше примерно в 4 раза. А чувствительность судя
по уровням пинга - ниже примерно на дб 5.
Оказалось что Heltek добавили в радиотракт микросхему усилитемя
мощности\сигнала, которая не учитывалась прошивкой, выставлявшей
усиления передачи и приема так будто микросхемы нет. LNA видимо
перегружает вход и снижает чувствительность хелтека весьма заметно.
Оказалось что прямо на пути сигнала стоит 12 этажное здание, поэтому
для надежной связи с роутером из дома пришлось собрать ягу, и
направить ее на верхние этажи дальнего конца моего дома, используя
его как отражатель.

В процессе проверки линка и разборок с причинами асимметрии фейктек
в лесном роутере был заменен на китайский бутерброд. Также роутер
был перенесен под самую макушку дерева.
И пинги до него примерно одинаковы с пингами до Faketek. Так что
можно сделать вывод что этот LoRa модуль по параметрам приемника
примерно схож с фейктеком (ht-ra62).
Пока что самый дальний прием был из Шлиссельбурга. Передавал Heltek
v4 на 20см антенну. К сожалению в обратную сторону линка не было
(так пока происходит со всеми принимаемыми хелтеками 4 - они слышат
хуже, а передают сильнее, создавая асимметрию).
Дальше интереснее. После поднятия роутера под макушку дерева, высоко
над окружающими деревьями

стали происходить интересные вещи. Раз в несколько дней, обычно под
вечер стали прилетать сообщения из питера.

Я валил все на то что кто то приезжает в поселок с нодой работающей
с mqtt, но в чатике выдвинули предположение что это тропо.
А потом начали вечером-ночью прилетать сообщения точного времени
(раз в 10 минут) из... Тихвина (Нода Т1 ID !433d1f78), иногда пара
за вечер, иногда всю ночь с 9 вечера до 7 утра каждые 10 минут с
небольшими перерывами. А это 120км, так то. И это ловилось на диполь
(j-антенна).

Остальные самоделки. Кверти нода на Heltek v4 - отказался от этого
варианта из-за чудовищного потребления энергии хелтеком, он не
пригоден для портативного использования. Клавиатура m5stack kardkb,
подключается SDA-pin17, SCL-pin18


Позднее я снял хелтеку клавиатуру и поставил его стационарно как
домашний узел, но саккумулятором, для работоспособности сети при
пропадании питания.


Но поскольку у этой скотины еще и чувствительность ниже чем у
фейктека то пока что я снял его и забросил на полку.
Клавиатуру я приделал к китайской платке Pro micro, которая при токе
потребления в 8ма будет работать от батареи полмесяца, когда хелтек
съедал ее же за 20 часов.
Т114 помещена в компактный корпус с 500ма\ч, работает около двух
суток.

Заготовки ВЧ девайсов
Диполь. Самый простой вариант улучшить работу узла, отрезать
комплектную пипку от кабеля и припаять пару проводов. Очень
широкополосен по сравнеию с остальными вариантами что позволяет не
бояться косяков при изготовлении.

J-pole. По усилению и.т.д - тот же диполь, но питаемый с конца
довольно узкополосным трансформатором, что требует большой
аккуратности и соблюдения размеров, либо наличия антенного
анализатора. Так же из-за узкополосности при запихивании антенны в
платсиковую трубку частота заметно сползает вниз.


Странный коллинеар. Вроде тестированный, но размеры странноваты, это
по сути копиая вайфай коллинеара с сайта martybugs масштабированная
под 869мгц. И вроде проверена, но очень уж странная если прикинуть
распределение токов и входное сопротивление которое должно бы быть -
без трансформатора работать никак не должен.

Простой коллинеар. Тем не менее требует настройки или большой
аккуратности.

Размеры


Я выполнил линии немного иначе, чтобы засунуть в тонкую трубку. При
их растягивании настройка антенны не меняется.

У SM0VPO такой трюк работал, да и я делал коллинеар на 1090
(ADS-B) так, и он неплохо работал.

Еще вариант простой антенны с уголковым отражателем, усиление около
12дб у данного варианта

Асимметричный турникет - простая антенна круговой поляризации



Яги DL6WU

Интердиджитал фильтр

Вариант попроще - однозвенный фильтр


Объемный фильтр в процессе настройки.

Спиральный фильтр



Тесты фильтра на SDR



ДМВ антенна аналогового ТВ. По идее ISM совсем немного за границей
диапазона ДМВ, но ТВ антенны никогда не проектировались тщательно и
КСВ знатно скачет, мой экземпляр можно использовать для меша, но это
лотерея, и покупать специально под эту задачу я не стал бы. Тем
более ЛПВА широкополосны и усиление у них меньше чем у настроенной
яги того же размера.

Ну и распечатал моксон, но не просто так. Пока не испытывался, но
КСВ неплох, около 1,5 и полоса достаточно широкая.


Pro-Micro_NRF52840_and_Pro-Micro_SX1262
На озоне лежат дешевые устройства в виде бутерброда из плат nice
nano и модуля лора.

Из доступных им в принципе подходит прошивка
firmware-nrf52_promicro_diy_tcxo, но есть четыре известные проблемы.
Низкая мощность, потому что прошивка собрана для другого
радиомодуля, лечится сборкой прошивки с измененной одной строчкой в
файле variant.h (такая прошивка выложена ниже)
Врет индикатор заряда (именно индикатор, т.к заряжает плата литий
корректно, до 4.2в при этом показывая 3.6в)
В теории это можно поправить. Настройки устройства-питание-коэфф
переопределения adc ADC 2.005, но внимательно изучившие вопрос
утверждают что проблема не только в несоответствии коэффициента
деления делителя (прошивка написана под 0.6 а на плате делитель 0.5)
и при введении коэффициента он все равно врет. Продолжаем
наблюдение.
Не отправляет сообщения длиннее 100 символов (вернее отправляет но
редко и по случаю, вероятно проблема связана с китайским чипом лора)
Антенна из комплекта работает немного, всего то на 1ГГц выше по
частоте

При использовании на нормальной мощности требует замены, хотя бы
отрезать ее и припаять проводки по 8.2см.
К модулю можно подключить дешевый OLED экранчик и кверти клавиатуру
(если хотите только экран - подключите только его) никаких настроек
это не требует. Просто припаиваются провода, подключатся питание и
все.
Жрет эта плата на прием примерно 8ма, от батареи 2000ма\ч работает
около пары недель. ДЖля сравнения heltek v4 сжирает 2500ма\ч часов
за 18.



Нарисовал корпус
https://www.thingiverse.com/thing:7354013/files
Прошивка с нормальной мощностью и правильной индикацией заряда
батареи для этого бутерброда плат (сотрите предыдущую прошивку с
помощью онлайн флешера мештастик, иначе высокая мощность может не
включиться)
Pro-Micro_NRF52840_and_Pro-Micro_SX1262meshtastic