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

Нужна помощь NodeMCU V3 (LoLin) - невозможно подключиться после прошивки

corpse

New member
День добрый. Взял сабж. Прошил следующим образом:
Код:
corpse@live [23:12:37]:/opt/esptool$ sudo python esptool.py -p /dev/ttyUSB0 write_flash 0x00 nodemcu_float_0.9.6-dev_20150704.bin
Connecting...
Erasing flash...
Took 2.07s to erase flash block
Wrote 462848 bytes at 0x00000000 in 45.5 seconds (81.4 kbit/s)...

Leaving...
В процессе прошивки модуль ESP моргал светодиодом. Т.е. tx/rx скорее всего работают. После перепрошивки ttyUSB0 поднимается, но подключиться невозможно. ESplorer постоянно пишет в консоли:
Код:
апр 10, 2016 11:34:12 PM ESPlorer.ESPlorer log
INFO: sending:<CR><LF>
В гуях рисует точки при попытке автодетекта прошивки, пока не нажму на закрытие порта. Если отключить Autodetect Firmware, то в выхлопе тишина. Так же, как и через screen/minicom. Пробовал подтягивать GPIO0 к земле руками мимо обвязки на момент прошивки, так же как и EN(CH_PD) к 3.3v - не помогло. Прошивка идёт, led на модуле мигает, всё завершается благополучно, после прошивки и ресета порт поднят, при коннекте на любых скоростях от 4800 до 19200 - тишина.

Подскажите пожалуйста, каким образом решить проблему? Могу, конечно, зацепиться ттлом напрямую мимо обвязки nodemcu напрямую к модулю, но не знаю, насколько хорошая это идея.

P.S.: Плата пришла в запаяном антистатическом пакете, завёрнутая в несоклько слоёв пупырки, ножки воткнуты в кусок вспененного полиэтилена, физические повреждения маловероятны.
 

Victor

Administrator
Команда форума
Пробовал подтягивать GPIO0 к земле руками мимо обвязки на момент прошивки, так же как и EN(CH_PD) к 3.3v - не помогло.
EN(CH_PD) всегда к питанию
GPIO0 к земле руками только для прошивки, а после прошивки, GPIO0 отключаем от земли и перезагружаем модуль
После перепрошивки ttyUSB0 поднимается, но подключиться невозможно.
если у вас ttyUSB0 то поднимается, то отваливается, то это верный признак неправильного подключения/недостатка питания.
 

corpse

New member
EN(CH_PD) всегда к питанию
GPIO0 к земле руками только для прошивки, а после прошивки, GPIO0 отключаем от земли и перезагружаем модуль
если у вас ttyUSB0 то поднимается, то отваливается, то это верный признак неправильного подключения/недостатка питания.
Всё так и делал.
1. EN подтянут к питанию, GPIO0 к земле
2. Прошиваю
3. Выдёргиваю USB для верности
4. Снимаю GPIO0 с земли
5. Втыкаю шнур, модуль загружается, поднимается ttyUSB0

Самопроизвольно сериал не отваливается, стабильно поднят, пока не дёрнешь reset, в этом случае ложится и поднимается, естественно.

Собственно, аналогичным способом через USB2TTL прошивал две ESP-07 и одну ESP-12 - никаких проблем не возникало. А тут решил взять NodeMCU для удобства при опытах.
 

Victor

Administrator
Команда форума
пока не дёрнешь reset, в этом случае ложится и поднимается, естественно.
нет, не естественно.
RESET перезагружает только модуль, USB-TTL при этом отваливаться не должен.
В ESPlorer есть кнопочка RTS - если ее нажать, и еще раз нажать (не даблклик), то модуль перезагрузится не отваливаясь от терминала и увидите, что он там пишет. Кстати, у прошивки NodeMCU скорость 9600 по умолчанию (потом можно переключить)
 

corpse

New member
нет, не естественно.
RESET перезагружает только модуль, USB-TTL при этом отваливаться не должен.
В ESPlorer есть кнопочка RTS - если ее нажать, и еще раз нажать (не даблклик), то модуль перезагрузится не отваливаясь от терминала и увидите, что он там пишет. Кстати, у прошивки NodeMCU скорость 9600 по умолчанию (потом можно переключить)
Неверно. Я говорю о кнопке RST на самой плате. ESPlorer'y для того, чтобы перезагрузить модуль, нужно отправить в него node.restart(), а модуль никак не реагирует на RX/TX через штатный TTL платы. Очевидно, не принимает и не отправляет данные. По умолчанию и так пытаюсь использовать 9600, соденения на 4800 и 11900 пробовал отчасти от безысходности, отчасти потому, что у меня ESP-07 и ESP-12 через внешний TTL на ftdi работает почему-то только на 19200.

