前言
當我們提及物聯網(IoT, Internet of Things)開發,可能首先想到的是Arduino或是ESP8266這樣的微控制器開發板。然而,Raspberry Pi的微控制器開發板——Raspberry Pi Pico W,也是一個很好的選擇。
本文將介紹如何使用Raspberry Pi Pico W和MicroPython,並用Thonny IDE的平台來撰寫程式。
撰寫/攝影 | 許鈺莨 (ChatGPT協作編輯) | ||
時間 | 2小時 | 材料表 | |
難度 | 2(滿分5) |
本文
Raspberry Pi Pico W簡介
Raspberry Pi Pico W是由Raspberry Pi基金會出品的微控制器開發板。它配備了一個RP2040微控制器,有264KB的內部RAM,並且支援MicroPython程式語言,這讓我們可以更方便地開發物聯網應用。
使用上和Raspberry Pi Pico沒有多大差別,只是Raspberry Pi Pico W 還 支援Wi-Fi 802.11n無線網路和藍牙,更多Raspberry Pi Pico相關介紹連結如下:
● Raspberry Pi Pico family
● Raspberry Pi Pico介紹(含使用Arduino IDE和擴充板教學)
MicroPython簡介
MicroPython是一種針對微控制器和受限環境設計的 Python 3 程式語言編譯器和執行環境。這種程式語言實現了Python 3的大部分語法和特性,並對於開發板所需的低功耗和即時回應有進一步最佳化。MicroPython提供了豐富的API,可以直接控制微控制器的GPIO、I2C、SPI等各種硬體資源。
Thonny IDE簡介
Thonny是一個專為Python初學者設計的整合式開發環境(IDE)。它的介界面簡單,功能強大,對於學習Python語言非常有幫助。而且,Thonny IDE 也支援 MicroPython,我們可以直接在Thonny IDE中編寫MicroPython 程式,並上傳到Raspberry Pi Pico W上執行。
請由 Thonny 官方網站下載 Thonny IDE,本文將使用 portable 免安裝版。
電路接線圖
本次專案分享如何透過Thonny IDE來撰寫MicroPython程式,並使用PMS5003粉塵感測器取得數值和經由Raspberry Pi Pico W的Wi-Fi功能取得目前台灣時間,並顯示在OLED中。
以下介紹Raspberry Pi Pico W、Raspberry Pi Pico W擴充板、OLED、PMS5003接線圖。
Raspberry Pi Pico與擴充板接法(擴充板可相容於Raspberry Pi Pico W):
https://cavedu.gitbook.io/cavedu/raspberry_pi_pico_info/pico_breakout
接下來是使用Thonny IDE來撰寫,由於筆者使用的是Micropython 來撰寫物聯網相關應用,需要用到 pico 的Wi-Fi 功能,所以需要下載 Raspberry Pi Pico W 的最新韌體檔,請到樹莓派基金會網站下載。除非有更新版本的韌體,否則更新只要一次即可。
如何上傳Raspberry Pi Pico W的 uf2 韌體檔
按住 Raspberry Pi Pico W 的 BOOTSET 按鈕時,插上USB 傳輸線連接到電腦。
Raspberry Pi Pico W 會被電腦辨識為一個磁碟,將 uf2 韌體檔拖放到其中就會自動更新韌體。
Raspberry Pi Pico W連接Thonny IDE
● 將Thonny IDE下載至電腦,並解壓縮後開啟,請選擇 執行>設定直譯器
● 選Micro Python (RP2040)
● 連接埠選擇USB序列裝置(COM X)
[註] COM號要記住,後續上傳程式需要正確指定 COM 號,概念如同 Aduino IDE
● 確認是否抓到 Raspberry Pi Pico W
檢查 Thonny IDE 下方的 互動環境(Shell),如果沒有紅字錯誤訊息即可上傳程式,這時候還沒寫,繼續看下去吧。
匯入OLED函式庫至 Raspberry Pi Pico W
本專案需要透過 OLED 顯示模組來顯示數值,故需要先匯入OLED 函式庫
1. 下載 OLED 函式庫,檔名ssd1306.py 到您的電腦
2. 在 Thonny IDE 中安裝套件
我們可由 Thonny IDE 呼叫系統命令列來安裝 python 套件,請由工具 –> 開啟系統命令列
開啟系統命令列,如下圖
3. 安裝 adafruit-ampy 套件
為了順利執行程式,我們需要安裝 adafruit-ampy 套件,用於透過序列埠與 CircuitPython 或 MicroPython 開發板互動,安裝方式就是一般的 pip 指令,相當簡單:
4. 匯入OLED函式庫到Raspberry Pi Pico W
[註]請注意,並不是開啟下方的視窗,若出現下方視窗,則要再按一次開啟系統命令列。
5. 如何查看已匯入的函式庫
在 Thonny IDE 中,點選檢視 -> 檔案,可以查看Raspberry Pi Pico W中匯入的檔案
確認已匯入先前所操作的檔案
執行程式
本專題有兩個程式 (點我下載原始碼,或由以下複製也可以):
- 在 OLED 顯示時間(
OLED_wifitime.py
) - 在 OLED 顯示 PMS5003 粉塵感測器數值(
PMS5003_OLED.py
)
實際展示
執行程式之後,可在 OLED 顯示模組上看到相關資訊,恭喜成功囉!