| KTH / Electrical Engineering
Wireless sensor network programm
Wireless
sensor network programming: an introduction
|
|
|
News: Course starts
October 9th at 9am!
Please note: bring your own laptop, make sure that Instant
Contiki is installed prior to first lecture.
(see details under "course literature, hardware and software") |
|
Course objectives
This course is a
two-week intensive course aiming at a hands-on introduction to wireless
sensor network programming. The course contains lectures and laboratory
exercises centered around a two-week mini-project in which you will
implement a protocol or an algorithm of your choice on real sensor network
hardware. At the end of the course, there will be a half-day seminar in
which participants present their mini-projects and discuss their experiences
from hands-on programming of wireless sensor nodes. The programming is done
using C on the Contiki operating system.
The course is a three
credit course offered under the ACCESS
graduate school.
Personnel
Course instructors are
Adam Dunkels and
Fredrik Österlind from Swedish
Institute of Comptuer Science (SICS), while the KTH coordination and
examination is done by Carlo
Fischione and Mikael Johansson.
Course literature, hardware and
software
The course does not
follow any book, but lecture notes and exam instructions will be
distributed. The following references are useful as background material on
the Contiki operating system
[1] Adam Dunkels, Björn
Grönvall, and Thiemo Voigt,
Contiki - a
Lightweight and Flexible Operating System for Tiny Networked Sensors,
IEEE Emnets 2004.
[2] Adam Dunkels, Oliver
Schmidt, Thiemo Voigt, and Muneeb Ali,
Protothreads:
Simplifying Event-Driven Programming of Memory-Constrained Embedded Systems,
ACM SenSys 2006.
[3] Adam Dunkels, Fredrik
Österlind, and Zhitao He,
An adaptive
communication architecture for wireless sensor networks, ACM
SenSys 2007
If you are new to C
programming, you might want to check out one of the many tutorials avaiable
on the web, e.g.
[4] Brian W. Kernighan,
Programming in C - A
Tutorial
Participants are supposed to bring their own
laptop, with a pre-installed Contiki development environment. We will use
the
Instant Contiki
environment, which is a one-click installation of the Contiki development
environment for Windows PCs. You thus need to install
- VMWare Player
- FTDI Driver
- Instant Contiki 2.2.1
from the Instant Contiki home page, and
install the file
http://www.sics.se/contiki/ckth08.tar.gz in Instant Contiki.
Wireless sensor nodes ("motes") can be borrowed from the control department
prior to the first lecture.
Disposition
The course consists of 1
lecture, 2 laboratory sessions, individual project work and a half-day
seminar where the participants present their results and exchange
experiences from their programming project.
Note:
The schedule is preliminary:
we are still listening to your feedback. Also, please note that the lecture
notes are indicative and will be updated prior to the course start.
|
|
Day
|
Time
|
Place
|
Content |
|
Lec 1 |
Thu |
Oct 09, 09-12 |
Q11 |
Introduction to Contiki: vision, background, system structure,
programming and communication.
[notes] |
|
Lab 1 |
Thu |
Oct 09, 13-15 |
Q15 |
Contiki for TMote Sky: "Hello World",
network programming; Contiki simulation with Cooja.
Getting experimental data out of a live system.
[notes] |
|
Lab 2 |
Thu |
Oct 16, 10-12 |
Control dept |
Q&A |
|
Sem 1 |
Mon |
Oct 27 09-12 |
Q15 |
Project seminar |
The purpose of the first
laboratory exercise is to get you started with wireless sensor network
programming in Contiki, while the second exercise is more of a QnA session,
where you can discuss your mini-project and get direct programming advice.
There are two types of
mini projects. For students with previous programming experience from
another operating system, such as TinyOS, a suitable project is to convert
(parts) of a previous project to Contiki. If you believe that you fall under
this category, please contact the instructors to verify that your project is
reasonable.
For students without
experience in WSN programming, however, we recommend to choose a simpler
introductory project, such as the ones listed below
P1. Implementation of a
simple routing protocol.
P2. Implementation of a
link-quality measurement tool for the Contiki shell
P3. Implementation of an
energy-efficient MAC protocol
Please contact
Mikael Johansson or
Carlo Fischione if you would like to
discuss alternative introductory projects.
There is no formal exam
in the course. However, to pass the course you will need to write a short
paper on your mini-project, and present your project to the other
participants during the seminar day.
The purpose of this
exercise is thus twofold: you should get experience from building a system
using Contiki, and with collecting and presenting experimental data from
your system. The paper should not be a report, i.e. you should not
describe what you did and in what order you did it. Rather, your paper
should present the results of the system you develop as part of the project.
You have to adhere two a
(strict) two-page limit and follow this template:
[instructions],
[template],
[example paper].
This is the paper structure used by most (good) papers in the computer
systems community.
|