Home Reporting System

The Project

Synopsis

The purpose of these programs is to collect data from three stations, one base station and two remote stations. The data from the remote stations will be transmitted to the base station using XBee wireless transceivers. The base station will then take all the data and transmit it to the Parallax Internet Netburner Kit (PINK), which essentially acts as a web server. A webpage on the PINK continuously displays the data on a webpage. So no matter where in the world I might be I can always figure out what is going on at my house. To see how this system work check out the video. This video does not have the two remote stations incorporated into it yet.

Demonstration

Hardware

The project used the following hardware obtained from Parallax

*I won this at the Propeller expo but I am not sure where it is sold. I had to use this part because the heat sinks on the Propeller Proto Boards boards would get too hot. 

Building Instructions

All hardware components come with instructions and example code; make sure to get familiar with all of them before continuing.

Note: all of my code contains circuit diagrams for every piece of hardware.

Software

Was not able to get the software to work reliably. Too many complications due to network and internet connectivity issues.

Networking

Network setup is the same as that shown in the Internet Controlled Boe-Bot but is repeated below.

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.