Змінюй хід війни! Допомагай ЗСУ!

Окирпичен ESP8266, чем спасать его?

Статус: Офлайн
Реєстрація: 08.04.2009
Повідом.: 17976
Окирпичен ESP8266, чем спасать его?

Дошли руки до зверька (ESP-01). Ну, думаю, ща я его.
Настраивал АТ-командами, Нашел WiFi, нашел роутер, пропинговал гугл, пропинговал ESP - всё работает.
Возжелал прозрачный мост WiFi-UART.
Поскольку вижу эту животную впервые в жизни - решил ознакомиться что пишут на просторах интернетов.
В процессе аппробирования чужого опыта был применен ядрёный каст
// Отключаем режим сна.
AT+SAVETRANSLINK=1,"192.168.1.103",8888,"UDP",8888

После чего модуль перестал реагировать на AT-команды.
Просто молчание.
При этом - модуль довольно нагружен, греется, греет стаб, показывает по питанию какую-то периодическую активную жизнь (режим сна отключен) и при рестарте на (*****ой на всю голову) скорости 74880 (как и должен) выдаёт отчет о загрузке.

Код:
ets Jan  8 2013,rst cause:2, boot mode:(3,6)

load 0x40100000, len 2408, room 16 
tail 8
chksum 0xe5
load 0x3ffe8000, len 776, room 0 
tail 8
chksum 0x84
load 0x3ffe8310, len 632, room 0 
tail 8
chksum 0xd8
csum 0xd8

2nd boot version : 1.6
  SPI Speed      : 40MHz
  SPI Mode       : QIO
  SPI Flash Size & Map: 8Mbit(512KB+512KB)
jump to run user1 @ 1000

rf cal sector: 249
rf[112] : 00
rf[113] : 00
rf[114] : 01

SDK ver: 2.0.0(5a875ba) compiled @ Aug  9 2016 15:12:27
phy ver: 1055, pp ver: 10.2

ўpў@jХм
ўpў@jХм это READY, но уже на 115200, как ему и положено.

Перепрошить через UART чёт не выходит... может что-то неправильно делаю.
Кто копался с этой скотиной, в чём прикол?

P.S. Модуль ESP-01 WiFi, кроме GPIO0, GPIO2, сброса, CH_PD и УАРТа - ни чем не обладает.
 
update
Проверил есть ли модуль - он пингуется. То есть, он стартовал и висит на вайфае (от чего и греется, собственно).
Почему на АТ не реагирует???
 
Мне всегда интересно наблюдать - получу ли я ответ до того, как сам разберусь :)
К предыдущему посту: чтобы чип читался надо снять галки напротив путей к бинарникам
jcec2f.webp

Почему-то, если галки стоят - эта падла не хочет читать чип.
Какая связь? Да *** его знает...
 
P.S. Но пока не прошил и ответ не получил...
Почему каст из стартпоста полностью оглушил реакцию на AT-команды?
 
Короч, почти результат:
Почему отключилась обработка АТ-команд - я понять пока не смог.
Но разобрался как перепрошивать модуль
Теперь он такой
ets Jan 8 2013,rst cause:2, boot mode:(3,6)

load 0x40100000, len 2408, room 16
tail 8
chksum 0xe5
load 0x3ffe8000, len 776, room 0
tail 8
chksum 0x84
load 0x3ffe8310, len 632, room 0
tail 8
chksum 0xd8
csum 0xd8

2nd boot version : 1.6
SPI Speed : 40MHz
SPI Mode : QIO
SPI Flash Size & Map: 8Mbit(512KB+512KB)
jump to run user1 @ 1000

rf cal sector: 251
rf[112] : 00
rf[113] : 00
rf[114] : 01

SDK ver: 2.0.0(656edbf) compiled @ Jul 19 2016 17:58:40
phy ver: 1055, pp ver: 10.2

"ÀjÅì
В сравнении с тем, что в нём было - небольшой откат, с 9 авг. на 19 июля 2016.

Попробовал найти ту прошивку - не нашел чёт, хрен знает где её китайцы взяли. На сайте последняя - эта.
А, да - есть свежее прошивка, это SDKv2.0, а текущая 3.0
Но обнаружилось, что она уже под более новые модули с другой флэшкой (1024+1042), то есть - в этот модуль с 512+512 она уже не подойдёт.

Limited by the size of the AT bin files, only 1024+1024 flash map is supported by default. Therefore, please choose 16Mbit/32Mbit-C1 flash size when flashing these AT bin files with Espressif's Flash Download Tools.
У меня 8мбит флэшка, то есть ставил v2.0
В этой прошивке модуль по дефолту становится точкой доступа. Осталось дальше разобраться как с ним работать в виде uatr-моста.
 
