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

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 

 PINK Docs V2.1 ). 

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.