高品質訓練課程供應者

作者:Owen Ou
日期:

Android為當紅的行動裝置作業系統平台,而Arduino則為簡單易用的開放源碼電子原型平台(electronics prototyping platform),當兩者相遇到一起,又會激盪出什麼火花呢?除了昨日報導操控滾球和機器人的例子外,在今年6月E3秀展中,更可見到玩具公司展示利用Android平板(Motorola Xoom)和手機(HTC Desire)來操控遙控飛行器,如下影片。

除了Google的Android Open Accessory協定中納入Arduino平台技術外,目前透過藍芽傳輸連接 Android 與 Arduino 的方案有兩個,一個是 Android-Firmata,另一個是Amarino,這兩個方案作者是同一個人,叫做 Bonifaz Kaufmann。

Android-Firmata 可以讓 Android 手機透過藍芽傳輸來控制 Arduino,它講的是 Firmata 協定。Firmata 是一個通用的通訊協定,它可以讓你的 Arduino 跟 Android 用同一套語言對話。Android-Firmata 目前只支援 Firmata 1.0,可以讓你設定數位腳位(Digital Pins)的輸入輸出模式(input/output mode),讀取數位和類比(Analog)輸入腳位,以及開關數位腳位,另外也可以控制 PWM 腳位。

Amarino是MIT High-Low Tech小組的專案,取意Android meets Arduino,也是Bonifaz開發的另一個軟體套件,功能與Anroid-Firmata相同,但採用更簡單的協定。Amarino 協定封包格式非常單純,只是把要傳輸的資料夾在一個 0x12 起始符號和 0x13 確認符號中間而已。也許是比較簡單的關係,作者後來似乎把重心移到 Amarino,Android-Firmata 從 2010 年 1 月之後便沒再更新了。

要開發 Amarino 的互動應用,Arduino 這端的程式要用 MeetAndroid 函式庫,而 Android 這端的程式則要使用 AmarinoLibrary.jar 函式庫,這兩個函式庫都可以在 Amarino 官網取得。