Hide menu

TDDI07 Distributed embedded software and networks



In the labs you will get familiar and program small wireles sensor nodes called also motes. A mote consists of an embedded CPU, sensors to read the environment (light, temperature, humidity...), a low power radio for communication with other motes and some LEDs for status indication. Several sensor nodes can be organized as a distributed sensor network. Common implementations make the nodes cooperate in routing all sensor readings to a central location for analysis and keep an updated status of the network in each node.

Example application areas are:

  • smoke/fire detection in a large warehouse
  • positions and health status of firefighters at work
  • positions of vehicles at an airport
  • volcano eruption prediction

You will program real sensor nodes and learn how to make them communicate wirelessly, considering important aspects for battery powered devices like energy.

TinyOS is an open-source operating system designed for wireless embedded sensor networks. It features a component-based architecture which enables rapid innovation and implementation while minimizing code size as required by the severe memory constraints inherent in sensor networks. TinyOS's component library includes network protocols, distributed services, sensor drivers and data acquisition tools. During the lab you will develop applications written in nesC for TinyOS.

Lab environment

You will perform the lab work in pairs. Each group will have a pair of motes and USB cables assigned that will be available only during lab sessions. You will be the responsible for them during the lab hours. The labs will be run in the SU lab rooms with Linux mahcines.

Lab sign up

Since the work on the lab assignments is done in pairs, you and your friend have to register your group for the laboratory exercises in the webreg system. The registration must be done before the first lesson. Deadline 8th of November.


Rules, deadlines and lab assignments

Due to the use of real hardware in the labs, the rules are the following:

  • The sensor nodes are only available during lab hours.
  • The labs have to be demonstrated using the sensor nodes. Therefore, you have to show the labs during lab hours. We will use Git and Gitlab in the labs. You can find instructions here.
  • You are required to prepare for the labs in advance to be able to finish them for the deadlines.
Understanding TinyOS requires much reading and experimentation. In order to be prepared and be able to ask questions during lab time you are supposed to prepare BEFORE the lab occasions. Otherwise, you are likely to miss the deadlines. If you miss a deadline without valid reason you will have to finish the course next year. Deadline for labs and reports: 20th of December.

Overview of the lab activities:

  • Nov 7 (Lesson), Introduction to TinyOS and NesC
  • Nov 8, Start to work on lab 1
  • Nov 11, Finish lab 1 and start work on lab 2
  • Nov 19, Start work on lab 3
  • Nov 27 (Lesson), Energy-efficient Wireless Communication
  • Dec 18, Last lab session
  • Dec 20, Last chance to demonstrate labs

Code of conduct

Rules for examination of computer lab assignments at IDA

You are expected to do lab assignments in group or individually, as instructed for a course. However, examination is always based on individual performance.

It is not allowed to hand in solutions copied from other students, or from elsewhere, even if you make changes to the solutions. If there is suspicion of such, or any other form of cheating, teachers are obliged to report it to the University Disciplinary Board.

Be prepared to answer questions about details in specific code and its connection to theory. You may also be asked to explain why you have chosen a specific solution. This applies to all group members.

If you foresee problems meeting a deadline, contact your teacher. You can then get some help and maybe the deadline can be set to a later date. It is always better to discuss problems, instead of, e.g., to cheat.

Any kind of academic dishonesty, such as cheating, e.g. plagiarism or use of unauthorized assistance, and failure to comply with university examination rules, may result in the filing of a complaint to the University Disciplinary Board. The potential penalties include suspension, warning.

Policy for handing in computer lab assignments at IDA

For all IDA courses having computer lab assignments there will be one deadline during or at the end of the course. If you fail to make the deadline, you must retake the, possibly new, lab course the next time the course is given.

If a course deviates from this policy, information will be given on the course web pages.

Page responsible: Mikael Asplund
Last updated: 2019-12-11