• Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

Нужна помощь Ошибка "A fatal error occurred: Failed to connect to ESP32: Timed out waiting for packet header"

Andrey L

Member
Ни как не избавиться от подобной ошибки, менял частоты, DIO и даже скорость загрузки.

Всё-равно появляется эта ошибка.
 

moreff

New member
Здравствуйте!

Была та же ошибка, возникшая неожиданно при очередной перепрошивке.
Мне помогла банальная переустановка Arduino IDE. При установке галочка "установить драйвер" стояла.
 

nickFisher

New member
То же самое как и автора в первом сообщении. NodeMCU шьется а Ардуино нет. Монитор порта в ардуино видит информацию при загрузке. Ардуино не установлена, а работает с папки. Не могу залить новых прошивок сделаных на сайте nodemcu-bild, может я чего делаю не правильно? старые работают а новые только мусор без конца отправляют
 

nickFisher

New member
Переустановка драйвера pl2303, перенос программы прошивки flash_download_tools_v3.6.6 в корневой каталог, и пару попыток зашить blank_1MB.bin дали результат, теперь esp 12e прошивается и ардуино. Но новые прошивки сделаные на сайте nodemcu-build по прежнему шлют постоянно мусор :( Скиньте кто может вашу прошивку сделаную для в nodemcu-build esp 12e сюда, я попробую прошить ею
 

Mestniy2496

Member
Еще такая проблема может быть потому что вы используете выход BOOT. Я так один раз из за китайского модуля ESP WROOM 32, на котором было не верно напечатаны выходы, джойстик ткнул на, как потом оказалось, G0. Проблема была еще в том что на моей плате, уже было запаяно куча датчиков, дисплей 2004, кнопки и RTC. Когда я отпаял джойстик, понял что проблема была в нем, т.к. прошивка залилась и ошибки больше не было. После я начал обзванивать выходы из 8266, по даташиту понял что мой выход идет на бут=)))) Как то так.
Может кому будет полезно!

---------------------------------------------
Выполню ваш проект по ТЗ - greben.evgeniy@gmail.com.
 

Дима 123

New member
такая же проблема на ЕСП32
2020-12-07_153504.png

пишет
Код:
Arduino: 1.8.13 (Windows 10), Плата:"ESP32 Dev Module, Disabled, Minimal SPIFFS (1.9MB APP with OTA/190KB SPIFFS), 240MHz (WiFi/BT), QIO, 80MHz, 4MB (32Mb), 921600, None"

Скетч использует 623662 байт (31%) памяти устройства. Всего доступно 1966080 байт.

Глобальные переменные используют 38744 байт (11%) динамической памяти, оставляя 288936 байт для локальных переменных. Максимум: 327680 байт.

esptool.py v2.6

Serial port COM5

Connecting........_____....._____....._____....._____....._____....._____.....____Произошла ошибка при загрузке скетча

_



A fatal error occurred: Failed to connect to ESP32: Timed out waiting for packet header



Этот отчёт будет иметь больше информации с
включенной опцией Файл -> Настройки ->
"Показать подробный вывод во время компиляции"
пробовал разные версии ИДЕ

пробовал зажимать во время загрузки кнопку бут тоже ничего

думал загрузочная микруха померла и поменял её но ничего не изменилось
 

CodeNameHawk

Moderator
Команда форума
пробовал зажимать во время загрузки кнопку бут тоже ничего
Что выдает есп при подаче питания?
Бут нажать недостаточно.
Есть два варианта бут зажать и подать питание или бут зажать и нажать и отпустить ресет.
 

Дима 123

New member
всё просто
есть версии таких плат где ничего не надо нажимать и всё заливается
есть версии где нужно при слове конект нажимать бут иначе не загружается , там просто идут точки и тире и потом ошибка вскакивает тогда

втыкаю кабель и раздаётся звук мол подключено устройство по усб в общем то как и всегда в таких случаях

