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

Нужна помощь Не могу прошить ESP8266

BigBadBo

New member
Добрый вечер! Первый раз работаю с ESP8266, потребовалось выполнить следующий проект: Клавиатурный шпион [Амперка / Вики]

Использую Arduino 1.6.5. Собрал схему, аналогичную схеме под рис. 9, но без Iskra Mini, к COM-порту подключаю через Xbee-USB-Adapter, при загрузке скетча, появляется ошибка

warning: espcomm_sync failed
error: espcomm_open failed
error: espcomm_upload_mem failed

Модуль работает - мигает синий диод и в сетях появилась точка доступа ESPap.

В чем может быть причина?
 

Victor

Administrator
Команда форума
В чем может быть причина?
Для автоматической прошивки из Arduino IDE требуется подключение DTR и RTS как в этой статье (Схема подключения с поддержкой автозагрузки прошивки из Arduino IDE, если у вас ESP-01, то у вас не будут подключены GPIO15 и GPIO16)
Либо вручную, перед прошивкой замыкать GPIO0 на землю и перезагружать модуль кратковременным отключением CH_PD или замыканием RESET на землю.
 

BigBadBo

New member
Для автоматической прошивки из Arduino IDE требуется подключение DTR и RTS как в этой статье (Схема подключения с поддержкой автозагрузки прошивки из Arduino IDE, если у вас ESP-01, то у вас не будут подключены GPIO15 и GPIO16)
Либо вручную, перед прошивкой замыкать GPIO0 на землю и перезагружать модуль кратковременным отключением CH_PD или замыканием RESET на землю.
Второй вариант не сработал (возможно, я просто не успеваю переключать провод с RESET с земли на 3.3v.
Собрав схему, получил следующие ошибки :(


error: failed sending 0xC0
error: failed sending 8 bytes
error: failed sending 36 bytes
error: failed sending 0xC0
error: failed sending 0xC0
error: failed sending 8 bytes
error: failed sending 36 bytes
error: failed sending 0xC0
error: failed sending 0xC0
error: failed sending 8 bytes
error: failed sending 36 bytes
error: failed sending 0xC0
error: failed sending 0xC0
error: failed sending 8 bytes
error: failed sending 36 bytes
error: failed sending 0xC0
error: failed sending 0xC0
error: failed sending 8 bytes
error: failed sending 36 bytes
error: failed sending 0xC0
error: failed sending 0xC0
error: failed sending 8 bytes
error: failed sending 36 bytes
error: failed sending 0xC0
error: failed sending 0xC0
error: failed sending 8 bytes
error: failed sending 36 bytes
error: failed sending 0xC0
error: failed sending 0xC0
error: failed sending 8 bytes
error: failed sending 36 bytes
error: failed sending 0xC0
error: failed sending 0xC0
error: failed sending 8 bytes
error: failed sending 36 bytes
error: failed sending 0xC0
warning: espcomm_sync failed
error: espcomm_open failed
error: espcomm_upload_mem failed
 

Victor

Administrator
Команда форума
получил следующие ошибки
попробуйте сначала прошить стандартной
FLASH DOWNLOAD TOOL 2.4 от 24.09.2015
в ней не требуется успевать переключать, т.е. можно заблаговременно подключить GPIO0 к земле и перезагрузить модуль (без перезагрузки USB_TTL)
когда здесь все будет получаться, то перейдете к Arduino IDE
 

BigBadBo

New member
попробуйте сначала прошить стандартной
FLASH DOWNLOAD TOOL 2.4 от 24.09.2015
в ней не требуется успевать переключать, т.е. можно заблаговременно подключить GPIO0 к земле и перезагрузить модуль (без перезагрузки USB_TTL)
когда здесь все будет получаться, то перейдете к Arduino IDE
Просто залипла надпись NODEMCU TEAM и reuire(wifi), require(gpio), connect.world()...

Я использую XBee-USB адаптер / узнать больше, купить в Амперке для прошивки вместо USB-TTL. Может, есть какие-то тонкости в подключении данного конкретного адаптера?
 

VicSpectator

New member
Доброго времени суток. Топикстартер, похоже, своё дело до конца не довёл. Зато у меня возникла та же проблема.
Среда и железка ардуино, взят пример сервера, компилится. Но не заливается. В процессе заливки на ардуино моргает Rx. Всё завершается ошибкой, как у топикстартера:
warning: espcomm_sync failed
error: espcomm_open failed
error: espcomm_upload_mem failed
error: espcomm_upload_mem failed
Сама ESP работает. Отладочную информацию и ready видел.
Для прошивки подключаю в USB, при этом RESET ардуино на земле, чтобы плата не работала. Подтягиваю GPIO0 к земле перемычкой. Далее кратковременно RESET на ESP. Заливаю. И вот тут возникает ошибка. Из перечисленных мною процедур ошибочные есть?
 

VicSpectator

New member
а команды с клавиатуры она принимает? (т.е. ready говорит о том, что от ESP8266 данные поступают, но надо убедится и в том что передача данных в ESP тоже работает)
Хорошая идея! Но как проверить приём модулем ESP данных извне? Что значит с клавиатуры? У меня там висит прошивка базовая. Или речь всего лишь об AT-командах? :) Завтра проверю.
 

Andy Korg

Moderator
Команда форума
...Из перечисленных мною процедур ошибочные есть?
Насчет процедур не скажу, но вот буквально на днях прошивал платой easyelectonicsСнимок1.JPG , землю сажал как всегда на дальний контакт (красными стрелочками отметил). Не прошивается хоть ты тресни. Переставил на ближний, чисто по приколу, и на тебе - все прекрасно работает!
Это я к чему - укоротите провода, землю по возможности в одну точку соберите.
 

VicSpectator

New member
Спасибо за советы, уже вооружился мультиметром, чтобы проверять"землю" :) Только пока что проблема, должно быть, в другом. AT отправлял, не отвечает. Хотя на платке ардуино при отправке команды AT моргает RX. При отправке модулем служебной информации и ready моргает TX платы ардуино. Вроде всё нормально. Попробовал залить библиотечный скетч передачи из аппаратного UART в программный. Скорость 115200 везде выставил, но вот теперь ready приходит в искаженном виде. Понятно, что скорее всего виновата программная реализация UART. Шокирует то, что на команду AT модуль отвечает, пусть и в искаженном виде :)
UPD:
Начал вспоминать, как запускали свою ESP-01. Я был в шоке, когда с одного компьютера AT прокатывало, а с другого - нет. Нетрудно догадаться, что с моего ноутбука не отправлялось :) Лечилось уменьшением скорости работы модуля с того ноутбука, где работало на высокой. Так что подожду другого ноутбука и протестирую. Может быть у кого-то та же проблема.
Вопрос: При заливке скетчей ардуино выбирается плата и куча настроек. Как узнать, какие настройки необходимо указать? Можно ли будет прошиваться на той скорости, на которой мне удобно? То есть задать скорость работы 9600 и заливать с такой же скоростью.
 
