Building and running the OSCAR code
|This will probably be the conclusive article for the OSCAR project. A few developers have had questions regarding building, installing, and running the app and the following general instructions should get you going.In short, you will get the code, set up the project, build it using visual studio, deploy the code to a PC that will sit on the robot, and then will setup and run the server and hangout.|
To build the project:
- Download the Project source code and put it into your preferred project folder
- Download the Procrastineering iRobot library used for the project
- Replace the missing files in the project folder, WebServiceRobotController/ConsoleApplication1, with the corresponding files, UPnP.cs and iRobotCreate.cs from the Procrastineering project
- Compile the project using Microsoft Visual Studio Express or the Microsoft Windows SDK for Windows 7 and the .NET SDK Framework
To run the project:
- (Optional) Install the hangout app by specifying the location of your Hangout Gadget XML file from your web server or using the example XML path
- Put the output binary from building the project onto a PC on top of a Roomba
- Connect the robot to the PC using a serial or USB cable
- Start the server by running the binary that you built. The server will start up and connect to the robot that you have plugged in.
- (Optional) use a service such as localtunnel to make the server publically available
- Start a hangout and add the hangout app
- Place the path (URL) to the Robot server into the hangout app
- You should now be able to control the robot from the hangout
Some extra tips and troubleshooting
Building the project without using Visual Studio
I created a video on how to build and run projects just using the Windows SDK:
Wrong COM port?
When the server starts, it attempts to use the default iRobot port if your cable is plugged into USB (COM3). If you are using a different port, the app should gracefully fail and prompt you for another port. When this happens, put in your port, casE sensiTive, such as COM1, as input, and you should be good to go.
Setting up Localtunnel?
To run localtunnel properly on Windows, you must FIRST INSTALL CYGWIN. Using the non-cygwin versions of Ruby with localtunnel doesn’t work. I didn’t look too deeply into this but I’m guessing they are either using UNIX style paths or are just using UNIX pipes. In practice, I found that localtunnel was closing my stream after roughly 5 minutes, I’m not sure if this was by design, but it is something to be aware of.
WASD Controls and Changing the URL
This is useful for if the tunnel goes down or your server changes IPs while the hangout is running.
If you have any questions, please ask them here or +mention me on Google plus.