之前都是8266相關的操作,這次我們正好手里有了塊ESP32的板子,而且帶了個攝像頭。提到ESP32,其實就是ESP8266的升級版,整體的CPU處理能力更強,不僅支持WIFI,同時還支持藍牙。由於我這塊板子本身還帶了個攝像頭,是ov2460型號的,所以今天我們來看看如何將其驅動起來並點亮。
搭建ESP32的開發環境
由於之前使用的Arduino IDE是esp8266的開發環境,不具備esp32的開發環境,所以這里我們需要按照如下步驟來搭建esp32的開發環境,步驟有些繁瑣,還是和我慢慢的來進行吧。
1.本地新建一個文件夾,比如我這里是E:\esp8266工具\deploy\32deploy
2.網頁打開https://dl.espressif.com/dl/package_esp32_index.json並將此json文件保存到步驟1中的文件夾中。
3.網頁打開百度網盤:https://pan.baidu.com/s/1GPwifqe_UvORb3OdAV42qQ 提取碼: r6pt 將下載的文件解壓到步驟1中的文件夾中。
4.將步驟1中的json文件中的這幾個文件的URL都變更為192.168.43.254,然后保存此json文件。 或者將3中解壓的文件拷貝到C:\Users\sscy\AppData\Local\Arduino15\staging\packages中,不同機器路徑不一樣,請斟酌更改。
這兩種方法,各取其一就行。
5.網頁打開https://www.rejetto.com/hfs/?f=dl,下載hsf.exe,用於搭建web文件服務器。
注意,如果你網絡連接外網通暢,就沒必要這么麻煩了,直接按照正常流程就行了。
備齊這些材料之后,然后我們打開hsf.exe,然后目錄指向步驟1中的目錄,服務器就搭建好了:
之后,打開arduino ide,將路徑填寫為我們文件服務器生成的路徑:
之后,在開發板管理選項中,輸入esp32,點擊安裝,由於咱們的文件都備齊了,所以這里免除了下載步驟,直接進行了安裝:
一切完畢后,可以看到ESP32的環境已經安裝好了。
程序設置
首先,選擇開發板,這里我們按照如圖設置進行選取:
之所以這里選擇Huge App是因為cam驅動需要2m多一點的空間,選擇這個選項,燒寫的時候,不會出錯。
然后,選擇好板子之后,我們開始加載程序,依次選擇文件->示例->ESP32->Camera->CameraWebServer,將例子加載好,加載好之后的內容如下:
這里需要記得,按照注釋的說明,將開頭處的定義更改為
#define CAMERA_MODEL_AI_THINKER
即可。
程序燒寫
燒寫程序,需要USB-TTL的工具,我這里有一個,是基於340G的,接線方式如下:
需要注意的是,在固件燒錄模式下,GPIO0口是一定要接GND的。
最后整體的接線圖如下,綠色線即為GPIO0口和GND口相連:
接好后,開始進行燒寫吧:
燒寫過程比較慢,需要慢慢的等燒寫完畢,燒寫完畢之后,按rst按鈕復位,從串口監視器中,我們可以看到如下輸出:
rst:0x1 (POWERON_RESET),boot:0x3 (DOWNLOAD_BOOT(UART0/UART1/SDIO_REI_REO_V2)) waiting for download
這輸出表明ESP32板子整體處在下載模式Ready的狀態,也就是Flash模式中,可以進行程序下載。
由於這里我們程序已經下載完畢了,所以可以解除Flash模式了,我們拔掉GPIO0口和GND口的那條綠色的線,然后按rst按鈕復位一下,此時可以看到如下輸出:
rst:0x1 (POWERON_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:1 load:0x3fff0018,len:4 load:0x3fff001c,len:1044 load:0x40078000,len:8896 load:0x40080400,len:5816 entry 0x400806ac ............. WiFi connected Starting web server on port: '80' Starting stream server on port: '81' Camera Ready! Use 'http://192.168.43.153' to connect
可以看到,我們的程序成功跑起來了,按照提示說明,我們打開鏈接看看:
可以看到攝像頭已經使能了,同時從串口監視器中可以看到有數據流傳輸了:
具體更多功能,留待大家探索就行了。
話后語
需要注意幾點:
1.燒寫的話,GPIO0一定要接GND,運行的時候,GPIO0和GND斷開。
2.USB-TTL燒寫,需要按照對應的針腳連接,340G的話,需要先裝好驅動。
3. 攝像頭運行的時候,必須要自己的手捏住板子背面插TF卡的鐵卡套,才能非常流暢的運行,松開手就運行的比較卡頓,也不知道為啥,難道是因為哪里接錯了嗎?
參考文章為:
https://blog.csdn.net/zhou1986jia/article/details/104763361/
https://randomnerdtutorials.com/esp32-cam-troubleshooting-guide/