Пример выхлопа в dmesg при нажатии кнопки RST на плате:
Код:
[фев16 16:33] usb 2-1.5: new full-speed USB device number 70 using ehci-pci
[  +0,092892] usb 2-1.5: New USB device found, idVendor=1a86, idProduct=7523
[  +0,000010] usb 2-1.5: New USB device strings: Mfr=0, Product=2, SerialNumber=0
[  +0,000005] usb 2-1.5: Product: USB2.0-Serial
[  +0,000955] ch341 2-1.5:1.0: ch341-uart converter detected
[  +0,002530] usb 2-1.5: ch341-uart converter now attached to ttyUSB0
# Тут жмякаем кнопку
[фев16 16:34] usb 2-1.5: USB disconnect, device number 70
[  +0,000299] ch341-uart ttyUSB0: ch341-uart converter now disconnected from ttyUSB0
[  +0,000024] ch341 2-1.5:1.0: device disconnected
[  +0,198257] usb 2-1.5: new full-speed USB device number 71 using ehci-pci
[  +0,093486] usb 2-1.5: New USB device found, idVendor=1a86, idProduct=7523
[  +0,000011] usb 2-1.5: New USB device strings: Mfr=0, Product=2, SerialNumber=0
[  +0,000005] usb 2-1.5: Product: USB2.0-Serial
[  +0,000687] ch341 2-1.5:1.0: ch341-uart converter detected
[  +0,003006] usb 2-1.5: ch341-uart converter now attached to ttyUSB0
 

corpse

New member
Возможно, неверно. ;)
Во-первых, я читал эту тему перед тем, как создать свою. Пропадание COM-порта в Win-системах, насколько я понимаю, эквивалентно пропаданию TTL устройства в *nix, а у меня оно никуда само по себе не пропадает, правда, подключиться я к нему могу, а вот работать с ним - нет.
Во-вторых, драйвера для винды мне бесполезны, виндой я не пользуюсь последние лет 10 и для работы с платой, стоимостью в 4$ не собираюсь. :)
В-третьих, я прошёлся по этой плате мультиметром и ни один из контактов модуля ESP не соединён напрямую с землёй (где-то полный разрыв, где-то есть некое сопротивление - более 600ом). На всякий случай, напомню, что я пытался прошить плату в том числе, подтянув GPIO0 к земле напрямую. Безрезультатно, собственно.
В-четвёртых, питания от USB должно хватать как минимум по двум причинам: плату удаётся прошить, питания от того же USB хватает для прошивки модулей ESP-07/ESP-12 и работы с ними, в том числе некоторой обвязки, запитанной так же с TTL контроллера.

Покупал в другом, но подобном месте. V3 4 м байт ( 32 Mbits ) флэш очки NodeMcu Lua WIFI сетей совет по развитию на основе ESP8266 с прошивки купить на AliExpress

P.S.: В крайнем случае, возьму фен и сниму модуль с платы, после чего буду использовать отдельно.
 

Victor

Administrator
Команда форума
ESPlorer'y для того, чтобы перезагрузить модуль, нужно отправить в него node.restart()
не только, есть и аппаратный сброс: кнопка RTS там линию RTS дергает, а у NodeMCU она зарулена на RESET, как в этой схеме http://esp8266.ru/esp8266-podkluchenie-obnovlenie-proshivki/#full (2 схема, смотрите RTS-RESET)
есть ли платы NodeMCU с TTL на базе pl2303 или ftdi?
на FTDI не попадались, но есть на 2102 NodeMcu Lua WIFI Internet Thing Development Board Based ESP8266 CP2102 Module
 

TolikXikin

New member
Купил для упрощения своих экспериментов эту платку NodeMCU v3 в сборе , с одной стороны все как бы работает при подаче питания через USB шнур появляется точка доступа, через программу ESP8266Flasher модуль виден и можно прошить новой прошивкой .
ТОЛЬКО столкнулся с такой незадачей, терминал CoolTerm (в принципе как и другие подобные терминалы ) не видит СН340 как .сом порт, если нажать на кнопку Reset терминал сразу видит .сом порт, но точка доступа при этом ведь ресетится , непонятно почему у меня .сом порт не находится постоянно в активном состоянии.
Смотрел вольтметром питание 3.20 вольта, при нажатии кнопки Reset становится 3.21 вольт, на всякий случай подбросил от лабораторного 3.3 вольта, все без изменений модем присутствует только при нажатой кнопке Reset.
Но ведь таких чудес ни у кого больше нет, что у меня за недоработка?
 
Последнее редактирование:

TolikXikin

New member
Вопрос все же оказался, в недостаточном питании от USB шнура, сделал добавку питания через пин на платке Vin, проблемы как будто и не было.
 
Сверху Снизу