Sergey
Я собираюсь писать в одну и ту же ячейку каждые 10мин.
Прочитай как работает nvs. В раздел пишутся записи друг за другом. При старте идёт поиск последней записи
Konstantin
Всем доброй ночи. Запаял около года (или больше) назад вот такую макетку с ESP32-WROOM. Зелёная основа просто соединяет все GND вместе и держит ESP32 на себе, USB подключен только к DC-DC понижайке на 3.3 Вольта (для питания). EN припаян к 3.3V перемычкой, IO22 припаян к GND перемычкой (чтобы удобно подключать UART шлейфом из трёх проводов). При подаче питания по UART пишет много всякого на скорости 115200 и раздаёт вайфай и к нему можно подключиться. Проблема: почему-то не удаётся послать по UART данные. Как я понял, прошивка с завода должна отвечать на АТ-команды, но этого нет, даже эхо. Прошить тоже не удаётся: при замыкании IO0 на GND по UART портянки нет, вайфай не раздаёт, но Arduino IDE ругается, что не может подключиться по UART. Как будто бы просто RX-нога не припаяна, но внешне повреждений нет. Куда копать? Как диагностировать? В целом меня устроит, если прошивка будет возможна только по ОТА, но его тоже надо как-то загрузить ещё
Konstantin
USB-UART проверил, с ним вроде всё норм
Sergey
Всем доброй ночи. Запаял около года (или больше) назад вот такую макетку с ESP32-WROOM. Зелёная основа просто соединяет все GND вместе и держит ESP32 на себе, USB подключен только к DC-DC понижайке на 3.3 Вольта (для питания). EN припаян к 3.3V перемычкой, IO22 припаян к GND перемычкой (чтобы удобно подключать UART шлейфом из трёх проводов). При подаче питания по UART пишет много всякого на скорости 115200 и раздаёт вайфай и к нему можно подключиться. Проблема: почему-то не удаётся послать по UART данные. Как я понял, прошивка с завода должна отвечать на АТ-команды, но этого нет, даже эхо. Прошить тоже не удаётся: при замыкании IO0 на GND по UART портянки нет, вайфай не раздаёт, но Arduino IDE ругается, что не может подключиться по UART. Как будто бы просто RX-нога не припаяна, но внешне повреждений нет. Куда копать? Как диагностировать? В целом меня устроит, если прошивка будет возможна только по ОТА, но его тоже надо как-то загрузить ещё
Для начала почитать что написано в портянке на правильной скорости
Konstantin
Для начала почитать что написано в портянке на правильной скорости
ets Jun 8 2016 00:22:57 rst:0x10 (RTCWDT_RTC_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT) configsip: 0, SPIWP:0x00 clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00 mode:DIO, clock div:2 load:0x3fff0008,len:8 load:0x3fff0010,len:3480 load:0x40078000,len:7804 ho 0 tail 12 room 4 load:0x40080000,len:252 entry 0x40080034 ␛[0;32mI (47) boot: ESP-IDF v2.0-3-gbef9896 2nd stage bootloader␛[0m ␛[0;32mI (47) boot: compile time 05:59:45␛[0m ␛[0;32mI (47) boot: Enabling RNG early entropy source...␛[0m ␛[0;32mI (66) boot: SPI Speed : 40MHz␛[0m ␛[0;32mI (79) boot: SPI Mode : DIO␛[0m ␛[0;32mI (91) boot: SPI Flash Size : 4MB␛[0m ␛[0;32mI (103) boot: Partition Table:␛[0m ␛[0;32mI (115) boot: ## Label Usage Type ST Offset Length␛[0m ␛[0;32mI (137) boot: 0 phy_init RF data 01 01 0000f000 00001000␛[0m ␛[0;32mI (161) boot: 1 otadata OTA data 01 00 00010000 00002000␛[0m ␛[0;32mI (184) boot: 2 nvs WiFi data 01 02 00012000 0000e000␛[0m ␛[0;32mI (207) boot: 3 at_customize unknown 40 00 00020000 000e0000␛[0m ␛[0;32mI (230) boot: 4 ota_0 OTA app 00 10 00100000 00180000␛[0m ␛[0;32mI (254) boot: 5 ota_1 OTA app 00 11 00280000 00180000␛[0m ␛[0;32mI (277) boot: End of partition table␛[0m ␛[0;32mI (290) boot: Disabling RNG early entropy source...␛[0m ␛[0;32mI (307) boot: Loading app partition at offset 00100000␛[0m ␛[0;32mI (1483) boot: segment 0: paddr=0x00100018 vaddr=0x00000000 size=0x0ffe8 ( 65512) ␛[0m ␛[0;32mI (1483) boot: segment 1: paddr=0x00110008 vaddr=0x3f400010 size=0x1c5f0 (116208) map␛[0m ␛[0;32mI (1500) boot: segment 2: paddr=0x0012c600 vaddr=0x3ffb0000 size=0x0215c ( 8540) load␛[0m ␛[0;32mI (1530) boot: segment 3: paddr=0x0012e764 vaddr=0x40080000 size=0x00400 ( 1024) load␛[0m ␛[0;32mI (1553) boot: segment 4: paddr=0x0012eb6c vaddr=0x40080400 size=0x1b028 (110632) load␛[0m ␛[0;32mI (1632) boot: segment 5: paddr=0x00149b9c vaddr=0x400c0000 size=0x00034 ( 52) load␛[0m ␛[0;32mI (1633) boot: segment 6: paddr=0x00149bd8 vaddr=0x00000000 size=0x06430 ( 25648) ␛[0m ␛[0;32mI (1650) boot: segment 7: paddr=0x00150010 vaddr=0x400d0018 size=0x7a56c (501100) map␛[0m ␛[0;32mI (1677) heap_alloc_caps: Initializing. RAM available for dynamic allocation:␛[0m ␛[0;32mI (1699) heap_alloc_caps: At 3FFBA6B8 len 00025948 (150 KiB): DRAM␛[0m ␛[0;32mI (1721) heap_alloc_caps: At 3FFE8000 len 00018000 (96 KiB): D/IRAM␛[0m ␛[0;32mI (1742) heap_alloc_caps: At 4009B428 len 00004BD8 (18 KiB): IRAM␛[0m ␛[0;32mI (1763) cpu_start: Pro cpu up.␛[0m ␛[0;32mI (1774) cpu_start: Single core mode␛[0m ␛[0;32mI (1788) cpu_start: Pro cpu start user code␛[0m ␛[0;32mI (1848) cpu_start: Starting scheduler on PRO CPU.␛[0m ␛[0;32mI (2087) uart: queue free spaces: 10␛[0m Bin version:0.10.0 I (2089) wifi: wifi firmware version: c604573 I (2089) wifi: config NVS flash: enabled I (2090) wifi: config nano formating: disabled I (2098) wifi: Init dynamic tx buffer num: 32 I (2099) wifi: wifi driver task: 3ffc4eac, prio:23, stack:3584 I (2104) wifi: Init static rx buffer num: 10 I (2108) wifi: Init dynamic rx buffer num: 0 I (2112) wifi: Init rx ampdu len mblock:7 I (2116) wifi: Init lldesc rx ampdu entry mblock:4 I (2121) wifi: wifi power manager task: 0x3ffca254 prio: 21 stack: 2560 I (2127) wifi: wifi timer task: 3ffcb2d4, prio:22, stack:3584 ␛[0;31mE (2132) phy_init: PHY data partition validated␛[0m ␛[0;32mI (2154) phy: phy_version: 329, Feb 22 2017, 15:58:07, 0, 0␛[0m I (2155) wifi: mode : softAP (94:b5:55:...) I (2158) wifi: mode : sta (94:b5:55:...) + softAP (94:b5:55:...) I (2161) wifi: mode : softAP (94:b5:55:...) MAC-и затёр сейчас ручками просто, вроде никакого криминала не вижу
Sergey
А эта nvs есть в виде готовой библиотеки для Arduino IDE?
По arduino не подскажу, по идее должна быть, поскольку это базовая вещь. А каким образом ты сейчас пишешь в ячейку?
Руслан
Всем доброй ночи. Запаял около года (или больше) назад вот такую макетку с ESP32-WROOM. Зелёная основа просто соединяет все GND вместе и держит ESP32 на себе, USB подключен только к DC-DC понижайке на 3.3 Вольта (для питания). EN припаян к 3.3V перемычкой, IO22 припаян к GND перемычкой (чтобы удобно подключать UART шлейфом из трёх проводов). При подаче питания по UART пишет много всякого на скорости 115200 и раздаёт вайфай и к нему можно подключиться. Проблема: почему-то не удаётся послать по UART данные. Как я понял, прошивка с завода должна отвечать на АТ-команды, но этого нет, даже эхо. Прошить тоже не удаётся: при замыкании IO0 на GND по UART портянки нет, вайфай не раздаёт, но Arduino IDE ругается, что не может подключиться по UART. Как будто бы просто RX-нога не припаяна, но внешне повреждений нет. Куда копать? Как диагностировать? В целом меня устроит, если прошивка будет возможна только по ОТА, но его тоже надо как-то загрузить ещё
раньше работало и внезапно сломалось? или по юарт вообще не подключиться было?
Sergey
ets Jun 8 2016 00:22:57 rst:0x10 (RTCWDT_RTC_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT) configsip: 0, SPIWP:0x00 clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00 mode:DIO, clock div:2 load:0x3fff0008,len:8 load:0x3fff0010,len:3480 load:0x40078000,len:7804 ho 0 tail 12 room 4 load:0x40080000,len:252 entry 0x40080034 ␛[0;32mI (47) boot: ESP-IDF v2.0-3-gbef9896 2nd stage bootloader␛[0m ␛[0;32mI (47) boot: compile time 05:59:45␛[0m ␛[0;32mI (47) boot: Enabling RNG early entropy source...␛[0m ␛[0;32mI (66) boot: SPI Speed : 40MHz␛[0m ␛[0;32mI (79) boot: SPI Mode : DIO␛[0m ␛[0;32mI (91) boot: SPI Flash Size : 4MB␛[0m ␛[0;32mI (103) boot: Partition Table:␛[0m ␛[0;32mI (115) boot: ## Label Usage Type ST Offset Length␛[0m ␛[0;32mI (137) boot: 0 phy_init RF data 01 01 0000f000 00001000␛[0m ␛[0;32mI (161) boot: 1 otadata OTA data 01 00 00010000 00002000␛[0m ␛[0;32mI (184) boot: 2 nvs WiFi data 01 02 00012000 0000e000␛[0m ␛[0;32mI (207) boot: 3 at_customize unknown 40 00 00020000 000e0000␛[0m ␛[0;32mI (230) boot: 4 ota_0 OTA app 00 10 00100000 00180000␛[0m ␛[0;32mI (254) boot: 5 ota_1 OTA app 00 11 00280000 00180000␛[0m ␛[0;32mI (277) boot: End of partition table␛[0m ␛[0;32mI (290) boot: Disabling RNG early entropy source...␛[0m ␛[0;32mI (307) boot: Loading app partition at offset 00100000␛[0m ␛[0;32mI (1483) boot: segment 0: paddr=0x00100018 vaddr=0x00000000 size=0x0ffe8 ( 65512) ␛[0m ␛[0;32mI (1483) boot: segment 1: paddr=0x00110008 vaddr=0x3f400010 size=0x1c5f0 (116208) map␛[0m ␛[0;32mI (1500) boot: segment 2: paddr=0x0012c600 vaddr=0x3ffb0000 size=0x0215c ( 8540) load␛[0m ␛[0;32mI (1530) boot: segment 3: paddr=0x0012e764 vaddr=0x40080000 size=0x00400 ( 1024) load␛[0m ␛[0;32mI (1553) boot: segment 4: paddr=0x0012eb6c vaddr=0x40080400 size=0x1b028 (110632) load␛[0m ␛[0;32mI (1632) boot: segment 5: paddr=0x00149b9c vaddr=0x400c0000 size=0x00034 ( 52) load␛[0m ␛[0;32mI (1633) boot: segment 6: paddr=0x00149bd8 vaddr=0x00000000 size=0x06430 ( 25648) ␛[0m ␛[0;32mI (1650) boot: segment 7: paddr=0x00150010 vaddr=0x400d0018 size=0x7a56c (501100) map␛[0m ␛[0;32mI (1677) heap_alloc_caps: Initializing. RAM available for dynamic allocation:␛[0m ␛[0;32mI (1699) heap_alloc_caps: At 3FFBA6B8 len 00025948 (150 KiB): DRAM␛[0m ␛[0;32mI (1721) heap_alloc_caps: At 3FFE8000 len 00018000 (96 KiB): D/IRAM␛[0m ␛[0;32mI (1742) heap_alloc_caps: At 4009B428 len 00004BD8 (18 KiB): IRAM␛[0m ␛[0;32mI (1763) cpu_start: Pro cpu up.␛[0m ␛[0;32mI (1774) cpu_start: Single core mode␛[0m ␛[0;32mI (1788) cpu_start: Pro cpu start user code␛[0m ␛[0;32mI (1848) cpu_start: Starting scheduler on PRO CPU.␛[0m ␛[0;32mI (2087) uart: queue free spaces: 10␛[0m Bin version:0.10.0 I (2089) wifi: wifi firmware version: c604573 I (2089) wifi: config NVS flash: enabled I (2090) wifi: config nano formating: disabled I (2098) wifi: Init dynamic tx buffer num: 32 I (2099) wifi: wifi driver task: 3ffc4eac, prio:23, stack:3584 I (2104) wifi: Init static rx buffer num: 10 I (2108) wifi: Init dynamic rx buffer num: 0 I (2112) wifi: Init rx ampdu len mblock:7 I (2116) wifi: Init lldesc rx ampdu entry mblock:4 I (2121) wifi: wifi power manager task: 0x3ffca254 prio: 21 stack: 2560 I (2127) wifi: wifi timer task: 3ffcb2d4, prio:22, stack:3584 ␛[0;31mE (2132) phy_init: PHY data partition validated␛[0m ␛[0;32mI (2154) phy: phy_version: 329, Feb 22 2017, 15:58:07, 0, 0␛[0m I (2155) wifi: mode : softAP (94:b5:55:...) I (2158) wifi: mode : sta (94:b5:55:...) + softAP (94:b5:55:...) I (2161) wifi: mode : softAP (94:b5:55:...) MAC-и затёр сейчас ручками просто, вроде никакого криминала не вижу
Не похоже на at прошивку. Думаю нужно попробовать прошить заново. а насчёт прошивки думаю проблема не в ножке rx
Konstantin
раньше работало и внезапно сломалось? или по юарт вообще не подключиться было?
А вот не помню. Я её припаял туда очень давно (предположительно в 2023-м), помню, что проверил только, что при подключении к компу подаются признаки жизни и отложил в долгий ящик. Сейчас оно тоже как бы признаки жизни подаёт
Konstantin
Не похоже на at прошивку. Думаю нужно попробовать прошить заново. а насчёт прошивки думаю проблема не в ножке rx
Спасибо. АТ-прошивку я вижу очень редко и не помню, что и как там должно быть
Руслан
что значит при подаче питания пишет много всякого? набор нечитаемых символов сплошным потоком?
Konstantin
Кроме IO0 -> GND что-то ещё нужно оттянуть куда-то для прошивки по UART?
Руслан
вроде нормальный выхлоп. а то что ат команды не принимает, больше похоже на прошивку
Руслан
https://docs.espressif.com/projects/esp-at/en/latest/esp32/AT_Command_Set/Basic_AT_Commands.html
ㅤ
Konstantin
В любом случае сейчас паяльником прогрел ножку. Не помогло
Руслан
у меня esp32-s3 supermini как модем даже определяется (/dev/ttyACM0), в отличии от отладочной
Konstantin
И чо. Ты залил туда данную прошивку?
Нет, но с завода как правило идут с этой прошивкой
Руслан
Руслан
я не пробовал по юарт шить и ардуиноИДЕ не пользую, оно таким образом не прошьется? как вариант пробовать обновить прошивку
Konstantin
я не пробовал по юарт шить и ардуиноИДЕ не пользую, оно таким образом не прошьется? как вариант пробовать обновить прошивку
Arduino IDE внутри просто дёргает esptool.py. А как кроме UART можно перепрошить ESP32, которая только что с завода?
ㅤ
Нет, но с завода как правило идут с этой прошивкой
С какого завода ? Кто тебе такое сказал
Руслан
Arduino IDE внутри просто дёргает esptool.py. А как кроме UART можно перепрошить ESP32, которая только что с завода?
у меня только с юсб разъемом есть. так подключаю и шью. а ваш вариант не пробовал.
Konstantin
С какого завода ? Кто тебе такое сказал
Как-то раз забрал с алика ESP8266, воткнул в комп через UART, подключаюсь, пишу "AT", оно мне "OK"
Руслан
С какого завода ? Кто тебе такое сказал
у меня та же s3 с завода общалась по ат командам
Руслан
C3 возможно, но не S3
тьфу ты, С3 да
Руслан
попутал
Konstantin
у меня только с юсб разъемом есть. так подключаю и шью. а ваш вариант не пробовал.
А определяется компом как СОМ-порт? Мне почему-то кажется, что там просто на плате распаян USB-UART чип, который заодно GPIO0 и дёргает по какому-нибудь DTR-у с компа
Konstantin
Да, это старая тема. Но не с завода
Окей, хорошо. На ESP32 есть некая неизвестная прошивка, демонстрирующая, что камушек с Алика скорее жив, чем мёртв. Я оттягиваю IO0 к земле, камушек в UART перестаёт писать, но и прошиваться тоже отказывается
Руслан
Konstantin
С3 как модем (ttyACM0, отладочная как как переходник на ком порт (ttyUSB0)
Ладно, не игрался с С3, могли что-то прикольное и накрутить
Руслан
на моих распаяны 2 кнопки: ресет и бут. когда С3 шил, нужно было бут жать
Руслан
может на твоей что-то куда-то замкнуть надо, в качестве кнопки
Руслан
С3 не определяется как модем, там нет юзб
https://aliexpress.ru/item/1005007329197811.html?spm=a2g2x.orderdetail.0.0.69824aa6hCUP65&sku_id=12000040289029264&_ga=2.153801265.807963380.1737098547-1563459195.1714770546
ㅤ
Почему? Нет
Да это смешно всегда, когда не разобрался сам Бывает
ㅤ
я вот эту брал, все есть вон
Там из юзб только usb-uart мост. Короче оба базу читайте срочно что покупаете. А то S3, С3 кони лошади
Konstantin
может на твоей что-то куда-то замкнуть надо, в качестве кнопки
Тут нет кнопки. Я решил, что популярные dev boards это для слабаков и я в состоянии распаять ESP32 и прошить без этого. Пару лет назад удавалось, а сейчас не получается
Руслан
беглый гуглинг говорит гпио 0 на землю надо притянуть
Konstantin
Там из юзб только usb-uart мост. Короче оба базу читайте срочно что покупаете. А то S3, С3 кони лошади
Я отдаю себе отчёт, что я купил железку без девборды. Ещё две таких сидят в других небольших домашних проектах на соплях, а тут решил припаять нормально на хорошее посадочное место и нашла коса на камень
Руслан
https://docs.espressif.com/projects/esptool/en/latest/esp32/advanced-topics/boot-mode-selection.html
Konstantin
беглый гуглинг говорит гпио 0 на землю надо притянуть
Ну вот я это сделал, плата реагирует на это, но прошиваться отказывается
Konstantin
https://docs.espressif.com/projects/esptool/en/latest/esp32/advanced-topics/boot-mode-selection.html
Да, я здесь и проверил. Сейчас GPIO2 ещё проверю
Руслан
Ну вот я это сделал, плата реагирует на это, но прошиваться отказывается
а esptool не выделывается? помнится, мне приходилось с ним куралесить, потому что готовый с реп ругался
Руслан
сейчас не вспомнить, пол года назад настраивал
Konstantin
Пару лет назад не выделывался. Да и я по светодиодам на UARTе вижу, что он данные шлёт (пытается), а есп реально не отвечает
Konstantin
Ок, понял, UART либо не меняю в нужную форму, либо русифицирую ЮАРТом
Руслан
а есть разница в выхлопе, когда включен режим прошивки и когда обычный режим?
Konstantin
Есть
Konstantin
Когда GPIO0 -> GND, выхлопа нет вообще, в UART добавляется один поломанный символ и я думаю, что это просто реакция на передёргивание питания
Konstantin
https://docs.espressif.com/projects/esptool/en/latest/esp32/advanced-topics/boot-mode-selection.html#boot-log а вот тут утверждается, что должно быть подробное сообщение. У ESP8266 я вроде бы тоже помню, что в BOOT MODE она пишет об этом в порт
Руслан
с С3 еще возился при перепрошивке, какие-то параметры указывал, чего в тонни небыло (аналог ардуино иде)
Руслан
мне кажется, что только есптул копать надо
Руслан
плата жива, бут мод работает, пк все видит
Руслан
а, то есть сейчас нет сообщения, просто символ какой-то?
Konstantin
Да
Konstantin
Да, я здесь и проверил. Сейчас GPIO2 ещё проверю
Мультиметр говорит, что GPIO2 на нуле. Вроде согласуется тоже
Руслан
значит пока что не получается бут мод активировать
Руслан
может через резистор попробовать притянуть, а не на прямую?
ㅤ
Мультиметр говорит, что GPIO2 на нуле. Вроде согласуется тоже
Гпио0. Причем тут гпио2? Измеряет че то тайно в рандоме
Konstantin
Гпио0. Причем тут гпио2? Измеряет че то тайно в рандоме
Согласно документации GPIO2 должен быть не подключен ни к чему или притянут к низкому уровню для режима прошивки.
Konstantin
Его вообще можно. Не трогать
Ну вот я его и не трогаю
Konstantin
Проверил, что его состояние согласовано с документацией
Роман
Никто не делал обновление прошивки esp32 по mqtt ?