Universität Tübingen Eingebettete Systeme Praktikum
Technische Informatik

Willkommen beim Praktikum "Programmieren von mobilen Eingebetteten Systemen"!


Herzlich willkommen auf den Internetseiten des Praktikums "Programmiern von mobilen Eingebetteten Systemen". Dieses Praktikum will praktische Erfahrungen beim Programmieren von mobilen ES vermitteln. Es knüpft an die Vorlesung "Eingebettete Systeme" an, die ebenfalls am Lehrstuhl Technische Informatik angeboten wird. Verwendete Programmiersprachen sind: C++, JavaSE und Java2ME.

Das Praktikum gliedert sich in mehrere Aufgaben mit jeweils theoretischen und praktischen Aufgabenstellungen, die in kleinen Gruppen innerhalb von 1 bis 2 Wochen entsprechend dem Zeitplan bearbeitet werden. Spätestens nach Ablauf der Frist für die jeweilige Aufgabe ist eine schriftliche Ausarbeitung abzugeben.

Die Teilnehmer sollen in Teams zu je 2 bis 3 Studenten/Studentinnen und in drei Gruppen eine kleine Programm-Entwicklung aus dem Gebiet "mobile Eingebettete Systeme" nachvollziehen und dabei moderne Entwicklungswerkzeuge und Komponenten kennen lernen. Darüber hinaus werden sie mit fortschrittlichen Aspekten der ES-Entwicklung wie Interdisziplinarität, Teamarbeit, Wiederverwendbarkeit und Energieeinsparung der Komponenten vertraut gemacht. Ziel des Praktikums ist die Entwicklung und Inbetriebnahme eines kleinen drahtlosen Sensor/Aktornetzwerks innerhalb eines Gebäudes auf der Basis der Bluetoothtechnologie.

Für die Bearbeitung der Aufgaben und die Anfertigung der Ausarbeitungen können speziell ausgestattete Rechner im Praktikumsraum C220 benutzt werden. Die meisten Aufgaben können aber, nach Installation der entsprechenden Software, gerne auch auf den heimischen Rechnern durchgeführt werden.

Struktur des Praktikumsnetzwerkes:


Abbildung 1: Struktur des Praktikumsnetzwerkes

Wie in Abbildung 1 gezeigt, gibt es drei verschiedene Arten von Knoten, die drahtlos über Blootooth miteinander kommunizieren können:

  1. Der Hostknoten, bestehend aus einem PC mit BT-Dongle (fest installiert)
  2. Der "mobile hierarchische Knoten" (fortan MHK), bestehend aus BT-fähigem Mobiltelefon (MT) und einem BTnode-Sensorknoten
  3. Der Aktorknoten, bestehend aus einer BTnode-Einheit (fest installiert)

Der Hostknoten versorgt den MHK drahtlos mit Diensten (Services) für Übertragung von Daten, beispielsweise für Übertragung eines Lageplans eines Gebäudes. In unserem Fall besteht der Host aus einem PC, an dem über einen USB-Port ein BT-Dongle angeschlossen ist und der über das Universitäts-LAN auf das Internet zugreifen kann.
Der MHK ist sozusagen ein "hierarchischer Knoten", da er einen "Masterknoten" und einen "Slaveknoten" enthält, wobei die Rollen von Master und Slave im Falle eines Notrufs vertauscht werden können. Als Anwendung des MHK sind z.B. ein mobiler Führer durch ein Museum oder einen Supermarkt oder etwa ein Rollstuhl, der mit seiner Umgebung "kommuniziert" denkbar. Der Masterknoten ist hier das MT, als Slaveknoten enthält das MHK einen Sonsorknoten auf Basis einer BTnode (http://www.btnode.ethz.ch), der in unserem Fall die Überprüfung der Stromversorgung des MHK oder die Notfallbehandlung übernehmen kann.


Abbildung 2: Der Mobile Hierarchische Knoten
Die Aufgaben des MHK sind:
  • aktiv die Dienste des Hosts abfragen ("Inquiry") und in Anspruch nehmen
  • den Aktorknoten steuern
  • die Notfallbehandlung, d.h. einen Telefonanruf an das öffentliche Telefonnetz absetzen. Dies wird hier durch einen Notfallschalter ausgeführt

Der Aktorknoten dient dazu, ein entferntes Gerät (z.B. eine Beleuchtung oder ein Heizungsgerät) ein- und auszuschalten. Er besteht aus einer BTnode und einem Relais, das eine Lampe schalten kann.


Abbildung 3: Der Aktorknoten

Organisation und Aufgaben

Praktikumsstruktur

Abbildung 4: Organisation des Praktikums und der Aufgaben

Es werden drei Gruppen zu je zwei bis drei Teilnehmern gebildet, die folgende Themen bearbeiten:

Gruppe A: Alles über BTnode, Funktionen, Programme, Schnittstellen
  • Programmieren in C, Plattform Eclipse
  • Programmierung des AVR Mikrokontrollers, Werkzeug AVR Programmierer oder selbst entwickelter AVR-Bootloader
Gruppe B: Mobiltelefon, Funktionen, Programme, Schnittstellen
  • Programmieren in J2ME (Java Micro Edition)
Gruppe C: Host: Funktionen, Programme, Schnittstellen
  • Programmieren in JavaSE

Aktuelles

Startseite
Betreuung
Teilnehmer
Scheine
Zeitplan
Rechner
Aufgaben
Lösungen
Download
Archiv
Danke

Inhalt: Julio Oliveira und Walter Lange
Datum: 21.08.2006