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.
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.
- The TinyOS Tutorials
- The nesC Language Reference Manual
- Lab skeleton git repo
- Information about setting up the lab environment
- TinyOS programming
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.
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