Радио — это способ разговаривать, когда интернета нет вообще: две платы LoRa, несколько километров между ними и ни одного сервера посередине.
Этот раздел — четыре документа, и у каждого факта здесь ровно один дом. Если что-то сказано в одном месте, в остальных на него ссылка, а не копия.
| Документ | О чём | Кому |
|---|---|---|
| Прошить плату в RNode | прошить плату прошивкой RNode | один раз на каждую плату |
| Подключить радио | подключить радио в приложении и разговаривать через него | всем |
| Радио из командной строки | те же действия и измерения из командной строки | тем, кто без интерфейса |
| этот документ | какой носитель проверен, а какой нет, и словарь | прочитать первым |
Какой носитель работает
RNode — проверенный носитель. Это прошивка-модем: плата принимает байты по USB и излучает их, не решая ничего за нас. Всё, что quite.space умеет по радио, измерено на нём.
Meshtastic — экспериментальная функция, не проверенная в этой роли. Драйвер в сборке есть, узел к такой плате подключается, но продуктовый сценарий (встреча по радио, приглашение, переписка без интернета) на Meshtastic целиком никогда не прогонялся. Куда он пойдёт дальше — не решено. Если у вас плата с Meshtastic и вы хотите именно радио в quite.space, прошейте её в RNode: Прошить плату в RNode.
Как проверяли RNode — в двух словах
Две платы Heltec WiFi LoRa 32 V3 на столе, 868.95 МГц, SF11/250 кГц, 20 dBm. Три уровня, каждый со своим критерием «да или нет»:
| проверка | что мерили | результат |
|---|---|---|
| одиночный кадр | доходит ли пакет до приложения на второй плате | 100% в обе стороны, p50 0.71 с, ни одного отказа модема |
| целое сообщение | собирается ли сообщение из фрагментов байт-в-байт | 10 из 10 на размерах до 6.6 КБ |
| живой продукт | весь путь без реле и без интернета | прошёл |
Живой прогон стоит подробнее, потому что это и есть обещание продукта.
Два узла, оба с --no-lan, ни одного реле:
увидели друг друга по радио 21 с
проба → линк → приглашение 25 с
линия установлена в обе стороны 42 с
текст прошёл туда и обратно 199 с
Вторая половина — про отказ интернета. Два узла уже знакомы через реле, интернет выключается, ничего не перезапускается: следующее сообщение прошло по радио за 85 секунд, а когда интернет вернулся, ни одно сообщение не задвоилось и никого не пришлось приглашать заново.
Сравнение с Meshtastic на том же железе и той же физике мы делали только на первом уровне — одиночные кадры: RNode 100%/100% и p50 0.71 с против 93.3%/100% и p50 1.40 с в одну сторону и 9.30 с в другую. Честная оговорка: платы в двух прогонах были не полностью одни и те же, прогоны разнесены на часы, и 30 кадров — это отсев, а не статистика. Что не двусмысленно — задержка RNode равна времени в эфире и симметрична до миллисекунды.
Воспроизвести любой из трёх уровней своими руками: Радио из командной строки.
Словарь
Сегмент — группа радио, которые слышат друг друга и считают друг друга своими. Технически сегмент задаётся одной вещью: фразой сегмента.
Фраза сегмента — слова, из которых каждое радио выводит один и тот же ключ. Совпали слова — вы в одном сегменте; разошлись на один символ — оба радио исправно передают, и ни одно ничего не слышит. Ошибки при этом нигде не будет: тишина неотличима от «рядом никого нет». Отсюда почти все правила в документе Подключить радио.
Ключ сегмента защищает механизм, а не переписку: он доказывает, что служебный кадр написал кто-то из сегмента. Содержимое сообщений зашифровано ключами пространства ещё до того, как попадает в радиослой, и радио ничего к этому не добавляет и ничего не ослабляет. Сам факт, что в эфире идёт обмен, виден всем в радиусе — это физика, и мы её не прячем.
Профиль — физические параметры эфира: частота, полоса, SF, мощность.
Все радио сегмента обязаны быть на одном профиле. Сейчас в сборке один:
long-fast-ru (868.95 МГц, 250 кГц, SF11, CR4/5, 20 dBm).
Линия — пространство на двоих, которое возникает, когда вы кого-то встретили по радио. Обычное пространство quite.space, просто рождённое без интернета.
Что радио не заменяет
Одно радио на узел, и оно — последний путь, а не единственный. Пока жив интернет или локальная сеть, узел пользуется ими: они шире и быстрее. Радио включается тогда, когда остальное закончилось, и делает это само, никого не спрашивая.
Скорость LoRa — единицы килобит в секунду на всех сразу. Текст ходит нормально; фотографии, звук и файлы ждут интернета — почему именно так и что при этом видит человек, написано в документе Подключить радио.
Соседние документы
- Путь Meshtastic — прошивка, регион, канал сегмента, профиль. Отдельная история и другой носитель; всё про RNode — здесь.