2025/12/11

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

前言

大家好,我是 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
顯示顏色黑 / 白
驅動 ICSSD1683 × 2(並排)
MCUESP32‑S3
Flash / PSRAM8MB
介面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)

  • 智慧家庭控制面板

  • 低功耗資訊顯示器

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


2025/12/10

AI 使用真相:從角色扮演到程式設計的雙重革命

 過去一年,AI 被視為提升生產力的利器,幫助我們寫信、生成程式碼、整理文件。然而,一份由 OpenRouter 發布的大規模研究卻揭示了更驚人的事實:人們實際使用 AI 的方式,與產業敘事有著巨大落差。

1. 的隱藏主流

研究顯示,超過一半的開源 AI 使用並非工作導向,而是投入在角色扮演、互動小說與遊戲場景。使用者將 AI 當作「故事引擎」,進行結構化的情境對話,甚至在遊戲中創造全新的互動體驗。這顛覆了「AI 主要用於生產力」的假設,反映出人類對陪伴與創意探索的需求。



2. 程式設計的爆炸性成長

雖然角色扮演佔據主流,但程式設計卻是成長最快的領域。2025 年初僅佔 11%,年底已突破 50%。開發者不再只要求簡單程式片段,而是進行完整的除錯、架構審查與多步驟問題解決。平均提示字數從 1,500 膨脹到 6,000,甚至超過 20,000,等同於整個程式庫交給 AI 分析。這顯示 AI 已深度融入軟體開發流程。



3. 中國模型的全球崛起

中國的 DeepSeek、Qwen、Moonshot AI 等模型快速成長,全球使用佔比從 13% 躍升至近 30%。簡體中文成為全球第二常用語言,僅次於英文。亞洲市場的支出比例也翻倍,顯示 AI 的地緣格局正在改變。

4. Agentic AI 的新階段

AI 不再只是回答問題,而是能執行多步驟任務、調用外部工具,展現「代理型推理」能力。這意味著 AI 正逐漸成為能規劃、執行的智慧代理,而非單純的文字生成器。

5. 價格與忠誠度的意外發現

研究指出,價格對使用量影響有限。高價模型仍維持高使用率,因為使用者更看重「解決問題的能力」。此外,若某模型率先解決關鍵需求,使用者會長期留存,形成「玻璃鞋效應」。

結語

這份研究提醒我們:AI 的真實用途遠比想像多元。它既是創意的遊樂場,也是程式設計的強力助手,更是全球科技版圖的推手。未來,理解這些使用模式,將是企業與個人善用 AI 的關鍵。

Source: https://www.artificialintelligence-news.com/news/how-people-really-use-ai-the-surprising-truth-from-analysing-billions-of-interactions/ 

2025/04/16

線上活動 - 4/16 20:00pm 如何使用 ⭐線上免費工具 getBitmap V0.1⭐!

本活動教你如何使用 ⭐線上免費工具 getBitmap V0.1⭐!

會使用一個 ESP32 + SSD1306 0.96" OLED 來做示範,

如果你手上也有的話, 也請先把線材 SDA, SCL, VCC, GND 接好,

大家一起跟著我, 一步一步的來把圖放到顯示器上.



* Arduino or VS code + Platform I/O 請先安裝 * 本次採用 u8g2 library, 請先安裝 * 其它的板子及顯示器也能用, 但我手上沒有的話, 無法先幫各位測試~ * 這是本社團第一次活動, 歡迎參加~

本次會議採用 Microsoft Teams!

2025/03/15

Tailscale 偽裝你的網路位置 / 出口節點 Exit nodes!(How to fake your IP address with Tailscale Exit Node)

大家好,歡迎來到 Stonez56 創客工坊!今天,我們要更進一步,解鎖 Tailscale 的超強功能——出口節點(Exit Node)!想知道怎麼把你的網路流量安全導向家中,甚至假裝自己在另一個國家看影片?別走開,這集絕對會讓你大開眼界!

什麼是 Tailscale 的出口節點?

Tailscale 的出口節點就像是你 Tailscale 網路的『大門』。正常情況下,Tailscale 只負責你設備之間的點對點連線,但啟用出口節點後,你可以把某一台設備——比如家裡的 Raspberry Pi——設定成所有網路流量的出口。這意味著,你的手機或筆電的所有上網流量,都會先通過這台出口節點,再連到外面的網路。

使用場景

假設你在海外,想回到自己的銀行去看一下帳戶,或是要轉帳。如果你從海外直接連過去,銀行會視為這是一個海外的連線,認為不安全,也許會拒絕你。但如果你從海外連線到家裡的 Home Raspberry Pi,然後透過出口節點再連到銀行,銀行會以為你是在自己的家裡來做這件事情,那就不會拒絕你囉!