Последнее редактирование:

VicSpectator

New member
Тут чуток улучшилось состояние. Теперь я с помощью программного ком-порта ардуино могу общаться с esp в обе стороны, но вот напрямую почему-то не хочет. Поскольку это не позволяет мне залить новую прошивку в esp (ведь правда?), я всё ещё недоволен. Напрямую возможен только приём от ESP. В какую сторону копать? :) Аппаратная часть esp, получается, исправна. TX и Rx при прямом подключении перепутать местами я не мог, потому что приём происходит исправно.
Какие необходимы настройки UART esp-модуля? У меня просто 8 данных, 1 стоп, без контроля чётности, без аппаратного управления.
 
Последнее редактирование:

VicSpectator

New member
Похоже, моя проблема при прошивке модуля решалась банально ликвидацией резистивного делителя на линии Rx. Есть, конечно, ещё некоторые неприятности и странности, но работать пока что можно и так, через среду ардуино и ардуиновский преобразователь USB-TTL.
Всем спасибо за помощь.
 

sER

New member
Здравствуйте уважаемые мастера.
Имею плату:

111.jpg
Версия прошивки старая, решил я обновить.
апавп.png
Скачал GitHub - nodemcu/nodemcu-flasher: A firmware Flash tool for nodemcu
Если прошиваю прошивкой по умолчанию (INTERNAL://NODEMCU)
nodemcu_integer_0.9.5_20150318.bin
то прошивка идёт
000.jpg
Собираю свою прошивку NodeMCU custom builds
Select branch to build from-master
Остальные галочки оставляю по умолчанию.
На почту пришёл ответ, скачиваю прошивку
nodemcu-master-7-modules-2017-05-17-06-48-43-float.bin
Кладу её по адресу:
nodemcu-flasher-master\Resources\Binaries

Далее скачиваю esp_init_data_default.bin
Resources | Espressif Systems
ESP8266 NONOS SDK V2.1.0 20170505
Из архива, из папки bin, копирую файл esp_init_data_default.bin в папку
nodemcu-flasher-master\Resources\Binaries

В NodeMCU Flasher перехожу на закладку Config и вместо INTERNAL://NODEMCU выбираю файл
nodemcu-master-7-modules-2017-05-17-06-48-43-float.bin
Operations>>>Flash(F).


При этом полоса загрузки не идёт, буквально сразу появляется надпись NODEMCU TEAM
456786.png

Далее выбираю esp_init_data_default.bin во вкладке Config
и адрес 0x3FC000
Полоса загрузки так же не идёт, появляется надпись NODEMCU TEAM
000000000.png
Прошивка не произошла. В чём дело?
 

oleksiy_kurka

New member
Люди добрые помогите :)
в азах перепрошивки esp8266 (у меня таже самая плата) я не понимаю но замечал один нюанс при записываемых проекта вesp8266.
я не перепрошивав esp8266 но при загрузке крупных проектов встречался с проблемой что USB порт не мог справиться с длинным проводом которым я в основном программирую и выбивало ошибку. Я подключил короткий и все заработало возможно вас такая же проблема что порт не может справиться с длинным проводом и программа для перепрошивки зависает
 

