feat: manual Gitea build workflow, release publishing, README and docs update

- добавлен ручной workflow Gitea Actions (.gitea/workflows/build-mqtt-firmwares.yml):
  сборка MQTT-прошивок на сервере и публикация релиза
- добавлен posadmesh-tools/publish-gitea-release.sh для выгрузки собранных файлов
  в релиз Gitea (идемпотентно, фильтр по треку)
- README: происхождение проекта переписано (форк EastMesh, доработка энтузиастов
  из Сергиева Посада, ориентация на meshcoretel.ru), добавлены раздел
  «Отличия от upstream MeshCore» и журнал «Изменения в проекте»
- убраны упоминания Австралии, ссылки на eastmesh.au и региональные материалы;
  руководство по прошивке переведено на файлы релизов и esptool.py
- posadmesh-build.sh: вывод PlatformIO очищается от \r — на Windows групповые
  команды сборки не находили ни одной цели; companion-команды удалены,
  добавлены build-mqtt-firmwares и list-mqtt
- release-notes.yml: треки repeater-mqtt*, запись 2026.10.0 дополнена удалением
  companion и исправлением сборки, companion-wifi помечен как снятый с выпуска
- AGENTS.md: правило дописывать изменения в README
- .gitignore: .pio-home
This commit is contained in:
2026-10-11 17:20:05 +03:00
parent c86ae584ab
commit 26b724c0f0
19 changed files with 735 additions and 616 deletions
+2 -2
View File
@@ -1,6 +1,6 @@
# Веб-API репитера
Эта страница описывает локальный HTTPS API, который предоставляют сборки PosadMesh `*_repeater_observer` с поддержкой веб-панели.
Эта страница описывает локальный HTTPS API, который предоставляют сборки PosadMesh `*_repeater_mqtt` с поддержкой веб-панели.
Он предназначен для:
@@ -34,7 +34,7 @@ curl -sk https://<repeater-ip>/api/command \
API доступен только когда:
- вы запускаете поддерживаемую сборку прошивки `*_repeater_observer`
- вы запускаете поддерживаемую сборку прошивки `*_repeater_mqtt`
- веб-панель репитера включена и работает
- репитер доступен из локальной сети
- вы прошли аутентификацию с паролем администратора репитера
+14 -57
View File
@@ -4,33 +4,25 @@
## С чего начать
Если вы новичок в железе MeshCore и просто хотите разумную отправную точку, сначала решите, будет устройство companion-радио или репитером.
Для companion-радио думайте о Wi-Fi-эндпоинте автоматизации:
- используйте сборки companion Wi-Fi, когда другой системе — например, Home Assistant, RemoteTerm или вашему собственному инструментарию — нужно подключаться к MeshCore по Wi-Fi
- обычно это не устройства для повседневной ручной работы, поэтому экран здесь скорее опция, чем обязательное требование
- платы без экрана или простые платы часто подходят, когда companion-радио будет стоять рядом с питанием и управляться из другого приложения или системы автоматизации
- смотрите таблицы companion-радио ниже, если вам всё же нужен дисплей, GPS или более полный набор на плате
Если вы новичок в железе MeshCore и просто хотите разумную отправную точку, сначала решите, каким будет устройство: MQTT/веб-репитером или репитером-мостом.
Для MQTT/веб-репитеров думайте о Wi-Fi, видимости в брокере и достаточном запасе для локальной веб-панели:
- обычные отправные точки — `Heltec_v3` и `heltec_v4`
- `heltec_v4_repeater_observer` — сильный универсальный выбор обсервера с GPS, PSRAM и 16 MB флеш-памяти
- `heltec_v4_repeater_mqtt` — сильный универсальный выбор MQTT-репитера с GPS, PSRAM и 16 MB флеш-памяти
- выбирайте платы с большим объёмом флеш-памяти и PSRAM, если вам нужны MQTT вместе с локальной веб-панелью, статистика или больше запаса под будущие функции
- экраны не являются важным требованием, потому что у обсерверов есть локальная веб-панель для настройки и диагностики
- экраны не являются важным требованием, потому что у MQTT-репитеров есть локальная веб-панель для настройки и диагностики
- репитеры без экрана часто оказываются самым чистым решением, когда устройство будет жить на крыше, в корпусе или в стационарной установке, а настраивать вы будете его из веб-панели, последовательной консоли или приложения
Для репитеров-мостов думайте о локальном радиосвязывании между близко расположенными репитерами:
- используйте прошивку моста, когда двум локальным репитерам нужно обмениваться трафиком между разными радиоконфигурациями MeshCore, например `Australia (Narrow)` и `Australia (Mid)`
- используйте прошивку моста, когда двум локальным репитерам нужно обмениваться трафиком между разными радиоконфигурациями MeshCore — например, с разной полосой пропускания и SF
- чистым репитерам-мостам ESP-NOW не нужны ни MQTT, ни веб-панель PosadMesh, ни экран
- ставьте на первое место стабильное питание, подходящие антенны и размещение, а не возможности дисплея
- используйте `observer-posadmesh-bridge-espnow` только когда тому же репитеру нужны ещё и MQTT-аплинк, и локальный мост ESP-NOW; иначе `repeater-bridge-espnow` делает роль проще
- используйте `repeater-mqtt-espnow` только когда тому же репитеру нужны ещё и MQTT-аплинк, и локальный мост ESP-NOW; иначе `repeater-bridge-espnow` делает роль проще
Другие примечания:
- экраны важнее для companion-радио или стендовых/полевых устройств, чем для стационарных репитеров
- если вам действительно нужен встроенный экран, которым люди будут пользоваться, предпочитайте платы с TFT
- если нужен экран состояния с низким энергопотреблением, предпочитайте платы с электронной бумагой
- если важно определение местоположения или мобильное использование, предпочитайте платы с поддержкой GPS, например семейство T-Beam, `heltec_tracker_v2`, `Heltec_v3`, `heltec_v4` или `ThinkNode_M5`
@@ -40,7 +32,7 @@
Таблицы ниже построены на основе метаданных плат PlatformIO из репозитория и флагов сборки вариантов.
- `Target` — краткое имя платы, используемое на этой странице сравнения. Имена файлов релизов и локальные команды сборки по-прежнему используют полные имена env, например `heltec_v4_repeater_observer`.
- `Target` — краткое имя платы, используемое на этой странице сравнения. Имена файлов релизов и локальные команды сборки по-прежнему используют полные имена env, например `heltec_v4_repeater_mqtt`.
- `MCU` показывает только семейство чипа. Фактовая рабочая частота может различаться в зависимости от env и конфигурации платы.
- `RAM` — встроенная память RAM микроконтроллера.
- `PSRAM` — дополнительная память на некоторых платах. Больше PSRAM обычно означает больше запаса для интерфейса, MQTT и будущих функций.
@@ -49,11 +41,10 @@
## Примечания по трекам
- Платы `companion-wifi` предназначены для companion-устройств, подключаемых к приложению.
- Платы `observer-posadmesh` предназначены для Wi-Fi-репитеров, публикующих данные в MQTT.
- Платы `repeater-bridge-espnow` и `observer-posadmesh-bridge-espnow` предназначены для использования в качестве локального моста ESP-NOW между близко расположенными репитерами с разными радиоконфигурациями MeshCore.
- Платы `repeater-mqtt` предназначены для Wi-Fi-репитеров, публикующих данные в MQTT.
- Платы `repeater-bridge-espnow` и `repeater-mqtt-espnow` предназначены для использования в качестве локального моста ESP-NOW между близко расположенными репитерами с разными радиоконфигурациями MeshCore.
Прошивка моста — это не MQTT через WAN и не мост через VPN. Используйте её, когда двум локальным репитерам нужно обмениваться трафиком между радиоконфигурациями, такими как `Australia (Narrow)` и `Australia (Mid)`.
Прошивка моста — это не MQTT через WAN и не мост через VPN. Используйте её, когда двум локальным репитерам нужно обмениваться трафиком между разными радиоконфигурациями, например с разной полосой пропускания и SF.
## Дополнительные признаки
@@ -106,9 +97,9 @@
\* Эти таргеты используют PA или RF-фронтенд, поэтому фактическая выходная мощность может быть заметно выше заданной в `LORA_TX_POWER`.
## Платы `repeater_observer`
## Платы `repeater_mqtt`
В таблице перечислены все обсервер-таргеты, определённые сейчас в `variants/posadmesh_mqtt/platformio.ini`.
В таблице перечислены все MQTT-таргеты, определённые сейчас в `variants/posadmesh_mqtt/platformio.ini`.
| Target | MCU | RAM | PSRAM | Flash | LoRa | Display | GPS | SD |
| ------------------------ | ------- | ------ | ----- | ----- | ------ | --------------- | --- | --- |
@@ -155,42 +146,8 @@
- `🧪` — аппаратно плата, скорее всего, поддерживает TF/microSD, но интеграцию для конкретной платы в PosadMesh ещё нужно проверить, прежде чем считать её поддерживаемой.
- Для текущего архива статистики карты microSD `4 GB` `FAT32` более чем достаточно. Карты большего объёма тоже поддерживаются.
## Платы `companion_radio_wifi` с дисплеем
Это Wi-Fi companion-таргеты, у которых настроен дисплей для локального статуса, подсказок при настройке или эпизодического прямого взаимодействия.
| Target | MCU | RAM | PSRAM | Flash | LoRa | Display | GPS |
| ------------------------ | ------- | ------ | ----- | ----- | ------ | --------------- | --- |
| Heltec_v2 | ESP32 | 520 KB | No | 8 MB | SX1276 | OLED (SSD1306) | |
| Heltec_v3 | ESP32S3 | 512 KB | No | 8 MB | SX1262 | OLED (SSD1306) | ✅ |
| heltec_tracker_v2 | ESP32S3 | 512 KB | No | 8MB | SX1262 | TFT (ST7735) | ✅ |
| heltec_v4 | ESP32S3 | 512 KB | 2 MB | 16MB | SX1262 | OLED (SSD1306) | ✅ |
| heltec_v4_tft | ESP32S3 | 512 KB | 2 MB | 16MB | SX1262 | TFT (ST7789) | ✅ |
| LilyGo_TBeam_1W | ESP32S3 | 512 KB | 8 MB | 16MB | SX1262 | OLED (SH1106) | ✅ |
| LilyGo_TLora_V2_1_1_6 | ESP32 | 520 KB | No | 4 MB | SX1276 | OLED (SSD1306) | ✅ |
| nibble_screen_connect | ESP32S3 | 512 KB | No | 4MB | SX1262 | OLED (SSD1306) | |
| Station_G2 | ESP32S3 | 512 KB | 8 MB | 16MB | SX1262 | OLED (SH1106) | ✅ |
| T_Beam_S3_Supreme_SX1262 | ESP32S3 | 512 KB | 8 MB | 8MB | SX1262 | OLED (SH1106) | ✅ |
| ThinkNode_M2 | ESP32S3 | 512 KB | No | 4MB | SX1262 | OLED (SH1106) | |
| ThinkNode_M5 | ESP32S3 | 512 KB | No | 4MB | SX1262 | E-paper (GxEPD) | ✅ |
## Платы `companion_radio_wifi` без дисплея
Это Wi-Fi companion-таргеты, где основной интерфейс — приложение companion. Для многих пользователей это лучший повседневный вариант.
| Target | MCU | RAM | PSRAM | Flash | LoRa | GPS |
| ----------------------- | ------- | ------ | ----- | ----- | ------ | --- |
| Heltec_WSL3 | ESP32S3 | 512 KB | No | 8 MB | SX1262 | ✅ |
| RAK_3112 | ESP32S3 | 512 KB | No | 8 MB | SX1262 | ✅ |
| Xiao_S3_LoRa2021F33-2G4 | ESP32S3 | 512 KB | No | 8 MB | LR2021 | |
| Xiao_S3_WIO | ESP32S3 | 512 KB | No | 8 MB | SX1262 | ✅ |
## Практические рекомендации
- Лучший универсальный обсервер с экраном и хорошим запасом ресурсов: `heltec_v4_repeater_observer`, `heltec_v4_tft_repeater_observer`, `Station_G2_repeater_observer`, `LilyGo_TBeam_1W_repeater_observer`.
- Лучший обсервер для простой установки без дисплея: `RAK_3112_repeater_observer`, `Generic_E22_sx1262_repeater_observer`, `Meshimi_repeater_observer`, `Xiao_C6_repeater_observer`.
- Лучшие малопотребляющие сборки обсервера с дисплеем: `Heltec_E213_repeater_observer`, `Heltec_E290_repeater_observer`, `Heltec_Wireless_Paper_repeater_observer`, `ThinkNode_M5_Repeater_observer`.
- Лучший выбор companion, если нужен самый богатый локальный интерфейс: `heltec_v4_tft_companion_radio_wifi` и `heltec_tracker_v2_companion_radio_wifi`.
- Лучший выбор companion, если нужен максимальный запас памяти: `T_Beam_S3_Supreme_SX1262_companion_radio_wifi`, `Station_G2_companion_radio_wifi`, `LilyGo_TBeam_1W_companion_radio_wifi`.
- Лучший выбор companion, если достаточно приложения и работы почти без дисплея: `RAK_3112_companion_radio_wifi`, `Xiao_S3_WIO_companion_radio_wifi`, `Station_G2_companion_radio_wifi`.
- Лучший выбор companion, если вы предпочитаете OLED вместо TFT: `T_Beam_S3_Supreme_SX1262_companion_radio_wifi`, `heltec_v4_companion_radio_wifi`, `LilyGo_TBeam_1W_companion_radio_wifi`.
- Лучший универсальный MQTT-репитер с экраном и хорошим запасом ресурсов: `heltec_v4_repeater_mqtt`, `heltec_v4_tft_repeater_mqtt`, `Station_G2_repeater_mqtt`, `LilyGo_TBeam_1W_repeater_mqtt`.
- Лучший MQTT-репитер для простой установки без дисплея: `RAK_3112_repeater_mqtt`, `Generic_E22_sx1262_repeater_mqtt`, `Meshimi_repeater_mqtt`, `Xiao_C6_repeater_mqtt`.
- Лучшие малопотребляющие сборки MQTT-репитера с дисплеем: `Heltec_E213_repeater_mqtt`, `Heltec_E290_repeater_mqtt`, `Heltec_Wireless_Paper_repeater_mqtt`, `ThinkNode_M5_repeater_mqtt`.
+17 -102
View File
@@ -16,7 +16,7 @@ set mqtt.iata <code>
get mqtt.status
```
Для обсерверов с локальной веб-панелью также полезны:
Для MQTT-репитеров с локальной веб-панелью также полезны:
```text
set web on
@@ -24,11 +24,11 @@ get web.status
set web off
```
Используйте `set web on` при настройке или диагностике, а затем `set web off`, когда стационарному обсерверу нужен максимальный запас памяти.
Используйте `set web on` при настройке или диагностике, а затем `set web off`, когда стационарному MQTT-репитеру нужен максимальный запас памяти.
## Команды обсервера
## Команды MQTT-репитера
Эти команды доступны в таргетах прошивки `*_repeater_observer`.
Эти команды доступны в таргетах прошивки `*_repeater_mqtt`.
Команды `get` без аргументов нужно вводить точно так, как показано.
@@ -80,7 +80,7 @@ set web off
Примечания:
- новые установки обсерверов по умолчанию задают для `mqtt.iata` значение `UNSET`
- новые установки MQTT-репитеров по умолчанию задают для `mqtt.iata` значение `UNSET`
- одновременно можно включить максимум два MQTT-брокера
- если `mqtt.iata` имеет значение `UNSET`, включённые MQTT-брокеры не подключатся
- пользовательский MQTT использует настроенные имя пользователя и пароль, а не аутентификацию JWT
@@ -94,7 +94,7 @@ set web off
- `mqtt.meshcoretel.ru`
### Настройки Wi-Fi для обсерверов
### Настройки Wi-Fi для MQTT-репитеров
- `get wifi.status`: показывает SSID, состояние подключения, необработанный код статуса Wi-Fi, IP, канал и уровень сигнала при подключении, а также состояние шлюза (`gw:ok|lost`) и счётчик переподключений сторожевым таймером (`wd:<n>`).
- `get wifi.ssid`: показывает настроенный SSID Wi-Fi.
@@ -104,9 +104,9 @@ set web off
- `set wifi.powersaving none|min|max`: задаёт режим энергосбережения Wi-Fi.
- `wifi reconnect`: разрывает текущее соединение и переподключается с полным сканированием каналов. Используйте, когда узел сообщает о подключении, но недоступен по сети.
Обсерверы также используют сторожевой таймер связи: пока Wi-Fi сообщает о подключении, узел каждые 30 секунд проверяет свой шлюз через ARP. Если шлюз молчит 3 минуты (например, точка доступа, которая продолжает рассылать beacon после потери проводного аплинка), узел сам принудительно выполняет полное переподключение, увеличивая интервал между попытками вплоть до 48 минут, пока сбой не прекратится. `wd:<n>` в `get wifi.status` считает такие принудительные переподключения с момента загрузки.
MQTT-репитеры также используют сторожевой таймер связи: пока Wi-Fi сообщает о подключении, узел каждые 30 секунд проверяет свой шлюз через ARP. Если шлюз молчит 3 минуты (например, точка доступа, которая продолжает рассылать beacon после потери проводного аплинка), узел сам принудительно выполняет полное переподключение, увеличивая интервал между попытками вплоть до 48 минут, пока сбой не прекратится. `wd:<n>` в `get wifi.status` считает такие принудительные переподключения с момента загрузки.
### Настройки NTP для обсерверов
### Настройки NTP для MQTT-репитеров
- `get ntp.server1`: показывает основной NTP-сервер.
- `get ntp.server2`: показывает дополнительный NTP-сервер.
@@ -117,20 +117,20 @@ set web off
Серверы по умолчанию: `au.pool.ntp.org`, `time.google.com` и `time.cloudflare.com`.
### Настройки моста ESP-NOW для сборок Observer ESP-NOW
### Настройки моста ESP-NOW для сборок MQTT ESP-NOW
Эти команды доступны в таргетах прошивки `*_repeater_observer_espnow`, использующих транспорт моста ESP-NOW.
Эти команды доступны в таргетах прошивки `*_repeater_mqtt_espnow`, использующих транспорт моста ESP-NOW.
Команды моста предназначены для локального использования моста ESP-NOW между близко расположенными репитерами, например для связи репитеров в `Australia (Narrow)` и `Australia (Mid)`. Это не элементы управления MQTT-over-WAN, VPN или интернет-мостом.
Команды моста предназначены для локального использования моста ESP-NOW между близко расположенными репитерами, работающими на разных радиоконфигурациях MeshCore — например, с разной полосой пропускания и SF. Это не элементы управления MQTT-over-WAN, VPN или интернет-мостом.
- `get bridge.channel`: показывает настроенный канал моста ESP-NOW.
- `set bridge.channel <channel>`: задаёт канал моста ESP-NOW и перезапускает мост. Используйте значение от `1` до `14`.
- `get bridge.secret`: показывает настроенный секрет моста ESP-NOW.
- `set bridge.secret <secret>`: задаёт общий секрет моста ESP-NOW и перезапускает мост.
После выполнения `set bridge.channel` ожидайте кратковременного разрыва соединения моста и веб-панели, пока радио перезапускается. В текущих сборках observer ESP-NOW это может выглядеть как перезагрузка платы.
После выполнения `set bridge.channel` ожидайте кратковременного разрыва соединения моста и веб-панели, пока радио перезапускается. В текущих сборках MQTT ESP-NOW это может выглядеть как перезагрузка платы.
В сборках `*_repeater_observer_espnow`, подключённых к Wi-Fi, канал моста ESP-NOW должен совпадать с активным каналом Wi-Fi 2,4 ГГц:
В сборках `*_repeater_mqtt_espnow`, подключённых к Wi-Fi, канал моста ESP-NOW должен совпадать с активным каналом Wi-Fi 2,4 ГГц:
1. Выполните `get wifi.status`.
2. Считайте значение `channel:<n>` из статуса подключённого Wi-Fi.
@@ -177,11 +177,11 @@ OK
- `get flood.max.advert`: показывает лимит хопов для flood-пакетов advert.
- `set flood.max.advert <0-64>`: задаёт лимит хопов для flood-пакетов advert.
В сборках обсерверов `flood.max.unscoped` по умолчанию равен `64`. Меньшие значения могут ограничить, как далеко повторяется неограниченный flood-трафик, тогда как пересылка scoped/region flood остаётся под управлением `flood.max`.
В сборках MQTT-репитеров `flood.max.unscoped` по умолчанию равен `64`. Меньшие значения могут ограничить, как далеко повторяется неограниченный flood-трафик, тогда как пересылка scoped/region flood остаётся под управлением `flood.max`.
### Отчётность о батарее платы
- В сборках обсерверов фоновый опрос батареи, используемый для истории MQTT/статуса, ограничен примерно одним разом в минуту. Явные запросы статуса и телеметрии по-прежнему обновляют показание сразу.
- В сборках MQTT-репитеров фоновый опрос батареи, используемый для истории MQTT/статуса, ограничен примерно одним разом в минуту. Явные запросы статуса и телеметрии по-прежнему обновляют показание сразу.
### Управление вентилятором T-Beam 1W
@@ -217,96 +217,11 @@ OK
- панель по-прежнему использует для доступа пароль администратора репитера
- команды выполняются с той же осторожностью, как если бы вы вводили их напрямую в CLI репитера
- это предназначено для локального административного использования в доверенной сети
- `start ota` освобождает локальный слушатель HTTP-редиректа на порту `80`, чтобы слушатель OTA HTTP мог занять его, не останавливая остальные службы репитера, независимо от того, выполнена ли команда из веб-панели, последовательного CLI или удалённого сеанса CLI companion/приложения
- `start ota` освобождает локальный слушатель HTTP-редиректа на порту `80`, чтобы слушатель OTA HTTP мог занять его, не останавливая остальные службы репитера, независимо от того, выполнена ли команда из веб-панели, последовательного CLI или удалённого сеанса CLI
- если старый слушатель редиректа не освободил порт `80` полностью, слушатель OTA повторяет попытки примерно до 30 секунд, после чего сдаётся
- кнопка `Purge SD` в веб-интерфейсе выполняет `purge sd` после подтверждения в браузере
- `start ota` использует существующий Wi-Fi-адрес репитера, если он уже подключён, или запускает точку доступа `MeshCore-OTA`, если Wi-Fi не подключён
- ярлык Regions в `/app` последовательно выполняет существующие команды регионов MeshCore: `region put au`, `region put au-STATE`, `region allowf au`, `region allowf au-STATE`, затем `region save`
## Команды восстановления Wi-Fi для companion
Эти команды доступны в последовательном CLI восстановления для сборок `*_companion_radio_wifi`.
Чтобы войти в `CLI Rescue`:
- откройте последовательный монитор на скорости `115200` бод
- перезагрузите устройство
- удерживайте кнопку пользователя в течение первых 8 секунд после загрузки
- дождитесь `========= CLI Rescue =========`
- `get wifi.status`: показывает настроенный SSID, состояние подключения, необработанный код статуса Wi-Fi, IP, канал и уровень сигнала при подключении.
- `get wifi.ssid`: показывает настроенный SSID Wi-Fi.
- `get wifi.powersaving`: показывает текущий режим энергосбережения Wi-Fi.
- `set wifi.ssid <ssid>`: сохраняет SSID Wi-Fi и сразу повторяет подключение.
- `set wifi.pwd <password>`: сохраняет пароль Wi-Fi и сразу повторяет подключение.
- `set wifi.powersaving none|min|max`: изменяет режим энергосбережения Wi-Fi.
Сборки Companion Wi-Fi также по-прежнему поддерживают существующие команды восстановления, такие как:
- `set pin <6-digit-pin>`
- `rebuild`
- `erase`
- `ls ...`
- `cat ...`
- `rm ...`
- `reboot`
### Точка доступа для восстановления
Когда у устройства companion Wi-Fi не настроены учётные данные Wi-Fi или оно не может подключиться
к своей настроенной сети в течение 60 секунд, оно поднимает собственную
точку доступа `EastMesh-WiFi`, чтобы его можно было восстановить без последовательного кабеля.
**Пароль точки доступа — это pin устройства, дополненный нулями до 8 цифр** (WPA2 требует
не менее 8 символов). Pin подчиняется тем же правилам, что и pin сопряжения Bluetooth в
сборках BLE:
| Устройство | Активный pin | Пароль `EastMesh-WiFi` |
| --------------------------- | ---------------------------------------------------------------------- | -------------------------------------------------------------- |
| Есть экран, pin не задан | случайный 6-значный pin при каждой загрузке, отображается как `Pin:NNNNNN` на главном экране | `00NNNNNN` — считайте его с экрана |
| Нет экрана, pin не задан | `123456` (по умолчанию) | `00123456` |
| Pin задан через `set pin <pin>` | ваш настроенный pin (любое устройство) | ваш pin, дополненный нулями до 8 цифр, например pin `4242` → `00004242` |
Примечания по pin:
- на устройствах с экраном pin случаен только до тех пор, пока pin не сохранён; выполните
`set pin <pin>` для фиксированного пароля (вступает в силу при следующей загрузке)
- устройствам без экрана в общедоступных местах всегда следует задавать собственный pin — `00123456` —
это документированное значение по умолчанию, поэтому относитесь к нему как к паролю роутера по умолчанию
Шаги восстановления:
1. подключитесь к сети `EastMesh-WiFi` с паролем из таблицы выше
2. откройте CLI восстановления командой `telnet 192.168.4.1` (или `nc 192.168.4.1 23`) — все
команды восстановления, перечисленные выше, доступны
3. `set wifi.ssid <ssid>`, затем `set wifi.pwd <password>` — устройство сразу
повторяет подключение к сети с новыми учётными данными
4. `reboot` (или просто подождите — см. ниже)
Пока точка доступа поднята, устройство продолжает повторять попытки подключения к настроенной сети примерно раз в
минуту (ожидайте короткий сбой точки доступа при каждой попытке); как только подключение станции
успешно, точка доступа восстановления автоматически отключается (это также разрывает
ваш сеанс восстановления — это признак того, что всё сработало).
### Использование приложения companion через AP (роуминг)
Точка доступа восстановления нужна не только для исправления учётных данных — через неё
доступен полный протокол companion, что делает её режимом роумингового доступа, когда устройство
находится вне своей настроенной сети:
1. подключитесь к `EastMesh-WiFi` с паролем, производным от pin (см. таблицу выше)
2. в приложении companion MeshCore добавьте/подключите Wi-Fi-устройство с хостом
`192.168.4.1` и портом `5000`
3. пользуйтесь приложением как обычно — сообщения, контакты и каналы работают через AP
Примечания по использованию в роуминге:
- один раз выполните `set pin <pin>`, чтобы пароль точки доступа оставался неизменным между перезагрузками;
иначе устройства с экраном выбирают новый случайный pin при каждой загрузке
- точка доступа появляется примерно через 60 секунд после загрузки (сначала устройство пытается
подключиться к своей настроенной сети) и работает до тех пор, пока эта сеть недоступна
- оказавшись снова в зоне действия своей настроенной сети, устройство подключается к ней и
автоматически отключает точку доступа — вместо этого переподключите приложение по адресу в локальной сети
- ярлык Regions в `/app` последовательно выполняет команды регионов MeshCore: `region put` и `region allowf` для базового региона и вложенного, затем `region save`
## Скрипт проверки состояния heap
+16 -21
View File
@@ -2,14 +2,14 @@
MeshCore-Posadmesh сохраняет upstream-прошивку MeshCore без изменений и публикует четыре трека прошивок в зависимости от того, как устройству нужно подключаться:
- `companion-wifi`: используйте для companion-устройств с подключением по Wi-Fi. Этот трек наиболее близок к upstream MeshCore и добавляет команды аварийного восстановления/настройки Wi-Fi от PosadMesh.
- `repeater-bridge-espnow`: используйте, когда нужен обычный репитерный мост ESP-NOW в стиле upstream, без MQTT-аплинка и без веб-панели PosadMesh.
- `observer-posadmesh`: используйте для Wi-Fi репитера, который должен публиковать данные в MQTT-брокер и, на поддерживаемых платах ESP32, предоставлять опциональную локальную веб-панель для настройки и диагностики.
- `observer-posadmesh-bridge-espnow`: используйте, когда одному репитеру нужны одновременно MQTT-аплинк и обязанности моста ESP-NOW, включая управление каналом/секретом моста для синхронизации моста с Wi-Fi.
- `repeater-mqtt`: используйте для Wi-Fi репитера, который должен публиковать данные в MQTT-брокер и, на поддерживаемых платах ESP32, предоставлять опциональную локальную веб-панель для настройки и диагностики.
- `repeater-mqtt-espnow`: используйте, когда одному репитеру нужны одновременно MQTT-аплинк и обязанности моста ESP-NOW, включая управление каналом/секретом моста для синхронизации моста с Wi-Fi.
- `repeater-mqtt-bridge`: используйте, когда репитер должен пересылать raw-пакеты mesh между репитерами через ваш собственный MQTT-брокер (например, Mosquitto в локальной сети), а не публиковать телеметрию в курируемый брокер.
!!! note "Треки-мосты — это локальные радиомосты"
Треки-мосты ESP-NOW предназначены для соединения двух расположенных рядом репитеров, работающих на разных радиоконфигурациях MeshCore, например один репитер на `Australia (Narrow)`, а другой на `Australia (Mid)`.
Треки-мосты ESP-NOW предназначены для соединения двух расположенных рядом репитеров, работающих на разных радиоконфигурациях MeshCore — например, с разной полосой пропускания и SF.
Треки-мосты — это не релизы MQTT-over-WAN, VPN или интернет-туннелей.
@@ -18,15 +18,15 @@ MeshCore-Posadmesh сохраняет upstream-прошивку MeshCore без
- [Сравнение плат](./boards.md)
- [Скачивание и прошивка релизов](./releases.md)
Если вы уже знаете свою плату и хотите самый быстрый путь, пропустите документацию и откройте прошивальщик:
Если вы уже знаете свою плату и хотите самый быстрый путь, пропустите документацию и откройте раздел релизов:
- [Открыть прошивальщик PosadMesh](https://flasher.eastmesh.au)
- [Скачать прошивку PosadMesh](https://git.meshinfo.ru/shade/MeshCore-Posadmesh/releases)
## Я хочу
- выбрать плату: начните с [Сравнение плат](./boards.md)
- прошить прошивку с рекомендациями: начните с [Скачивание и прошивка релизов](./releases.md)
- прошить прошивку сейчас: откройте [прошивальщик PosadMesh](https://flasher.eastmesh.au)
- прошить прошивку сейчас: скачайте файл из [раздела релизов](https://git.meshinfo.ru/shade/MeshCore-Posadmesh/releases)
- настроить репитер после прошивки: используйте [Скачивание и прошивка релизов](./releases.md) и [Использование веб-панели репитера](./web-panel.md)
- разобраться в CLI-командах PosadMesh: используйте [Пользовательские CLI-команды](./custom-cli.md)
- автоматизировать работу с репитером или писать скрипты: используйте [Использование веб-API репитера](./api.md)
@@ -53,20 +53,15 @@ MeshCore-Posadmesh сохраняет upstream-прошивку MeshCore без
- [meshcore-dev/MeshCore](https://github.com/meshcore-dev/MeshCore)
## Региональные материалы по Австралии
## Материалы MeshCoreTel
Эти материалы поддерживаются сообществом, а не являются официальной документацией проекта, но они всё равно полезны для региональных заметок по настройке в Австралии, местных соглашений и материалов по MeshCore для отдельных регионов.
Проект ориентирован на сеть и сайт <https://meshcoretel.ru>:
### ACT / NSW / QLD / SA / TAS / VIC
- [Карта сети](https://meshcoretel.ru/ru/MOW/map)
- [Связность](https://meshcoretel.ru/ru/MOW/links)
- [Покрытие](https://meshcoretel.ru/ru/MOW/coverage)
- [Узлы](https://meshcoretel.ru/ru/MOW/adverts)
- [Наблюдатели](https://meshcoretel.ru/ru/MOW/observers)
- [Веб-прошивальщик и консоль](https://meshcoretel.ru/ru/flasher)
- [wiki.eastmesh.au](https://wiki.eastmesh.au/)
- [wiki.meshcoreaus.org](https://wiki.meshcoreaus.org/)
### Сидней
- [nswmesh.au](https://nswmesh.au/)
- [github.com/nswmesh](https://github.com/nswmesh/)
### Брисбен
- [wiki.mbug.com.au/en/Meshcore/Settings](https://wiki.mbug.com.au/en/Meshcore/Settings)
Радиопараметры региона Москва (MOW), которые использует сеть: 868,731 МГц, полоса 62,5 кГц, SF7, CR7, хэш пути 2 байта. Брокер: `mqtt://mqtt.meshcoretel.ru:1883`, пользователь и пароль `meshcore`.
+53 -101
View File
@@ -6,6 +6,8 @@
Используйте эту страницу, когда изменяете прошивку, тестируете таргет перед релизом или собираете локальный артефакт, недоступный в разделе Releases.
Если сборка на своей машине не нужна, те же MQTT-прошивки можно собрать на сервере ручным workflow Gitea Actions (**Actions → Build MQTT firmwares → Run workflow**): он принимает версии `FIRMWARE_VERSION` и `POSADMESH_VERSION`, группу сборки (`all`, `uplink`, `espnow`, `bridge` или один таргет) и умеет сразу создать релиз Gitea с собранными файлами. Подробности — в [RELEASE.md](../RELEASE.md).
## Настройка
Из корня репозитория:
@@ -25,17 +27,16 @@ bash posadmesh-build.sh list
Обычная сборка PlatformIO для одного таргета:
```bash
uv run pio run -e heltec_v4_repeater_observer
uv run pio run -e heltec_v4_companion_radio_wifi
uv run pio run -e heltec_v4_repeater_mqtt
uv run pio run -e heltec_v4_repeater_bridge_espnow
uv run pio run -e heltec_v4_repeater_observer_espnow
uv run pio run -e Xiao_S3_WIO_repeater_observer_mqtt_bridge
uv run pio run -e heltec_v4_repeater_mqtt_espnow
uv run pio run -e Xiao_S3_WIO_repeater_mqtt_bridge
```
Прошивка таргета:
```bash
uv run pio run -e heltec_v4_repeater_observer -t upload --upload-port /dev/tty.usbmodemXXXX
uv run pio run -e heltec_v4_repeater_mqtt -t upload --upload-port /dev/tty.usbmodemXXXX
```
Монитор последовательного порта:
@@ -48,19 +49,12 @@ uv run pio device monitor --port /dev/tty.usbmodemXXXX --baud 115200
Если вам нужны те же метаданные версии, которые используются при выпуске релиза, сначала экспортируйте переменные версии.
Companion Wi-Fi:
```bash
export FIRMWARE_VERSION=v1.14.1
bash posadmesh-build.sh build-firmware heltec_v4_companion_radio_wifi
```
Обсервер:
MQTT-репитер:
```bash
export FIRMWARE_VERSION=v1.15.0
export POSADMESH_VERSION=v2026.5.1
bash posadmesh-build.sh build-firmware heltec_v4_repeater_observer
bash posadmesh-build.sh build-firmware heltec_v4_repeater_mqtt
```
Мост ESP-NOW репитера:
@@ -70,59 +64,59 @@ export FIRMWARE_VERSION=v1.15.0
bash posadmesh-build.sh build-firmware heltec_v4_repeater_bridge_espnow
```
Обсервер ESP-NOW:
MQTT-репитер ESP-NOW:
```bash
export FIRMWARE_VERSION=v1.15.0
export POSADMESH_VERSION=v2026.5.1
bash posadmesh-build.sh build-firmware heltec_v4_repeater_observer_espnow
bash posadmesh-build.sh build-firmware heltec_v4_repeater_mqtt_espnow
```
На выходе получаются артефакты с версиями в `out/`.
Правило версионирования:
- `companion-wifi` и `repeater-bridge-espnow` используют версию upstream MeshCore как `FIRMWARE_VERSION`
- `observer-posadmesh`, `observer-posadmesh-bridge-espnow` и `observer-posadmesh-bridge-mqtt` используют версию upstream MeshCore как `FIRMWARE_VERSION` плюс версию релиза PosadMesh как `POSADMESH_VERSION`
- `repeater-bridge-espnow` использует версию upstream MeshCore как `FIRMWARE_VERSION`
- `repeater-mqtt`, `repeater-mqtt-espnow` и `repeater-mqtt-bridge` используют версию upstream MeshCore как `FIRMWARE_VERSION` плюс версию релиза PosadMesh как `POSADMESH_VERSION`
## Поддерживаемые платы `repeater_observer`
## Поддерживаемые платы `repeater_mqtt`
Это полные имена окружений PlatformIO, используемые для локальных сборок из исходников и для именования артефактов релизов.
```text
Generic_E22_sx1262_repeater_observer
Generic_E22_sx1268_repeater_observer
Heltec_E213_repeater_observer
Heltec_E290_repeater_observer
Heltec_T190_repeater_observer
heltec_tracker_v2_repeater_observer
Heltec_v2_repeater_observer
Heltec_v3_repeater_observer
heltec_v4_repeater_observer
heltec_v4_tft_repeater_observer
Heltec_Wireless_Paper_repeater_observer
Heltec_Wireless_Tracker_repeater_observer
Heltec_WSL3_repeater_observer
LilyGo_T3S3_sx1262_repeater_observer
LilyGo_T3S3_sx1276_repeater_observer
LilyGo_TBeam_1W_repeater_observer
LilyGo_TDeck_repeater_observer
LilyGo_Tlora_C6_repeater_observer
M5Stack_Unit_C6L_repeater_observer
Meshadventurer_sx1262_repeater_observer
Meshadventurer_sx1268_repeater_observer
Meshimi_repeater_observer
nibble_screen_connect_repeater_observer
RAK_3112_repeater_observer
Station_G2_logging_repeater_observer
Station_G2_repeater_observer
T_Beam_S3_Supreme_SX1262_repeater_observer
Tbeam_SX1262_repeater_observer
Tbeam_SX1276_repeater_observer
WHY2025_badge_repeater_observer
Xiao_C6_repeater_observer
Xiao_S3_LoRa2021F33-2G4_repeater_observer
Xiao_S3_WIO_repeater_observer
Generic_E22_sx1262_repeater_mqtt
Generic_E22_sx1268_repeater_mqtt
Heltec_E213_repeater_mqtt
Heltec_E290_repeater_mqtt
Heltec_T190_repeater_mqtt
heltec_tracker_v2_repeater_mqtt
Heltec_v2_repeater_mqtt
Heltec_v3_repeater_mqtt
heltec_v4_repeater_mqtt
heltec_v4_tft_repeater_mqtt
Heltec_Wireless_Paper_repeater_mqtt
Heltec_Wireless_Tracker_repeater_mqtt
Heltec_WSL3_repeater_mqtt
LilyGo_T3S3_sx1262_repeater_mqtt
LilyGo_T3S3_sx1276_repeater_mqtt
LilyGo_TBeam_1W_repeater_mqtt
LilyGo_TDeck_repeater_mqtt
LilyGo_Tlora_C6_repeater_mqtt
M5Stack_Unit_C6L_repeater_mqtt
Meshadventurer_sx1262_repeater_mqtt
Meshadventurer_sx1268_repeater_mqtt
Meshimi_repeater_mqtt
nibble_screen_connect_repeater_mqtt
RAK_3112_repeater_mqtt
Station_G2_logging_repeater_mqtt
Station_G2_repeater_mqtt
T_Beam_S3_Supreme_SX1262_repeater_mqtt
Tbeam_SX1262_repeater_mqtt
Tbeam_SX1276_repeater_mqtt
WHY2025_badge_repeater_mqtt
Xiao_C6_repeater_mqtt
Xiao_S3_LoRa2021F33-2G4_repeater_mqtt
Xiao_S3_WIO_repeater_mqtt
```
## Поддерживаемые платы мостов
@@ -131,70 +125,28 @@ Xiao_S3_WIO_repeater_observer
```bash
bash posadmesh-build.sh list | grep '_repeater_bridge_espnow'
bash posadmesh-build.sh list | grep '_repeater_observer_espnow'
bash posadmesh-build.sh list | grep '_repeater_mqtt_espnow'
```
Типичные примеры:
```text
heltec_v4_repeater_bridge_espnow
heltec_v4_repeater_observer_espnow
heltec_v4_repeater_mqtt_espnow
Station_G2_repeater_bridge_espnow
Station_G2_repeater_observer_espnow
Station_G2_repeater_mqtt_espnow
T_Beam_S3_Supreme_SX1262_repeater_bridge_espnow
T_Beam_S3_Supreme_SX1262_repeater_observer_espnow
T_Beam_S3_Supreme_SX1262_repeater_mqtt_espnow
```
## Поддерживаемые платы `repeater_observer_mqtt_bridge`
## Поддерживаемые платы `repeater_mqtt_bridge`
Для каждой платы обсервера определён вариант сборки `mqtt_bridge`.
Для каждой платы MQTT-репитера определён вариант сборки `mqtt_bridge`.
Список доступных таргетов:
```bash
bash posadmesh-build.sh list | grep '_repeater_observer_mqtt_bridge'
bash posadmesh-build.sh list | grep '_repeater_mqtt_bridge'
```
Прошивка моста предназначена для локального использования ESP-NOW-моста между близлежащими репитерами. Это не мост MQTT-over-WAN и не VPN-мост.
## Поддерживаемые платы `companion_radio_wifi`
Это полные имена окружений PlatformIO, используемые для локальных сборок из исходников и для именования артефактов релизов.
```text
heltec_tracker_v2_companion_radio_wifi
Heltec_v2_companion_radio_wifi
Heltec_v3_companion_radio_wifi
heltec_v4_companion_radio_wifi
heltec_v4_tft_companion_radio_wifi
Heltec_WSL3_companion_radio_wifi
LilyGo_TBeam_1W_companion_radio_wifi
LilyGo_TLora_V2_1_1_6_companion_radio_wifi
nibble_screen_connect_companion_radio_wifi
RAK_3112_companion_radio_wifi
Station_G2_companion_radio_wifi
T_Beam_S3_Supreme_SX1262_companion_radio_wifi
ThinkNode_M2_companion_radio_wifi
ThinkNode_M5_companion_radio_wifi
Xiao_S3_LoRa2021F33-2G4_companion_radio_wifi
Xiao_S3_WIO_companion_radio_wifi
```
## CLI companion Wi-Fi
Текущие сборки companion Wi-Fi поддерживают сохраняемые команды восстановления Wi-Fi:
- откройте монитор последовательного порта на скорости `115200` бод
- перезагрузите устройство
- в течение первых 8 секунд после загрузки зажмите пользовательскую кнопку, чтобы войти в `CLI Rescue`
- дождитесь `========= CLI Rescue =========`
- затем выполните приведённые ниже команды восстановления Wi-Fi из монитора последовательного порта
```text
get wifi.status
get wifi.ssid
get wifi.powersaving
set wifi.ssid <ssid>
set wifi.pwd <password>
set wifi.powersaving none|min|max
```
+1 -1
View File
@@ -8,7 +8,7 @@
- `https://git.meshinfo.ru/shade/MeshCore-Posadmesh`
Эти шаги предназначены для существующих пользователей репитеров, переходящих на новую прошивку PosadMesh `*_repeater_observer`.
Эти шаги предназначены для существующих пользователей репитеров, переходящих на новую прошивку PosadMesh `*_repeater_mqtt`.
Начните с загрузки подходящего релиза PosadMesh для вашей платы:
+45 -69
View File
@@ -8,17 +8,14 @@
Если вы прошиваете прошивку PosadMesh впервые, самый простой путь:
1. Откройте <https://flasher.eastmesh.au/>.
2. Выберите прошивку, соответствующую тому, что будет делать устройство.
3. Выберите плату, точно соответствующую вашему железу.
4. Выберите версию. Флешер по умолчанию выбирает последний доступный релиз.
5. Выберите тип образа:
- `Update` для обычного обновления прошивки
- `Full Flash` для чистой прошивки полного образа
6. Нажмите `Flash Firmware`.
7. После прошивки завершите настройку через `Open MeshCore Config Panel` или `Serial Console`.
1. Откройте раздел релизов: <https://git.meshinfo.ru/shade/MeshCore-Posadmesh/releases>.
2. Выберите трек: `repeater-mqtt`, `repeater-mqtt-espnow`, `repeater-mqtt-bridge` или `repeater-bridge-espnow`.
3. Скачайте файл, имя которого начинается с вашей платы.
4. Выберите тип образа: `.bin` для обычного обновления, `-merged.bin` для чистой прошивки.
5. Прошейте файл — см. раздел «Чем прошивать» ниже.
6. После прошивки настройте узел через локальную веб-панель репитера или последовательную консоль.
Если вы не уверены, какой трек вам нужен, начните с `companion-wifi` для companion-устройств, подключаемых к приложению, или с `observer-posadmesh` для стационарного репитера, который должен публиковать данные в MQTT.
Если вы не уверены, какой трек вам нужен, начните с `repeater-mqtt` для стационарного репитера, который должен публиковать данные в MQTT.
## Выбор трека
@@ -26,14 +23,14 @@ PosadMesh публикует четыре трека релизов:
| Трек | Используйте, когда | Суффикс имени файла прошивки |
| --------------------------------- | ------------------------------------------------------------------------------------------------------ | ------------------------------ |
| `companion-wifi` | Нужно companion-устройство, которое подключается по Wi-Fi вместо BLE или USB. | `*_companion_radio_wifi` |
| `observer-posadmesh` | Нужен репитер с Wi-Fi и MQTT-аплинком, обычно для видимости в брокере, например в PosadMesh/CoreScope. | `*_repeater_observer` |
| `repeater-mqtt` | Нужен репитер с Wi-Fi и MQTT-аплинком, обычно для видимости в брокере, например в PosadMesh/CoreScope. | `*_repeater_mqtt` |
| `repeater-bridge-espnow` | Нужен локальный ESP-NOW мост между соседними репитерами, без MQTT-аплинка и без веб-панели PosadMesh. | `*_repeater_bridge_espnow` |
| `observer-posadmesh-bridge-espnow` | Нужно, чтобы один репитер выполнял и MQTT-аплинк, и задачи локального ESP-NOW моста. | `*_repeater_observer_espnow` |
| `repeater-mqtt-espnow` | Нужно, чтобы один репитер выполнял и MQTT-аплинк, и задачи локального ESP-NOW моста. | `*_repeater_mqtt_espnow` |
| `repeater-mqtt-bridge` | Нужно, чтобы репитер пересылал raw-пакеты mesh между репитерами через ваш собственный MQTT-брокер. | `*_repeater_mqtt_bridge` |
!!! note "Прошивка моста — это не WAN-мост"
Треки ESP-NOW моста предназначены для соединения двух соседних репитеров, работающих с разными конфигурациями радио MeshCore, например `Australia (Narrow)` и `Australia (Mid)`.
Треки ESP-NOW моста предназначены для соединения двух соседних репитеров, работающих с разными конфигурациями радио MeshCore — например, с разной полосой пропускания и SF.
Треки моста не используют брокеры MQTT-аплинка для туннелирования mesh-трафика через интернет, WAN-каналы или VPN.
@@ -43,27 +40,22 @@ PosadMesh публикует четыре трека релизов:
Примеры:
- `heltec_v4_companion_radio_wifi-v1.14.1-abcdef.bin`
- `heltec_v4_repeater_observer-v1.15.0-posadmesh-v2026.5.1-abcdef.bin`
- `heltec_v4_repeater_observer-v1.15.0-posadmesh-v2026.5.1-abcdef-merged.bin`
- `heltec_v4_repeater_mqtt-v1.15.0-posadmesh-v2026.5.1-abcdef.bin`
- `heltec_v4_repeater_mqtt-v1.15.0-posadmesh-v2026.5.1-abcdef-merged.bin`
- `heltec_v4_repeater_bridge_espnow-v1.15.0-abcdef.bin`
- `heltec_v4_repeater_observer_espnow-v1.15.0-posadmesh-v2026.5.1-abcdef.bin`
- `heltec_v4_repeater_mqtt_espnow-v1.15.0-posadmesh-v2026.5.1-abcdef.bin`
- `heltec_v4_repeater_mqtt_bridge-v1.15.0-posadmesh-v2026.7.0-abcdef.bin`
Важен префикс платы/env:
- `*_companion_radio_wifi`
- `*_repeater_observer`
- `*_repeater_mqtt`
- `*_repeater_bridge_espnow`
- `*_repeater_observer_espnow`
- `*_repeater_mqtt_espnow`
- `*_repeater_mqtt_bridge`
## Какой файл прошивать
Если вы используете <https://flasher.eastmesh.au/>, выберите тип образа во флешере:
- `Update` = обычное обновление прошивки
- `Full Flash` = чистая прошивка полного образа
Если вы скачиваете файлы вручную из раздела Releases на git.meshinfo.ru, вместо этого ориентируйтесь на имя файла:
Файлы берутся из раздела Releases на git.meshinfo.ru. Ориентируйтесь на имя файла:
Используйте стандартный файл `.bin`, когда обновляете существующее устройство с тем же таргетом и той же разметкой разделов.
@@ -76,37 +68,32 @@ PosadMesh публикует четыре трека релизов:
## Процесс прошивки
1. Выберите прошивку.
2. Выберите плату.
3. Выберите версию. Последняя версия выбирается по умолчанию.
4. Выберите тип образа: `Update` или `Full Flash`.
5. Нажмите `Flash Firmware`.
6. После прошивки используйте `Open MeshCore Config Panel` или `Serial Console` для настройки после прошивки, такой как Wi-Fi, MQTT, мост или параметры радио.
1. Скачайте нужный файл релиза для своей платы.
2. Определите чип платы (ESP32, ESP32-S3, ESP32-C6 или nRF52) — он виден по имени платы в имени файла.
3. Для чистой установки прошейте `-merged.bin` по адресу `0x0`, для обычного обновления — `.bin`.
4. Для nRF52-плат прошейте `.uf2` (копированием на диск в режиме загрузчика) или `.zip` через DFU.
5. После прошивки настройте узел: Wi-Fi, MQTT, мост или параметры радио.
## Рекомендуемый флешер
## Чем прошивать
Рекомендуемый флешер:
Отдельный флешер для этого не нужен: подойдёт любой инструмент, умеющий записать образ ESP32 по адресу `0x0`, например `esptool.py`:
- <https://flasher.eastmesh.au/>
```bash
esptool.py --chip esp32s3 write_flash 0x0 <имя-файла>-merged.bin
```
Он имеет встроенную поддержку распространённых типов прошивок PosadMesh, а также может прошивать пользовательские файлы прошивок:
Практическое правило:
- прошивка `companion_radio_wifi`
- прошивка `repeater_observer`
- пользовательские файлы прошивок
- `.bin` = инкрементальное обновление
- `-merged.bin` = стирание и чистая прошивка
Для релизов моста используйте соответствующий пункт для моста, если флешер его показывает. В противном случае скачайте файл релиза самостоятельно и прошейте его как пользовательский файл прошивки.
Для релизов моста берите файл соответствующего трека (`repeater-mqtt-bridge` или `repeater-bridge-espnow`).
Рекомендуемое использование:
После прошивки есть два полезных пути настройки.
- используйте `Update`, когда обновляете существующее устройство
- используйте `Full Flash`, когда нужна чистая прошивка полного образа
### Панель настройки MeshCore
После прошивки во флешере доступны два полезных пути настройки.
### Открыть панель конфигурации MeshCore
Используйте `Open MeshCore Config Panel`, чтобы получить доступ к пошаговым инструментам настройки MeshCore:
Откройте <https://config.meshcore.io/> — это пошаговые инструменты настройки MeshCore:
- `Repeater Setup`
- `Console`
@@ -126,7 +113,7 @@ PosadMesh публикует четыре трека релизов:
- flood max
- некоторые расширенные настройки репитера
Начиная с `v1.2.1`, локальная веб-панель репитера также включает те же общие настройки репитера, поэтому пользователи могут выполнить первоначальную настройку там и возвращаться к ней для периодической диагностики или изменения конфигурации. На обсерверах, которым нужен максимальный запас heap, по-прежнему лучше снова отключить панель, когда вы закончили.
Начиная с `v1.2.1`, локальная веб-панель репитера также включает те же общие настройки репитера, поэтому пользователи могут выполнить первоначальную настройку там и возвращаться к ней для периодической диагностики или изменения конфигурации. На MQTT-репитерах, которым нужен максимальный запас heap, по-прежнему лучше снова отключить панель, когда вы закончили.
#### Консоль
@@ -139,15 +126,14 @@ PosadMesh публикует четыре трека релизов:
Это относится к:
- `companion_radio_wifi`
- `repeater_observer`
- `repeater_observer_espnow`
- `repeater_mqtt`
- `repeater_mqtt_espnow`
### Последовательная консоль
Используйте `Serial Console`, когда хотите подключиться по USB и вводить команды CLI напрямую.
Подключитесь к устройству по USB и вводите команды CLI напрямую, например через `uv run pio device monitor --port <port> --baud 115200`.
Флешер может подключаться к устройству по USB и отключаться от него. Он также включает готовые команды CLI, которые подставляются в поле ввода команд для упрощения настройки:
Полезные команды:
- `set wifi.ssid`
- `set wifi.pwd`
@@ -160,9 +146,9 @@ PosadMesh публикует четыре трека релизов:
## Типовые первые шаги
### Обсервер
### MQTT-репитер
Сборки `repeater_observer` включают дополнения MQTT от PosadMesh. В зависимости от платы они также могут включать локальную веб-панель.
Сборки `repeater_mqtt` включают дополнения MQTT от PosadMesh. В зависимости от платы они также могут включать локальную веб-панель.
Типовые первые шаги после прошивки:
@@ -173,9 +159,9 @@ PosadMesh публикует четыре трека релизов:
- при желании задайте `mqtt.owner` и `mqtt.email`
- при желании включите пользовательский брокер как второй аплинк
### Обсервер ESP-NOW
### MQTT-репитер ESP-NOW
Сборки `repeater_observer_espnow` объединяют роль обсервера с поддержкой локального ESP-NOW моста.
Сборки `repeater_mqtt_espnow` объединяют роль MQTT-репитера с поддержкой локального ESP-NOW моста.
Типовые первые шаги после прошивки:
@@ -197,13 +183,3 @@ PosadMesh публикует четыре трека релизов:
- задайте нужный пресет/конфигурацию радио MeshCore
- задайте одинаковые канал моста и секрет для локальной пары моста
- убедитесь, что оба репитера моста физически находятся достаточно близко для работы ESP-NOW
### Companion-радио Wi-Fi
Сборки `companion_radio_wifi` предназначены для companion-устройств, которые предоставляют интерфейс приложения по Wi-Fi вместо BLE или USB.
Типовые первые шаги после прошивки:
- задайте учётные данные Wi-Fi
- проверьте `get wifi.status`
- подключите ваше клиентское приложение к companion-устройству по Wi-Fi
+7 -7
View File
@@ -1,6 +1,6 @@
# Веб-панель репитера
Эта страница предназначена для конечных пользователей, которые используют сборку PosadMesh `*_repeater_observer` с включённой локальной веб-панелью.
Эта страница предназначена для конечных пользователей, которые используют сборку PosadMesh `*_repeater_mqtt` с включённой локальной веб-панелью.
Здесь описано, как открыть панель, что делает каждый раздел и чего ожидать при работе с ней на компьютере или мобильном устройстве.
@@ -35,7 +35,7 @@
Рекомендации по эксплуатации:
- используйте её для первоначальной настройки, редких изменений конфигурации и диагностики
- по завершении предпочитайте `set web off` на обсерверах, которым нужен максимальный запас
- по завершении предпочитайте `set web off` на MQTT-репитерах, которым нужен максимальный запас
- это оставляет больше внутреннего heap для работы MQTT/WSS, особенно в конфигурациях с двумя брокерами
## Типовые задачи
@@ -78,7 +78,7 @@
Вам потребуется:
- поддерживаемая сборка прошивки `*_repeater_observer`
- поддерживаемая сборка прошивки `*_repeater_mqtt`
- настроенный на репитере Wi-Fi
- репитер, подключённый к вашей локальной сети
- пароль администратора репитера
@@ -212,7 +212,7 @@
## Настройки радио и регионы
Раздел `Radio Settings` включает селектор community-пресета радио, режим path hash и выпадающий список `Region (Australia)`, построенный из групп штатов, используемых селектором MQTT IATA. Список предустанавливается только тогда, когда у репитера уже есть соответствующий разрешённый регион `au-STATE`. Нажатие кнопки `Save` для региона создаёт и разрешает базовый регион `au` вместе с выбранным регионом штата, а затем сохраняет карту регионов командой `region save`.
Раздел `Radio Settings` включает селектор community-пресета радио, режим path hash и работу с деревом регионов узла. Список регионов строится из уже разрешённых на узле регионов; нажатие `Save` разрешает выбранный регион вместе с его базовым регионом и сохраняет карту регионов командой `region save`.
## Информация
@@ -228,7 +228,7 @@
Типичный сценарий использования:
- MQTT-обсервер в помещении или в одном месте с другим устройством, когда соседний репитер уже выполняет работу по RF-ретрансляции
- MQTT-MQTT-репитер в помещении или в одном месте с другим устройством, когда соседний репитер уже выполняет работу по RF-ретрансляции
- узел, который вы хотите использовать для передачи данных в MQTT, веб-статуса и диагностики, не добавляя при этом лишний трафик ретрансляции или advert-пакеты
Когда режим Ghost Node включён, он:
@@ -256,7 +256,7 @@
- Брокеры MQTT: переключатель **MeshCoreTel RU** и переключатель **Custom broker**, каждый включает или отключает свой брокер. Одновременно можно включить не более двух брокеров.
- поля custom MQTT `host:port`, транспорт TCP/WSS, имя пользователя и пароль.
`UNSET - To be configured` — значение по умолчанию для новых установок обсервера, пока не появится реальное сохранённое значение.
`UNSET - To be configured` — значение по умолчанию для новых установок MQTT-репитера, пока не появится реальное сохранённое значение.
Примечания:
@@ -356,7 +356,7 @@
Если репитер уже подключён к Wi-Fi, OTA использует существующий адрес в локальной сети. Если Wi-Fi не подключён, репитер запускает точку доступа `MeshCore-OTA` и возвращает вместо этого адрес OTA.
Если старый слушатель перенаправления не полностью освободил порт `80`, слушатель OTA повторяет попытки примерно до 30 секунд, после чего сдаётся.
Если более старая сборка отправляет вас на странное перенаправление после `start ota`, используйте веб-кнопку `Start OTA` для запуска обновления. Эта проблема с перенаправлением исправлена в `observer-eastmesh-v1.3.11`.
Если более старая сборка отправляет вас на странное перенаправление после `start ota`, используйте веб-кнопку `Start OTA` для запуска обновления. В актуальных сборках эта проблема с перенаправлением исправлена.
### Purge SD