Difference between revisions of "Connecting Roomba to Your Computer"

From GICL Wiki
Jump to: navigation, search
(BlueTooth & RooTooth)
(Linux)
 
Line 71: Line 71:
 
Once these are installed and your bluetooth adapter is plugged in, running the command 'sudo hciconfig' should return
 
Once these are installed and your bluetooth adapter is plugged in, running the command 'sudo hciconfig' should return
  
[[Image:BAMLinuxHCIConfig.jpg|run command hciconfig]]
+
[[Image:BAMLinuxHCIConfig.png|run command hciconfig]]
  
 
If the BD Address listed is all zeros, run 'sudo hciconfig hci0 reset' with your appropriate hci#
 
If the BD Address listed is all zeros, run 'sudo hciconfig hci0 reset' with your appropriate hci#
Line 77: Line 77:
 
Get the MAC address of your Roomba's BAM module by executing 'hcitool scan'
 
Get the MAC address of your Roomba's BAM module by executing 'hcitool scan'
  
[[Image:BAMLinuxHCItool.jpg| run the command hcitool scan]]
+
[[Image:BAMLinuxHCItool.png| run the command hcitool scan]]
  
 
Using this address, connect and bind the bluetooth device to a serial connection using 'sudo rfcomm connect # BDADDR' where # is the port number to use and BDADDR is the address of your BAM module
 
Using this address, connect and bind the bluetooth device to a serial connection using 'sudo rfcomm connect # BDADDR' where # is the port number to use and BDADDR is the address of your BAM module
  
[[Image:BAMLinuxBDAddr.jpg| the BDADDR of the BAM module]]
+
[[Image:BAMLinuxBDAddr.png| the BDADDR of the BAM module]]
  
 
This will create a /dev/rfcomm# entry representing your Roomba.
 
This will create a /dev/rfcomm# entry representing your Roomba.

Latest revision as of 10:41, 15 October 2007

This page covers the various ways that the roomba can be connected to the computer -- namely by Bluetooth (RooTooth) and Serial (RooStick). In this lab, you should have been given a 7-pin serial cable and a Roostick (a USB to serial converter).

Contents

Serial & RooStick

Windows

  1. Connect the computer to the internet
  2. Plug the RooStick into the computer
  3. A "Found New Hardware" bubble should appear and install the necessary drivers
    1. If this does not happen, the drivers can be found by allowing Windows to search for them on the internet
    2. They can also be found here: http://www.silabs.com/tgwWebApp/public/web_content/products/Microcontrollers/USB/en/mcu_vcp.htm
  4. When the USB (CP2103) to Serial (UART) Converter is installed, you can now connect your Roomba to your computer via the serial cable.
  5. This next step is important. You must now find the Serial Port Number, a.k.a. Roomba Port. The serial port number is used to tell applications through which port must be used to talk to your Roomba. This can be found by accessing Device Manager, which is Window's interface for managing hardware communicating with Windows. To access Device Manager, follow these steps:
    1. Right-click on "My Computer" and select Properties (you can also open My Computer Right-click somewhere in the folder, then Properties)
    2. A dialogue box should now appear. Click on the "Hardware" tab near the center top of the dialogue box.
    3. Select "Device Manager"
    4. If the Converter was installed correctly, in the list of devices, there should be a "Ports (COM & LPT)" Expand this menu
    5. Once exanded, there should be a device called "CP210x USB to UART Bridge Controller" Next to this is your Serial Port Number; Example: (COM3), (COM4), (COM6)
  6. Remember this port for Future reference. This is your Roomba Port.

BlueTooth & RooTooth

Windows

Run Bluetooth Setup Wizard

  1. Select 2nd Option ("I want to find a specific Bluetooth device and configure how this computer will use its services")
  2. Windows Searches for BT devices in Neighborhood (have rootooth plugged into roomba and powered on)
  3. Select RooTooth
  4. Use "default" or "1234"for the pincode
  5. Click Initiate Pairing
  6. Select COM0 Service (check mark)
  7. Click Configure (windows will install drivers)
  8. Windows Selected COM6 as the Virtual Serial Port
  9. Click Finish
  10. In "My Bluetooth Places", right-click on "Rootooth COM0" and click Connect
  11. open cmd.exe and run 'java -Djava.library.path=rxtxlib -classpath ".;rxtxlib/RXTXcomm.jar" roombacomm.RoombaCommTest' from the roombacomm directory
  12. Select "COM6" at the top and hit connect
  13. Have fun (you might have to use reset to get it going)

