2012-06-02

Mindstorms NXT 與 Arduino之間的藍芽通訊

過去幾次在NXTArduino之間無線通訊的應用,都是採Xbee方式,如:『以瀏覽器控制Mindstorms NXT』以及『以瀏覽器控制HTWay』。

而本次則是以NXT內建的藍芽功能來與Arduino進行另外一種無線通訊方式。
(photo)



藍芽通訊屬於較為嚴謹的session-based protocol,需要先透過:配對、識別並建立連結(connection)之後才能開始進行資料交換。至於Xbee通訊則屬於較為彈性的message-based,只需指定好目標位址,就可以開始傳送訊號,並能夠隨時變更對象甚至使用廣播方式,而缺點則是可靠性較低,無法確認接收端的收信狀態。
實作上, 當以XBEE通訊時,NXT是使用S4Hi-Speed portArduino則使用Serial port
而當藍芽通訊時,NXT使用的是COMM Module功能,Arduino的藍芽模組(BluetoothBee)雖然也是透過Serial port,但必須符合NXT的封包交換規範。(DFRobot Bluetooth)