歡迎來到這趟專為想跨入物聯網(IoT)領域的朋友設計的全新實戰系列!在先前的 PySpark 大數據系列中,我們學會了如何處理海量的數據。但大數據的源頭在哪裡?在智慧城市與環境治理的場景中,最關鍵的數據往往來自於佈署在各個角落的「感測器」。
這系列我們將採用功能強大、內建 Wi-Fi 且價格親民的 ESP32 開發板,並搭配最友善的 MicroPython 程式語言,帶大家從零打造自己的 IoT 裝置。今天第一篇,我們要先搞定開發環境,並用板載 LED 的閃爍來跟硬體世界說聲 "Hello World"!
1. 觀念解析:什麼是 ESP32 與 MicroPython?
ESP32 是一款超高性價比的微控制器晶片,它最迷人的地方在於「原生內建 Wi-Fi 與藍牙」,這讓它成為物聯網專案的絕對首選。而 MicroPython 則是專為微控制器優化、精簡版的 Python 3。不需要學習複雜的 C/C++,只要用你熟悉的 Python 語法,就能輕鬆控制各種硬體!
2. 工具準備:下載 Thonny IDE
在開始之前,請先確保準備好以下兩樣硬體:ESP32 開發板以及一條可以傳輸數據的 Micro USB / Type-C 傳輸線。確認無誤後,即可進行電腦端工具與韌體的下載:
為了獲得最流暢的 MicroPython 開發體驗,建議下載專為微型裝置設計的 Thonny IDE:
- 前往 Thonny 官網,根據作業系統 (Windows/Mac) 下載並安裝。
- 前往 MicroPython 官方下載頁,下載最新穩定版 (v1.24+ ) 的
.bin韌體檔案。
3. 開始燒錄:讓 ESP32 具備 Python 魂
當硬體就緒、Thonny IDE 裝好後,我們必須把剛下載的 MicroPython 韌體(.bin 檔案)「燒錄」到 ESP32 晶片中,這樣開發板才能看懂 Python 指令。請依照以下步驟進行:
- 用 USB 傳輸線將 ESP32 連接至電腦。
- 開啟 Thonny IDE,點擊工具列的「執行 (Run)」➔「選擇直譯器 (Select interpreter)」。
- 在直譯器分頁中,選擇「MicroPython (ESP32)」,並指定連接的序列埠 (Port)。
- 點擊右下角的「Install or update MicroPython」進入燒錄選單。
- 點擊「Browse」選擇剛剛下載的
.bin韌體,並按下「Install」。過程中開發板的紅燈或藍燈會快速閃爍,約一分鐘後燒錄即完成!
💡 小技巧:如果 Thonny 顯示找不到 Port,通常代表電腦需要安裝 USB 轉串口晶片的驅動程式 (如 CP2102 或 CH340),大部分系統會自動下載,若無法辨識,可以到開發板購買頁面下載對應的驅動。
4. 基礎實作:撰寫你的第一支 GPIO 閃爍程式
當燒錄成功後,Thonny 畫面下方的 Shell (互動式命令列) 會出現 >>> 符號,這代表 ESP32 已經準備好接收我們的 Python 指令了!接下來,請在上方編輯器中,輸入這段 LED 閃爍的經典程式碼:
# 1. 載入硬體控制與時間控制函式庫
from machine import Pin
import time
# 2. 設定 GPIO 2 為輸出模式(多數 ESP32 內建藍色 LED 接在 GPIO 2)
# 如果你的開發板沒有反應,可能要查詢該板子的「內建 LED 腳位」
led = Pin(2, Pin.OUT)
print("開始讓 ESP32 的內建 LED 閃爍吧!")
# 3. 使用無限迴圈,不斷切換 LED 的狀態
while True:
led.value(1) # 1 代表高電位 (ON),點亮 LED
print("LED ON")
time.sleep(1) # 暫停 1 秒
led.value(0) # 0 代表低電位 (OFF),熄滅 LED
print("LED OFF")
time.sleep(1) # 暫停 1 秒
執行與存檔:點擊 Thonny 上的綠色「執行 (Run)」按鈕,系統會問你要將程式存在「這台電腦」還是「MicroPython 設備」。請選擇存於 MicroPython 設備,並命名為 main.py(main.py 是微控制器的預設開機執行檔名,這樣一來,未來只要接上行動電源或插座,它就會自動執行閃爍!)。
這時,你應該會看見 ESP32 開發板上那顆微小的藍色 LED,正以「亮一秒、滅一秒」的節奏規律閃爍。恭喜你!你已經正式和硬體世界接軌了!
5. 課後小結
從軟體世界跨入硬體開發,最難的一步就是環境的建置。今天我們成功讓 ESP32 跑起 MicroPython,並用簡單的 machine.Pin 控制了數位輸出。這是一個極為關鍵的起點。
不過,物聯網不能只是自己閃爍,它需要能感知周遭環境與使用者的意圖。在下一篇文章中,我們將為 ESP32 裝上「觸覺」,學習如何透過輸入與類比訊號(GPIO 基礎控制),讀取實體按鈕與進行漸進式調光 (PWM),讓你的裝置具備互動能力!

沒有留言:
張貼留言