Mainpage:TOS apps

From Zolertia

Jump to: navigation, search


Resources and applications for TinyOS and the Z1

Obtain the most of your Z1 mote using TinyOS, below you can find the necessary tools to optimize and ease your work. All the test applications have been tested in our stable TinyOS branch at sourceforge (see [[Getting_Started_with_Z1#Adding_Z1_support_to_TinyOS | Here).

Installing Eclipse support for TinyOS

Eclipse is a popular multi-language software development environment, which provides an integrated development environment (IDE) and an extensible plug-in system. Instructions of how to provide full functionality for TinyOS and the Z1 mote are available at the following sources:

Using wireshark to capture 6loWPAN and IPv6 packet with TinyOS

The need to monitor and analyze network traffic is a constant requirement, this section teach how to use Wireshark in conjunction with BLIP (1.0) and TinyOS to sniff packets comming in/out an IPv6 network.

Using the defined dbg() to print information to console without TOSSIM

Many TinyOS applications include debugging dbg() to be used in TOSSIM, however when debugging code in console (serialdump, putty, picocom) instead of having to add printf's to visualize what already is printed using dbg(). To use printUART instead of dgb() do:

  • Add in your code:
#include "PrintfUART.h"
#undef dbg
#define dbg(X, fmt, args ...) printfUART(fmt, ## args)
  • At boot.booted() add:
  • Be careful when using SerialActiveMessageC component, it does not play nice along with PrintfUART.
  • If you get errors from sim_time_string definitions, add in /tos/chips/msp430/x2xx/usci/PrintfUART.h the following:
 char sim_time_string(){
   return 'A';

Useful applications for TinyOS and the Z1 mote

Here you will encounter many application and code snippet that serves as a starting point to many interesting WSN applications and projects. The following apps are intended as a basic example of the capabilities and functionalities of the Z1 and TinyOS, for deployments and applications that require more robustness please tweak your code accordingly.

Setting up Blip (1.0) for Z1 IPv6 communication

Brief: This guide will walk you though the configuration of a mote into a 6lowpan-to-ipv6 bridge using the version of Blip included in TinyOS 2.1.1 core. Current version of Blip is under active development in TinyOS main tree, see below for updates.

Test newer Blip 2.0 support with the Z1 mote

Brief: The new Blip and RPL stack has grow to be quite big, so although it is possible to use it with the Z1 mote, fewer resources will be available to fit the memory constrains (number of parents reduced for example, no route print debug enabled).

Set up a source/sink link and visualize temperature and acceleration data on a PC and the Web

Brief: The aim of this example is show how to set up a sender/receiver link between 2 Z1 motes, and how to visualize the data gathered in a computer. This application combines NesC code, XML and python script that can be used for developing other interesting WSN applications. This application also provides the opportunity to upload our data to the web using the well know application Pachube. This example still works but is outdated and kind of messy.

TinyOS RadioCountToLeds application using Blip

Brief: This program works exactly like the RadioCountToLeds sample app from TinyOS, but instead of using the default TinyOS network stack it uses the blip stack in TinyOS 2.1.1. Being able to communicate using ipv6 is very useful to integrate the system using other technologies.

Send and receive temperature readings between z1 motes and a computer using 6loWPAN

Brief: This program is designed to read periodically the temperature sensor and send the data using a UDP package. This application combines the use of NesC code used to program the Z1 mote, and a Java interface at the computers ends who deals with the reception and delivering of data. Also includes energy-saving useful techniques and considerations, which serves as a guideline for WSN programming.

Personal tools
MansOS Support
General guides and apps