ваши два метода тоже не работают
 

CodeNameHawk

Moderator
Команда форума
есть версии таких плат где ничего не надо нажимать и всё заливается
Если это не голый есп, а готовый модуль, то в принципе нигде не надо нажимать, надо только выбрать сом порт и установить максимальную скорость с которой модуль еще работает.
Вы не ответили на вопрос
Что выдает есп при подаче питания?
 

pvvx

Активный участник сообщества
Что выдает есп при подаче питания?
А что может выдать отключенное от USB устройство?
И вам ответили:
втыкаю кабель и раздаётся звук мол подключено устройство по усб в общем то как и всегда в таких случаях
А по соединению шнура USB между платой и компом устанавливается драйвер USB-СDC, потом драйвер COM порта, потом программа откроет COM порт, установит DTR/RTS (без вашего ведома), а в плате к примеру Flash стерта... Что покажет терминал, когда уже всё сообщения от ESP при подаче питания от USB давно проскочили?
По этому ваш вопрос некорректен.
 

pvvx

Активный участник сообщества
При подключенном терминале и пустой flash от модуля ESP32 можно получить только два типа сообщения на 115200 baud, примерно такого содержания:
1
Код:
rst:0x10 (RTCWDT_RTC_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
flash read err, 1000
ets_main.c 371 
ets Jun  8 2016 00:22:57
2
Код:
rst:0x10 (RTCWDT_RTC_RESET),boot:0x3 (DOWNLOAD_BOOT(UART0/UART1/SDIO_REI_REO_V2))
waiting for download
1 -ый тип будет повторяться, а 2-ой модуль выдаст только один раз.
Можно проверить сигналы DTR/RTS в программе:
В ней есть две кнопки DTR и RTS:
1607363281645.png
которые управляют режимом загрузки и сбросом ESP32.
 

pvvx

Активный участник сообщества
Логично.
Тс покажите вывод в сом порт, после нажатия и отпускании ресет.
Но дело в том, что Arduno для записи запускает esptool.py. Она дергает DTR/RTS сигналы в надежде запустить модуль в режиме программирования (тип сообщения 2 из прошлого соо).
Но кривая схема в некоторых модулях не позволяет этого сделать. Их только на помойку*, т.к. кнопочками вы ей не всегда поможете - она снова сбросит в обычный режим :)
Танцы с бубном и тыканием кнопочек иногда всё-же могут помочь больному... Но зачем покупать такое?

* переделывать.
 

CodeNameHawk

Moderator
Команда форума
Танцы с бубном и тыканием кнопочек иногда всё-же могут помочь больному... Но зачем покупать такое?
У меня есть Esp12 и esp32 на cp2102, обе нормально работают.
Правда есп12 входит в режим программирования если установлена скорость не выше 921000, выше не срабатывает.
 

pvvx

Активный участник сообщества
Для тех у кого на плате есть кнопочки, но не работает esptool.py, у самой esptool.py есть опция

--before no_reset

Но оно не переключается в Arduino. И вам придется лезть в

\Users\Имя\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.x.x\platform.txt

И править в нем строку c :

tools.esptool_py.upload.pattern=…… --before default_reset …..

на no_reset

Тогда с помощь кнопочек вы сможете перевести своё чадо в режим программирования и прошить в Arduino.
 

pvvx

Активный участник сообщества
У меня есть Esp12 и esp32 на cp2102, обе нормально работают.
Правда есп12 входит в режим программирования если установлена скорость не выше 921000, выше не срабатывает.
А это относится к микрухе USB-COM, а не к ESP. Техническое описание причины будет слишком длинным и я его упущу. Проще - не покупайте всякое китайское дерьмо.
 

pvvx

Активный участник сообщества
Правда и этот баг (большая скорость на некоторых чипах USB-COM) можно обойти программно в той-же esptool, но кто-же будет учить ардуино-писателей? Нам до них далеко :)
 
Сверху Снизу