This file is part of
the Microsoft Robotics Studio Code Samples. Copyright © Microsoft
Corporation. All rights reserved.
Updated Dec-2007 by Trevor Taylor, Software Technology, Australia
The BoeBot service is a Decentralized System Service (DSS) that connects to a Parallax BoeBot over a Bluetooth serial connection. The service consists of two parts: BASICStamp2 and BSServices.
· A Parallax BoeBot.
· An EB500 Bluetooth module.
· A Bluetooth device on your PC (either built-in or a USB-to-Bluetooth device).
· Microsoft Robotics Studio Version 1.5
Note: The BoeBot must be configured as described in the following table. This is not the same as in the Parallax documentation.
Pin Number | Usage |
0 | EB500 DO NOT USE (Serial In) |
1 | EB500 DO NOT USE (Serial Out) |
2 | Right IR Detector |
3 | Right IR LED |
4 | Pizeoelectric Speaker |
5 | EB500 DO NOT USE (Connected Flag) |
6 | EB500 DO NOT USE |
7 | Left Whisker |
8 | Right Whisker |
9 | Left IR LED |
10 | Left IR Detector |
11 | *** Free - Available for use *** |
12 | Right Servo Motor |
13 | Left Servo Motor |
14 | LED 1 |
15 | LED 2 |
When you have built and configured your BoeBot, it should look like the following photo:
Start the Microsoft Robotics Studio Command Prompt from the Programs menu.
To use the BoeBot with MSRS you must configure the Bluetooth connection. The EB500 will be visible if you search for available devices. You must "pair" with it by supplying a passkey. The default passkey is 0000. Once you have established the pairing, record the outgoing COM port number and then enter it into the configuration file called Parallax.BoeBot.Config.xml in the Apps/SoftTech/Config folder under MSRS. There is a field called SerialPort in the config file.
For the BoeBot to communicate with the MSRS service, you must download the monitor program into the BASICStamp on the BoeBot. You can use the BASICStamp Editor supplied by Parallax for this. You must use a physical connection, not the Bluetooth connection for downloading. The monitor program is called BoeBotControlForMsrs.bs2 and is in the Apps/SoftTech/Parallax/Boe-Bot directory. Note that this is a modified version of the program supplied by Parallax and must be used if you want to use the extra features available in the BoeBot service.
Start a DssHost node and create an instance of the service by typing the following command:
dsshost /p:50000 /m:"Apps/SoftTech/Config/Parallax.BoeBot.manifest.xml"
This will start the service and you get a response like this:
Initializing Dss Node with manifest file: .../Apps/SoftTech/Config/Parallax.BoeBot.manifest.xml
This just starts the BoeBot service, which is not much use on its own because it requires another service to control the robot. When the service starts up, the robot will beep twice and the LEDs will flash if a connection is successfully established.
If you prefer, you can use a command procedure that starts both the robot and a simple Dashboard. The Dashboard can be used to drive the robot around. To run the command procedure, change directory to Apps\SoftTech and run it as follows:
cd Apps\SoftTech
RunBoeBot
When the Dashboard starts up, enter localhost as the machine name and click on Connect. The bsdrive service should appear in the services listbox. Double-click on bsdrive to select it, then click on the Drive button to enable driving. Now you can use the "trackball" to drive the robot around.
Start Internet Explorer (IE) and type the "Service uri" specified in your command prompt. For example:
http://localhost:50000/basicstamp2
This will display the BoeBot service running on your node. You will be able to see the current state of the service, including the COM port, the IR sensors, whiskers, motors, etc. If you look in the Service Directory you should see some other services as well.
The BoeBot service implements the generic Differential Drive contract defined by MSRS. This is what allows the Dashboard and the Drive-by-wire tutorial to be used to drive the robot around.
If you want to take advantage of the additional operations available for the BoeBot you must partner directly with the BoeBot service, not the generic drive. These operations are:
Note: These additional functions are only available if you download the updated version of the monitor program mentioned above. For more information on these operations, please look in the source code for the BASICStamp2 service.
This updated service now also includes a Compact Framework (CF) version so that you can use a PDA or Windows CE device to drive the Boe-Bot. The original code for this was written by Olivier Bloch from Microsoft France. See Drive a Boe-Bot from a Windows Mobile Device using MSRS for more information.