Quanto Testbed Readme and Tips
The Quanto testbed is a set of motes deployed on the ceiling of Soda hall. This page contains basic information about using and programming the quanto testbed *at Berkeley*. The frontend login machine is smote.cs.berkeley.edu.
It is convenient to be able to compile applications on smote. An up-to-date version of the toolchain including avr-gcc, msp430-gcc, nescc, and the python MNI tools are available in the tinyos group in /home/eecs/stevedh/tools. To add them to your path, you may source the file /home/eecs/stevedh/tools/tinyos-env from your startup scripts.
It is still necessary to set up a copy of the tinyos tree somewhere; we suggest checking out the local copy from svn+ssh://smote.cs.berkeley.edu/code/tinyos-2.x.
You also need to check out a copy of Prabal's testbed scripts:
$ svn co svn+ssh://smote.cs.berkeley.edu/testbed
Most of the scripts you're interested in are in testbed/scripts
Looks like you can use allprog <ihex file> to download to all connected digi motes. It will determine which motes are available by looking at running instances of the Digi socket daemon.
UCLA MNI Tools
These are python based, and use a config file to specify the mapping of mote to node id. Since Prabal's don't appear to set the node id in the binaries, this may be the thing to use. If you've sourced /home/eecs/stevedh/tools/tinyos-env, your PYTHONPATH should contain the necessary libraries. A simple python script will program the network:
import sys import mni m = mni.MNI("quanto.conf") # if not m.compile(): # sys.exit(1) if not m.install_all(): sys.exit(1)
You still need to generate the right config file. Use Prabal's tools to do this:
$ cd <wherever you checked out his tools> $ ./alive | ./mkmniconfig > quanto.conf
There's an example in /home/eecs/stevedh/tools/config/quanto.conf.