另外一個場景是,你到了海外,想看 Netflix,但 Netflix 不喜歡使用者不在原來自己家裡看。如果你在海外打開這個 Internet 連接到家裡的 Home Raspberry Pi,透過出口節點再連到 Netflix,Netflix 就以為你是家裡看電影喔,就不會阻擋你了。



設定步驟

  1. 準備一台Raspberry Pi作為出口節點。
  2. SSH to Pi
  3. 輸入 >sudo tailscale set –advertise-exit-node
  4. 前往 Tailscale admin console
  5. 點擊 node … 和 then
  6. 選擇「Edit route setting」
  7. 勾選「Use as exit node」
  8. Allow LAN access setting (Only check this if you want all traffic all go through here)
  9. >sudo nano /etc/sysctl.conf
  10.  find Allow IPV4 Forward and change it to 1
  11. Restart sysctl >sudo sysctl -p
  12. OK

實際應用

設定好出口節點後,這些實用場景絕對讓你愛上它!讓我展示四個超酷的例子:

  1. 公共 Wi-Fi 安全:在咖啡廳用公共 Wi-Fi 怕資料洩露?啟用出口節點,所有流量走家裡的加密網路,別人完全偷不到你的資訊!
  2. 跨國存取銀行服務:想像你在國外,想存取英國的銀行網站,但它只允許本地 IP?用 Tailscale 出口節點,你的流量從家裡的 Raspberry Pi 出發,銀行會認證你是英國用戶!
  3. 商務旅行看 Netflix/Disney:出差到外國,Netflix 或 Disney 的內容變成當地限制?沒問題!啟用家裡的出口節點,你的設備會假裝在家鄉上網,輕鬆解鎖你熟悉的節目,邊工作邊放鬆!
  4. 測試網站在地化:如果你是開發者,想測試網站在不同地區的表現?用出口節點模擬其他地方的 IP,馬上就能看到效果,效率翻倍!

注意事項與小技巧

使用出口節點時,有幾個小提醒。第一,確保出口節點網路穩定,因為它承擔所有流量。第二,不用了就停用,在客戶端選『None』,或終端機輸入:Tailscale 出口節點是不是超強大?不管是安全存取銀行、看 Netflix 還是測試網站,它都能派上用場!

影片連結:https://youtu.be/xgcmxogTG4o

2025/03/07

Raspberry Pi #25 跨網存取技巧 Tailscale 全球存取(1) - Internet access to your Raspberry Pi

⭐⭐大家好,歡迎來到 Stonez56 創客工坊!今天我們要來教大家一個超實用的技巧,

讓你隨時隨地都能安全地訪問家裡的樹莓派。 Tailscale 是一個非常方便的 VPN 工具, 它能讓你建立一個安全的私人網路,讓你從任何地方都能像在區域網路一樣訪問你的裝置。 而且設定非常簡單,即使是新手也能輕鬆上手。最重要的是,它非常安全, 不用擔心資料外洩的問題。

Tailscale 可以跨網回家使用:

  1. 資料庫:遠程管理或查詢 MySQL、PostgreSQL 或 MongoDB 等資料庫。

  2. MQTT 中介代理:訪問使用像 Mosquitto 的 MQTT 中介代理的物聯網設備或系統。

  3. 網頁伺服器:連接到託管網站或應用程序的網頁伺服器(如 Apache、Nginx)。

  4. 檔案共享服務:使用 SFTP 或 SMB 協議訪問共享檔案或目錄。

  5. 遠端桌面:使用 RDP 或 VNC 遠程控制設備。

  6. 媒體伺服器:從 Plex、Emby 或類似的媒體伺服器串流內容。

  7. 開發環境:訪問遠端的開發環境,例如 SSH 或代碼伺服器。

  8. 網絡附加存儲(NAS):管理或檢索 NAS 設備中的檔案。



首先,我們要在樹莓派上安裝 Tailscale。打開你的樹莓派終端機,然後輸入以下指令:

Bash curl -fsSSL https://tailscale.com/install.sh | sh


安裝完成後,我們需要啟用 Tailscale。輸入以下指令:

Bash sudo tailscale up



這時候你會看到一個 URL,用你的瀏覽器打開它,然後登入你的 Tailscale 帳號。

接下來,我們要在你的手機或電腦上也安裝 Tailscale。到 Tailscale 的官網下載

