ArduinoライクなAndroid3.1用FTDIドライバAPI公開

AndroidとUSBシリアル通信させるためのドライバAPIです。
前回のコードからドライバ部分だけ切り離して
Arduinoライクなすっきりとしたインタフェースにしてみました。


2011/11/19 githubにプロジェクト移しました。
https://github.com/ksksue/FTDriver


Source Code - http://dl.dropbox.com/u/3858050/hatena/FTDriver.zip


※現在Android神戸支部さんのSVNリポジトリをつかってメンテさせていただいています。
最新のソースはこちらで手に入れてください。
チェックアウト方法
http://code.google.com/p/android-jp-kobe/source/checkout
ソースツリー
http://code.google.com/p/android-jp-kobe/source/browse/#svn%2Ftrunk%2FFTDriver
更新履歴
http://code.google.com/p/android-jp-kobe/source/list


動作確認環境

  • Android : ICONIA A500 (Android 3.1以上、USB Host Portを有すること)
  • FTDI Chip : FT232RL (秋月、sparkfunのモジュールなどで動作確認)
  • Baudrate : only 9600 9600〜230400bps


サンプルコード

  • FTSampleTerminal : シンプルなターミナル
  • FTSerialCSV : CSVでシリアル通信させたサンプルコード。奈良高専の教育事業Genet(www.genet-nara.jp)で使用されている教育ボードと繋いだ際に使用。


Genetブース@ET2011


その他

  • root権限は必要ありません。


APIハイライト

new

mSerial = new FTDriver((UsbManager)getSystemService(Context.USB_SERVICE));


initialize

mSerial.begin(9600);


n byte read

byte[] rbuf = new byte[60];
len = mSerial.read(rbuf);


1 byte write

byte[] wbuf = new byte[1];
len = mSerial.write(wbuf);


n byte write

byte[] wbuf2 = new byte[64];
len = mSerial.write(wbuf2,64);


Close

mSerial.end();


とりあえずこれだけ揃ってれば大抵のことはできると思う。
簡単なテストしかしていないので暫定版として公開しますが、
なにか様子がおかしいようであれば
ここにコメントもしくはTwitter @ksksue にメンションください。


またAndroid x 組込み 興味ある方は気軽にフォローしてください。