接第一個感測器之前,你需要先選一種「溝通方式」——也就是通訊協定。 簡單整理如下,之後會各自說明。
| 方案 | 優點 | 缺點 | 適用場景 |
|---|---|---|---|
| 數位訊號 | 簡單,非黑即白 | 只能傳開/關 | 按鈕、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 卡讀卡機等高速場景。