Обновление прошивки на Adafruit Huzzah ESP8266
tldr: я пытаюсь перепрошить ранее работавшую Adafruit Коммутационный модуль Huzzah ESP8266 для использования последней версии прошивки AT. Перепрошивка, похоже, не работает, и я в замешательстве. Я первый раз перепрошиваю один из этих модулей.
Что я сделал:
Я установил последнюю версию esptool.py с помощью pip и загрузил последнюю версию прошивки Espressif AT с github. Используя Huzzah на макетной плате, я заземлил GPIO0 и подключил разъем последовательного порта к компьютеру с помощью кабеля FTDI. ВК на кабеле 5В. Загорелся красный индикатор питания. Затем я выполнил следующие команды:
esptool.py --port COM4 --baud 115200 write_flash -fm dio -fs 32m 0x00000 boot_v1.1.bin
esptool.py --port COM4 --baud 115200 write_flash -fm dio -fs 32m 0x01000 user1.bin
esptool.py --port COM4 --baud 115200 write_flash -fm dio -fs 32m 0x7C000 esp_init_data_default.bin
esptool.py --port COM4 --baud 115200 write_flash -fm dio -fs 32m 0x7E000 пустой.bin
Казалось, что каждая загрузка завершалась нормально, но я обнаружил, что не могу загрузить следующую, пока сначала не нажму кнопку сброса на модуле, в противном случае я получал ошибку:
Произошла фатальная ошибка: не удалось подключиться к устройству Espressif: время установлено. ожидание заголовка пакета
Мне это кажется неправильным.
После загрузки всех четырех компонентов, как указано выше, я отключил GPIO0 и выключил и снова включил модуль. Затем я попытался подключиться с помощью putty на скорости 115200 бод, но не получаю эха от модуля, и он не отвечает на команды.
Наблюдения:
- Раньше модуль работал, и я мог подключиться к нему с помощью putty.
- Если я сброшу его при подключении к putty по адресу 115200, я получу последовательный набор мусорных символов, так что, думаю, он жив, но каким-то образом запутался.
- Я пробовал подключаться на разных скоростях передачи данных: 9600, 14400, 19200, 38400, 57600, а также 115200. Результат тот же.
- Я нашел пошаговые руководства, в которых показано, как прошивка, такая как node.mcu, загружается в виде одного двоичного файла. Должен ли я каким-то образом объединить четыре файла bin в один перед загрузкой Huzzah?
Что я здесь делаю не так?
@Andy Johnson, 👍2
1 ответ
Лучший ответ:
Я уверен, что теперь я решил эту проблему. Оставлю вопрос здесь, вдруг он кому-нибудь пригодится в будущем.
Проблема заключалась в том, что я загружал отдельные файлы bin из репозитория github, щелкнув правой кнопкой мыши -> Сохранить как в Chrome. При этом загружается файл с правильным именем, но на самом деле это содержимое html-страницы файла, а не сам двоичный файл. Загрузка репозитория в виде zip-файла, извлечение файлов bin и последующая загрузка их в Huzzah с помощью одной команды позволили мне правильно прошить устройство.
Я заметил, что esptool может загружать несколько файлов за один раз, поэтому с исходными файлами bin я попробовал команду:
esptool.py --port COM4 --baud 115200 write_flash -fm dio -fs 32m 0x00000 boot_v1.1.bin 0x01000 user1.bin 0x7C000 esp_init_data_default.bin 0x7E000 Blank.bin
и получил следующую ошибку
esptool write_flash: ошибка: аргумент: обнаружено перекрытие по адресу: 0x1000 для файла: user1.bin
Именно тогда я заметил, что boot_v1.1.bin слишком велик, чтобы поместиться в пространстве между 0x00000 и 0x01000. Проверка его в Notepad++ показала, что это HTML.
Поучительный опыт...
- Легкий сон ESP8266 — не могу проснуться
- Adafruit Huzzah espcomm_open не удалось
- Понимание того, как запитать объекты с помощью реле (featherwing, feather huzzah)
- Adafruit esp32 Feather не удалось скомпилировать
- Как считать адреса на нескольких платах DS2413 1-Wire GPIO, используя скетч Adafruit?
- Почему я получаю ошибку "SendCommand не был объявлен"
- Проводка ESP8266 для MFRC522
- HUZZAH ESP-8266 (от ADAFRUIT): Как использовать с ARDUINO R3
это только что случилось со мной.. так раздражает, никогда бы не подумал открыть содержимое файла, @Alex G