• Уважаемые посетители сайта esp8266.ru!
    Мы отказались от размещения рекламы на страницах форума для большего комфорта пользователей.
    Вы можете оказать посильную поддержку администрации форума. Данные средства пойдут на оплату услуг облачных провайдеров для сайта esp8266.ru
  • Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

Нужна помощь ESP12E не до конца возвращается из DeepSleep

MaDerer

New member
Кстати!!!!! Сейчас всмотрелся в вывод заливки моего бина на исправную ESP-12E и обнаружил:
root@raspberrypi:/home/pi# esptool.py -p /dev/ttyS0 write_flash -fm dout 0x0000 1.bin
esptool.py v2.6
Serial port /dev/ttyS0
Connecting....
Detecting chip type... ESP8266
Chip is ESP8266EX
Features: WiFi
MAC: cc:50:e3:46:75:a5
Uploading stub...
Running stub...
Stub running...
Configuring flash size...
Auto-detected Flash size: 4MB
Flash params set to 0x0340
Compressed 297552 bytes to 206998...
Wrote 297552 bytes (206998 compressed) at 0x00000000 in 19.0 seconds (effective 125.2 kbit/s)...
Hash of data verified.
Leaving...
Hard resetting via RTS pin...
Т.е. на этих неисправных получается не определяется размер флешь памяти... Это серьёзный повод задуматься!
 

nikolz

Well-known member
Кстати!!!!! Сейчас всмотрелся в вывод заливки моего бина на исправную ESP-12E и обнаружил:
root@raspberrypi:/home/pi# esptool.py -p /dev/ttyS0 write_flash -fm dout 0x0000 1.bin
esptool.py v2.6
Serial port /dev/ttyS0
Connecting....
Detecting chip type... ESP8266
Chip is ESP8266EX
Features: WiFi
MAC: cc:50:e3:46:75:a5
Uploading stub...
Running stub...
Stub running...
Configuring flash size...
Auto-detected Flash size: 4MB
Flash params set to 0x0340
Compressed 297552 bytes to 206998...
Wrote 297552 bytes (206998 compressed) at 0x00000000 in 19.0 seconds (effective 125.2 kbit/s)...
Hash of data verified.
Leaving...
Hard resetting via RTS pin...
Т.е. на этих неисправных получается не определяется размер флешь памяти... Это серьёзный повод задуматься!
я вам выше написал - определите чип флеша
но так как у вас программа работает то флеш скорее всего исправна
возможно не определяется так как чип не оригинальный
 

MaDerer

New member
Отбой паники/радости. Повторно всё определилось нормально. На вторую плату с 5-ю резисторами (в том числе и RST-VCC) залил Вашу прошивку и получил:
Код:
00:44:04.382 ->  ets Jan  8 2013,rst cause:1, boot mode:(3,0)
00:44:04.382 ->
00:44:04.382 -> load 0x40100000, len 416, room 16
00:44:04.415 -> tail 0
00:44:04.415 -> chksum 0xdd
00:44:04.415 -> load 0x3ffe8000, len 216, room 8
00:44:04.415 -> tail 0
00:44:04.415 -> chksum 0x25
00:44:04.415 -> csum 0x25
А теперь к вопросу о вышеозначеных ошибках при первой заливке Вашей прошивки. Вы пишите на С#, а значит Ваш код оптимизированей и выполняется в разы быстрее. По этому в случае дребезга при подаче питания и идет такая ошибка. После нормального запуска я переткнул питание и опять получил череду ошибок. Переткнул - всё нормально.

Теперь вопрос, если у вас там был какой-то вывод в Serial, то на какой, так сказать, частоте?
 

MaDerer

New member
По этому в случае дребезга при подаче питания и идет такая ошибка.
Даже более того. Те платы, где идет ошибка "Fatal exception (28):" спаяны крышки, и ни какое "передергивание" питания или нажатие на RESET не помогает, но это не мешает работать медленным скетчам Arduino IDE.
 

nikolz

Well-known member
Даже более того. Те платы, где идет ошибка "Fatal exception (28):" спаяны крышки, и ни какое "передергивание" питания или нажатие на RESET не помогает, но это не мешает работать медленным скетчам Arduino IDE.
там нет вывода на печать кроме сообщений самого загрузчика при рестарте
Я пишу на СИ, не C#,не C++.
Я не понял работает или нет
Вы должны видеть перезагрузку загрузчика при выходе из сна
Вы припаяли резистор?
 

