學習筆記 02|通訊協定

I2C 與 SPI 通訊協定介紹、NodeMCU 腳位對應與適用場景

接第一個感測器之前,你需要先選一種「溝通方式」——也就是通訊協定。 簡單整理如下,之後會各自說明。

方案優點缺點適用場景
數位訊號簡單,非黑即白只能傳開/關按鈕、PIR 人體感應
類比訊號直觀,不需協定易受干擾;ESP8266 只有一組可變電阻、光敏電阻
I2C只需 2 根線,可接多個裝置傳輸距離短(約 30 cm)溫濕度計、OLED 螢幕
SPI速度極快至少需要 4 根線彩色 TFT 螢幕、SD 卡

I2C — 省線的廣播系統

只需要 2 根線就能連接多個設備。想像 ESP8266 是老闆,感測器是員工—— 老闆用廣播對全場說話,每個員工都聽得到,但只有被點名的才會回應。

  • SCL(時鐘線):像指揮棒,控制傳輸節奏,告訴所有人「現在開始傳資料」。
  • SDA(數據線):實際傳送內容的線,例如「現在溫度 25°C」就從這裡走。

省腳位、接法簡單,速度中等。適合溫濕度計、小型螢幕等不需要高速傳輸的場景。


SPI — 高速的點對點專線

通常需要 4 根線,速度比 I2C 快很多,適合需要大量資料的裝置。 同樣是老闆與員工的關係,但改成一對一的專線通話。

  • SCK(時鐘線):同步傳輸節奏,與 I2C 的 SCL 功能相同。
  • MOSI(老闆說話線):Master Out Slave In,ESP8266 發送命令給感測器。
  • MISO(員工回報線):Master In Slave Out,感測器把資料傳回 ESP8266。
  • CS(點名線):Chip Select。接了多個 SPI 裝置時,把某個裝置的 CS 拉低, 代表「我現在要跟你說話」,其餘裝置保持安靜。

速度極快,但佔用腳位較多。適合彩色螢幕、SD 卡讀卡機等高速場景。

comments powered by Disqus