Разгадка близка!
По всей видимости, выбор режима CWMODE=1 (Station) приводит к тому, что когда поднимается бридж - она и работает как стэйшен, то есть meansAP не обрабатывается.
В следующий раз попробую CWMODE=3 (meansAP+Station), не должно отрубать AT, вроде, в этом случае.

P.S. Ей явно не хватает кнопки сброса параметров к заводским. Аппаратной...
 
Да купа різних прошивок.
Що з ним сталося хз. По-перше, ми не знаємо що там взагалі за прошивка була. А по-друге, їх купи, ліплять всі, мало що вони намудрити могли.
 
Ответ: эта команда (AT+SAVETRANSLINK) так и работает - модуль становится железобетонным мостом и. по ходу, не должен на АТ ни как реагировать, кроме как пересылать его дальше, если к ниму кто-то подключился и есть коннекшен.

Говорят, из состояния выводит посылка в UART "+++" без межсимвольных интервалов, одним куском.
 
Да купа різних прошивок.
Що з ним сталося хз. По-перше, ми не знаємо що там взагалі за прошивка була. А по-друге, їх купи, ліплять всі, мало що вони намудрити могли.

Кнопка - круто.
Вот сейчас я нашел ответ на эту проблему. А была бы кнопка - Я б сбросился и не искал ни чего.
Время они экономят. Кнопки. угу.
 
19:32 - 22:32 - ровно 3 часа сэкономила бы кнопка
 
Кнопка - круто.
Вот сейчас я нашел ответ на эту проблему. А была бы кнопка - Я б сбросился и не искал ни чего.
Время они экономят. Кнопки. угу.

Так в тебе є кнопка повного збросу - перепрошити.
Ну а звичайного збросу до дефолту прошивки не зробили за непотрібністю.

От лише нещодавно робив плату з 8266, чувак просив якийсь резет втоплений в корпус як на модемі. Що він робить хз, мої лише схема з платою були.
 
Так в тебе є кнопка повного збросу - перепрошити.
Ну а звичайного збросу до дефолту прошивки не зробили за непотрібністю.
Да есть он - АТ-командой. Но в режиме моста она не работает, так как поступает у UART и всё, что ей надо - просто передать всё из UART дальше в мост. Логично, что обрабатывать в этом режиме ни какие АТ команды оно не будет. Противоречит логике функционирования.
Ну, и про "+++" уже писал - он работает. Но там, где я его нашел - тоже были недоразумения, так как то, что +++ сбрасывает этот режим - не очевидно, он упомянут относительно другого режима, не связанного напрямую с этим. Просто кто-то предположил, что "+++" универсален, и кто-то подтвердил опытом.

От лише нещодавно робив плату з 8266, чувак просив якийсь резет втоплений в корпус як на модемі. Що він робить хз, мої лише схема з платою були.

Ресет робить те, що повинен - рестарт.
AT+RST - то же самое.
А есть ещё AT+RESTORE - делает как раз factory settings вместе с рестартом.
Ну а накуя ему утопленый - наверное, чтобы случайно не нажать. Там ещё reset для програмирования используется - надо GPIO0 во время нажатого RST подвесить на 0, тогда при отпускаении RST загрузится в режиме 1.7 - готовым перепрошиваться.

P.S. Надо ещё про режимы бута почитать. Они там разные, с помощью 2х пинов достигаются при нажатии RST. Может там и есть нужный, со сбросом параметров, но я до него ещё не дочитал. Китайские pdf - суровы, даже в переводе на английский.
 
Ти офіційну АТ прошивку ставиш?
 
+++ всегда были стандартной escape-последовательностью для AT-команд. Не знаю почему для тебя это стало откровением.
 
+++ всегда были стандартной escape-последовательностью для AT-команд. Не знаю почему для тебя это стало откровением.

Потому, что в дадашыте на него это явно не упомянуто. Зато явно упомянуто о применимости +++ к одной конкретной команде, из чего можно сделать вывод только один - +++ работает только с этой командой (на самом деле - нет).
 
Китайские даташиты такие даташиты. Не первый раз сталкиваюсь.
 
Дошли руки до зверька (ESP-01). Ну, думаю, ща я его.
Настраивал АТ-командами, Нашел WiFi, нашел роутер, пропинговал гугл, пропинговал ESP - всё работает.
Возжелал прозрачный мост WiFi-UART.
Поскольку вижу эту животную впервые в жизни - решил ознакомиться что пишут на просторах интернетов.
В процессе аппробирования чужого опыта был применен ядрёный каст


