1.
Learning
objectives:
a) Understand TinyOS - Hardware abstraction
architecture (HAA); TinyOS architecture and component model; Main
characteristics of TinyOS 2;
b) Understand NesC programmng; c) Learn
representative WSN applications.
2.
Prerequisites: Module 1, plus a) Basic concepts of Operating
Systems; b) Basic concepts of Object-oriented Design and Analysis; c) Basic
concepts of Computer Networks.
3.
Module
description:
This
module introduces the dominant open source operating system for WSNs -
TinyOS. TinyOS differs from traditional operating systems in that it is
designed as a lightweight operating system for achieving high efficiency in
embedded systems, and therefore has no heavyweight kernel, no process
management, and no virtual memory.
Our designed module takes sample codes from the TinyOS 2.x kernel to
illustrate important ideas. These ideas include how TinyOS is designed to
support different hardware platforms (MicaZ, Mica2, TelosB, Iris, etc.), how
TinyOS is designed to support different hardware chips (MCU, radio, etc.)
for a specific platform, how the data link protocol for ChipCon.s CC2420 and
CC1000 chips are designed and implemented, how the timer system is designed
and implemented, and how the serial communication is designed and
implemented.
We further adopt several representative WSN applications
(BaseStation-Listen-BlinkToRadio, Oscilloscope, MultiHopOscilloscope, MViz,
and Octopus) and plot different network topologies for each application and
use them in this course module.
4.
Tools
utilized: MicaZ and TelosB
motes are used as the hardware platforms to illustrate the representative
WSN applications.
5.
Requirements:
Students are required to go
through the TinyOS tutorials and run illustrated TinyOS applications under
XubunTOS environment. Students are also required to go through TinyOS CVS
tree to have a basic idea about how TinyOS is designed and implemented.
6.
Assignments
and Hands-on projects: Students
are required to implement a Ping-Pong WSN application: When a node boots, it
sends a broadcast packet using the AMSend interface. When it receives a
packet, it a) waits one second; b) sends a packet; c) toggles an LED
whenever a node sends a packet. Detailed project description
+ Assignment
7.
Level of
difficulty: This module is
classified as a module of intermediate difficulty.
8.
Grading/evaluation
criteria: Graders need to see a
demo of the Ping-Pong applications submitted by students.
9.
PowerPoint
slides: TinyOS.ppt
10.
Online
resources:
HAA
Generic
Components
|