- добавлен ручной 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
186 lines
11 KiB
Markdown
186 lines
11 KiB
Markdown
# Загрузка и прошивка релизов
|
||
|
||
Файлы релизов PosadMesh публикуются на:
|
||
|
||
- <https://git.meshinfo.ru/shade/MeshCore-Posadmesh/releases>
|
||
|
||
## С чего начать
|
||
|
||
Если вы прошиваете прошивку PosadMesh впервые, самый простой путь:
|
||
|
||
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. После прошивки настройте узел через локальную веб-панель репитера или последовательную консоль.
|
||
|
||
Если вы не уверены, какой трек вам нужен, начните с `repeater-mqtt` для стационарного репитера, который должен публиковать данные в MQTT.
|
||
|
||
## Выбор трека
|
||
|
||
PosadMesh публикует четыре трека релизов:
|
||
|
||
| Трек | Используйте, когда | Суффикс имени файла прошивки |
|
||
| --------------------------------- | ------------------------------------------------------------------------------------------------------ | ------------------------------ |
|
||
| `repeater-mqtt` | Нужен репитер с Wi-Fi и MQTT-аплинком, обычно для видимости в брокере, например в PosadMesh/CoreScope. | `*_repeater_mqtt` |
|
||
| `repeater-bridge-espnow` | Нужен локальный ESP-NOW мост между соседними репитерами, без MQTT-аплинка и без веб-панели PosadMesh. | `*_repeater_bridge_espnow` |
|
||
| `repeater-mqtt-espnow` | Нужно, чтобы один репитер выполнял и MQTT-аплинк, и задачи локального ESP-NOW моста. | `*_repeater_mqtt_espnow` |
|
||
| `repeater-mqtt-bridge` | Нужно, чтобы репитер пересылал raw-пакеты mesh между репитерами через ваш собственный MQTT-брокер. | `*_repeater_mqtt_bridge` |
|
||
|
||
!!! note "Прошивка моста — это не WAN-мост"
|
||
|
||
Треки ESP-NOW моста предназначены для соединения двух соседних репитеров, работающих с разными конфигурациями радио MeshCore — например, с разной полосой пропускания и SF.
|
||
|
||
Треки моста не используют брокеры MQTT-аплинка для туннелирования mesh-трафика через интернет, WAN-каналы или VPN.
|
||
|
||
## Выбор подходящего файла релиза
|
||
|
||
Скачайте файл, соответствующий вашей плате и типу прошивки.
|
||
|
||
Примеры:
|
||
|
||
- `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_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:
|
||
|
||
- `*_repeater_mqtt`
|
||
- `*_repeater_bridge_espnow`
|
||
- `*_repeater_mqtt_espnow`
|
||
- `*_repeater_mqtt_bridge`
|
||
|
||
## Какой файл прошивать
|
||
|
||
Файлы берутся из раздела Releases на git.meshinfo.ru. Ориентируйтесь на имя файла:
|
||
|
||
Используйте стандартный файл `.bin`, когда обновляете существующее устройство с тем же таргетом и той же разметкой разделов.
|
||
|
||
Используйте файл `-merged.bin`, когда нужна чистая установка после стирания flash. Это полный образ ESP32, и его следует прошивать по адресу `0x0`.
|
||
|
||
Практическое правило:
|
||
|
||
- `.bin` = инкрементальное обновление
|
||
- `-merged.bin` = стирание и чистая прошивка
|
||
|
||
## Процесс прошивки
|
||
|
||
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`:
|
||
|
||
```bash
|
||
esptool.py --chip esp32s3 write_flash 0x0 <имя-файла>-merged.bin
|
||
```
|
||
|
||
Практическое правило:
|
||
|
||
- `.bin` = инкрементальное обновление
|
||
- `-merged.bin` = стирание и чистая прошивка
|
||
|
||
Для релизов моста берите файл соответствующего трека (`repeater-mqtt-bridge` или `repeater-bridge-espnow`).
|
||
|
||
После прошивки есть два полезных пути настройки.
|
||
|
||
### Панель настройки MeshCore
|
||
|
||
Откройте <https://config.meshcore.io/> — это пошаговые инструменты настройки MeshCore:
|
||
|
||
- `Repeater Setup`
|
||
- `Console`
|
||
|
||
#### Настройка репитера
|
||
|
||
`Repeater Setup` — это пошаговый процесс первой настройки репитера.
|
||
|
||
Это традиционный способ настройки репитера после прошивки, включающий:
|
||
|
||
- имя устройства
|
||
- широту и долготу
|
||
- пароли администратора и гостя
|
||
- параметры радио, включая выбор пресета
|
||
- интервал advert
|
||
- интервал flood advert
|
||
- flood max
|
||
- некоторые расширенные настройки репитера
|
||
|
||
Начиная с `v1.2.1`, локальная веб-панель репитера также включает те же общие настройки репитера, поэтому пользователи могут выполнить первоначальную настройку там и возвращаться к ней для периодической диагностики или изменения конфигурации. На MQTT-репитерах, которым нужен максимальный запас heap, по-прежнему лучше снова отключить панель, когда вы закончили.
|
||
|
||
#### Консоль
|
||
|
||
`Console` — это необработанный интерфейс CLI.
|
||
|
||
Он особенно полезен, а часто и необходим, для первоначальной настройки Wi-Fi на прошивках с поддержкой Wi-Fi:
|
||
|
||
- `set wifi.ssid <your-ssid>`
|
||
- `set wifi.pwd <your-password>`
|
||
|
||
Это относится к:
|
||
|
||
- `repeater_mqtt`
|
||
- `repeater_mqtt_espnow`
|
||
|
||
### Последовательная консоль
|
||
|
||
Подключитесь к устройству по USB и вводите команды CLI напрямую, например через `uv run pio device monitor --port <port> --baud 115200`.
|
||
|
||
Полезные команды:
|
||
|
||
- `set wifi.ssid`
|
||
- `set wifi.pwd`
|
||
- `get wifi.status`
|
||
- `get mqtt.status`
|
||
- `set web on`
|
||
- `get web.status`
|
||
|
||
Для команд `set` допишите команду в поле ввода перед отправкой. Например, выберите `set wifi.ssid`, добавьте имя вашей Wi-Fi сети, затем нажмите `Send`.
|
||
|
||
## Типовые первые шаги
|
||
|
||
### MQTT-репитер
|
||
|
||
Сборки `repeater_mqtt` включают дополнения MQTT от PosadMesh. В зависимости от платы они также могут включать локальную веб-панель.
|
||
|
||
Типовые первые шаги после прошивки:
|
||
|
||
- задайте `wifi.ssid`
|
||
- задайте `wifi.pwd`
|
||
- задайте `mqtt.iata`
|
||
- проверьте `get mqtt.status`
|
||
- при желании задайте `mqtt.owner` и `mqtt.email`
|
||
- при желании включите пользовательский брокер как второй аплинк
|
||
|
||
### MQTT-репитер ESP-NOW
|
||
|
||
Сборки `repeater_mqtt_espnow` объединяют роль MQTT-репитера с поддержкой локального ESP-NOW моста.
|
||
|
||
Типовые первые шаги после прошивки:
|
||
|
||
- задайте `wifi.ssid`
|
||
- задайте `wifi.pwd`
|
||
- задайте `mqtt.iata`
|
||
- проверьте `get mqtt.status`
|
||
- проверьте `get wifi.status` и запомните канал Wi-Fi, к которому выполнено подключение
|
||
- задайте `bridge.channel` в соответствии с этим каналом Wi-Fi
|
||
- задайте одинаковый `bridge.secret` на каждом узле локального ESP-NOW моста, которые должны общаться между собой
|
||
|
||
### ESP-NOW мост репитера
|
||
|
||
Сборки `repeater_bridge_espnow` предназначены для узлов локального ESP-NOW моста без MQTT-аплинка.
|
||
|
||
Типовые первые шаги после прошивки:
|
||
|
||
- настройте обычные параметры репитера для платы
|
||
- задайте нужный пресет/конфигурацию радио MeshCore
|
||
- задайте одинаковые канал моста и секрет для локальной пары моста
|
||
- убедитесь, что оба репитера моста физически находятся достаточно близко для работы ESP-NOW
|