初學 ESP32-S3 攝像模組的開發

        ESP32-S3模組的核心是 XTensa 雙核的處理器,運行最高時脈為 240MHz。這個無線模組具備 WiFi 2.4G 無線網路,還有低功耗的藍芽 BLE。模組外觀如下圖一,晶片本身帶有兩組 USB 介面,其中一組是 USB_UART 通訊介面,另一組為 USB OTG。圖一的右邊 type-C USB 是 serial 通訊端口,用來接 Arduino IDE 或者 debug 之用,圖一的左邊 type-C USB 則是 OTG 之用。
圖一:攝像模組的外觀

        ESP32-S3 模組的硬體規格能從晶片命名來得知,我們從外觀圖知道這是 N16R8 編號,再根據技術文件的命名規則(下圖二),因此這顆模組帶有 Flash 16MB (Quad SPI) 以及 PSRAM 8MB (Octal SPI),這項資訊會用在稍後的 Arduino IDE 的環境設定。
圖二:晶片模組的命名規則

        依據上述的規格,開啟 Arduino IDE,在工具欄位底下設定相關的參數,如下圖三。開發板選擇"ESP32S3 Dev Module",然後記憶體分配的模式設為Huge APP,這樣才有足夠的空間存放攝像模組的APP程式碼。
圖三:Arduino IDE 的環境配置

        接下來,我們要驗證攝像模組是否能不能正常運作。因此,開啟範例選項,如下圖四,選擇 CameraWebServer 的參考範例。在範例的程式碼中,先要選擇這個模型,下面這段定義要被採用,編譯過程便會將模組對應的腳位啟用。最後,我們再填入無線網路的 ssid 與 password,並且檢驗編譯範例有沒有出現錯誤。

            #define CAMERA_MODEL_ESP32S3_EYE   // Has PSRAM

圖四:攝像模組的參考範例

        成功編譯後,再進行燒錄。在圖一的模組外觀,上面有兩顆小按鈕,左邊是 reset 鈕,右邊是 boot 鈕。燒錄前,我們必須先按住右邊的 boot 鈕,然後按一下左邊的 reset 鈕,這樣模組便會進入燒錄模式 (bootloader)。記得選擇正確的序列埠,程式碼就會透過 COM 埠上傳到模組裡,並自動重啟。最後,打開序列埠監看視窗,如下圖五所示,無線網路成功連線,我們在用瀏覽器連上訊息所列的網址。
圖五:序列埠的訊息

        下圖六是從瀏覽器看到攝像頭的參數配置,以及呈現即時影像。能夠走到這一步,代表 ESP32-S3 模組已經完成初階段了。
圖六:瀏覽器呈現攝像頭參數與即時影像

參考資料
[1] ESP32 Arduino 開發板管理員網址 https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_dev_index.json
[3] ESP32-S3 camera 模組教學 https://youtu.be/Skf4TUcNHio

留言

此網誌的熱門文章

[筆記] ESP32 在 VS Code 開發環境的編譯與除錯

[筆記] Raspberry Pi 樹莓派的軟體開發

[應用] 在 ESP32 Audio 開發板的 VoIP 範例

[應用] 藍芽 BLE client/server 架構:BLE remote controller

[筆記] Visual Studio 遠端偵錯的設定步驟

[筆記] Android APP BLE範例程式 -- BluetoothLeGatt

[模組] 4G 通訊模組的應用