CrowPanel ESP32 5.79″ 電子紙開箱+PlatformIO 實作教學(含天氣 API 範例)

前言 大家好,我是 Stonez56。這篇文章要帶大家一起來看看 Elecrow 推出的 CrowPanel ESP32 5.79 吋電子紙 HMI Display,並示範如何把官方 Arduino Demo 改成 PlatformIO 專案,最後成功顯示 OpenWeather 的即時天氣資訊。 如果你習慣用 VS ...

前言

大家好,我是 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)

電子紙在更新畫面時會閃爍一下,這是正常現象。

✅ 三、產品規格整理

項目 規格
顯示尺寸 5.79 吋
解析度 272 × 792
顯示顏色 黑 / 白
驅動 IC SSD1683 × 2(並排)
MCU ESP32‑S3
Flash / PSRAM 8MB
介面 SPI / UART / GPIO / TF 卡 / USB
電壓 2.2V – 3.7V
特點 Partial Refresh、低功耗、廣視角

✅ 四、電子紙的特性與注意事項

✅ 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 專案

  1. 開啟 VS Code

  2. 點 PlatformIO

  3. New Project

  4. 專案名稱:epaper

  5. 開發板:esp32-s3-devkitm-1

✅ Step 3:整理檔案結構(PlatformIO 必做)

Arduino Demo 通常是 .ino,但 PlatformIO 需要:

  • .cpp 放在 /src

  • .h 放在 /include

✅ 你需要做:

  1. 把 5.79_wifi_http_openweather.ino 改名為:
    main.cpp

  2. 所有 .cpp → /src

  3. 所有 .h → /include

✅ Step 4:新增 credentials.h(存放 Wi‑Fi 與 API Key)

在 /include 新增:

程式碼
credentials.h

內容格式:

cpp
#define WIFI_SSID "你的 Wi-Fi 名稱"
#define WIFI_PASSWORD "你的 Wi-Fi 密碼"
#define OPENWEATHER_API_KEY "你的 API Key"


✅ 這樣可以避免把敏感資訊寫死在 main.cpp 裡。

✅ Step 5:修改 main.cpp(城市與國家代碼)

找到:

cpp
String city = "Hsinchu";
String countryCode = "TW";

改成你自己的城市與國家代碼。

如果不知道代碼,可以問 AI 或查 OpenWeather 網站。

✅ Step 6:編譯與燒錄

  1. 接上 USB

  2. 點 PlatformIO → Upload

  3. 等待燒錄完成

  4. 開啟 Serial Monitor(建議 delay 設 10 秒)

✅ 六、成果展示:電子紙顯示即時天氣

燒錄成功後,電子紙會顯示:

  • 溫度

  • 濕度

  • 可見度

  • 風速

  • 天氣狀態(Mist、Clouds…)

你影片中示範的是新竹的天氣資訊,顯示效果非常清晰。

✅ 七、結語:這片電子紙可以做什麼?

CrowPanel ESP32 5.79″ 電子紙非常適合:

  • 天氣看板

  • IoT Dashboard

  • 電子標籤(Shelf Label)

  • 智慧家庭控制面板

  • 低功耗資訊顯示器

如果你有想做的應用,也歡迎在影片底下留言分享。

發佈留言