AlexandreVN

Member
По-сути все тоже самое. Модуль ESP12Е после прошивки сборки дохнет. Древняя прошивка с АТ командами с адреса 0х00000 возвращает к жизни. esp_init_data_default.bin на начало надо писать или как ТС указал на 0х3fc00 ?
 

AlexandreVN

Member
Во общем дело было в питании. Питал от внешнего источника 3,0В. Это и приводило к разнообразным эффектам после прошивки. Хотя все вроде прошивалось. Поставил 3,4В все глюки пропали разом. И шьется и стартует все как надо. Так что если у кого такое будет начинайте с питания. Может модуль и на 2,5В работает, но прошить не получается. Хоть и прошил, а вопросов стало в десять раз больше :).
1.
SDK 2.1 прошивал по инструкции производителя следующими файлами:
boot_v1.2+.bin 0x00000
user1.2048.new.5.bin 0x01000
esp_init_data_default.bin 0x3fc000 (optional)
blank.bin 0xfe000 & 0x3fe000


Кто может пояснить назначение каждого файла? Пробовал без blank.bin прошивать, разницы в работе не заметил. Также непонятно что значит optional? Без esp_init_data_default.bin тоже вроде работает, но точно не могу сказать.
Также есть прошивка at_sdio, чем она от AT отличается?

SDK 2.1.0 у меня прошивается и работает. Теперь засада с NodeMCU. Пробовал прошивать древнюю версию одним файлом с адреса 0x00000. Стартует нормально, на скорости 9600, правда не форматирует память автоматом после прошивки. Причем наличие или отсутствие esp_init_data_default.bin 0x3fc000 на работоспособность не влияет.
Пробовал прошивать сборку nodemcu-master-10-modules-2017-06-14-18-11-04-float.bin (nodemcu-master-10-modules-2017-06-14-18-11-04-integer.bin) с адреса 0x00000. Прошивается и стартует на скорости 115200. Сразу начинает форматировать память, через ~15 секунд в терминале такое (видимо wdt срабатывает):
Please, reset module or continue.

Formatting file system. Please wait...

ets Jan 8 2013,rst cause:4, boot mode: (3,7)

wdt reset
load 0x40100000, len 26772, room 16
tail 4
chksum 0xd8
load 0x3ffe8000, len 2432, room 4
tail 12
chksum 0x25
ho 0 tail 12 room 4
load 0x3ffe8980, len 136, room 12
tail 12
chksum 0x5e
csum 0x5e
csum err
ets_main.c


это при прошитом файле esp_init_data_default.bin 0x3fc000. Без файла esp_init таже беда но немного иначе:

Formatting file system. Please wait...

ets Jan 8 2013,rst cause:4, boot mode: (3,7)

wdt reset
load 0x40100000, len 27264, room 16
tail 0
chksum 0x76
load 0x3ffe8000, len 2436, room 8
tail 12
chksum 0x98
ho 0 tail 12 room 4
load 0x3ffe8984, len 136, room 12
tail 12
chksum 0x7b
csum 0x7b


В обоих случаях восстановить работу модуля не получается, только новая перепрошивка.
На форумах читал, что желательно не только подтягивать входя через резисторы, но и ставить небольшие конденсаторы 47н на землю. Но не уверен что в этом дело. ESP у меня установлена на белой макетной плате.
 
Последнее редактирование:
Сверху Снизу