對應的應用程式,然後用剛剛在樹莓派上登入的同一個帳號登入。

現在,我們要找到樹莓派的 Tailscale IP。在樹莓派終端機輸入以下指令:

Bash tailscale ip -4


這個 IP 就是我們用來遠端訪問樹莓派的地址。


現在,我們要實際演示如何使用手機或電腦連線到樹莓派。這裡我會針對幾種常見的使用情境 做說明:

1. SSH 連線(用於遠端終端機操作):

  • 電腦 (Windows/macOS/Linux):

    • 打開終端機(Windows 使用 PowerShell 或 Windows Terminal,macOS/Linux 使用 Terminal)。

    • 輸入以下指令,並將 [樹莓派的 Tailscale IP] 替換成你剛剛找到的 IP:

    • Bash ssh pi@[樹莓派的 Tailscale IP]

  • 按下 Enter 後,系統會提示你輸入樹莓派的密碼。預設密碼通常是 raspberry, 但如果你已經更改過,請輸入你設定的密碼。

  • 成功登入後,你就可以在終端機中操作樹莓派了。

  • 手機 (iOS/Android):

    • 下載並安裝 SSH 客戶端應用程式,例如 Termius 或 JuiceSSH。

    • 在應用程式中新增一個連線,輸入樹莓派的 Tailscale IP、使用者名稱 (通常是 pi) 密碼。

    • 點擊連線,即可透過手機操作樹莓派的終端機。

2. MQTT 控制(用於物聯網應用):

  • 電腦/手機:

    • 安裝 MQTT 客戶端應用程式,例如 MQTT Explorer 或 MQTT Dash。

    • 在應用程式中新增一個連線,輸入樹莓派的 Tailscale IP 作為 Broker 地址, 並設定相應的 Port (預設為 1883)。

    • 訂閱或發布 MQTT 主題,即可與樹莓派上的 MQTT Broker 進行互動。

3. Web 服務):

  • 電腦/手機:

    • 打開瀏覽器,在網址列輸入 http://[樹莓派的 Tailscale IP]:[Port], 並將 [Port] 替換成你樹莓派上 Web 服務使用的 Port。 例如,如果你的 Web 服務使用 80 Port, 則輸入 http://[樹莓派的 Tailscale IP]

    • 按下 Enter,即可瀏覽樹莓派上的網頁。

成功連線到樹莓派後,你可以執行一些簡單的指令來測試連線是否正常。例如,在 SSH 連線中,你可以輸入 hostname 來查看樹莓派的主機名稱,或者輸入 uptime 來查看系統運行時間。對於網頁,可以查看網頁是否正常顯示。

對於MQTT可以發布一個簡單的測試資訊,然後讓樹莓派回覆。


為了讓 Tailscale 在每次樹莓派開機時自動啟動,我們需要啟用 systemd 服務。 在樹莓派終端機輸入以下指令:

Bash sudo systemctl enable tailscaled


這樣就設定完成啦!下次樹莓派開機,Tailscale 就會自動啟動,你就能隨時隨地訪問它了。

如果你想要驗證服務是否成功啟動,可以輸入:

Bash sudo systemctl is-enabled tailscaled


如果遇到問題,你可以使用以下命令來查看日誌:

Bash sudo journalctl -u tailscaled


恭喜你!現在你已經學會如何使用 Tailscale 遠端訪問你的樹莓派,並且設定了開機自動啟動。是不是很簡單呢?趕快試試看吧!如果你有任何問題,歡迎在下方留言。




如果時間不夠的朋友, 也可以從以下的時間軸挑選想看的部份即可! 

00:00 開始

01:53 下載安裝 Tailscale 到樹莓派

05:17 手機上安裝 Tailscale App

07:12 Tailscale 免費使用額度

08:03 由外網連回樹莓派

12:32 設定 Tailscale 開機自動執行


資源:

 🍗Tailscale : https://tailscale.com 

 🍗 Setting up Tailscale on Pi: https://tailscale.com/kb/1174/install-debian-bookworm  



Raspberry Pi 4 #24 如何在區網分享 AI Llamafile(2)

大家好,歡迎來到 Stonez56 創客工坊!

上一集中,我們介紹了如何在樹莓派上安裝 Llamafile。然而,在文字介面下使用始終不夠方便。 Llamafile 本身就是一個伺服器,那麼,我們該如何使用網頁瀏覽器與機器人聊天呢? 又該如何與 Llamafile 互動,取得我們想要的答案呢?

在今天的影片中,我們將一步步帶領大家,學會如何使用 Llamafile 的伺服器模式,讓你的樹莓派也能變身為智慧聊天機器人!

