MAS 961: Special Topics in Media Arts and Sciences
Developing Applications for Sensor Networks


:: announcements :: weekly schedule :: readings and handouts :: projects :: administrivia



Weekly Schedule
class date presenters description preparation
1 2005-SEP-07 (Wed) Joe and Josh Introduction to sensor networks. Background and context leading up to this class. Fill out welcome questionnaire.
2 2005-SEP-12 (Mon) Joe, Josh and class Overview of sensor network vision statements. Skim Distributed Sensor Networks and choose two articles to read. (You will need to rotate the text 180 degrees). Prepare to give a brief (2-5 minutes) oral summary of the two articles in class. Also, read and be prepared to discuss Next Century Challenges: Scalable Coordination in Sensor Networks and System Architecture Directions for Networked Sensors.
3 2005-SEP-14 (Wed) Joe, Josh and class Ubiquitous Computing overview and relation to sensor networks. Skim Proceedings of the Pervasive 2005 UbiApp Workshop and choose two articles therein to read and critique (1/2 page written, to be handed in). Follow up by reading The 2005 UbiApp Workshop: What Makes Good Application-led Research?. Also, read The Computer for the 21st Century and The origins of ubiquitous computing research at PARC in the late 1980s. Be prepared to discuss all readings in class.
2005-SEP-19 (Mon) MIT student holiday. No class.
4 2005-SEP-21 (Wed) Joe, Josh and class Habitat monitoring with sensor networks and introduction to Python via simulator. Read both Wireless Sensor Networks for Habitat Monitoring and Monitoring Volcanic Eruptions with a Wireless Sensor Network and be prepared to discuss them in detail in class. Also, download simulator.zip. Instructions for writing Python programs to run on the simulator are found in the programs.py file. Before changing anything, try running 'python simulator.py' to see an example. You will need Python 2.4 and the latest PyGame to run the simulator. Write at least two programs. The first program should attempt to color all nodes according to their distance from the starting node. The second program can be whatever you'd like. E-mail all programs to Josh when you are done. You will show these programs in class.
5 2005-SEP-26 (Mon) Joe, Josh and class Application brainstorming and synchronization. Read and be prepared to discuss Sensor Networks for Emergency Response: Challenges and Opportunities, Two-tiered wireless sensor network architecture for structural health monitoring, DigiClip: Activating Physical Documents, Parasitic Mobility for Pervasive Sensor Networks, Reality Mining: Browsing Reality with Sensor Networks, and Time, Clocks, and the Ordering of Events in a Distributed System. In addition, use the new version of the simulator to test the programs you wrote last week, all of which are included in programs.py. In this version of the simulator, each node has its own clock. Not all clocks run at the same speed or started at the same time. After you've tried running your old programs, run the Blinker program using the command python simulator.py Blinker all_nodes. Modify the program such that all nodes blink synchronously. In other words, synchronize the network. Refer to the last reading above for ideas on how to do this or come up with your own method. Try to work within the bounds of the spirit of the simulator.
6 2005-SEP-28 (Wed) Mat Laibowitz (ResEnv) and Joe Dvorak (Motorola) Low-power radios, 802.15.4 and Zigbee. Read Impact of Radio Irregularity on Wireless Sensor Networks for the main points and to become familiar with radio networking terminology (e.g., MAC and protocol layers, ACK, RTS, CTS, CSMA). Read Home networking with Zigbee for an introduction to Zigbee and as background for Joe Dvorak's talk. See Wireless Wearable Transceivers for background to Mat Laibowitz's talk. Read Self-configuring, Lightweight Sensor Networks for Ubiquitous Computing for a good example of how much can be done with relatively little sensor data. Write and turn in a couple paragraphs that flesh out one or more of the ideas discussed in class on Monday.
7 2005-OCT-03 (Mon) Joe, Josh, Mark and class Programming models and virtual machines. Read and be prepared to discuss Mate: A Tiny Virtual Machine for Sensor Networks, Bridging the Gap: Programming Sensor Networks with Application Specific Virtual Machines, Mobile Agent Middleware for Sensor Networks: An Application Case Study, and Region Streams: Functional Macroprogramming for Sensor Networks.
8 2005-OCT-05 (Wed) Joe, Josh, Mark and class Distributed inference and application ideas. Read and be prepared to discuss in class Self-configuring, Lightweight Sensor Networks for Ubiquitous Computing (assigned but not discussed on 2005-SEP-28) and A Robust Architecture for Distributed Inference in Sensor Networks. Bring your hardware to class.
2005-OCT-10 (Mon) Columbus Day. No class.
9 2005-OCT-12 (Wed) Joe, Josh, Mark and Vincent Privacy and security presentation by Vincent and building hardware. In preparation for Vincent's presentation, please read Maintaining privacy in pervasive computing - enabling acceptance of sensor-based services and SPINS: Security Protocols for Sensor Networks. In preparation for building hardware, please bring your hardware to class.
10 2005-OCT-17 (Mon) Joe, Josh, and Mark Getting acquainted with hardware. Follow the instructions in the step-by-step guide to building a plug low voltage board.
11 2005-OCT-19 (Wed) Joe, Josh, and Mark Continue building hardware. Finish and test the plug low voltage board you started last week. Follow the instructions in the step-by-step guide to building a plug high voltage board.
12 2005-OCT-24 (Mon) Joe, Josh, and Mark Continue building and testing hardware. Fix any mistakes on the two circuit boards and start mechanical assembly.
13 2005-OCT-26 (Wed) Joe, Josh, and Mark Finish building and testing hardware. Prepare mechanical assembly for final testing.
14 2005-OCT-31 (Mon) Joe, Josh, and Mark Simple data analysis. Take a look at plug-halloween.zip. This zip file contains a data set taken at a lab bench and a python script to parse the data set. Running python -i plug-halloween.py will run the script and put you in a python interactive shell with the parsed data as variables. Parsing the data using this script takes about 3 seconds on a relatively fast machine. Use this script as a starting point to using python to understand the data set. Hand in a brief write-up of your findings along with any code, graphs or other materials you produced to arrive at your findings. This assignment must be completed in the python programming language.
15 2005-NOV-02 (Wed) Joe, Josh, and Mark More data analysis. Download pyusb-0.3.tar.gz and install PyUSB according to the instructions in the included README file. Use PlugUSB.py to log and parse data from your Plug. Run the script as python -i PlugUSB.py. You may have to be root in order to access the USB port. Using your logged data, write a program in Python to distinguish between the three types of loads discussed in class: resistive (e.g. lightbulb), inductive (e.g. fan) and switching (e.g. switching AC to DC converter). Also, verify that the light sensor and microphone on your Plug are functioning correctly. Present the results of both these tasks in the form of a website. This website will serve as the repository for all your future Plug assignments. E-mail the address of the website to Joe, Josh, and Mark.
16 2005-NOV-07 (Mon) Joe, Josh, and Mark Tools development. Split into 3-4 groups to work on further developing some of the tools we've been using, such as USB connectivity, sound to and from .WAV files, real-time streaming data visualization, 3D models, and device classification algorithms.
17 2005-NOV-09 (Wed) Joe, Josh, and Mark Electrical load signatures and expansion port project. Bring to class a brief outline of a small project making use of your Plug's expansion port. We will cover the expansion port capabilities in class. Also, choose two of the following papers read and prepare for brief in-class discussion: Power Signature Analysis, Development and Validation of a Transient Event Detector, Exploration on Load Signatures, Residential Energy Monitoring and Computerized Surveillance via Utility Power Flows, Advanced Electrical Load Monitoring: A Wealth of Information at Low Cost, SeeGreen: A Tool For Real-time Distributed Monitoring of Home Electricity Consumption, and A Review of Induction Motors Signature Analysis as a Medium for Faults Detection.
18 2005-NOV-14 (Mon) Joe, Josh, and Mark Start Plug expansion board projects in lab. Follow last week's project proposals. Bring your Plug to lab.
19 2005-NOV-16 (Wed) Joe, Josh, and Mark Continue Plug expansion board projects in lab. The parts for all the expansion board projects have arrived. Bring your Plug and expansion boards to lab.
20 2005-NOV-21 (Mon) Joe, Josh, and Mark Finish Plug expansion board projects in lab. Bring your Plug and expansion board project to lab.
21 2005-NOV-23 (Wed) Joe, Josh, Mark, and class Plug expansion board project presentations. Come to class ready to give a brief presentation showing off your Plug expansion board project. Be prepared to critique other projects.
22 2005-NOV-28 (Mon) Joe, Josh, and Mark Second iteration of tools development. We will again split up into the working groups we had earlier this month to refine the tools we developed then given what we learned from the Plug expansion board projects.
23 2005-NOV-30 (Wed) Joe, Josh, and Mark Working group updates and final project proposals. Be prepared to present updates to the class about progress and deliverables from your working groups, as well as outlines of your final project proposals.
24 2005-DEC-05 (Mon) Joe, Josh, and Mark Start final projects in lab. Turn in your final project proposal before class. Bring everything you'll need to lab.
25 2005-DEC-07 (Wed) Joe, Josh, and Mark Continue final project work in lab. Meet in lab with everything you'll need to work.
26 2005-DEC-12 (Mon) Joe, Josh, Mark Continue final project work in lab. Meet in lab with everything you'll need to work.
27 2005-DEC-14 (Wed) Last day of classes. Discussion of final projects.
28 2005-DEC-19 (Mon) Final exam in building 26, room 328, 9:00am to noon.