Mesh, part 2.
Какой же мальчик откажется от игрушек.
Завел себе аж 3 (три) радио для Меша (будет собирательное название для
Meshcore и Meshtastic). Вот тут отчасти описаны впечатления от первых двух,
поэтому здесь будет только маленький recap.
1. Lilygo T-beam Supreme, на базе ESP32-S3, с цацкамии и погремушкми, вроде
GPS. Поначалу собирался использовать как носимое устройство, но выяснилось
что жрет оно как не в себя, а впоследствии я озадачился установкой
стационарного ретранслятора, из филантропских соображений, и от идеи
таскать его за собой отказался. Он торомозной, но работу делает. Сейчас
висит на стационарном питании.
2. Meshnology ThinkNode M2, опять же на базе ESP32-S3, достался мне в виде
developmend board, то есть без корпуса, корпус сейчас печатается на 3Д
принтере. Без цацек и с самой куцей антенной, но не тормозит, и единственный
из трех в котором Bluetooth не отваливается. Поскольку он с большим
отрывом еще и самый дешевый, заказал себе еще один, для опытов. к первому
экземпляру прицепил батарейку на 3000 mAh, на которой он живет двое суток.
3. Lilygo T-echo, на базе nRF52840. Теоретически, должен держаться на
одном заряде батарейки в 850 mAh с неделю. Неделю я не проверял, двое
суток он прожил, но жаловался. Поначалу Bluetooth глюковал, причем злобно,
пришлось перегружаь и его, и телефон, но со временем устаканилось.
Максимальная выходная мощность у всех трех 160 мВатт, все три сконфигурированы
на максимум.
Первые впечатления от погружения в эти ваши сети.
Нодов (nodes) довольно много. Meshtastic передает сообщения путем бродкаста
и флуда по сети. Дивайс с конфигурацией по умолчанию (CLIENT) ретранслирует
все, что предназначено не ему, пока не доставит адресату. В протоколе есть
механизм недопущения доставки множественных копий. Сообщения передаются от
нода к ноду, каждое такое событие называется hop. Мештастик поддерживает до
семи таких хопов, если не дошло, то в дефолтной конфигурции не судьба.
Как обмануть эту несудьбу, см. в следующих сериях (hopefully).
По опыту недельного кувыркания и барахтания стандартна ситуация в которой
ты видишь сообщения в общий канал, но тебя почти никто не видит; Железные
Мозги посоветовали мне сменить антенну. У все трех дивайсов антенны говно,
самое говняное говно у М2. Нередка ситуация, когда из трех дивайсов,
находящихся в одной комнате, сообщения из общего чата получают не все.
Возможно, из-за двустороннего характера связи и случайного desensitizing,
когда один передает, а второй пытается в это время принять что-то другое.
При передаче сообщений, дефолтная конфигурация еще досылает телеметрию, в
том числе модель нода; среди того что я видел, много мощных 1-ваттных
радио (больше 1 ватта в США в этом диапазоне гнать запрещает FCC, в Европах
и того меньше), так что возможно к одной из своих морских свинок прикручу
усилитель, который позволит еще децибелл 10 докинуть.
Сегодня я все же установил первый контакт с каки-то левым перцем, через
три хопа, находясь на открытом пространстве, но откуда был этот перец,
мне выяснить не удалось.
Пока у меня есть несколько low hanging fruits в поле улучшения надежности
связи, поэтому с выводами пока спешить не будем.
Второй вариант, Meshcore, я пока не пробовал, но вот тут товарисч активно
продвигает эту сеть. Мешкор вообще появился только 2 года назад, пользователей
пока существенно меньше, будем посмотреть и поэкспериментировать.