An FDL'ed Textbook on Sensor Networks

by Dr. Thomas Haenselmann

This textbook is published under the GNU Free Documentation License (GNU FDL). You are free to read, copy and distribute all files on this page. Please acknowledge the author if you include single slides, text or figures into another context. Also return the content to Thomas Haenselmann if you change or extent either the book or the slides.
.pdf
Portable Document Format by Adobe (requires Acrobat Reader or KPDF)
.odp
OpenDocument Presentation file (requires OpenOffice 2.0 or later)
.tex
LaTeX file


Book in postscript (sensor_networks.ps 13MB)
or pdf (sensor_networks.pdf 4MB) format

tex-files and figures: sensor_networks.tgz (8MB)
render book: make && make display







content.pdf
motivation logo
Motivation and Introduction
Sensor Networks are introduced as a consequential development of information technology. The ESB reference platform used in this book is described to give the reader an idea of the capabilities of a typical sensor node and to reveal related problems. The chapter concludes with an estimate of a node's lifetime if no energy efficient MAC algorithms are used. This leads to chapter 2 which discusses solutions to the problem.
Chapter 1:
chapter1.pdf (tex)

Lecture slides:
motivation.pdf
(odp)

Exercise:
sheet_1.pdf solution_1.pdf

mac logo

Energy Efficient Medium Access
We want a Sensor Network to be responsive at any time on one hand, but it should be energy efficient to the largest degree. These contradictory aims are solved by introducing medium access algorithms with energy efficiency in mind. From now on the reader needs a basic understanding of computer science. The problem of medium access is introduced. The ISO/OSI reference model is also explained shortly with some sensor network-specific details. Knowing some basics about computer networks is beneficial but not essential.
Chapter 2:
chapter2.pdf (tex)

lecture slides:

mac_err_resilience.pdf (odp)
crc_poisson.pdf (odp)
eng_eff_mac.pdf (odp)
radio.pdf (odp)

exercise:
sheet_2.pdf solution_2.pdf
sheet_3.pdf solution_3.pdf
sheet_4.pdf solution_4.pdf


routing logo

Networking and Routing
Networking and Routing explains approaches which rely on the energy efficient MAC-layer from Chapter 2. This chapter presents routing algorithms, partly in an application independent way. In Sensor Networks, routing and data maintenance are often mixed topics. This is particularly true for the approaches "Geographic Hash Tables" and "Rumor Routing".
Chapter 3:
chapter3.pdf (tex)

lecture slides:
smacs_geo_rout.pdf (odp)

exercise:
sheet_5.pdf solution_5.pdf
sheet_6.pdf solution_6.pdf


positioning logo


Positioning and Localization
The focus of this Chapter is on outdoor positioning using GPS (or a small number of elsewise positioned nodes) and GPS-less approaches which build up a local coordinate system with no global reference. Knowing a node's position or at least the relative position with regard to other nodes is essential for many SN applications.
Chapter 4:
chapter4.pdf (tex)

lecture slides:
positioning.pdf (odp)
sync_apps.pdf (odp)

exercise:
sheet_7.pdf solution_7.pdf
sheet_10.pdf solution_10.pdf


aggregation logo


Data Compression and Aggregation
This chapter discusses the Berkeley TAG approach which interprets a SN as an SQL-like database. Some very efficient aggregating operators can be applied to keep the amount of data small which has to be transfered. "Coding with Side Information" will discuss an approach which allows a node "A" to compress its information with respect to another node "B" without the need to communicate with node "B". The basic idea was introduced by Slepian and Wolf and was applied to SN many years later.
Chapter 5:
chapter5.pdf (tex)

lecture slides:
tag.pdf (odp)


synchronization logo

Synchronization
Some applications require precise timing, particularly when its come to localizing events and sound sources in the network. The chapter deals with differences between NTP-like timing and Reference-Broadcast Synchronization in SN. An in-depth analysis of emerging error types exists on the lecture slides already but has yet to be written. As an alternative, handling fussy events is introduced in this chapter. This eliminates the need for frequent clock synchronizations.
Chapter 6:
chapter6.pdf (tex)

lecture slides:
synchronization.pdf (odp)

exercise:
sheet_8.pdf solution_8.pdf
security logo
Security In early stages of research, security is often a neglected aspect. Thus we want to make the reader familiar with security related problems and suggest some solutions for encrypting information with special emphasize on SN. The reader does not require prior knowledge about encryption. Public key encryption and an approach based on privacy homomorphisms is introduced in a very practical "hands-on" way. Chapter 8:
chapter8.pdf (tex)

lecture slides:

exercise:
sheet_9.pdf solution_9.pdf

Work in progress

Operating Systems

Two different Operating Systems for SN will be described. TinyOS was been developed by UC Berkeley and ContikiOS by the Swedish Institute for Computer Science. TinyOS involves some changes with regard to the programming paradigm which is used, mainly since modules are configured and linked to one another in order to exchange messages in a stack-like structure. ContikiOS has a longer tradition as a multitasking 8-Bit operating system but it does not change the interaction between application and the OS-API in the way TinyOS does. Some aspects of Contiki will be analyzed down to the level of the source code. Its exceedingly slim and clear structure makes it particularly suitable for educational purposes.

Chapter 7:
chapter7.pdf

lecture slides:

os.pdf


Work in progress
Excursus: Programming the ESB
The aim of this chapter is to explain the GNU tool chain which is necessary to write a "Hello, World" program on the ESB platform. The lectures held so far included 1-2 sessions in which students wrote a small sample application which allowed every participant to broadcast a text-string from one node to all neighbors. Though this does not make a SN-specialist by itself it enables students to start more advanced projects.



lecture slides:
msp430.pdf
(Focusing on the MSP430 assembler and some specialties about the ESB platform like the watch dog etc.)


Index and Bibliography

index_bib.pdf