本文是ESP32-CAM開發板的快速入門指南。我們將向您展示如何使用Arduino IDE在不到5分鐘的時間內設置具有面部識別和檢測功能的視頻流Web服務器。
注意:在本教程中,我們使用arduino-esp32庫中的示例。
所需部件
要遵循本教程,您需要以下組件:
介紹ESP32-CAM
該ESP32-CAM是一個非常小的相機模塊,除了OV2640相機和幾個用於連接外圍設備的GPIO外,它還具有microSD卡插槽,可用於存儲相機拍攝的圖像或存儲要提供給客戶端的文件。
該ESP32-CAM沒有配備USB接口,所以你需要一個USB轉串口模塊上傳代碼。
特徵
以下是ESP32-CAM功能的清單:
· 最小的802.11b / g / n Wi-Fi BT SoC模塊
· 低功耗32位CPU,也可以為應用處理器服務
· 時鐘速度高達160MHz,彙總計算能力高達600 DMIPS
· 內置520 KB SRAM,外部4MPSRAM
· 支持UART / SPI / I2C / PWM / ADC / DAC
· 支持OV2640和OV7670相機,內置閃光燈
· 支持圖片WiFI上傳
· 支持TF卡
· 支持多種睡眠模式
· 嵌入式Lwip和FreeRTOS
· 支持STA / AP / STA + AP操作模式
· 支持Smart Config / AirKiss技術
· 支持串行端口本地和遠程固件升級(FOTA)
ESP32-CAM引腳排列
有三個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附加組件。
2. CameraWebServer示例代碼
在您的Arduino IDE中,轉到文件 > 示例 > ESP32 > 相機並打開CameraWebServer示例。
應加載以下代碼。
在上傳代碼之前,您需要在以下變量中插入用戶名和密碼:
const char* ssid = "REPLACE_WITH_YOUR_SSID";
const char* password = "REPLACE_WITH_YOUR_PASSWORD";
然後,確保選擇正確的相機模塊。在這種情況下,我們使用的是AI-THINKER模型。
因此,請註釋所有其他模型,並取消註釋該模型:
#define CAMERA_MODEL_AI_THINKER
現在,代碼準備好上傳到您的ESP32
ESP32-CAM上傳代碼
使用USB轉串口模塊將ESP32-CAM板連接到計算機。請遵循下一個原理圖:
重要提示: GPIO 0需要連接到GND,以便能夠上傳代碼。
要上傳代碼,請按照以下步驟操作:
1. 轉到工具 > 主板,然後選擇ESP32 Wrover Module
2. 轉到工具 > 端口,然後選擇ESP32連接到的COM端口
3. 在" 工具" >" 分區方案"中,選擇" 巨大的APP(3MB否OTA) "
4. 按下ESP32-CAM板載RESET按鈕
5. 然後,點擊上傳按鈕上傳代碼
重要提示:如果無法上傳代碼,請仔細檢查GPIO 0是否已連接到GND,以及是否在" 工具"菜單中選擇了正確的設置。您還應該按板上的Reset(重置)按鈕以閃爍模式重啟ESP32。
獲取IP地址
上載代碼後,將GPIO 0與GND斷開。
以115200的波特率打開串口監視器。按ESP32-CAM板上覆位按鈕。
ESP32 IP地址應在串行監視器中打印。
訪問視頻流服務器
現在,您可以訪問本地網絡上的相機流服務器。打開瀏覽器,輸入ESP32-CAM IP地址。按下開始流媒體按鈕以開始視頻流媒體。
您還可以通過單擊" 獲取靜止圖像"按鈕選擇拍照。不幸的是,此示例未保存照片,但是您可以對其進行修改以使用板載microSD卡存儲捕獲的照片。
您還可以使用幾種相機設置來調整圖像設置。
最後,您可以進行面部識別和檢測。
首先,您需要註冊一張新面孔。它將進行幾次嘗試來挽救臉孔。在註冊新用戶之後,它應該稍後再檢測人臉(主題0)。
就是這樣。現在,您可以通過庫中的示例啟動並運行視頻流Web服務器,並進行人臉檢測和識別。
故障說明
· 無法連接到ESP32:超時等待報文頭
· 相機初始化失敗,錯誤0x20001或類似錯誤
· 掉電檢測器或Guru冥想錯誤
· 程序太大錯誤–選擇了錯誤的分區方案
· COMX上的板不可用–未選擇COM端口
· Psram錯誤:未安裝GPIO isr服務
· Wi-Fi信號弱
· Arduino IDE串行監視器中沒有IP地址
· 無法打開網絡服務器
· 圖像滯後/顯示大量延遲
寫在最後
ESP32-CAM提供了一種廉價的方法來構建更高級的家庭自動化項目,這些項目具有視頻,拍照和人臉識別功能。
在本教程中,我們已經測試了CameraWebServer示例,以測試攝像機的功能。
閱讀更多 工控電子愛好者 的文章