Lesson 1 introduces the major concepts required to program TinyOS
applications. These include a description of components, interfaces,
commands, and events. The TinyOS programming model is explained. The role
of each of the different file types are detailed.
The TinyOS 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.
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 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.
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.
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.
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.
In addition to these basic lessons, several other documents are
available: