Internet Controlled Boe-Bot
The Project
Synopsis
This project demonstrates how a webpage can be used to control a Parallax Boe-Bot. For a quick overview of how this project works see theExplanation video below. To see this project in action see the Demonstration video below. Although my home computer is shown, any computer (anywhere on earth) connected to the internet could be used with the same effect. An iPhone connected to the internet is shown controlling the Boe-Bot in the iPhone Control video.
Explanation
Demonstration
iPhone Control
Hardware
The project used the following hardware obtained from Parallax
- The Parallax Internet Netburner Kit (or similar "mini-server")
- An inexpensive Parallax mobile robot
- A Propeller starter kit (any propeller board should work)
- Two 912 MHz RF Transceivers (no longer supported, use xBee transceivers instead)
Building Instructions
All hardware components come with instructions and example code; make sure to get familiar with all of them before continuing.
From the boe-bot kit, the board of education and Basic Stamp are used to control the PINK (connection illustrations found on page two in
The rest of the Boe-Bot kit (the mechanical hardware) is used as "the base" which the propeller board will attach.
Although the 912 MHz Transceivers are no longer an option the xBee transceivers are actually a lot better and have a lot more documentation
Software
All Basic Stamp 2 and Propeller code is explained in the file Read_Me_BS2_to_Propeller.doc.
The
PINK webpages shown in the videos were written in html by Aaron Klapheck.
Networking
It is assumed that the reader has a basic understanding of computer networks. These are the steps I took to get this project on-line. First I set up my devices network settings by connecting it directly to my computer and using the IPSETUP program as described on page two of
PINK Docs V2.1 . Next I used a patch cable to connect the PINK to my router. Now this is where things get a little trick. In order for a person to gain access to html pages on my PINK, via the internet, I had to perform the following two steps.
1. I had to make my router send webpage requests to my PINK. 2. I had to make my router accessible over the internet.
Step 1
To access my router I just had to put my router's IP address
into my browser. I then checked to make sure that my PINK was showing up in my "connected computers" section of the router. If a web page request comes to your router, your router needs to know what to do with that request; this is done with port forwarding. The personal computer used to request information from a server is called a client. All web servers"listen" to see if a request is made by a client; the port that they listen to is port 80. There is nothing special about port 80, any port between 0 and 65536 can be used. A bunch of people just agreed that port 80 would be used for clients requesting websites from servers. As you might have guessed the port I forwarded to my PINK is port 80. The image below shows how I performed port forwarding for my D-Link router.
With port forwarding in place my device will now display webpages automatically when clients put my router's IP address in their web browser.
Step 2
At the end of step one, my router was technically accessible over the internet but there are two problems. First, no one wants to enter a series of numbers and dots into their browser. Second, I bought a standard internet plan and therefore my router's IP address is dynamic (it changes). I solved both of these problem with DynDNS
. DynDNS gives you a domain name that follows your router no matter how many times it changes, and its free! The domain name I choose for my PINK is AaronKlapheck.dyndns-at-home.com
. If my PINK is currently off then you will just see an error page.