wiki:QuantoTestbed

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.

Toolchain

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

Basic usage

Prabal's Tools

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.

More documentatation