feat: on-device setup wizard for repeaters with display and button
- добавлен локальный мастер настройки репитера: examples/simple_repeater/UITask.* (меню на кнопке, редактор координат, применение значений через CommonCLI) - MyMesh: публичный доступ к CommonCLI для UI (getCLI), main.cpp передаёт его в UITask - мастер работает на любой цели с дисплеем и кнопкой и исключается препроцессором там, где их нет; WiFi-код теперь под #if defined(ESP32) - новая страница документации posadmesh-docs/device-setup.md, ссылки в index.md и mkdocs.yml - README: раздел «Настройка с дисплея и кнопки» и запись в журнале изменений - проверено сборкой: heltec_v4_repeater_mqtt, Meshadventurer_sx1262_repeater_mqtt, Generic_E22_sx1262_repeater_mqtt (без дисплея), RAK_3112_repeater_mqtt
This commit is contained in:
@@ -0,0 +1,65 @@
|
||||
# Настройка с дисплея и кнопки
|
||||
|
||||
Мастер настройки работает прямо на репитере: не нужен ни компьютер, ни телефон. Он доступен на любой плате, у которой есть дисплей и кнопка, и отсутствует на платах без дисплея — там настройка выполняется через [последовательный CLI](./custom-cli.md) или [веб-панель](./web-panel.md).
|
||||
|
||||
## Что настраивается
|
||||
|
||||
Мастер меняет только то, что нужно для быстрого ввода узла в сеть:
|
||||
|
||||
| Пункт меню | Что делает | Команда CLI |
|
||||
| --- | --- | --- |
|
||||
| `Coordinates` | широта и долгота узла | `set lat`, `set lon` |
|
||||
| `Radio preset` | `keep current` или готовый пресет сети MeshCoreTel (868,731 МГц, 62,5 кГц, SF7, CR7) | `set radio` |
|
||||
| `TX power` | мощность передатчика, 1–30 дБм | `set tx` |
|
||||
| `Repeat` | пересылка пакетов включена или выключена | `set repeat` |
|
||||
| `Path hash` | размер хэша пути: 0, 1 или 2 байта | `set path.hash.mode` |
|
||||
| `Advert int` | интервал advert в минутах (0 — выключено, иначе 60–240) | `set advert.interval` |
|
||||
| `Flood advert` | интервал flood advert в часах (3–168) | `set flood.advert.interval` |
|
||||
| `Flood max` | лимит пересылки flood (0–64) | `set flood.max` |
|
||||
| `Save & exit` | выход из мастера | — |
|
||||
|
||||
Значения применяются сразу при выходе из пункта и сохраняются во флеш. Ответ устройства (`OK` или текст ошибки) показывается на экране — проверку выполняет тот же код, что и последовательный CLI, поэтому неверное значение не будет записано.
|
||||
|
||||
## Управление кнопкой
|
||||
|
||||
Экран состояния (обычный режим):
|
||||
|
||||
- **короткое** — включить или продлить подсветку экрана;
|
||||
- **двойное** — войти в мастер настройки;
|
||||
- **длинное** — выключить питание узла.
|
||||
|
||||
В меню:
|
||||
|
||||
- **короткое** — следующий пункт, **двойное** — предыдущий;
|
||||
- **длинное** — войти в пункт.
|
||||
|
||||
В пункте с числом или списком:
|
||||
|
||||
- **короткое** — увеличить значение, **двойное** — уменьшить;
|
||||
- **длинное** — применить и вернуться в меню.
|
||||
|
||||
Если узел прошит «с нуля» и ещё не имеет имени, мастер открывается сам после заставки.
|
||||
|
||||
## Ввод координат
|
||||
|
||||
Координаты показываются в формате `xx.xxxx yy.yyyy` — сначала широта, затем долгота. Активная цифра выделена инверсией.
|
||||
|
||||
| Действие | Что происходит |
|
||||
| --- | --- |
|
||||
| длинное нажатие | войти в изменение текущей цифры |
|
||||
| короткое нажатие в режиме правки | цифра +1 |
|
||||
| двойное нажатие в режиме правки | цифра −1 |
|
||||
| длинное нажатие в режиме правки | применить цифру |
|
||||
| короткое нажатие после применения | перейти к следующей цифре |
|
||||
| длинное нажатие на экране `Save & exit?` | сохранить координаты и выйти |
|
||||
| двойное нажатие на экране `Save & exit?` | вернуться к правке |
|
||||
|
||||
Всего перебираются 12 цифр: шесть для широты и шесть для долготы. Когда применены все, короткое нажатие выводит экран подтверждения. Координаты сохраняются двумя командами — `set lat` и `set lon`; после сохранения узел появится на карте MeshCoreTel в течение следующего advert.
|
||||
|
||||
Ограничение: мастер вводит положительные координаты (формат без знака). Для южного полушария и западной долготы используйте CLI (`set lat -33.1234`) или веб-панель.
|
||||
|
||||
## Ограничения
|
||||
|
||||
- На экранах без кириллицы подписи меню выводятся латиницей.
|
||||
- Мастер не настраивает Wi-Fi, MQTT, регионы и список доступа: для них нужен последовательный CLI или веб-панель. На плате с Wi-Fi их удобнее задавать из веб-панели.
|
||||
- Если дисплея нет, мастер не компилируется в прошивку и на поведение узла не влияет.
|
||||
Reference in New Issue
Block a user