Wireless Sensor Research

*** MOVED TO ***


This used to be the wiki home of research using TinyOS and epic motes. The code is in the SensorsResearch folder of the SVN repository on whereabouts.eecs.umich.edu. These pages walk through various parts of the code.

Basics and Infrastructure


Guides Grouped by TinyOS Application




  • UDPMotion Application Overview - This goes over some of the interesting points of the UDPMotion application.
  • Forwarders - These receive data from the BLIP driver and forward it on to Whereabouts
  • Clients - These use the UDPMotion data in various ways
  • Tools - These run on a server and assist a client app
  • Supporters - These are apps that do not use the data from UDPMotion but collect and submit other data to Whereabouts that can be used in conjunction with UDPMotion.
  • Aggregators - These collect data from UDPMotion and its supporters and synthesize it into an easier to use and more helpful message that it sends back to Whereabouts.
    • Presence - A simple message that contains whether or not there is someone in an office and sometimes even who.


Low power listening (LPL) turns the radio off when it is not in use in order to save battery life.



These tests will work on irene/hemera motes.

Circuit Board Schematics

Schematics for some hardware can be found in the SVN repository:

$ svn co svn+ssh://<uniqname>@whereabouts.eecs.umich.edu/home/cvs/svnroot/trunk/SensorsProject/BoardDesigns

Use EAGLE to view the schematic and board files. Always open the schematic and board files together! (Eagle should ask you about this)

Created Boards

Eagle Tutorials

Sparkfun.com has three very helpful tutorials for getting started with Eagle. Keep in mind that they used an earlier version of Eagle and the shortcuts don’t quite line up correctly.

Other TinyOS Bits

To Do

  • Change older clients over to the Presence aggregator.
  • test for a disconnect in connection to whereabouts and fix it
    • updater
    • client
  • add mac to computerSleeper
  • different usernames based on mote id with hashmap
  • computer energy use monitoring
  • low power tinyos
  • finish hemera board
  • ability to send packet that associates a room and mote
    • check over data before submitting
  • dont do automatic 1 min refresh request when no activity
  • error handling mote2room
  • make clean and recompile
  • move collectors to own folder
  • update tinyos to svn
  • add the time of the last update from the motes to the website map information box
  • check to see if reading the sht11 still toggles the motion sensor
  • try using the new version of blip
  • measure power with new version of blip
  • get music school map setup
  • figure out why node 31’s light sensor doesn’t work
  • try using the epic id chip to set the id of the mote
  • document the server sent streaming api
  • script to do a lot of graphs and intervals
  • heatmap on website
  • update wiki with blip 2 stuff
  • get wiki from atul
  • create send packet on motion app again for irene
  • finish rohm bh17 tinyos driver
  • problems:
    • can’t ppp to the test bed
    • i2c bug with msp430-gcc 4.4.5
  • python abstract base class for generic listener sender (could be to send to mysql database, other db, whatever)
  • wireshark plugin
  • track # of retransmissions

Whereabouts Ideas

  • Proxies - a username that would submit data for an actual user
  • Services - a way to register services with the server and allow users to customize their privacy policies to allow/disallow certain services.


//get privacy policy
try {
  System.out.println("privacy policy:::");
  String command = "GetPrivacyPolicy";
  XMLDoc = new XMLDoc("<args/>");
  EncapsulatedDoc response = client.sendCommand(command, argDoc);
  if (response == null || response.getHeader("Status") == null || !response.getHeader("Status").equalsIgnoreCase("OK")) {
    throw new Exception("Error getting privacy policy: " + response.getBody());
  XMLDoc privpol = new XMLDoc(response.getBody());
} catch (Exception e) {
  System.out.println("error getting privacy policy: " + e.getMessage());
sensors_research.txt · Last modified: 2011/10/13 10:12 by
Recent changes RSS feed Creative Commons License Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki