ROI(Roomba Open Interface)はシリアル通信でルンバを操作したりセンサーの値を取得できる通信仕様なのですが、
900シリーズについては、「シリアルポートがない」と言う理由で使えないという情報が出回っています。
しかし戯れに960上面の右下の細いカバーを外したところmicroUSB端子が現れました、怪しい。
そこで調べたところ、
Roomba 980 arrived at the shopがヒット。
これによれば、980にもmicroUSB端子が存在し、ROIが使えたそうなので、960でも試してみました。
windows7機に繋いだところ、2台で、「iRobot Roomba」という名前で、デバイスドライバを認識しなかったので、
ラズパイに繋いだところ、/dev/ttyACM0 で認識しました。
ボーレート115200で接続し、
ROIを開始するため、
[0x80]
を送信するとビープ音がして開始した雰囲気。
試しに適当にLEDの点灯コマンド
[0x8B,0xFF,0x00,0xFF]
を送ると見事に点灯状態が変わりました。
なおROI対応しているのはわかりましたが、
900用のROIが公開されているわけではないので、
今のところ旧シリーズと同じことしかできません。
もしROIモード中もSLAMが動いてくれていれば、
wifiと組み合わせれば部屋内での位置座標が取れるので
特定位置に誘導できたりできますね。
楽しそうです。