USBシリアル変換(FT232RLチップ)でシリアル通信する

ArduinoやGainerやmoxaで使ってるUSBシリアルチップのドライバが認識するようになってた(以前revBファーム+Ubuntu8.04でやった時はどうしても認識しなかった)


Rubyから使ってみる。

ruby-serialportインストール、シリアルポートを読む - 橋本詳解
の手順でruby-serialportをインストールして、


ruby-serialportで送受信 - 橋本詳解
のプログラムを用意する。

ls -l /dev/tty

すると /dev/ttyUSB0 として認識されているのがわかる。
rootにしかrw権限が無いので

sudo chmod 666 /dev/ttyUSB0
ruby ruby-serialterm.rb /dev/ttyUSB0

でシリアルポート開ける。



下のコードのmeとtargetを入れ替えた2枚のmoxaを用意する。zigbeeトランシーバーになる。

// zigbeeトンネル
serialInit(9600);

var mask = 0xBEEF;
var channel = 18;
var me = 21;
var target = 20;
radioInit(mask, me, channel, 31);

function onRadioReceive(seq,id,pan,data,rss) {
	// id==target
	serialSend(data);
}

function onSerialReceive(){ // シリアル受信イベント
    while(serialAvailable()){ // 受信データがある時
    	var recvData = serialRead(); // 読み出し
		radioSend(target, recvData);
    }
}

while(true){
}

Mac→moxa→(zigbee)→moxa→beagleboard で通信できる

149e85b2598b2ad5358c4f8d3d83bcc8.png