Files
MeshCore-Posadmesh/posadmesh-docs/local-builds.md
T
shade 26b724c0f0 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
2026-10-11 17:20:05 +03:00

5.7 KiB
Raw Blame History

Локальная сборка с помощью uv

В этом репозитории uv используется для инструментов Python, а PlatformIO запускается через uv run.

Эта страница посвящена сборке из исходников. Если вам нужна только готовая прошивка, чтобы прошить устройство, начните со страницы Скачивание и прошивка релизов.

Используйте эту страницу, когда изменяете прошивку, тестируете таргет перед релизом или собираете локальный артефакт, недоступный в разделе Releases.

Если сборка на своей машине не нужна, те же MQTT-прошивки можно собрать на сервере ручным workflow Gitea Actions (Actions → Build MQTT firmwares → Run workflow): он принимает версии FIRMWARE_VERSION и POSADMESH_VERSION, группу сборки (all, uplink, espnow, bridge или один таргет) и умеет сразу создать релиз Gitea с собранными файлами. Подробности — в RELEASE.md.

Настройка

Из корня репозитория:

uv sync

Полезные команды

Список таргетов сборки:

bash posadmesh-build.sh list

Обычная сборка PlatformIO для одного таргета:

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_mqtt_espnow
uv run pio run -e Xiao_S3_WIO_repeater_mqtt_bridge

Прошивка таргета:

uv run pio run -e heltec_v4_repeater_mqtt -t upload --upload-port /dev/tty.usbmodemXXXX

Монитор последовательного порта:

uv run pio device monitor --port /dev/tty.usbmodemXXXX --baud 115200

Локальные сборки в стиле релиза

Если вам нужны те же метаданные версии, которые используются при выпуске релиза, сначала экспортируйте переменные версии.

MQTT-репитер:

export FIRMWARE_VERSION=v1.15.0
export POSADMESH_VERSION=v2026.5.1
bash posadmesh-build.sh build-firmware heltec_v4_repeater_mqtt

Мост ESP-NOW репитера:

export FIRMWARE_VERSION=v1.15.0
bash posadmesh-build.sh build-firmware heltec_v4_repeater_bridge_espnow

MQTT-репитер ESP-NOW:

export FIRMWARE_VERSION=v1.15.0
export POSADMESH_VERSION=v2026.5.1
bash posadmesh-build.sh build-firmware heltec_v4_repeater_mqtt_espnow

На выходе получаются артефакты с версиями в out/.

Правило версионирования:

  • repeater-bridge-espnow использует версию upstream MeshCore как FIRMWARE_VERSION
  • repeater-mqtt, repeater-mqtt-espnow и repeater-mqtt-bridge используют версию upstream MeshCore как FIRMWARE_VERSION плюс версию релиза PosadMesh как POSADMESH_VERSION

Поддерживаемые платы repeater_mqtt

Это полные имена окружений PlatformIO, используемые для локальных сборок из исходников и для именования артефактов релизов.

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

Поддерживаемые платы мостов

Таргеты мостов можно вывести списком из корня репозитория:

bash posadmesh-build.sh list | grep '_repeater_bridge_espnow'
bash posadmesh-build.sh list | grep '_repeater_mqtt_espnow'

Типичные примеры:

heltec_v4_repeater_bridge_espnow
heltec_v4_repeater_mqtt_espnow
Station_G2_repeater_bridge_espnow
Station_G2_repeater_mqtt_espnow
T_Beam_S3_Supreme_SX1262_repeater_bridge_espnow
T_Beam_S3_Supreme_SX1262_repeater_mqtt_espnow

Поддерживаемые платы repeater_mqtt_bridge

Для каждой платы MQTT-репитера определён вариант сборки mqtt_bridge.

Список доступных таргетов:

bash posadmesh-build.sh list | grep '_repeater_mqtt_bridge'

Прошивка моста предназначена для локального использования ESP-NOW-моста между близлежащими репитерами. Это не мост MQTT-over-WAN и не VPN-мост.