2011年8月26日 星期五

EasyTransfer Library for Arduino

簡介

image

EasyTransfer 是一個可以讓 Arduino 跟 Arduino 彼此通訊的 Library,它既簡單又好用,會自動將使用者的資料封裝成一個封包並透過 Serial 傳遞。

安裝

EasyTransfer Library 可以在底下的連結中取得:

http://www.billporter.info/easytransfer-arduino-library/

把檔案解壓縮並放到 Arduino Sketchbook Folder 的 Libraries 資料夾底下,或是放到 Arduino IDE 的 libraries 資料夾底下即可。

使用範例

要使用這個 Library,只要定義好你要的資料結構:

然後像底下這樣初始化 Library,告訴 EasyTransfer 所用的資料結構與 Serial port:

當需要傳送資料時,EasyTransfer 會透過 serial 介面把整個 binary data 送到接收端的 Arduino,並且會在封包上加上 checksum 避免傳輸錯誤:

接收端的 Arduino 會檢查 checksum,把收到的資料放到它的記憶體裏:

重要的是,必須確保 Arduino 彼此所用的資料結構是一致的,這樣才能正確通訊。有了 EasyTransfer 後,要在 Arduino 之間傳遞分享資料變得很簡單,不用定義與撰寫你自己的通訊協定,而且也不用擔心同步與傳輸錯誤,因為這一切 EasyTransfer 都幫你搞定了。

使用資料結構來放資料可以讓通訊很靈活,因為可以傳遞任何型別與數量的資料,只要整個資料結構是在 255 bytes 以內。你可以定義在資料結構裏定義 char, int, arrary, long 等各種型別。EasyTransfer 也支援雙向通訊。

前述傳送端 (EasyTransfer_TX_Example.pde) 與接收端 (EasyTransfer_RX_Example.pde) 的範例程式可以在 EasyTransfer Library 裏找到,把這兩支程式上傳到兩張 Arduino 板子上,並照下圖連接兩張 Arduino 板子,在上電之後,你就會看到兩張板子上的 LED 每隔幾秒鐘就會閃爍,代表資料有正確從傳送端丟到接收端。

image ▲ 注意線路接法,TX 要接 RX,而 RX 要接 TX。

延伸閱讀

0 意見: