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 で通信できる