2026年11月9日 星期一

【ESP32 物聯網實戰 05】聯網:Wi-Fi 自動連線與 NTP 時間同步機制

在上一篇中,我們成功在 OLED 螢幕上顯示了本地的溫濕度數據,讓 ESP32 具備了獨立運作的「視覺」。不過,這依然只能算是一個「單機設備」。要成為真正意義上的「物聯網(IoT)」節點,裝置必須能夠上網,且數據必須伴隨精確的時間標記。

今天,我們要來解鎖 ESP32 最強大的天賦——無線聯網 (Wi-Fi)!我們將實作如何讓 ESP32 在開機時自動連上當地的無線網路,並透過 NTP (網路時間協定) 向世界級的標準時間伺服器「對時」。這樣一來,我們採集到的每一筆數據,都能打上精準的「時間戳記 (Timestamp)」,這是日後大數據分析與異常追溯必備的基礎!

1. 觀念解析:什麼是 NTP 網路時間協定?

ESP32 內部雖然有定時器,但它沒有像電腦或手機那樣有「水銀電池(RTC 模組)」來保存時間。每次只要斷電重開,它的時間就會歸零(回到 2000 年 1 月 1 日)。這在大數據採集中是非常致命的,因為我們無法得知「這筆異常高溫是在何時發生的」。

為了解決這個問題,只要讓 ESP32 聯網,就能使用 NTP (Network Time Protocol)。這是一種用來在網路中同步電腦時間的協定。透過向公開的 NTP 伺服器發送請求,我們的 ESP32 就能獲取誤差在幾毫秒內的 UTC 標準時間,並轉換為台灣當地的標準時間(UTC+8)!

2026年11月8日 星期日

【ESP32 物聯網實戰 04】視覺:OLED 顯示器整合,打造微型本機儀表板

在上一篇教學中,我們成功利用 DHT11 讀取了環境的溫濕度。但是,目前的數據只能透過 USB 傳輸線,顯示在電腦的 Thonny 終端機裡。如果我們把 ESP32 拔掉電腦、改接行動電源,它就成了一個無法溝通的「黑盒子」。

為了讓物聯網裝置具備獨立運作(Standalone)的能力,今天我們要為 ESP32 裝上「視覺」:整合一塊 0.96 吋的 SSD1306 OLED 顯示螢幕。透過這個實作,我們不僅能學會極度重要的 I2C 通訊協定,還能打造出一台可以隨身攜帶的微型溫濕度儀表板!

1. 觀念解析:什麼是 I2C 通訊協定?

當我們要在微控制器與各種精密模組(如螢幕、陀螺儀)之間傳遞複雜資料時,不可能像按鈕一樣只用 0 和 1 來溝通。I2C (Inter-Integrated Circuit) 是一種非常強大且普及的串列通訊協定,它最大的優點是「極度節省腳位」。

不管你要串接幾個 I2C 裝置,都只需要兩根核心訊號線:

  • SDA (Serial Data Line):資料傳輸線,負責雙向傳遞數據。
  • SCL (Serial Clock Line):時脈線,負責同步雙方的傳輸節奏。

【ESP32 物聯網實戰 03】感知:溫濕度感測 (DHT11) 實作,捕捉環境數據

經過上一篇的按鈕與 LED 實作,我們已經掌握了微控制器的基礎輸入與輸出。然而,物聯網真正的核心價值在於「感知環境」。不論是智慧農業監控溫室、智慧工廠預防機房過熱,還是居家環境品質偵測,都需要依賴外部感測器來收集真實世界的數據。

今天,我們將使用 IoT 領域中最經典且平易近人的 DHT11 溫濕度感測器。我們不僅要學會接線與讀取數值,還要結合之前學過的資料處理觀念,為不穩定的硬體讀取加入「防呆與除錯機制」,這可是打造穩定物聯網系統的關鍵第一步!

1. 硬體解析:認識 DHT11 溫濕度感測器

DHT11 是一款含有已校準數位訊號輸出的溫濕度複合感測器。它的優點是價格極低、接線簡單;缺點則是反應較慢(約每 2 秒才能讀取一次新數據),且精確度普通(溫度誤差約 ±2℃,濕度誤差約 ±5%)。但對於教學與雛形開發(Prototype)來說,已經非常夠用了。

熱門文章