MaDerer

New member
Резистор припаян. Всё, что выводится я показал. Похоже тут не то что выхода из сна, даже в сон не уходит.
На рабочей c NodeMCU проверить не смогу, так там нет крышки и вываливается в постоянный Fatal.
 

nikolz

Well-known member
Резистор припаян. Всё, что выводится я показал. Похоже тут не то что выхода из сна, даже в сон не уходит.
На рабочей c NodeMCU проверить не смогу, так там нет крышки и вываливается в постоянный Fatal.
у вас это сообщение выводится один раз или несколько
если несколько то с каким интервалом
 

nikolz

Well-known member
Резистор припаян. Всё, что выводится я показал. Похоже тут не то что выхода из сна, даже в сон не уходит.
На рабочей c NodeMCU проверить не смогу, так там нет крышки и вываливается в постоянный Fatal.
вот прошивка которая печатает сообщение
скорость та же что для сообщений ром загрузчика
 

Вложения

MaDerer

New member
Не выдумывайте ерунды, важно только на какой частоте проц работает, а там и там скорость одинаковая.
Самое интересное в выводах.

Вывод не верный, судя по boot mode:(3,0) при подаче питания у вас не те уровни на нужных выводах, которые отвечают за загрузку.
Спокойно, без паники. Так бывает после подачи питания. После ресета - 3,6.

@MaDerer, попробуйте сбросить есп, записав в нее АТ прошивку, как в https://esp8266.ru/forum/threads/wdt-reset.3599/#post-53442
Flash Download Tools - Windows прога, т.е. не вариант. Думаю esptool.py справилась бы с этим, просто для каждого bin надо указать адрес старта, но если после каждого bin придется выводить в режим прошивки, то я пас. Если же спокойно по очереди - то может и заморочусь.

полагаю , что все теперь работает?
Не, полагаю, что в 2 часа ночи лучше таки лечь спать. А так как тут не чат, то решил не уведомлять об этом читающих.

А теперь о важном:
08:40:19.500 ->
08:40:19.500 -> ets Jan 8 2013,rst cause:2, boot mode:(3,7)
08:40:19.500 ->
08:40:19.500 -> load 0x40100000, len 484, room 16
08:40:19.500 -> tail 4
08:40:19.500 -> chksum 0x3e
08:40:19.500 -> load 0x3ffe8000, len 240, room 4
08:40:19.500 -> tail 12
08:40:19.500 -> chksum 0xf7
08:40:19.500 -> csum 0xf7
08:40:19.500 -> ⸮⸮⸮⸮⸮⸮ ⸮ ⸮⸮⸮⸮⸮⸮⸮⸮⸮
08:40:23.499 ->
08:40:23.499 -> ets Jan 8 2013,rst cause:2, boot mode:(3,7)
08:40:23.499 ->
08:40:23.499 -> load 0x40100000, len 484, room 16
08:40:23.499 -> tail 4
08:40:23.499 -> chksum 0x3e
08:40:23.499 -> load 0x3ffe8000, len 240, room 4
08:40:23.617 -> tail 12
08:40:23.617 -> chksum 0xf7
08:40:23.617 -> csum 0xf7
08:40:23.617 -> ⸮⸮⸮⸮⸮⸮ ⸮ ⸮⸮⸮⸮⸮⸮⸮⸮⸮
08:40:27.497 ->
08:40:27.497 -> ets Jan 8 2013,rst cause:2, boot mode:(3,7)
08:40:27.627 ->
08:40:27.627 -> load 0x40100000, len 484, room 16
08:40:27.627 -> tail 4
08:40:27.627 -> chksum 0x3e
08:40:27.627 -> load 0x3ffe8000, len 240, room 4
08:40:27.627 -> tail 12
08:40:27.627 -> chksum 0xf7
08:40:27.627 -> csum 0xf7
08:40:27.627 -> ⸮⸮⸮⸮⸮⸮ ⸮ ⸮⸮⸮⸮⸮⸮⸮⸮⸮
Это вывод Вашей второй прошивки. Т.е. теперь всё заработало, ну за исключением непринятия кириллицы, но это мелочь. По всей видимости в первой прошивке ESP должна была сразу уйти в сон безо всяких задержек, по этому уход в сон не успевал отрабатываться. Тут же вывод сообщения предоставил необходимую задержку. Т.е. по крайней мере условно можно считать ESP рабочей. Но всё таки в ней что-то не так. Вон и модель памяти другая, и маркировка кварца иначе читается, и цвет конденсатора над памятью различается. И один и тот же скетч Arduino IDE на одной отрабатывается, на другой нет.
Теперь по подключению. Сейчас сняты все дополнительные резисторы, т.е. подведены только CH_PC на VCC и GPIO15 на GND. RST и GPIO16 закорочены напрямую.
 

