TinyOS Tutorial

MICA Platform Design and HW verification tools 

Lesson 0: Check your install and hardware
Lesson 0 walks though the toscheck tool and the mica_hardware_verify application.

Lesson 1: An Introduction to Tiny OS
Lesson 1 introduces the major concepts required to program Tiny OS applications. These include a description of components, frames, commands, and events. The Tiny OS programming model is explained. The role of each of the different file types are detailed. 

NEST Sensor Board Design 

Lesson 2: Event-driven Sensor Acquisition
The Tiny OS platform provides primitives to obtain sensing data from tiny networked devices. This lesson details how to build a simple sensing application that records the light exposure on a photo diode. 

Lesson 3: Introducing Tasks for Application Data Processing
The roles of both tasks and events are described. This lesson illustrates the use of tasks to process data from the sense application in lesson 2 and events to receive the sensor data and pass it on to the background running task. 

Lesson 4: Composing Components to Send and Receive Messages
Lesson 4 introduces basic abstraction to send integers via the RFM radio stack. A counter application is built that sends the current value of the counter over the RF radio. 

TOSSIM Lesson: Using the Simulator to Develop TinyOS Components
TOSSIM is the TinyOS simulator. Learn how to build, debug, and run components using TOSSIM.

Lesson 5: Displaying Data on a PC
In order to utilize the data from the tiny networked sensors, we must be able to analyze it on the host computer. This lesson provides an example application that graphs the light readings from the sensors over time. 

Lesson 6: Broadcasting Packets 
Lesson 6 has three components.  

  • It shows how to inject packets from a host environment.  
  • This is used to drive a simple message-based command interpreter.  A general abstraction is used for sending arbitrary packets over the RFM radio stack. 
  • A multihop broadcast application is built that floods the network with a task to be performed. 


Lesson 7: Data Logging Application
The final lesson provides a fairly complete application for remote data logging and collection. It also illustrates a simple multihop data propogation method that allows data to be collected by a central location.