2025年3月24日 星期一


 

徹底改變你的 ESP32 專案!使用 GPIO Viewer 即時監控引腳狀態

前言

當你開發 ESP32 專案時,是否曾經遇到不知某個 GPIO(通用輸入輸出) 引腳是否正常工作的情況?有時候,問題出在程式碼,有時候則是接線錯誤。而今天,我要分享一個能 即時監控 ESP32 GPIO 狀態的工具,就像擁有 X 光視野,讓你輕鬆找到問題點!

這個工具就是 GPIO Viewer,它能讓你透過 瀏覽器 即時查看 ESP32 的引腳狀態。我原本是為了自己的需求開發這個工具,現在我將它整理成一個簡單易用的 Arduino 函式庫,只要幾行程式碼就能整合進你的專案!

為什麼要使用 GPIO Viewer?

在實作電子專案時,我們經常需要觀察 GPIO 引腳的變化,例如:

  • 數位輸出:LED 是否正確閃爍?
  • 類比輸出(PWM):馬達轉速是否正確?
  • 數位輸入:按鈕是否有正確反應?
  • 旋轉編碼器:是否正確偵測到旋轉方向?

傳統上,我們可能會使用 示波器序列監視器 來檢測這些信號,但這些方法要嘛設備昂貴,要嘛過於繁瑣。而 GPIO Viewer 讓這一切變得簡單:

  • 只要一個瀏覽器,就能即時監控所有 GPIO
  • 幫助你輕鬆找到 接線錯誤程式邏輯問題
  • 不需要額外的硬體,完全免費!

GPIO Viewer 示範

在開始安裝之前,讓我們先看看它的實際效果。

範例 1:空白 ESP32 板子

我手上有一塊全新的 ESP32 板子,沒有燒錄任何程式,但當我開啟 GPIO Viewer,我發現有些引腳已經是 高電位(HIGH)!這是因為 ESP32 的某些引腳在預設狀態下會處於高電位,這是了解板子行為的重要知識。

範例 2:LED 與旋轉編碼器

我接上一些 LED,並用 PWM(脈衝寬度調變) 來控制它們,此外,我還加上了一個 旋轉編碼器 來改變 LED 的亮度。

當我旋轉編碼器時,GPIO Viewer 立刻顯示出相應的 GPIO 變化,這讓我可以 確認信號是否正確傳送,完全不需要猜測!

安裝與設定

現在讓我們來學習如何安裝與使用 GPIO Viewer

1. 下載與安裝函式庫

首先,你需要從 GitHub 下載 GPIO Viewer 函式庫:

  • GitHub 連結:🔗 (請參考影片說明欄)

接著,打開 Arduino IDE,依序安裝以下函式庫:

  1. GPIO Viewer
  2. ESP Async Web Server
  3. AsyncTCP(可以透過 Arduino IDE 的「Library Manager」安裝)

2. 基本程式碼

以下是最簡單的 ESP32 GPIO Viewer 使用範例:

#include <GPIOViewer.h>  // 引入 GPIO Viewer 函式庫

GPIOViewer viewer; // 宣告 GPIO Viewer 物件

void setup() {
    Serial.begin(115200);
    WiFi.begin("你的 WiFi SSID", "你的 WiFi 密碼");
    while (WiFi.status() != WL_CONNECTED) {
        delay(1000);
        Serial.println("連接 WiFi...");
    }
    Serial.println("WiFi 連接成功!");
    
    viewer.begin(); // 啟動 GPIO Viewer
}

void loop() {
    // 這裡可以加入你的程式邏輯
}

3. 上傳程式碼並開啟監視器

  1. 將程式碼燒錄到 ESP32
  2. 打開 Arduino IDE 的「序列監視器」,你會看到一個 網址,例如:
    http://192.168.1.100:8080
    
  3. 在瀏覽器中輸入這個網址,你就能看到 GPIO Viewer 的即時監控畫面!

進階設定

你還可以 客製化 以下設定:

1. 設定更新頻率

viewer.setSamplingInterval(50); // 設定為 50 毫秒(預設為 100 毫秒)

2. 變更網頁監視的埠號

viewer.setPort(8081); // 將監視畫面的網址改為 http://192.168.1.100:8081

3. 支援不同的 ESP32 板子

GPIO Viewer 支援多種 ESP32 板型,你可以在函式庫的 GitHub 頁面找到支援的清單。如果你的板子不在清單內,可以提出新增請求。

結論

透過 GPIO Viewer,你可以:

  • 即時監控 GPIO 狀態,減少除錯時間。
  • 輕鬆找出接線錯誤,例如 LED 反接問題。
  • 快速整合,只需要幾行程式碼!

不論你是新手還是老手,這個工具都能讓你的 ESP32 開發過程更順暢!趕快試試看吧!

如果你有任何問題或建議,歡迎留言討論!🚀

沒有留言:

張貼留言

  探索 PEY 床:3D 列印新時代的革命性打印表面 什麼是 PEY 床? 在 3D 列印領域,打印床的選擇對於打印品質有著極大的影響。傳統上,許多使用者會選擇 PEI(聚醚酰亞胺,Polyetherimide)作為打印床,但現在,一種新的材料—— PEY (可能是一種改良...