Project 5 - Additional Data Collection

Part 1 Due - Wednesday, October 29, 2008

Final Due - Wednesday, November 12, 2008

You now have an application that allows a network of sensors to detect when the surface on which they are mounted has moved.  Your network self-organizes into a series of clusters where each cluster has a representative clusterhead that remains continuously on, detecting movement in the given area.  The remaining sensors can conserve battery by deep sleeping most of the time and periodically waking to gather additional data and report their results to the clusterhead.  The clusterhead aggregates this information and reports it back to the base station once per second.

For this project, you will extend your program to enable the clusterheads to trigger additional data collection on the sensors located in an area where movement has been detected.   Graduate students must complete parts 1, 2, and 3.  Undergraduate students must complete part 1 and select either part 2 or part 3.

Part 1 

When movement has been detected in an area (by the clusterhead or the other sensors), the clusterhead will wait for the next LISTEN period of the nearby sensors and will ask all sensors in the cluster to begin collecting temperature and light readings for a period of 20 seconds.  The sensors will cancel their sleep periods as necessary to collect data every 1 second for the following 20 seconds.  The readings will be reported to the clusterhead and the clusterhead will report the maximum, minimum, and mean values to the base station.  Along the with the values, the clusterhead will report the IEEE address of the sensors that reported the minimum and maximum values.

Part 2

Based on the values observed at the base station, the base station may request continued observation by a particular sensor, for example a sensor that reports a value that is an outlier.  The host program must allow a human user to specify the address of a sensor from which he/she wants additional data and the time period (in seconds) for which the sensor must report additional data.  The base station will send a message to the sensor to ask it to continue to report temperature and light readings for the specified period of time.  The sensor will report the data to the clusterhead, which will pass the data along without aggregating it with any other data.  Because the sensor may not be on at the time the user makes the request, you must develop a protocol for ensuring the message gets to the sensor, perhaps via its clusterhead.

Part 3

The base station will forward the data reported to a web application of your choosing where it will be displayed.  It is up to you to translate the collected data into something meaningful that can be display by a web app.  For the unadventurous, you may inegrate with twitter.  For the more adventurous, you may integrate with another application of your choosing, or one you write yourself.  Extra credit will be awarded to particularly interesting applications and applications that allow the user to also request data from the sensors via the web application.

Part 1 Due - Wednesday, October 29, 2008

Final Due - Wednesday, November 12, 2008

  1. Complete and submit your working code. 
Note: No portion of your code may be copied from any other source including another text book, a web page, or another student (current or former). You must provide citations for any sources you have used in designing and implementing your program.
Sami Rollins