Cette page appartient aux archives web de l'EPFL et n'est plus tenue à jour.
This page belongs to EPFL's web archive and is no longer updated.


TinyOS 2.0 installation on Debian
1) Copy SDK and javacomm .tgz files from http://www-128.ibm.com/developerworks/java/jdk/. Unpack, copy to the /usr/lib/j2se (or other) directory and update the environment variables
2) Go to http://www.tinyos.net/tinyos-2.x/doc/html/install-tinyos.html and get all the rpms
3) use alien (apt-get install alien) to convert them to debian packages
4) Follow the instruction at the link in 1) to install them using dpkg
Posted by Jacques Panchard at 18:34
Debian TinyOS installation
(From http://www.comnets.uni-bremen.de/typo3site/index.php?id=48)

Get nesc version 1.2 or higher from sourceforge

Install debian packages for tinyos (from http://thomer.com/tinyos/)

Get TinyOS from CVS

$ cvs -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/tinyos login

$ cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/tinyos co tinyos-1.x

Get tinyos tools for debian

Setup Environment by inserting this (adopted to your pathes) into .bashrc and sourcing .bashrc


export TOSROOT="/home/mab/source/work/tinyos-1.x"

export TOSDIR=$TOSROOT/tos

export MAKERULES="$TOSROOT/tools/make/Makerules"


export JDKROOT="/usr/lib/j2sdk1.5-sun"

export JAVAXROOT="/usr/lib/j2sdk1.5-sun"

export CLASSPATH=".:$TOSROOT/tools/java:$JAVAXROOT/jre/lib/ext/comm.jar:$TOSROOT/tools/java/jars/jdom.jar"

export PATH="$PATH:$JDKROOT/bin"


export MSPGCCROOT="/opt/msp430"


export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/lib/:$JAVAXROOT/jre/bin/"

export TELOS_REV=B

Setup msp430-gcc

$ cd tinyos-1.x/tools/src/mspgcc

As root:

$ sudo ./build-mspgcc install

(When your standard gcc's version is 4.0, set:

$ export CC=gcc-3.4


$ export CXX=gcc-3.4)
Setup msp430-bsl

$ cd tinyos-1.x/tools/src/mspgcc-pybsl

as root:

$ ln -s bsl.py /opt/msp430/bin/msp430-bsl

Setup NesC

Get the actual NesC:


Get a patch for NesC:


$ tar xvzf nesc-1.1.3.tar.gz

$ cd nesc-1.1.3

$ patch -p1 < nescc-1.1.3-noinline.patch

$ ./configure

$ make

$ make install

Setup java


apt-get install java-package

Download J2SE(TM) Development Kit 5.0 Update 5 - Linux self-extracting file.

fakeroot make-jpkg jdk-1_5_0_05-linux-i586.bin

dpkg -i sun-j2sdk1.5_1.5.0+update05_i386.deb

Setup javax.comm

$ tar xvzf javax_comm-2_0_3-....zip

$ cp commapi/comm.jar $JDKROOT/jre/lib/ext/

$ /bin/echo Driver=gnu.io.RXTXCommDriver > JDKROOT/jre/lib/javax.comm.properties

Copy libgetenv.so to the right place:
cp tinyos-1.x/tools/java/jni/libgetenv.so /usr/lib/j2sdk1.5-sun/jre/lib/i386/

Install tinyos scripts

$ cd $TOSROOT/tools/scripts

$ make install prefix=/usr/local

Make tinyos java tools

$ cd $TOSROOT/tools/java

$ make

$ make

Verify setup with toscheck

$ cd $TOSROOT/tools/scripts

$ ./toscheck

you can ignore warnings of: avr-*, uisp(??), graphviz/dot

Prepare Deluge (???)

$ cd $TOSROOT/beta/Deluge

$ mkdir -p net/tinyos/deluge

$ cp delugetools/* net/tinyos/deluge

Make TinyOS

$ cd $TOSROOT/


Make Applications

$ cd apps

$ make telosb

(fails probably for some applications.)

Modifications for net.tinyos.oscope

Modify tools/java/net/tinyos/oscope/Makefile:

MIG = mig -target=telosb -v java -I$(TOSDIR)/lib/CC2420Radio/

Check contrib/shockfish/README to
see if there is anything missing


Installation on Debian and RedHat with avr: www.eecs.harvard.edu/~mainland/tinyos/

Installation on RedHat without avr: www.owlnet.rice.edu/~tm/tinyos/telos-linux.pdf

Installation on Redhat with avr: www.tinyos.net/tinyos-1.x/doc/install.html

TinyOS Tutorial: www.tinyos.net/tinyos-1.x/doc/tutorial/

Moteiv support page: www.moteiv.com/support.php
Posted by Jacques Panchard at 16:20
Comments (1)
Radio Range: mica2, micaz and tinynode
Here are the results for radio range based on different platforms.
The experiments were conducted on flat and clear ground. More challenging settings such as forests or bush yields results with such a high variance that it is impossible to derive a significant value for range.

Settings: 0 dBM, bit rate 19.2 kbps (255 kbps for micaz since it doesn't go lower)
Tested acceptable perceptual bidirectional connectivity (ping-pong application)
A human observer looks at a LED blinking. It is les precise that a packet count, but allows much more flexibility when looking for acceptable radio channels. A user can immediately identify bursty behaviour, and observe the evolution of the radio channel while walking.
The limit for connectivity was set to a subjective perception of 75% goodput.


Height| MICA2 MICAZ Tinynode

0m --------------------------- totally unreliable --------------------

1m 35m 110m 275m

2m 78m 57m 280m

Remarks: the only platform to gain range with height was the MICA2. Tinynode remained stable, while MICAz' range was almost divided by 2.

More results were conducted on tinynode, with a rf level of 10 dBm. we could reach upt to 510m, but the radio channel proved to be highly unreliable, meaning that when the connectivity was lost for instance, we had to go as close as 50m to regain it. In general, the channel was more bursty than with 0 dBM.
Posted by Jacques Panchard at 13:36
Bootstrap Loader for MSP430 on picotux
I think I found solution to our problem:


If this would not work, then we have to re-start our current approach. for this the following link might be useful:


and the two attached files.

Posted by Michal Piorkowski at 15:57
PicAdmin v0.01 Screenshots
Here are some screenshots of an example remote execution of the following script :

mount /pub -t nfs
rm -f /pub/hello
touch /pub/hello
cd /pub
ls -l
echo "Hello World !" >> hello
cat hello
Posted by Aristidis Papaioannou at 22:21
PicAdmin v0.01
As promised yesterday, the very first version of "PicAdmin", our remote administration software, is ready.

Remote Execution of shell scripts on all or any subset of the nodes is possible, along with real-time view of their corresponding output.

Screenshots will soon be available.
Posted by Aristidis Papaioannou at 15:10
Comments (3)