★ 1-Wire
GPIO(General Purpose Input Output)常見於開發版邊緣,以針腳(Pin)的形式呈現,這些針腳是開發版與外界連接與溝通的重要橋樑,進行資料傳輸、控制信號的通道,可以軟體設單一接腳為發送輸出 pinMode(D1,OUTPUT) 或接收輸入 pinMode(D2,INPUT),也可以處理數位訊號(digitalWrite(...)、digitalRead(...)、高低電位 LOW、HIGH),或類比訊號(analogWrite(...)、analogRead(...))。
1-Wire 僅使用單一訊號線(半雙工),數據傳輸速率較低,優點為線路簡單,成本低廉,便於擴展和維護,常見於一些簡單的控制例如控制單一顆 LED 明滅,或者傳感器只需要供電然後接收資訊(例如接收溫度、濕度),都是使用這種模式。
一般而言,VCC 電源輸入、GND 接地用的這兩個接腳因有特殊且固定的用途,通常在計算通訊協定所使用的接腳時,是會被省略不計入的。
★ UART(Universal Asynchronous Receiver/Transmitter)
UART 好處是線路簡單,僅二個接腳 TX(發送)、RX(接收),但缺點是只能兩個裝置一對一連接 TX -> RX, RX <- TX( 發送 -> 接收、接收 <- 發送),以及速度不是很快。
★ I2C(Inter-Integrated Circuit Bus),讀作 " I-squared-C "
I2C 與 UART 一樣使用兩個接腳 SCL(時脈)、SDA(資料),也是有線路簡單的好處,I2C 可以同時連接多個裝置,不似前述的 UART 僅能一對一,理論上 I2C 可以連接 112 個裝置(128 - 16 保留),透過 I2C Address 位址識別對哪個裝置發送或讀取資料。
I2C 另一優點是一般而言傳輸速度比 UART 快,但因 I2C 只有一條 SDA 數據傳輸線,I2C 在接收數據時無法發送數據,反之在發送時無法接收數據(半雙工),而 UART 有 TX(發送)、RX(接收) 兩條數據傳輸線,UART 則無此問題(全雙工)。