項目(二) esp32-cam 網頁圖像人臉

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

ESP32-CAM Pinout

下圖顯示了ESP32-CAM引腳排列(AI-Thinker模塊)。linux

有三個GND引腳和兩個引腳用於電源:3.3V5Vgit

GPIO 1GPIO 3是串行引腳。您須要這些引腳才能將代碼上傳到您的電路板。此外,GPIO 0也起着重要做用,由於它肯定ESP32是否處於閃爍模式。GPIO 0鏈接到GND時,ESP32處於閃爍模式。github

如下引腳內部鏈接到microSD卡讀卡器:web

  • 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插件,請按照下一個教程之一進行操做:windows

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,以便您可以上傳代碼。

要上傳代碼,請執行如下步驟:

  1. 轉到工具 > 板,而後選擇ESP32 Wrover模塊
  2. 轉到工具 > 端口,而後選擇ESP32鏈接的COM端口
  3. 工具 > 分區方案中,選擇「 巨大的APP(3MB無OTA) 」
  4. 按下ESP32-CAM板載RESET按鈕
  5. 而後,單擊上傳按鈕以上載代碼。

重要提示:若是沒法上傳代碼,請仔細檢查GPIO 0是否已鏈接到GND,並在「 工具」菜單中選擇了正確的設置您還應該按下板載重置按鈕以在閃爍模式下從新啓動ESP32。

獲取IP地址

上傳代碼後,斷開GPIO 0GND的鏈接

以波特率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,你能夠在這裏抓住它

若是您喜歡這個項目,您可能也喜歡其餘有關相機的項目:

相關文章
相關標籤/搜索