Programmierung Drahtloser Sensornetze
(19579)
Typ | Praktikum |
---|---|
Dozent/in | Prof. Dr. Mesut Günes, Oliver Hahm, Kaspar Schleiser |
Institution | Institute of Computer Science Freie Universität Berlin |
Semester | WS 10/11 |
Veranstaltungsumfang | |
Leistungspunkte | 6 |
Raum | Takustraße 9 K 60 |
Zeit | Time: Wednesday, 14:00 c.t.- 17:00
|
Eingebettete Systeme unterschiedlichster Prägung haben in den letzten Jahrzehnten Einzug in völlig verschiedene Gebiete des Alltags und der Industrie gehalten. Von der Verwendung in Haushaltsgeräten und Kraftfahrzeugen über Aufgaben der Haustechnik bis hin zum Einsatz bei komplexen Fertigungsanlagen, überall sind solche Geräte zu finden.
Genauso verschieden wie ihre Anwendungsgebiete sind auch die Systeme selbst. Eine besondere Gattung, die in jüngster Zeit immer mehr an Bedeutung gewinnt, stellen die drahtlosen Sensorknoten dar: Meist batteriebetriebene Geräte, die neben einem Mikrocontroller zusätzlich über einen oder mehrere Sensoren sowie einen Funk-Chip verfügen.
MSB-A2 |
Das Praktikum bietet einen Einstieg in die Programmierung solcher Systeme und ermöglicht den Teilnehmern mit den verbreitetsten Technologien sowie den Besonderheiten einer Softwarearchitektur für drahtlose Sensornetze vertraut zu werden.
Beim Entwurf und der Implementierung für diese Systeme stellen sich dem Entwickler einige ganz spezielle Herausforderungen. Zum einen muss Rücksicht auf die begrenzten Ressourcen hinsichtlich der Rechenleistung und des Speichers, aber auch bezüglich der Energie genommen werden, zum anderen stellt der Aufbau ein drahtlosen Ad-hoc-Netzes besondere Anforderungen.
Die Programmierübungen erfolgen auf dem MSB-A2-Sensorknoten. Das Board verfügt neben dem Mikrocontroller über einen leistungsfähigen 868MHz Transceiver und mehrere Sensoren. Es stellt damit auch eine ideale Plattform für drahtlose Sensornetzwerke dar. Als 32 Bit-Mikrocontroller wird ein ARM7TDMI-S (der LPC2387 von NXP) verwendet und als Transceiver kommt der weit verbreitete CC1100 von Texas Instruments zum Einsatz.
Im Laufe der Veranstaltung werden die Teilnehmer schrittweise eine verteile Anwendung implementieren. Als Grundlage für diese Programmierübungen dienen der selbst entwickelte Kernel µkleos und die GNU ARM Toolchain.
Folien
- Anleitung für die Rechnerkonfiguration
- Threads, Stack und IPC
- Das Jam Build-System
- Drahtlose Datenübertragung in WSN
Subversion-Repository: https://svn.imp.fu-berlin.de/cst-teaching/Programming%20Wireless%20Sensor%20Networks/WS1011/Students/gruppe<NUMMER>/
Termine
1. Übungszettel vom 20.10.2010
Den Übungszettel gibt es him Downlaod.
Die Hex-Datei für die erste Aufgabe.
Die µkleos-Projektseite und das Archiv von Version 1.0.
Abgabe: 27.10.2010
2. Übungszettel vom 27.10.2010
Den Übungszettel gibt es hier zum Downlaod.
Die µkleos-Projektseite und das Archiv von Version 0.01a.
Abgabe: 03.11.2010
3. Übungszettel vom 03.11.2010
Den Übungszettel gibt es hier zum Downlaod.
Die µkleos-Projektseite und das Archiv von Version 0.01a.
Abgabe: 03.11.2010
4. Übungszettel vom 10.11.2010
Den Übungszettel gibt es hier zum Downlaod.
Die µkleos-Projektseite und das Git-Repository.
Zum erstmaligen Herunterladen der µkleos-Sourcen:
git clone -b stable http://ukleos.org/git/ukleos
Zum Aktualisieren der Sourcen:
git pull
Nach dem erstmaligen Herunterladen:
cd board/msba2/tools/
mkdir bin
make
Abgabe: 17.11.2010
5. Übungszettel vom 17.11.2010
Den Übungszettel gibt es hier zum Downlaod. Ein Skelett für die Anwendung liegt hier.
Download der Protokollbeschreibung in der aktuellen Version.
Die µkleos-Projektseite und das Git-Repository.
Zum Aktualisieren der Sourcen:
git pull
Abgabe: 01.12.2010
6. Übungszettel vom 24.11.2010
Den Übungszettel gibt es hier zum Downlaod.
Die µkleos-Projektseite und das Git-Repository.
Zum Aktualisieren der Sourcen:
git pull
Abgabe: 08.12.2010
7. Übungszettel vom 08.12.2010
Den Übungszettel gibt es hier zum Downlaod.
Download der Protokollbeschreibung in der aktuellen Version. Die dazu passende Header-Datei.
Die µkleos-Projektseite und das Git-Repository.
Zum Aktualisieren der Sourcen:
git pull
Abgabe: 15.12.2010
8. Übungszettel vom 15.12.2010
Den Übungszettel gibt es hier zum Downlaod.
Download der Protokollbeschreibung in der aktuellen Version. Die dazu passende Header-Datei.
Die µkleos-Projektseite und das Git-Repository.
Zum Aktualisieren der Sourcen:
git pull
Abgabe: 05.01.2011
9. Übungszettel vom 05.01.2011
Den Übungszettel gibt es hier zum Downlaod.
Download der Protokollbeschreibung in der aktuellen Version. Die dazu passende Header-Datei.
Die µkleos-Projektseite und das Git-Repository.
Zum Aktualisieren der Sourcen:
git pull
Abgabe: 19.01.2011
10. Übungszettel vom 19.01.2011
Den Übungszettel gibt es hier zum Downlaod.
Download der Protokollbeschreibung in der aktuellen Version. Die dazu passende Header-Datei.
Die µkleos-Projektseite und das Git-Repository.
Zum Aktualisieren der Sourcen:
git pull
Abgabe: 26.01.2011
11. Übungszettel vom 26.01.2011
Den Übungszettel gibt es hier zum Downlaod.
Download der Protokollbeschreibung in der aktuellen Version. Die dazu passende Header-Datei und eine neue Version des Protokoll-Gateways.
Die µkleos-Projektseite und das Git-Repository.
Zum Aktualisieren der Sourcen:
git pull
Abgabe: 02.02.2011
12. Übungszettel vom 02.02.2011
Den Übungszettel gibt es hier zum Downlaod.
Download der Protokollbeschreibung in der aktuellen Version. Die dazu passende Header-Datei.
Die µkleos-Projektseite und das Git-Repository.
Zum Aktualisieren der Sourcen:
git pull
Abgabe: 09.02.2011
20.10.2010 | Erster Termin: Organisatorisches, Einführung und erstes Arbeiten mit dem MSB-A2 |
28.10.2010 | Zweiter Termin: Die Kernel-Architektur und der Aufbau von Anwendungen unter µkleos |
03.11.2010 | Dritter Termin: Ein- und Ausgabe |
10.11.2010 | Vierter Termin: Senden und empfangen von Paketen |
17.11.2010 | Fünfter Termin: Implementierung einer einfachen, verteilten Anwendung |
24.11.2010 | Sechster Termin: Paketsniffer |
01.12.2010 | Siebter Termin: Paketsnifer II |
08.12.2010 | Achter Termin: Service Discovery |
15.12.2010 | Neunter Termin: Routing |
05.01.2011 | Zehnter Termin: Multi-Hop Routing |
12.01.2011 | entfällt |
19.01.2011 | Elfter Termin: Dynamische Adressvergabe |
26.01.2011 | Zwölfter Termin: Netzweite Adressvergabe |
02.02.2011 | Dreizehnter Termin: Suffix-basiertes Routing |
09.02.2011 | Vierzehnter Termin: Plugfest |