OSX

  1. Plug the RooTooth into Roomba
  2. Go into your Mac System Preferences.
  3. Under the Hardware category, select Bluetooth.
  4. There should be three tabs that appear at the lower top center of the box, "Settings," "Devices,", and "Sharing." Select "Devices."
  5. Now, click on the "Setup New Device" on the lower right of the box.
  6. Great, you have located the new-bluetooth-setup wizard... and it welcomes you.
    The logo for this Wiki



  7. Go ahead and select "Any device," because no other option is for programming robot vacuum cleaners (why, Apple, why!?)
    The logo for this Wiki



  8. The wizard now searches for the RooTooth. Depending on your RooTooth, it may say "RooTooth," as it appears in this screen-shot, or it may say "BlueRadios," which is the bluetooth chip used in the newer RooTooths (RooTeeth?). There will be many other bluetooth devices that appear, but just fish through the options, find RooTooth, and continue.
    The logo for this Wiki



  9. So the wizard finishes gathering information on the RooTooth device. Yay. Continue.
    The logo for this Wiki



  10. In order to "pair" RooTooth with your computer (connect RooTooth with only your computer), you must enter its password. This password may be different for each RooTooth, so consult your instructor about the matter.
    The password is either 'default' or '1234'
    if you have a BAM, the password is '0000'
    The logo for this Wiki
  11. Great, you are now paired. There are no services found -- this is normal.
    The logo for this Wiki



  12. Congratulations! You have finished with the wizard...! But you are not quite finished :(
    The logo for this Wiki



  13. This next step is important. Now you must find your Roomba Port. The Roomba Port is used to tell applications through which port must be used to talk to your Roomba. The Roomba Port can be found through several methods... which will now be covered here:
    1. Commnand Line
      This is probably the easiest way of finding the Roomba Port, but many people are intimidated by command-lines or do not know how they work. If this is you, skip to "Mac BlueTooth Preferences." If you choose to take this method, take note that you have gained cool-points (you are that much more 1337), which can be used to buy approving head-nods from certain peers, but are otherwise worth nothing.
      1. Open up Terminal.app from the Utilities folder in the Applications folder (*The terminal provided as an example here may be different colors than yours)
      2. Type into the prompt, "cd /dev" and hit enter
      3. Type into the prompt, "ls".
        The logo for this Wiki



      4. A long list of stuff will appear. Scroll up until you see lines of stuff that say something like "cu.something"
      5. Your incomplete Roomba Port is the one that says "cu.RooTooth-COM0-1," for example. Again, this depends on your RooTooth and can be something else, such as Blueradios.
        The logo for this Wiki



      6. Your complete Roomba Port is this cu.something text with the text "/dev/" appended onto the front of it. So if you see "cu.something," than your complete Roomba Port is "/dev/cu.something"
      7. Copy they port down for future reference.
    2. Mac BlueTooth Preferences
      1. Go into your Mac System Preferences.
      2. Under the Hardware category, select Bluetooth.
      3. There should be three tabs that appear at the lower top center of the box, "Settings," "Devices,", and "Sharing." Select "Devices."
      4. There should be an option such as "RooTooth" or "Blueradios (depending on your RooTooth)
      5. Highlight this option and click on "Edit Serial ports"
      6. Your incomplete Roomba Port is listed as the "Port Name."
      7. Your complete Roomba Port is that "Port Name" with "/dev/cu." appended onto the front of it. So if the "Port Name" is "RooTooth-COM0-1," than your complete Roomba Port is "/dev/cu.RooTooth-COM0-1"
      8. Copy they port down for future reference.

Linux

To get the BAM module for the iRobot Create working under Linux, you'll need the hciconfig and rfcomm programs. hciconfig should be installed with bluez-utils. rfcomm may come from that as well, or from your distros bluetooth or gnome-bluetooth packages.

Once these are installed and your bluetooth adapter is plugged in, running the command 'sudo hciconfig' should return

run command hciconfig

If the BD Address listed is all zeros, run 'sudo hciconfig hci0 reset' with your appropriate hci#

Get the MAC address of your Roomba's BAM module by executing 'hcitool scan'

run the command hcitool scan

Using this address, connect and bind the bluetooth device to a serial connection using 'sudo rfcomm connect # BDADDR' where # is the port number to use and BDADDR is the address of your BAM module

the BDADDR of the BAM module

This will create a /dev/rfcomm# entry representing your Roomba.


In order for the roombacomm libraries to recognize the serial port, you'll need to create a link to the rfcomm port. This can be done with 'sudo ln -s /dev/rfcomm5 /dev/ttyUSB0' Now from roombacomm, you can connect using port /dev/ttyUSB0