nikolz

Well-known member
UPDATE: Второй nkboot.bin на плате без крышки тоже завелся.
Первую прошивку я дал не ту.
Давно делал, быстро поправил. Потом посмотрел а в ней сделано для работы с батарейкой и контроля падения напряжения.
----------------
Теперь о главном.
Хочу чтобы Вы признали что модули исправны.
и Вы зря ругали железо.
 

MaDerer

New member
Хочу чтобы Вы признали что модули исправны.
Нет, не могу. Ведь если две платы в АБСОЛЮТНО одинаковых условиях ведут себя по разному, то где-то зарыта собака, которая вытаскивается на свет божий только в определенном случае. В моём - использование команды ESP.DeepSleep () в Arduino IDE. Или можно сказать, что они исправны, но различаются не самым приятным образом.
и Вы зря ругали железо.
:Железо собиралось на разных заводах. Детали имеют различную или различающуюся маркировку. Вот по-любому либо кондер стоит с "допустимой погрешностью", либо резистор не того значения... либо в памяти дело и тут бы, будь у меня оборудование и прямые руки, поменять чипы памяти местами и проверить, но увы.

И да, когда придут ESP-12S, ESP-12F и Wemos, зашью в них скетч и отпишусь, как они себя ведут.
 

MaDerer

New member
И да, не надо мне говорить, что дело в неправильной/отсутствующей обвязке. Плата поставленная мною на NodeMCU всё равно не выходит из глубокого сна при прошивке из Arduino IDE.

А еще у меня просьба. Не могли бы вы тут выложить код той прошивки, что Вы мне дали?
 

nikolz

Well-known member
Нет, не могу. Ведь если две платы в АБСОЛЮТНО одинаковых условиях ведут себя по разному, то где-то зарыта собака, которая вытаскивается на свет божий только в определенном случае. В моём - использование команды ESP.DeepSleep () в Arduino IDE.
:Железо собиралось на разных заводах. Детали имеют различную или различающуюся маркировку. Вот по-любому либо кондер стоит с "допустимой погрешностью", либо резистор не того значения... либо в памяти дело и тут бы, будь у меня оборудование и прямые руки, поменять чипы памяти местами и проверить, но увы.
И да, когда придут ESP-12S, ESP-12F и Wemos, зашью в них скетч и отпишусь, как они себя ведут.
Дело в памяти, но не железной, а человеческой.
Я уже давно ничего нового не делаю на ESP, так как сделал все, что придумал(ну почти все)
и появились новые модули с BLE , на которых можно сделать все тоже самое(ну почти все) при потреблении в 100 раз меньше.
----------------------------
Я просто забыл изначально сказать вам припаять этот резистор.
И Вы не первый кто, не понимая физики явления, начинает сначала ругать железо, потом ссылается на таких же дилетантов, которые его ругали раньше в инете.
инет - это большая свалка.
Каждый находит на ней в меру своих знаний.
-----------------------
Из собственного опыта замечу.
Когда берусь делать проект в новой для меня области знаний и у меня что-то не получается ,
то в первую очередь я отношу это к отсутствию у меня надлежащих знаний.
И чтобы решить проблему изучаю документацию (если это железо) и научные отчеты, патенты и учебники (если это методы )
В результате у меня нет проектов, которые я не решил бы.
И как не странно все железо из китая - работает прекрасно.
Чего и Вам желаю.
---------------------
Примечание,
полагаю, что я знаю причину отличия работы Ваших модулей ,
так как припаять резистор я вам сказал не с потолка, а для устранения этой причины.
Но ответ на вопрос "почему" требует определенных знаний и всегда сложнее,
чем ответ на вопрос "как".
Поэтому писать Вам здесь лекции не буду.
Успехов в изучении железа и реализации Ваших проектов.
 
Сверху Снизу