准備工作
- 1 × ESP-EYE V2.1 開發板
- 1 × Micro USB B 電纜
- 1 × PC(Windows10)
簡介
ESP-EYE 是一款面向人臉識別和語音識別市場的開發板,搭載 ESP32 芯片、200 W 像素攝像頭、數字麥克風、8 MB PSRAM 和 4 MB Flash,可滿足各種 AI 應用開發需求。此外,該開發板還支持 Wi-Fi 圖像傳輸、Micro USB 調試和供電,可以實現語音喚醒、人臉檢測與識別等功能,可協助用戶開發高度集成的 AI 解決方案。
硬件組成
ESP-EYE 開發板的產品圖請見下方:
具體包括以下硬件組成:
-
3D_PIFA Antenna(3D_PIFA 天線)
3D PIFA 天線。用戶可通過選貼 R14/R15 電阻,選用 3D 天線(選貼 R15)或外接 IPEX 天線(選貼 R14)。
-
IPEX Connector(IPEX 連接器)
用於外接 IPEX 天線。用戶可通過選貼 R14/R15 電阻,選用 3D 天線(選貼 R15)或外接 IPEX 天線(選貼 R14)。
-
ESP32 Chip(ESP32 芯片)
集成 2.4 GHz Wi-Fi 和藍牙雙模的單芯片。
-
Crystal(晶振)
ESP32 的外部晶振時鍾源。
-
Flash & PSRAM
存儲芯片,用於儲存程序。
-
CP2102 USB-UART Chip(USB 轉 UART 芯片)
實現 USB 到 UART 的轉換功能。
-
USB Port(USB 供電接口)
為整個系統供電。
-
LDO Power Supply(LDO 供電芯片)
為 ESP32 芯片、攝像頭、LED 指示燈等部件提供各自所需的電壓。
-
Side Tactile Button(側面輕觸按鍵)
功能按鍵。
-
Top Tactile Button(正面輕觸按鍵)
用於 ESP32 的 RST(復位)、BOOT(下載),不建議設置他用。
-
LED 指示燈
紅燈和白燈各一個,可用於指示喚醒、聯網、人臉檢測、人臉錄入、人臉識別等不同過程中的狀態。
-
Camera(攝像頭)
實現檢測識別等功能。
-
Camera Connector(攝像頭連接器)
用於外接攝像頭模塊。
-
MIC(麥克風)
數字型麥克風,實現語音控制功能。
-
SPI Port(SPI 接口)
預留數據傳輸接口。
准備工作
設置工具鏈
快速設置的方法是從 dl.espressif.com 下載集成在一起的工具鏈和 MSYS2 壓縮文件:
https://dl.espressif.com/dl/esp32_win32_msys2_environment_and_toolchain-20180110.zip
將 zip 壓縮文件解壓到 C:\
(或其它路徑,這里假設是 C:\
),它會使用預先准備的環境創建一個 msys32
目錄。
檢出
運行 C:\msys32\mingw32.exe
打開一個 MSYS2 的終端窗口。該窗口的環境是一個 bash shell。創建一個 esp
目錄作為開發 ESP32 應用的默認地址。運行指令
mkdir -p ~/esp
輸入 cd ~/esp
就進入到新創建的目錄。如果沒有錯誤信息出現則表明此步驟已完成。
准備 Micro USB 線,連接 PC 和 ESP-EYE 開發板
打開windows10 設備管理器,找到 有感嘆號的 CP2102N USB to UART Bridge Controller的設備,說明他還沒有安裝驅動
官網地址:https://www.silabs.com/products/development-tools/software/usb-to-uart-bridge-vcp-drivers
打開上述鏈接,按照自己系統下載驅動,並解壓和安裝。
比如:win10 64位系統的下載后打開圖中的“CP210xVCPInstaller_x64.exe”,即可安裝成功。
軟件獲取
打開MSYS2 的終端窗口 ,將軟件代碼克隆到本地,我是使用windows的git clone,然后把目錄copy到c:\msys32\home\user\esp目錄下
git clone --recursive https://github.com/espressif/esp-who.git
執行以上命令會默認生成一個 esp-who
的文件夾。
設置路徑
在windows全局環境變量中, 將 IDF_PATH
設置為 esp-who/esp-idf
軟件燒寫
下面,我們以Windows 10 環境為例,介紹向 ESP-EYE 燒寫程序的過程:
- 首先將 ESP-EYE 接入 PC,接入即上電;
- 通過設備管理器 端口 查看開發板是否成功接入 PC。成功接入后將看到它的串口號信息: 默認為COM3
- 打開MSYS2 的終端窗口, 進入一個 example 工程文件中,例如
cd esp-who/examples/single_chip/recognition_solution
; - 執行
make defconfig
進行默認配置; - 執行
make menuconfig
,在Serial flasher config
中設置Default serial port
設備名稱(與第二步查看的設備名稱一致,默認為COM3),保存退出; - 執行一下命令 更新依賴 pacman -S mingw-w64-i686-python2-cryptography
- 執行一下命令 更新依賴 python2.7 -m pip install --user -r $IDF_PATH/requirements.txt
- 執行
make flash
,進行軟件燒寫。
完成燒寫
使用方法
ESP-EYE 開發板的工作流程如下圖所示:
1. 語音喚醒
開發板上電后,會進入“等待喚醒”狀態(紅燈常亮、白燈常滅),需要用戶通過語音進行喚醒。支持“Hi 樂鑫”喚醒,當用戶說出“Hi 樂鑫”的喚醒詞后,開發板喚醒並進入“等待聯網”狀態(紅燈閃爍,白燈常滅)。此時,用戶可進行聯網操作。
2. 連接網絡
用戶可通過 PC、手機等設備,連接 ESP-EYE 創建的 Wi-Fi 熱點。該熱點的默認信息如下:
- 用戶名:esp-eye-xxxx(xxxx 為設備 MAC 地址)
- 密碼:無需密碼
用戶也可通過如下方式,自行設置用戶名和密碼:
注:用戶重新設置 Wi-Fi 熱點的用戶名和密碼后,需要重新進行軟件燒錄。
3. 人臉檢測
聯網成功后,ESP-EYE 會進行“人臉檢測”。用戶可以打開瀏覽器,輸入地址 192.168.4.1/face_stream
,在網頁上即可看到實時圖像信息。此時,開發板紅燈熄滅、白燈常亮。
4. 人臉識別
當開發板檢測到人臉時,如已存在錄入的 Face ID,則開發板將進行“人臉識別”:
- “人臉識別”匹配成功 -- 開發板紅燈閃爍 1 次,網頁顯示 HELLO ID XXX
- “人臉識別”匹配失敗 -- 開發板無反應,網頁顯示 WHO?”
否則,開發板僅進行“人臉檢測”。此時,若用戶希望使用人臉識別功能,則請首先錄入至少一個 Face ID。
5. 人臉錄入與刪除
在聯網成功的前提下,可通過攝像頭采集人臉,錄入 Face ID。
5.1 錄入 Face ID
- 用戶單擊側面輕觸按鍵,可進入“錄入 Face ID”(紅燈常亮),網頁顯示: START ENROLLING;
- 用戶面對攝像頭,開始采集人像。每次成功一次采集,開發板將紅燈閃爍,網頁顯示對應的采集次數,比如 THE 1st SAMPLE 等。默認情況下,用戶每錄入一個 Face ID 需要采集 3 次人像(可配置)。在人像采集過程中,如果紅燈長時間未閃爍,建議用戶調整姿態和角度,然后再試;
- 人像采集完成后,開發板紅燈常滅,表明已完成錄入該 Face ID。此時,網頁顯示:ENROLLED FACE ID xxx;
- Face ID 錄入成功后,系統將返回“人臉檢測”。
目前,ESP-EYE 開發板默認可錄入 10 個 Face ID(可配置,具體與用戶的 flash 內存分配有關,但建議不要超過 30 個 Face ID)。
5.2 刪除 Face ID
- 用戶雙擊側面輕觸按鍵,進入“刪除 FACE ID”;
- 雙擊后,開發板白燈閃爍,系統將自動刪除系統中存在的最早一條 FACE ID,終端顯示:XXX ID(S) LEFT。
異常情況
當出現“網絡斷開”或“聯網超時”等異常情況時,開發板會回到“等待喚醒”狀態。