iT邦幫忙

2024 iThome 鐵人賽

DAY 8
0
Python

在AWS上進行物聯網與人工智慧實作系列 第 8

D08-使用 MicroPython 開發 ESP32-CAM - 使用圖形化工具 Thonny (Windows)

  • 分享至 

  • xImage
  •  

使用 MicroPython 開發 ESP32-CAM - 使用圖形化工具 Thonny (Windows)

目錄

硬體準備

硬體 數量
ESP32-CAM 模塊開發板 1
CH340 序列埠模塊(USB-TTL) 1
雙母頭杜邦線 4
跳線帽 1 個

建議模塊輸入電源為5V-2A,否則圖片會有可能出現水紋。

下表與下圖是說明ESP32-CAM 模塊開發板與 CH340 序列埠模塊進行執行模式時的接線情形。

ESP32-CAM CH340 序列埠模塊 說明
5V 5V 也可以3V3接3V3,需要調整 CH340 序列埠模塊的跳線
U0R TXD R是接收,T是傳送,需要一邊接一邊收
U0T RXD 3VR是接收,T是傳送,需要一邊接一邊收3
GND GND 地線

https://ithelp.ithome.com.tw/upload/images/20240815/20129510qMDheaVFrn.png
圖 1. ESP32-CAM 模塊開發板與 CH340 序列埠模塊進行執行模式的接線圖

下表與下圖是說明 ESP32-CAM 模塊開發板與 CH340 序列埠模塊進行下載模式時的接線情形。

ESP32-CAM CH340 序列埠模塊 說明
3V3 3V3 也可以5V接5V,需要調整 CH340 序列埠模塊的跳線
U0R TXD R是接收,T是傳送,需要一邊接一邊收
U0T RXD 3VR是接收,T是傳送,需要一邊接一邊收3
GND GND 地線
IO0 短路 GND   ESP32-CAM 進入下載模式

https://ithelp.ithome.com.tw/upload/images/20240815/20129510SVIXgnpvym.png
圖 2. ESP32-CAM 模塊開發板與 CH340 序列埠模塊進行下載模式的接線圖

實際圖示如下圖所示,供電 5V 並處於下載模式。

https://ithelp.ithome.com.tw/upload/images/20240815/201295103Nd4cQMhf9.jpg
圖 3. ESP32-CAM 模塊開發板供電 5V 並處於下載模式

軟體準備

ESP32-CAM 的官方開發環境為 Arduino Software IDE,它使用的是與 C 語言和 C++ 相仿的程式語言 Arduino C/C++ sketch,對於熟習 Python 的開發者而言,必須得為了使用 ESP32-CAM 又學習一套新程式語言,然而 MicroPython 是 Python 3 編程語言的一個完整軟體實現,用 C 語言編寫,被優化於運行在微控制器之上。MicroPython 是運行在微控制器硬體之上的 Python 編譯器,提供給用戶一個交互式提示符(Read-Evaluate-Print-Loop, 以下簡稱 REPL)來立即執行所支持的命令。除了包括選定的核心 Python 庫,MicroPython 還包括了給予開發者訪問低層硬體的模塊。

MicroPython 是澳大利亞程式員和物理學家 Damien George,在 2013 年一次眾籌活動之後創建的。當初的眾籌活動將 MicroPython 與基於 STM32 F4 的pyboard 開發板一起發行,因此 MicroPython 支持大量的基於 ARM 的體系結構,隨後 MicroPython 已經可以運行於 Arduino、ESP8266、ESP32 與大多數的物聯網硬體。在 2016 年,Python 軟體基金會創建了 MicroPython 的 BBC Micro Bit 版本,作為其 BBC Micro Bit 合作夥伴貢獻的一部分,授權條款 為 MIT 授權條款。

