close

我的ESP32實做書籍:https://youyouyou.pixnet.net/blog/post/121105860
博客來網址:https://www.books.com.tw/products/0010901195


ESP32-CAM是一個ESP32基礎的開發版,除了ESP32本身內建WIFI及藍芽BLE之外,再加上OV2640兩百萬畫素相機模組、TF卡、閃光燈模組,所組成的開發版。

送你這麼多東西,價格卻想像不到的便宜。露天賣場:https://goods.ruten.com.tw/item/show?21910115309507

以下為ESP32-CAM外觀及規格。

另外還需要準備一個USB TTL工具,我是採用CH340 (HW-597)模組,露天賣場:https://goods.ruten.com.tw/item/show?21618647811364

如果你用的是另一款 Prolific USB-to-Serial TTL ,請參考這篇的驅動安裝: https://youyouyou.pixnet.net/blog/post/119643042

以下說明ESP32-CAM video stream server的步驟

一、安裝Arduino IDE
二、安裝USB TTL及驅動程式
三、連接USBTTL及ESP32-CAM
四、修改範例程式
五、ESP32-CAM stream 效能評估:包括stream效能以及臉部辨識效能評估


一、安裝Arduino IDE

1.首先至下載arduino IDE

至原廠網站下載最新開發套件ESP32-CAM需要最新的核心程式,建議下載1.8.8最新版(update 20210327 最新版為1.8.13),此外我建議使用zip file選項,解壓縮即可使用,不需要安裝,未來電腦更新或升級也可以直接開啟,甚至放在USB都可以使用。

下載後,直接解壓縮到C:D:底下都可以使用,建議不要使用中文目錄。

2. 安裝ESP32開發版套件

開啟Arduino IDE後,選擇file/preferences,出現preferences視窗,在addition boards manager URL輸入以下文字後,按OK。
https://dl.espressif.com/dl/package_esp32_index.json

接下來到Tools,選擇Board,並在右側開啟開發版管理員

在開發版管理員中輸入ESP32,找到ESP32套件後,點選install安裝。
這裡說明一下,有許多人反應安裝1.0.6套件,無法進行臉部辨識,因此只能先建議安裝1.0.4版本。
(下圖是舊版,請選擇1.0.4較為正常)

下載並安裝完畢後,點選close

最後點選Tools/Board,在右側往下拉,就可以找到ESP32系列的板子,其中這次ESP32-CAM是使用ESP32 Wrover Module

選擇後,ESP32-CAM開發版的屬性則多了以下幾個,大部分都不用更動,除了Port最後安裝完驅動程式後在選擇即可。


二、 安裝USB TTL及驅動程式

將USB接在電腦上,並安裝驅動程式,不同類型USB有不同驅動程式,請自行下載安裝。


安裝完畢後,可在電腦的裝置管理員中查看到com port的數字,本例為COM31。

Arduino IDE中指定COM PORT的編號。


三、 連接USBTTLESP32-CAM

找一個麵包版,將ESP32-CAM與USBTTL連接,其連線方式參考圖。圖中綠線IO0<->GND則是在燒錄時才插上,平常保持斷開。


四、 修改範例程式

上圖安裝完成後,就可以載入範例video stream server的範例程式
在範例程式中選擇ESP32/Camera/CameraWebSerser

將第10行//#define CAMERA_MODEL_WROVER_KIT註解起來,
將第12行#define CAMERA_MODEL_AI_THINKER的註解刪除,如下圖,並在14,15行修改你的WIFI設定

由於這個程式包含stream server及臉部辨識,因此檔案較大,將燒錄區域改成Huge APP(3MB No OTA)

上傳步驟

  1. 開啟序列通訊,要查看訊息用

  2.拿一條母母線對接IO0+GND後,按RST,此時會進入下載模式,序列通訊會跳出以下視窗
     waiting for download

image

  3. 在Arduino IDE上按上傳按鈕,等候上傳

  4. 上傳完畢後,Arduino IDE下方的訊息欄會出現 Hard restting by RTS pin

image

  5. 再按一次RST

  6. 就可以觀察esp32cam的執行狀態了

另外注意,ESP32用電量較高,因此如果出現brownout的錯誤時,代表請給予較好的線材或者USB接口(建議USB3.0
另外解決的方案可以強制關閉電流偵測,參考:https://youyouyou.pixnet.net/blog/post/120729180


五、 ESP32-CAM stream 效能評估

一旦連上線之後,就會顯示ESP32拿到的IP位置,本例為192.168.1.133

輸入在瀏覽器內,即可獲得ESP32所建立的stream server畫面

接下來只要按下Start Stream就可以獲得串流,按Get Still就獲得照片

1. 320x240效能評估

由於每個人的環境不太相同(WIFI、電力的穩定),這裡的效能評估只作為參考,根據Serial提供的報表,在320x240的時候,約在20-30fps之間

我覺得這樣的效果非常好,一般影像辨識不須太大的影像,而傳輸速度也非常好

2. 640x480效能評估

根據Serial提供的報表,在640x480的時候,約在10-20fps之間

3.1024x768效能評估

根據Serial提供的報表,在1024x768的時候,約在3-10fps之間

4. 1280x1024效能評估

根據Serial提供的報表,在1280x1024的時候,約在落在5fps以下 .

5. 臉部偵測與驗證功能

臉部辨識,打開下方的Face Detection,就可以開啟臉部偵測的功能,一旦偵測到臉部,就會以黃色框框。至於他的效能就有點 。

如果你想要作到,看到臉就開啟門,或者打開蜂鳴器等功能,可以在app_httpd.cpp頁簽中找到副程式static void draw_face_boxes,你可以把需要的功能自己加到裡面。

6. 臉部驗證

我看程式裡面說可以存到七張臉,就可以做臉部驗證開門,這部份就有賴其他網友幫忙測試 。

arrow
arrow

    夜市 小霸王 發表在 痞客邦 留言(23) 人氣()