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

Не удается подружить micropython и esp32 cam

inemig

New member
Всем привет! В электронике я нуб, заказал из любопытства esp32 cam с али, чтобы поиграться. Вот такую плату (парочку) и дев-плату под нее: https://aliexpress.ru/item/1005002932297533.html

esptool flash_id показывают следующее:
Код:
#1
Chip is ESP32-D0WD-V3 (revision v3.1)
Features: WiFi, BT, Dual Core, 240MHz, VRef calibration in efuse, Coding Scheme None
Crystal is 40MHz
MAC: c8:2e:18:26:43:d4
Uploading stub...
Running stub...
Stub running...
Manufacturer: 5e
Device: 4016
Detected flash size: 4MB
Hard resetting via RTS pin...

#2
Chip is ESP32-D0WD-V3 (revision v3.1)
Features: WiFi, BT, Dual Core, 240MHz, VRef calibration in efuse, Coding Scheme None
Crystal is 40MHz
MAC: a0:a3:b3:30:72:c8
Uploading stub...
Running stub...
Stub running...
Manufacturer: 85
Device: 2016
Detected flash size: 4MB
Hard resetting via RTS pin...
Пытаюсь прошить в нее micropython. Шил прошивки отсюда, отсюда и отсюда. А также брал прошивки с оффсайта.
Шил так:
Код:
esptool.py --chip esp32 --port /dev/ttyUSB0 erase_flash
esptool.py --chip esp32 --port /dev/ttyUSB0 write_flash -z 0x1000 ...
И не растет у меня кокос: при подключении через putty плата выдает крякозябры и висит, при попытке подключиться через thonny пишет device is busy.
Так как я нуб в этом, я застрял :(. Что я делаю не так? :(. Или если это битые платы китайские, как это можно проверить?
 

fps

Active member
Я шил вот это - micropython_v1.21.0_camera_no_ble.bin Работало нормально.
Что значит "крякозябры"? Настройте скорость порта 115200.

Или если это битые платы китайские, как это можно проверить?
Прошейте стандартный микропитон. Камера и spi-ram доступны не будут, но работать должно.
 

inemig

New member

pvvx

Активный участник сообщества
Возможно не хватает тока от USB компа. У USB компов ограничение в 500 мА, а ESP32 при старте берет больше. В режиме прошивки значительно меньше.
Если в мамке компа стоит правильная микросхема ограничения тока, тогда ESP32 не запустится на максимальных частотах. А тут ещё камера...
Если мамка дешевка - может запуститься, т.к. там ограничения тока USB выполнено халтурно.
 

inemig

New member
Пример из этой статьи норм прошился и отработал

Прошивка:
Код:
1348  mkdir -p ~/esp
 1349  cd ~/esp
 1350  git clone -b v5.2.1 --recursive https://github.com/espressif/esp-idf.git
 1351  cd ~/esp/esp-idf
 1352  ./install.sh esp32,esp32s2
 1353  . ./export.sh
 1354  tree
 1355  ls -l
 1356  cd examples/
 1357  ls -l
 1358  cd get-started/
 1359  ls -l
 1360  cd hello_world/
 1361  idf.py set-target esp32
 1362  history | grep erase
 1363  esptool.py --chip esp32 --port /dev/ttyUSB0 erase_flash
 1364  idf.py build
 1365  idf.py -p /dev/ttyUSB0 flash
 1366  idf.py -p /dev/ttyUSB0 monitor
Вывод:
Bash:
ets Jul 29 2019 12:21:46

rst:0xc (SW_CPU_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:2
load:0x3fff0030,len:7172
load:0x40078000,len:15540
load:0x40080400,len:4
0x40080400: _init at ??:?

ho 8 tail 4 room 4
load:0x40080404,len:3904
entry 0x40080640
I (31) boot: ESP-IDF v5.2.1 2nd stage bootloader
I (31) boot: compile time Apr 27 2024 22:05:45
I (31) boot: Multicore bootloader
I (35) boot: chip revision: v3.1
I (39) boot.esp32: SPI Speed      : 40MHz
I (44) boot.esp32: SPI Mode       : DIO
I (48) boot.esp32: SPI Flash Size : 2MB
I (53) boot: Enabling RNG early entropy source...
I (58) boot: Partition Table:
I (62) boot: ## Label            Usage          Type ST Offset   Length
I (69) boot:  0 nvs              WiFi data        01 02 00009000 00006000
I (76) boot:  1 phy_init         RF data          01 01 0000f000 00001000
I (84) boot:  2 factory          factory app      00 00 00010000 00100000
I (91) boot: End of partition table
I (96) esp_image: segment 0: paddr=00010020 vaddr=3f400020 size=095e4h ( 38372) map
I (117) esp_image: segment 1: paddr=0001960c vaddr=3ffb0000 size=0220ch (  8716) load
I (121) esp_image: segment 2: paddr=0001b820 vaddr=40080000 size=047f8h ( 18424) load
I (130) esp_image: segment 3: paddr=00020020 vaddr=400d0020 size=135c8h ( 79304) map
I (159) esp_image: segment 4: paddr=000335f0 vaddr=400847f8 size=07f58h ( 32600) load
I (178) boot: Loaded app from partition at offset 0x10000
I (178) boot: Disabling RNG early entropy source...
I (190) cpu_start: Multicore app
I (198) cpu_start: Pro cpu start user code
I (198) cpu_start: cpu freq: 160000000 Hz
I (199) cpu_start: Application information:
I (202) cpu_start: Project name:     hello_world
I (207) cpu_start: App version:      v5.2.1
I (212) cpu_start: Compile time:     Apr 27 2024 22:05:34
I (218) cpu_start: ELF file SHA256:  b3badee8f...
I (223) cpu_start: ESP-IDF:          v5.2.1
I (228) cpu_start: Min chip rev:     v0.0
I (233) cpu_start: Max chip rev:     v3.99
I (238) cpu_start: Chip rev:         v3.1
I (243) heap_init: Initializing. RAM available for dynamic allocation:
I (250) heap_init: At 3FFAE6E0 len 00001920 (6 KiB): DRAM
I (256) heap_init: At 3FFB2AD0 len 0002D530 (181 KiB): DRAM
I (262) heap_init: At 3FFE0440 len 00003AE0 (14 KiB): D/IRAM
I (268) heap_init: At 3FFE4350 len 0001BCB0 (111 KiB): D/IRAM
I (275) heap_init: At 4008C750 len 000138B0 (78 KiB): IRAM
I (282) spi_flash: detected chip: generic
I (285) spi_flash: flash io: dio
W (289) spi_flash: Detected size(4096k) larger than the size in the binary image header(2048k). Using the size in the binary image header.
I (303) main_task: Started on CPU0
I (313) main_task: Calling app_main()
Hello world!
This is esp32 chip with 2 CPU core(s), WiFi/BTBLE, silicon revision v3.1, 2MB external flash
Minimum free heap size: 300876 bytes
Restarting in 10 seconds...
Restarting in 9 seconds...
Restarting in 8 seconds...
Restarting in 7 seconds...
Restarting in 6 seconds...
Restarting in 5 seconds...
Restarting in 4 seconds...
Restarting in 3 seconds...
Restarting in 2 seconds...
Restarting in 1 seconds...
Restarting in 0 seconds...
Restarting now.
 

inemig

New member
Результат аналогичный, за исключением, что выдало варнинг при прошивке: Warning: Image file at 0x1000 doesn't look like an image file, so not changing any flash settings.
Cмущает разница с этой строчкой
Код:
rst:0xc (SW_CPU_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
И разница
Код:
I (48) boot.esp32: SPI Flash Size : 2MB
Код:
Detected flash size: 4MB
 
Сверху Снизу