20120313

Roomba & Rootooth

Just got a Rootooth for my Roomba and initially it didn't work! (so yes indeed, that means that eventually i got it working)


Step one: is my bluetooth dongle working?
# hciconfig hci0

hci0: Type: BR/EDR Bus: USB BD Address: 01:23:45:67:89:01 ACL MTU: 1021:8 SCO MTU: 64:1
RX bytes:290 acl:0 sco:0 events:6 errors:0
TX bytes:21 acl:0 sco:0 commands:7 errors:0
UP RUNNING

Yes!


Step two: can i see the roomba?
# hcitool scan
Scanning ...
Inquiry failed: Connection timed out
No...

Ok, maybe reset the bluetooth adapter?
# hciconfig hci0 reset
# hcitool scan                              
Scanning ...                                                                  
        00:11:22:33:44:55       FireFly-176B   

That's more like it.

Step three: connect it using rfcomm

#rfcomm connect 5 00:11:22:33:44:55
Connected /dev/rfcomm5 to 00:11:22:33:44:55 on channel 1
Press CTRL-C for hangup
Ok, so now i can send commands to it using serial in python as it says in the SCI Specs! And yes i can send whatever i want. Unfortunately the Roomba isn't impressed. At all.


At least until i stumbled across python-library-for-roomba-sci.html and now it works fine. Seems to be related to the fact that it likes money (send it dollars and you're in business: self.port.write("$$$")).