Research in the area of wireless networks often requires the collection of received signal strength (RSS) measurements. "Spin" is a TinyOS program written in NesC that collects RSS information from a wireless network using a token passing protocol. The token passing protocol prevents the nodes from transmitting at the same time, and makes the network more robust to lost packets. Spin has been tested with Crossbow TelosB nodes, but should work on other TinyOS 2.x compatible hardware that uses the CC2420 radio chip.
The code for Spin is open-source and the project is found at http://www.launchpad.net/spin.
The easiest way to get spin is to install the Bazaar Version Control System for free. Once Bazaar is installed, simply create a directory for the file, then enter the following command in a terminal: "bzr branch lp:spin/1.x" This will connect and download the latest 1.x version of spin. An internet connection is obviously necessary. If you prefer not to install Bazaar, you can download the files one at a time. Once the code is downloaded and installed on your nodes, push the user button on the node to trigger the transmissions. Also, make sure to open spin.h and edit the number of nodes (NUM_NODES) that you would like to program for your network.
If you would like to collaborate on the open-source project, please contact Joey Wilson (firstname.lastname@example.org). Please keep in mind that any new features added to the Spin project must remain open-source, and must be disclosed to the SPAN lab for possible incorporation into the main source code. This basically means that you can not take the code, add features, and then hide those changes from the Spin project.
This video explains the basics of the token passing protocol used in Spin.