После чего модуль перестал реагировать на AT-команды.
Просто молчание.
При этом - модуль довольно нагружен, греется, греет стаб, показывает по питанию какую-то периодическую активную жизнь (режим сна отключен) и при рестарте на (*****ой на всю голову) скорости 74880 (как и должен) выдаёт отчет о загрузке.

Код:
ets Jan  8 2013,rst cause:2, boot mode:(3,6)

load 0x40100000, len 2408, room 16 
tail 8
chksum 0xe5
load 0x3ffe8000, len 776, room 0 
tail 8
chksum 0x84
load 0x3ffe8310, len 632, room 0 
tail 8
chksum 0xd8
csum 0xd8

2nd boot version : 1.6
  SPI Speed      : 40MHz
  SPI Mode       : QIO
  SPI Flash Size & Map: 8Mbit(512KB+512KB)
jump to run user1 @ 1000

rf cal sector: 249
rf[112] : 00
rf[113] : 00
rf[114] : 01

SDK ver: 2.0.0(5a875ba) compiled @ Aug  9 2016 15:12:27
phy ver: 1055, pp ver: 10.2

ўpў@jХм
ўpў@jХм это READY, но уже на 115200, как ему и положено.

Перепрошить через UART чёт не выходит... может что-то неправильно делаю.
Кто копался с этой скотиной, в чём прикол?

P.S. Модуль ESP-01 WiFi, кроме GPIO0, GPIO2, сброса, CH_PD и УАРТа - ни чем не обладает.
//------- UPD ---------------------------------------------
//********* ОТВЕТ ******************************

1. Игнорирование AT-команд по UART - в целом, вполне логично, когда устройство настроено как мост UART over WiFi. Его цель передавать данные транзитом, а не реагировать на них.
2. Команда "+++" посылается в UART и сбрасывает режим моста.
Команду посылать быстро - желательно в одном пакете (может получиться не с 1го раза, если это USB-UART мостик), предварительно проверить, что автодополнение /r/n отключено в терминалке, и что отключен (если вообще там такое есть) межсимвольный интервал, пауза такая между посылкой каждого байта (в некоторых терминалах он является опцией и настраивается. Так вот, выключить).
3. Прошивается в режиме моста по стандартной процедуре - зажать RST(0) -> зажать GPIO0(0) ->отпустить RST(1)-> отпустить GPIO0 (1)
Естественно, они должны быть подвешены в этом случае к Vcc через pullup внешний резистор. Внутренний есть, но в момент рестарта 250мс(мкс? это неточно) ноги в Z-состоянии и бутлоадер проверяет GPIO на предмет бутовой комбинации. Если не подвешивать - могут встретиться артефакты из за наводок.
4. Да, этот чип *****ый и отладочную инфу толкает при старте на скорости... 74880 (почему не 61594? Не 12345? хз...), причём - встречается описание от какого-то (хз откуда) автора/модуля/яебучего - в котором указан неправильный baudrate. Правильный - 74880/
А потом чип переходит уже на 115200, запарывая слово READY.
Для прошивки выбирать именно 115200 (если для модуля авторства конкретного Суй *** Цяя не указана другая частота).
Именно на ней он потом будет ждать прошивку.
5. В ESP Download Tools перед прошивкой сначала считать инфу (да, введя в режим програмирования как в п.3). Для этого галочки напротив файлов НЕ должны существовать. Или тул воспримет как попытку прошить (ну, как-то так они реализовали. Кнопка одна, а логика работы зависит от того, выбраны файлы, или нет).
jcec2f.webp

6. При каждом действии (чтение, перепрошивка) - вначале сделать сброс в режим бута (он напишет, если подключиться терминалом и слушать на 74880, нужен режим 1.7). То есть, после выполнения п.5 - он не прошьётся. Надо ребутнуть со входом в бутлоадер снова.

В остальном - тема скорее для другой темы. По спасению - это всё, что с ним можно сделать. Тем более, что в ESP-01 есть только GPIO0 и GPIO2 и там недоступны остальные пины.
Ну, можно ещё сурово отпаять флэшку и зашить внешним програматором, если совсем припечёт.
"ТС - *****, тему можно закрывать"(С)ХФ.
 
P.S. Димокс, верни возможность править сообщения стартпоста и закрывать темы.
 
Назад
Зверху Знизу