Pages

Monday, January 4, 2010

TinyOS (http://www.tinyos.net/) is the original and probably best well known operating system (OS) for the sensor nodes that make up Wireless Sensor Networks (WSNs). Sun Microsystems has also developed Java based sensors using the Squawk Virtual Machine (See https://spots.dev.java.net/). However, there is another operating system that we must consider not only for WSNs but also for embedded devices generally and what is sometimes referred to as ‘The Internet of Things’.

The Contiki Operating System (http://www.sics.se/contiki) is an open source multitasking operating system for memory-constrained networked embedded devices and wireless sensor nodes. It is a well established OS. Version 1.0 was released in March 2003. The latest edition, Version 2.3, was released in June 2009. It is free to download under BSD license. It was developed jointly by several research and commercial organisations including the Swedish Institute for Computer Science (SICS), the Technical University of Munich, SAP, Cisco and the semiconductor manufacturer ATMEL.

Contiki has been ported to many of the vast range of sensor products available including Crossbow’s TelosB and MICAZ sensor motes as well as this vendor’s Environmental Sensor Bus (ESB) (See http://www.xbow.com). Atmel’s AVR Raven sensors (See http://www.atmel.com) and Sentilla’s JCreate prototyping platform (http://www.sentilla.com/) are also supported.
The key feature of the Contiki Operating System to note is that the OS provides Internet Protocol (IP) Communication, both for IP version 4 and version 6 (known as IPv4 and IPv6 respectively). This has major implications as Contiki makes IP-based sensor networks possible. Contiki’s uIP embedded TCP/IP stack was released in 2001 and is the world’s smallest IP stack taking up 5k ROM for IPv4 and 11k ROM for IPv6. uIPv6 is the only certified IP stack (certification was achieved in October 2008) for embedded systems while uIPv4 is used in diverse applications including container tracking systems, oil pipelines, car engines and satellites.

1 comment:

Hi, might you know how to change Contiki's timer on msp430 so that instead of beating at 128 ticks/s, it would beat at its max, ie: 32768 ticks/s? I could change it to be 4096 ticks/s but anymore than that, it went berserk.