軟體列表:

  1. MicroPython for ESP32-CAM 燒錄檔:可至(github)下載,或是 MicroPython 的官網 (https://micropython.org/) 下載,只是官網的燒錄檔是針對 ESP32 而非 ESP32-CAM。
  2. esptool.py(可選非必需):一個針對樂鑫科技 Espressif 所開發出來的晶片提供燒錄開機軟體的開源軟體,以 Python 為基礎,可以用於樂鑫 ESP8285, ESP8266, ESP32, ESP32-S 等系列芯片和 ROM Bootloader (即:一級 bootloader )。
  3. Thonny for Windows:(Thonny),Python IDE,可進行 Python 程式設計,也可以直接將程式碼燒錄到 ESP32-CAM。
  4. CH340驅動程式(CH340 驅動程式),有些Windows環境比較舊,操作系統無法直接辨識 CH340 模塊,所以需要安裝這個 CH340 驅動程式,方可在 CH340 模塊透過 USB 序列埠連接到電腦時,讓電腦辨識到。安裝時記得先進行移除再安裝,這樣比較能確保驅動安裝成功。

ESP32-CAM 燒錄檔

進入 shariltumin/esp32-cam-micropython-2022 github倉庫,選擇最新的韌體 20230717,如下圖所示。

https://ithelp.ithome.com.tw/upload/images/20240815/20129510QJFPUAfYwc.png
圖 4. 選擇 firmwares-20230717

最後選擇的是 firmwares-20230717/ESP32/AI-Thinker-OV2640/WiFi-SSL 這個組態下的 firmware.bin

https://ithelp.ithome.com.tw/upload/images/20240815/20129510ucvNWXxxEx.png
圖 5. 選擇 firmwares-20230717

安裝 esptool.py

直接使用 pip 安裝即可。

pip3 install esptool

安裝 Thonny

Thonny 的官網 https://thonny.org/,根據自己的操作系統下載適合的版本

https://ithelp.ithome.com.tw/upload/images/20240815/20129510niNBbi6SWM.png
圖 6. 根據自己的操作系統下載適合的 Thonny 版本

以下為 Windows 的安裝流程,下載 Windows 版的安裝文件 thonny-4.0.2.exeg ,請注意本身的 Windows 與硬體的版本,下載適合自己軟硬體環境的版本,網站會推薦適合的版本 (recommended for you)。

https://ithelp.ithome.com.tw/upload/images/20240815/20129510gYTwY3bWSZ.jpg
圖 7. 下載 Windows 操作系統的 Thonny 版本

最好只安裝給自己使用,如下圖所示。

https://ithelp.ithome.com.tw/upload/images/20240815/20129510bFQ4QhQ6Nt.jpg
圖 8. 安裝給自己使用

勾選在桌面建立圖標,這樣避免到時候找不到應用程式。

https://ithelp.ithome.com.tw/upload/images/20240815/20129510WRQOt1fSEj.jpg
圖 9. 建立桌面圖標

第一次啓用時會進行簡單的設定,如下所示,操作畫面則是上方視窗編輯程式區,下方視窗為顯示結果或是進行程式互動區。
語言(Language): 繁體中文-TW
初始設定(Initial settings): Standard

https://ithelp.ithome.com.tw/upload/images/20240815/20129510VEmMyuVDUB.png
圖 10. Thonny 操作畫面

整合軟硬體開發環境

完成上面軟硬體準備後,先將 CH340 序列埠模塊插到電腦上,1. 是使用 Type C 連到電腦;2. 使用 USB 連接 CH340 序列埠模塊;3. ESP32-CAM 設定在下載模式,如下圖所示。

https://ithelp.ithome.com.tw/upload/images/20240815/20129510sK63rPAuak.png
圖 11. 將 ESP32-CAM 連接到電腦

使用 Thonny 設定直釋器
打開 Thonny IDE,在點擊畫面狀態列的右下角,選擇運行->設定直釋器

https://ithelp.ithome.com.tw/upload/images/20240815/20129510Hj63anVwtY.png
圖 12. 在 Thonny IDE 中選擇運行->設定直釋器

在 Windows 作業系統中,連接埠選項會自動偵測到已經插入的 CH340 序列埠模塊,所以會顯示 USB-SERIAL CH340 (COMX)

  • 直釋器: MicroPython(ESP32)
  • 連接埠或 WebREPL: USB-SERIAL CH340 (COM3)

最後點擊 安裝或更新 MicroPython

https://ithelp.ithome.com.tw/upload/images/20240815/20129510kDWO0a9v8A.png
圖 13. 設定直釋器到 ESP32-CAM

使用 Thonny 燒錄韌體
安裝並更新 MicroPython,指定連接埠(Port)跟燒錄檔韌體(Firmware)

  1. 連接埠(Target Port): USB-SERIAL CH340 (COM3)
    勾選先刪除後安裝 (Erase flash before installing)
  2. 選擇從本地安裝,要選安裝按鈕左邊的選單,會出現一個選單,選第一個 Select local MicroPython image ... 在本機找到從 github 所下載的 ESP32-CAM 的韌體檔案 esp32-cam-micropython-firmwares-20230717.bin
  3. 會根據本地檔案自動顯示,請勿自行操作

接著點擊安裝

https://ithelp.ithome.com.tw/upload/images/20240815/20129510LMQjoIplzD.png
圖 14. 安裝並更新 MicroPython

點擊安裝後要注意是否正常運作,正常運作畫面如下。

https://ithelp.ithome.com.tw/upload/images/20240815/201295104OboHfecIw.png
圖 15. 安裝並更新 MicroPython 運行畫面

進入 Thonny 畫面
燒錄完畢後就可以點擊關閉,回到主畫面,回彈出錯誤信息。主要是因為目前是下載模式並非執行模式,所以記得

  • 將 ESP32-CAM 的跳線帽移除,請參考圖 1。
  • 當移除後的跳線帽並按下 reset 鍵重啓 ESP32-CAM後,就會出現 Thonny 成功連接到 ESP32-CAM 中的 MicroPython 調適畫面,如下所示。
  1. 韌體的日期為2023-07-11
  2. 確認連結埠是正確的

https://ithelp.ithome.com.tw/upload/images/20240815/20129510jR1keqTvFg.png
圖 16. Thonny 連接 ESP32 成功的主畫面

參考資料


上一篇
D07-ESP32-CAM 簡介
下一篇
D09-使用 MicroPython 檔案存取 - io
系列文
在AWS上進行物聯網與人工智慧實作30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言