Skip to content

v1.7.1 — фикс .gz-OTA

Choose a tag to compare

@github-actions github-actions released this 01 Aug 08:46
· 10 commits to master since this release

⛔ НЕ ПРОШИВАЙТЕ эти бинарники

Файлы .bin / .bin.gz в этом релизе собраны в CI с заглушкой вместо токена бота (PUT-YOUR-BOT-TOKEN-HERE). Токен компилируется внутрь прошивки, поэтому такое устройство не сможет подключиться к Telegram — бот не ответит, и OTA станет недоступен: восстановление только по проводу.

Собирайте прошивку сами со своим secrets.h — см. раздел «Установка» в README. Бинарники здесь пригодны только как проверка того, что код компилируется.

🐞 Исправление .gz-OTA из 1.7.0 — на боевом устройстве обновление не применялось.

Что было не так

Распаковка шла напрямую из сетевого потока, а StreamReader::readBytes() уменьшает счётчик остатка до фактического чтения. Если сокет отдавал меньше запрошенного (обычная пауза мобильного канала), поток рассинхронизировался и распаковка обрывалась.

Как исправлено

Обновление теперь в два этапа:

  1. архив скачивается на SD-карту штатным буферизованным writeTo() библиотеки;
  2. распаковка идёт с карты — локальное чтение не зависит от качества связи.

Временный /update.gz удаляется после обновления и при любой ошибке.

🔍 Диагностика

Если .gz всё же не применится, бот пришлёт причину: код распаковки uzlib, ошибку Update и сколько байт распаковано. В рабочей прошивке логи выключены — без этого причину не установить.

📦 Файлы релиза

Файл Размер Для чего
DripIrrigation.ino.bin 1.29 МБ классический OTA
DripIrrigation.ino.bin.gz 0.80 МБ сжатый OTA

⚠️ На устройстве сейчас 1.7.0, которая .gz ещё не умеет — этот апдейт ставьте обычным .bin. Проверить .gz можно будет уже со следующего обновления.

Полный список — в CHANGELOG.md.