最近閒著沒事,準備入手學習一波ESP32-CAM。主要學習資料就是國外大佬的學習網站。
當然,這是全英文的資料,博哥也覺得寫得非常好,所以儘量去翻譯過來,方便初學者學習。廢話不多說,直接上手。
這個ESP32-CAM是一個搭載ESP32-S晶片的小型攝像頭模組(目前大多數是搭載OV2640攝像頭)。除了OV2640攝像頭和幾個連線外設的GPIO外,它還具有一個microSD卡插槽,可用於儲存相機拍攝的影象或儲存檔案以供使用者端使用。
目前市面上的ESP32-CAM沒有搭載USB聯結器,所以一般開發者都是通過USB-TTL線以及連線模組的串列埠去下載韌體程式碼。
Support OV2640 and OV7670 cameras, built-in flash lamp
因為本身就是基於ESP32進行開發,所以支援絕大部分的ESP特性,剩下就是看記憶體空間以及特定特性(比如攝像頭等等)
GND
引腳VCC
引腳,包括5V
和3.3V
GPIO1
(U0TXD)和GPIO3
(U0RXD)屬於串列埠引腳,通過這兩個引腳來下載韌體程式碼。GPIO16
作為U2RXD,只是一個接收引腳GPIO0
決定了ESP32是處於燒錄(FlashingModel
)模式還是執行(RunningModel
)模式。當GPIO0接地,ESP32處於燒錄模式。當然,如果你不需要用到SD卡,那麼這些引腳都可以作為普通引腳使用。
工具->開發板
,選擇 ESP32 Wrover Module
① 修改Wifi賬號和密碼
const char*ssid
= 「REPLACE_WITH_YOUR_SSID」;
const char*password
= 「REPLACE_WITH_YOUR_PASSWORD」;
②修改模組宏定義
// Select camera model
//#define CAMERA_MODEL_WROVER_KIT
//#define CAMERA_MODEL_ESP_EYE
//#define CAMERA_MODEL_M5STACK_PSRAM
//#define CAMERA_MODEL_M5STACK_WIDE
#defineCAMERA_MODEL_AI_THINKER
這時候如果直接編譯會提示記憶體空間不足
,還需要修改編譯選項(主要是關注Partition Scheme
)。
基本上,到這一步都能編譯成功。
當然,別問我哪裡可以買到ESP32-CAM。。。。
網上很多貼文都是用3.3V,但是博主試過3.3V基本上沒有成功過,而是直接使用5V
。
Many FTDI programmers have a jumper that allows you to select 3.3V or 5V. Make sure the jumper is in the right place to select 5V. (檔案也推薦用5V,所以當一直處於Connecting狀態的時候,試試5V吧)
正常來說,需要花點時間下載,靜靜泡壺茶等待吧。
下載完畢之後,記得把GPIO0斷開GND
,然後按一下RST,進入工作執行模式。
開啟串列埠偵錯程式。波特率 115200
會看到有一個IP地址,我們會通過這個IP地址去存取ESP32的webServer
這裡面有一大堆的按鈕操作,同學們慢慢一個個試試玩玩看看效果。
https://randomnerdtutorials.com/esp32-cam-troubleshooting-guide/
遇到奇奇怪怪的問題都可以去這裡看看,是一個寶庫。
這裡博主挑幾個常見的問題翻一下。
這個錯誤意味著ESP32-CAM並不是處於燒錄模式,或者沒有正確連線到USB下載器(比如RX TX接反了,或者接觸不良。。。)
解決思路:
① 接5V電源
② GPIO0必須接地
③ 確保連線正常
④ 選擇正確的Com口
⑤ USB下載器一般用CP2102
就是說你的編譯選項不對。習慣性選擇:
go to Tools > Partition Scheme, select 「
Huge APP (3MB No OTA
)「.