1 Источник прошивок
2 Плата и версия
3 Подключение
Готов. Подключите плату по USB.
Журнал
Почему публичные прошивальщики пишут «Failed to fetch»
Ссылка на релиз GitHub отвечает редиректом 302 на
release-assets.githubusercontent.com, и в этом ответе нет заголовка
Access-Control-Allow-Origin. Браузер обрывает межсайтовый fetch() —
страница получает пустую ошибку «Failed to fetch» и ничего не может с этим сделать.
Здесь прошивку скачивает сервер и отдаёт её с того же домена, поэтому CORS не участвует.
Скачанное кешируется — повторная прошивка идёт мгновенно и работает, даже если GitHub недоступен.
Что делает кнопка «Починить LittleFS is full»
Читает таблицу разделов с самой платы (флеш, смещение 0x8000), находит раздел
файловой системы и забивает только его байтами 0xFF. При следующем старте
setupLittleFS() не смонтирует испорченную ФС, и Bruce сам вызовет
LittleFS.format() — получается чистая пустая файловая система.
Прошивка и раздел nvs (Wi-Fi, настройки) остаются нетронутыми.
CYD и 192 КБ
Обычная сборка Bruce-CYD-*.bin собрана по custom_4Mb_full.csv:
приложение 3,75 МБ, а под файлы остаётся 192 КБ — забивается очень быстро.
Вариант Bruce-LAUNCHER_CYD-*.bin (раскладка custom_4Mb.csv) даёт
1,5 МБ под LittleFS, но платит за это функциональностью: в platformio.ini он
собирается с env_light (LITE_VERSION=1, -Os, урезанный набор
ИК-протоколов), иначе прошивка не влезает в раздел приложения 2,44 МБ.
Так что это размен «места под файлы» на «часть функций» — выбирайте осознанно.
Оба образа слитые и прошиваются целиком по адресу 0x0.
Мои прошивки
Собственные сборки лежат на этом же сайте (/fw/manifest.json и файлы рядом), поэтому прокси не нужен.
Перед записью страница сверяет размер и SHA-256 файла с манифестом, а семейство чипа из заголовка образа — с подключённой платой.
Ссылку на конкретную сборку можно передать как /?src=own&fw=<id>.
HaleHound
HaleHound открывается в официальном прошивальщике. Его автор проверяет пользователя перед выдачей манифеста и сверяет SHA-256 образов, поэтому этот сайт намеренно не проксирует и не обходит эту проверку.
Capybara Pet
Виртуальный питомец-капибара для круглого сенсорного экрана Elecrow CrowPanel ESP32-C3 1.28″ (DIS12824D) прошивается на своей странице: она не трогает разделы NVS и сохранений питомца, проверяет пакет по SHA-256 и записывает на плату время и часовой пояс браузера, чтобы день и ночь у капибары совпадали с настоящими.