對了, 有朋友回報 Raspberry Pi 5 8GB 的回覆速度還算不錯呢! 若有需要購買的朋友可以參考!

這個是一個專門為初學者來開發的一個系列, 所以會講的比較詳細, 相信各位只要仔細收看內容並進行實作, 一定會收獲滿滿滿。好, 那我們就開始吧今天的練習吧~



如果時間不夠的朋友, 也可以從以下的時間軸挑選想看的部份即可!  

2025/02/14

和大家一起測試 Raspberry Pi 來跑 AI 本地模型!雖然只有Pi 4 只有 4GB 記憶體, 跑 Meta Llama 3.2 1B 模型也還行! 最重要的是安裝下載都超簡單呢! 




只要打幾行指令即可~ 新手也能輕鬆上手! 只要跟著我的步驟一步一步操作, 保證你也可以在樹莓派上跑 AI! 馬上開始今天的教學吧! 這個是一個專門為初學者來開發的一個系列, 所以會講的比較詳細, 相信各位只要仔細收看內容並進行實作, 一定會收獲滿滿滿。好, 那我們就開始吧今天的練習吧~ 

如果時間不夠的朋友, 
也可以從以下的時間軸挑選想看的部份即可! 

00:00 開始
00:36 下載 Llamafile 及要使用的語言模型
01:43 也可以在 Windows 執行這個檔案!
02:33 下載  Llama 3.2 1B 這個 Llamafile
03:20 打開命令提示字元, 登入 Pi 4
05:20 使用 htop 來監看CPU/記憶體狀況
07:28 實測 AI 回覆速度

2025/02/08

Raspberry Pi #22集, Raspberry Pi 無痛安裝 (中文字幕)

大家好,歡迎來到 Stonez56 創客工坊!

今天要和大家分享 2025 最新版的 Raspberry Pi 安裝教學(附中文字幕)!這已經是我的第三次更新樹莓派安裝影片了,絕對是新手入門的最佳指南。別再煩惱沒有鍵盤螢幕也能玩樹莓派! 這支影片將教你如何輕鬆安裝 Raspberry Pi,並透過 SSH 遠端登入,還會教你如何使用 VNC Viewer,讓你免接鍵盤、螢幕,就能從遠端操控你的樹莓派!


本影片中, 你將學會:

  • 如何免裝鍵盤/螢幕/滑鼠 安裝 Pi 4
  • 如何燒錄 SD card bootloader 
  • 如何燒錄 Pi OS 到 USB or SSD disk
  • 打開 Windows OpenSSH 用戶端
  • 設定 Pi VNC server & 下載/設定 Windows VNC viewer
  • 如何使用 Windows VNC viewer 遠端登入 Pi 4

新手也能輕鬆上手! 只要跟著我的步驟一步一步操作,保證你也能輕鬆搞定樹莓派!還在等什麼? 馬上開始今天的教學吧!






2025/01/17

u8g2 字型產生器網站 / u8g2 uni-font generator web site (stonez56.com/u8g2)

開發 Arduino / ESP32 顯示器 (OLED/LCD) 相關專案時, 常會用到的中文字型, 一般都會採用 u8g2 字型庫, 不過它內建的使用方法較不方便, 需要手動下指令, 或是把一整個字型檔全部帶入, 造成記憶體的浪費.

介紹一個我開發的 u8g2 中文產生器網站. 只要打入要你的中文, 日文, 韓文, 或是其它 UTF-8 的文字, 它都可以幫你快速的產生字型檔, 使用時, 只要把產生字型檔帶入即可, 方便, 快速, 節省大量的記憶體. 

有需要的朋友快來試試吧~ https://stonez56.com/u8g2 



詳細的的字型使用方法也可以參考這裡: https://youtu.be/Ksdwd87JpPs 

Happy weekend!! 😁


-------------------------------------------------------

When developing Arduino/ESP32 projects with displays, Chinese /Japanese/Korean and other UTF fonts are often needed. The u8g2 font library is commonly used, but its built-in usage is inconvenient, requiring manual commands or loading the entire font file, which wastes memory.

I'm introducing a u8g2  font generator website I developed. Just enter the Chinese, Japanese, Korean, or other UTF-8 text you need, and it can quickly generate font files for you. When using them, simply include the generated font file, which is convenient, fast, and saves a lot of memory.

If you're interested, please give it a try! https://stonez56.com/u8g2

You can also refer to this link for detailed instructions on how to use the fonts: https://youtu.be/-bntyE8UYTY

Happy weekend!! 😁