前言
大家好,我是 Stonez56。這篇文章要帶大家一起來看看 Elecrow 推出的 CrowPanel ESP32 5.79 吋電子紙 HMI Display,並示範如何把官方 Arduino Demo 改成 PlatformIO 專案,最後成功顯示 OpenWeather 的即時天氣資訊。
如果你習慣用 VS Code + PlatformIO 開發 ESP32,這篇文章會非常適合你。
✅ 一、CrowPanel ESP32 5.79" 電子紙開箱
這次收到的是一片 5.79 吋的 E‑Paper HMI Display,內建 ESP32‑S3,支援 Wi‑Fi 與 Bluetooth,並提供多種介面:
SPI
UART
GPIO
TF/SD 卡
USB
電池接頭
電子紙本身是黑白顯示,適合做低功耗、長時間顯示的應用。
📦 盒內內容
CrowPanel ESP32 5.79" 電子紙模組
USB 連接埠
SD 卡槽
三個操作按鈕(Home / Back / Dial Switch)
✅ 二、內建 Demo 介紹
接上電後,電子紙會自動跑內建 Demo,包括:
圖片顯示
簡單 UI 操作
情境控制(Scenario)
Living Room
Bedroom
Dining Room
Kitchen(可切換 On/Off)
電子紙在更新畫面時會閃爍一下,這是正常現象。
✅ 三、產品規格整理
✅ 四、電子紙的特性與注意事項
✅ 1. 低更新速度(Low Refresh Speed)
電子紙更新畫面時需要閃爍幾次,因此比較適合:
靜態畫面
少量更新的資訊(例如:天氣、溫度、濕度)
✅ 2. 高對比度(Contrast)
在光線充足的環境下非常清晰。 但在昏暗環境下需要外部光源。
✅ 3. 無灰階、無彩色
電子紙只有黑白兩色。
灰階可以透過「抖動(dithering)」方式模擬。
✅ 4. Partial Refresh
可以只更新某個區塊,省電又快速。
✅ 五、開始實作:把官方 Arduino Demo 改成 PlatformIO 專案
官方提供的 Demo 在 GitHub 上,但原始結構是 Arduino IDE 用的。 我們要做的是:
✅ 下載 Demo ✅ 改成 PlatformIO 專案格式 ✅ 加入 credentials.h ✅ 修改城市與 API Key ✅ 編譯、燒錄、顯示天氣資訊
✅ Step 1:下載官方 Demo
官方 Wiki 提供 Arduino 範例:
5.79_wifi_http_openweather
你可以從 Elecrow Wiki 或 GitHub 下載。 我也把整理過的版本放在自己的 GitHub Repo,方便直接使用。
✅ Step 2:建立 PlatformIO 專案
開啟 VS Code
點 PlatformIO
New Project
專案名稱:
epaper開發板:
esp32-s3-devkitm-1
✅ Step 3:整理檔案結構(PlatformIO 必做)
Arduino Demo 通常是 .ino,但 PlatformIO 需要:
.cpp放在/src.h放在/include
✅ 你需要做:
把
5.79_wifi_http_openweather.ino改名為: main.cpp所有
.cpp→/src所有
.h→/include
✅ Step 4:新增 credentials.h(存放 Wi‑Fi 與 API Key)
在 /include 新增:
credentials.h
內容格式:
✅ 這樣可以避免把敏感資訊寫死在 main.cpp 裡。
✅ Step 5:修改 main.cpp(城市與國家代碼)
找到:
String city = "Hsinchu";
String countryCode = "TW";
改成你自己的城市與國家代碼。
如果不知道代碼,可以問 AI 或查 OpenWeather 網站。
✅ Step 6:編譯與燒錄
接上 USB
點 PlatformIO → Upload
等待燒錄完成
開啟 Serial Monitor(建議 delay 設 10 秒)
✅ 六、成果展示:電子紙顯示即時天氣
燒錄成功後,電子紙會顯示:
溫度
濕度
可見度
風速
天氣狀態(Mist、Clouds…)
你影片中示範的是新竹的天氣資訊,顯示效果非常清晰。
✅ 七、結語:這片電子紙可以做什麼?
CrowPanel ESP32 5.79" 電子紙非常適合:
天氣看板
IoT Dashboard
電子標籤(Shelf Label)
智慧家庭控制面板
低功耗資訊顯示器
如果你有想做的應用,也歡迎在影片底下留言分享。
