https://randomnerdtutorials.com/esp32-cam-video-streaming-face-recognition-arduino-ide/



ESP32-CAM Pinout
下圖顯示了ESP32-CAM引腳排列(AI-Thinker模塊)。
有三個GND引腳和兩個引腳用於電源:3.3V或5V。
GPIO 1和GPIO 3是串行引腳。您需要這些引腳才能將代碼上傳到您的電路板。此外,GPIO 0也起着重要作用,因為它確定ESP32是否處於閃爍模式。當GPIO 0連接到GND時,ESP32處於閃爍模式。
以下引腳內部連接到microSD卡讀卡器:
- GPIO 14:CLK
- GPIO 15:CMD
- GPIO 2:數據0
- GPIO 4:數據1(也連接到板載LED)
- GPIO 12:數據2
- GPIO 13:數據3
視頻流服務器
按照以下步驟使用您可以在本地網絡上訪問的ESP32-CAM構建視頻流式Web服務器。
1.安裝ESP32插件
在本例中,我們使用Arduino IDE對ESP32-CAM板進行編程。因此,您需要安裝Arduino IDE以及ESP32插件。如果您還沒有安裝ESP32插件,請按照下一個教程之一進行操作:
2. CameraWebServer示例代碼
在Arduino IDE中,轉到文件 > 示例 > ESP32 > 相機,然后打開CameraWebServer示例。
應加載以下代碼。
如果在Arduino IDE中找不到代碼,可以從我們的GitHub存儲庫下載。下載后,解壓縮該文件夾,然后打開CameraWebServer.ino文件。
在上載代碼之前,您需要在以下變量中插入網絡憑據:
const char* ssid = "REPLACE_WITH_YOUR_SSID"; const char* password = "REPLACE_WITH_YOUR_PASSWORD";
然后,確保選擇正確的相機模塊。在這種情況下,我們使用AI-THINKER模型。
所以,評論所有其他模型並取消注釋:
#define CAMERA_MODEL_AI_THINKER
現在,代碼已准備好上傳到您的ESP32
ESP32-CAM上傳代碼
使用FTDI編程器將ESP32-CAM板連接到計算機。按照下一個原理圖:
重要提示: GPIO 0需要連接到GND,以便您能夠上傳代碼。
要上傳代碼,請執行以下步驟:
- 轉到工具 > 板,然后選擇ESP32 Wrover模塊
- 轉到工具 > 端口,然后選擇ESP32連接的COM端口
- 在工具 > 分區方案中,選擇“ 巨大的APP(3MB無OTA) ”
- 按下ESP32-CAM板載RESET按鈕
- 然后,單擊上傳按鈕以上載代碼。
重要提示:如果無法上傳代碼,請仔細檢查GPIO 0是否已連接到GND,並在“ 工具”菜單中選擇了正確的設置。您還應該按下板載重置按鈕以在閃爍模式下重新啟動ESP32。
獲取IP地址
上傳代碼后,斷開GPIO 0與GND的連接。
以波特率115200打開串行監視器。按ESP32-CAM板載復位按鈕。
ESP32 IP地址應打印在串行監視器中。
訪問視頻流服務器
現在,您可以在本地網絡上訪問您的相機流媒體服務器。打開瀏覽器並鍵入ESP32-CAM IP地址。按Start Streaming按鈕開始視頻流。
您還可以通過單擊“ 獲取靜止”按鈕來拍攝照片。不幸的是,此示例不保存照片,但您可以修改它以使用板載microSD卡存儲拍攝的照片。
您還可以使用多種相機設置來調整圖像設置。
最后,您可以進行人臉識別和檢測。

首先,您需要注冊一張新面孔。它將多次嘗試挽救面部。在注冊新用戶之后,它應該稍后檢測到面部(主題0)。

就是這樣。現在,您可以使用圖庫中的示例啟動並運行帶有面部檢測和識別功能的視頻流式Web服務器。
故障排除
如果您遇到以下任何錯誤,請閱讀我們的 ESP32-CAM故障排除指南:修復了最常見的問題
- 無法連接到ESP32:超時等待數據包標頭
- Camera init失敗,錯誤0x20001或類似
- 掉電探測器或古魯冥想錯誤
- 草圖太大錯誤 - 選擇了錯誤的分區方案
- COMX的主板不可用 - 未選擇COM端口
- Psram錯誤:未安裝GPIO isr服務
- 弱Wi-Fi信號
- Arduino IDE串行監視器中沒有IP地址
- 無法打開Web服務器
- 圖像滯后/顯示大量延遲
包起來
ESP32-CAM提供了一種廉價的方式來構建更先進的家庭自動化項目,包括視頻,拍照和人臉識別。
在本教程中,我們測試了CameraWebServer示例以測試攝像頭功能。現在,我們的想法是修改示例或編寫一個全新的代碼來構建其他項目。例如,在檢測到動作時拍照並將其保存到microSD卡,在家庭自動化平台(如Node-RED或Home Assistant)中集成視頻流等等。
我們希望您發現本教程很有用。如果你還沒有ESP32-CAM,你可以在這里抓住它。
如果您喜歡這個項目,您可能也喜歡其他有關相機的項目:
- ESP32-CAM視頻流Web服務器(與Home Assistant和Node-RED配合使用)
- 基於CCTV Raspberry Pi的系統,使用MotionEyeOS進行存儲
- 使用Raspberry Pi相機的視頻流
- 使用Raspberry Pi相機的節點RED(拍照)

