Diplomarbeit

Dokument: Analyse und Design

Version: 1.0

Datum: 19 Sep. 97

Autor(en): Leonhard Pang & Beat Schär

Betreuer: Dr. F. Meyer
 
 
 

Inhaltsverzeichnis 


1 Einleitung
2 Anforderungen 
3 Hardware

4 Das Protokoll 5 Software 6 Testszenario 7 Aufteilung 8 Mögliche Erweiterungen
 
 
 

1. Einleitung



Inhaltsverzeichnis

Die Zyklopen sind Gestalten des griechischen Mythos und waren gigantische einäugige Monster. Sie waren Söhne des Himmels und der Erde. Es gab deren drei: Brontes, Steropes und Arges. Sie repräsentierten Donner, Blitz und Blitzkeil. Sie waren die ersten Schmiede. Als Cronus an die Macht kam, wurden sie auf Tartarus gefangen gehalten.

Zeus befreite sie. Sie kämpften mit ihm gegen die Titanen. Als Belohnung für ihre Befreiung schmiedeten sie für Zeus Donnerkeile.

Die Diplomarbeit Cyclop ist ein intelligentes Tür-Überwachungssystem. Die runde einlinsige Überwachungskamera gleicht dem Auge des Zyklopen.

Die Idee von Cyclop ist eine Tür-Überwachung über ein Netzwerk zu bewerkstelligen. Dazu wird die Überwachungskamera, die Türsteuerung, die Gegensprechanlage und das Licht über einen PC gesteuert und verwaltet. Ein Benutzer soll von irgendeiner Workstation auf die Bilddaten zugreifen können und entscheiden, ob der Person Einlass gewährt werden soll oder nicht.

Die Steuerung der Kamera, der Türe, des Lichtes und der Gegensprechanlage, wird durch den Agent übernommen. Er wartet auf die Befehle eines Managers und führt dann diese aus. Er unterrichtet auch alle angeschlossene Manager über eventuelle Ereignisse.

Der Manager ermöglicht dem User die Bilder von der Überwachungskamera auf seiner Workstation zu holen und anzuzeigen. Auch kann er dann die Steuerung der Kamera, der Türe und des Lichtes übernehmen.


Abbildung 1: Manager und Agent im Intranet
 
 
 

2. Anforderungen



Inhaltsverzeichnis

Für die Diplomarbeit Cyclop sind folgende Anforderungen gestellt:

Cyclop ist ein computerunterstütztes System für die Kontrolle einer Tür. Dieses System ist nach dem Manager/Agent Prinzip aufgebaut: Ein Manager und ein Agent sind an ein lokales Netzwerk /Ethernet) angeschlossene Computer.

Der Manager läuft auf einem PC unter Windows NT und stellt das Benutzer-Interface zur Verfügung. Der Agent läuft auf einem Industrie PC unter dem im Systemsoftwarekurs entwickelten Betriebssystem Xinu. Er unterstützt die folgenden peripheren Geräte:

Im Rahmen dieser Arbeit sind folgende Probleme zu bearbeiten: Für den Experten soll die Ausgangslage klar ersichtlich sein, d.h. er soll erkennen könne, was im Rahmen des Kurses erarbeitet, und was in der Diplomarbeit geschaffen wurde.

Dem Bericht soll eine Zusammenfassung mit den wichtigsten Resultaten der Arbeit vorangestellt werden.

Die Arbeit soll mit einer einfachen Web Seite auf dem Internet präsentiert werden.
 
 
 

3. Hardware



Inhaltsverzeichnis

Die Hardware besteht aus dem Einplatinen-Computer "Microspace PCC P5 V2.x" der Firma Digital-Logic AG. An der seriellen Schnittstelle wird ein Microcontroller-Board angehängt, welche die Steuerung der Kamera übernimmt. Über dieses Board wird auch das Licht und die Tür kontrolliert.

3.1 Übersicht

Inhaltsverzeichnis


Abbildung 2: Hardware

3.1.1 Computer

Inhaltsverzeichnis


Abbildung 3: PCC P5 166Mhz

Blockdiagramm


Abbildung 4: Blockdiagramm des Computers
 

Der Einplatinen-Computer PCC5 vereint alle zum Betrieb notwendigen Komponenten auf einer Platine. Er verfügt über folgende Features:

Extern müssen nur noch folgende Teile gehalten werden: Während der Entwicklung kann ausserdem Floppy, Monitor, Tastatur und Maus an den Computer angeschlossen werden.

3.1.2. Grabber-Chip C&T 65554

Inhaltsverzeichnis


Abbildung 5: Grabber-Chip auf dem Einplatinen Computer

Der Chip C&T 65554 ist ein high Performance Multimedia-Graphikchip mit eingebautem Blitter und Grabberfunktion. Mit Hilfe dieses Chips werden die Bilddaten abgespeichert und dann übers Netzwerk an den Manager geschickt. Der Manager zeigt dann das Bild auf dem Bildschirm des Users an. Der Chip unterstützt die Bildformate YUV 4:2:2, RGB15 und RGB16.

3.1.3. Video Pixel Decoder ITT VPX3220A

Inhaltsverzeichnis

Der Video Pixel Decoder VPX3220A von ITT decodiert das von der Kamera empfangene PAL-Signal und stellt es digitalisiert dem Graphikchip zur Verfügung. Er beherrscht noch mehr Bildformate als der Graphikchip, nämlich YUV 4:2:2, YUV 4:4:4, YUV 4:1:1, RGB24, RGB16 und RGB15.

Da der Chip aus der Consumer-Electronic Branche stammt, kann er nur über eine I2C-Schnittstelle programmiert werden. Dies ist auch der Grund, dass wir ein solches Device noch zusätzlich schreiben mussten.

3.1.4. Sound-Chip AD1816

Inhaltsverzeichnis

Der Soundchip AD1816 von Analog Devices befindet sich auf der Unterseite des Einplatinen-Computers. Er unterstützt die gleichzeitige Ein- und Ausgabe von 8bit- 16bit-Sounddaten, mit Sample-Rates zwischen 4 kHz und 55.2 kHz.

Ausserdem hat er einen eingebauten Yamaha OPL3 Synthesizer-Chip, einen MPU401 kompatiblen MIDI-Port, einen MPC Level-3 Mixer mit Stereo Phase Expander und einen integrierten Game-Port. Ausserdem ist der Chip kompatibel mit dem Soundblaster-Pro Standard.

3.1.5. Microcontroller-Board

Inhaltsverzeichnis


Abbildung 6: Schaltbild Microcontroller Board

Das Microcontroller-Board übernimmt die Steuerung der ganzen Peripherie. Das Board wird über die serielle Schnittstelle an den Agent angeschlossen. So lassen sich mit diesem Board die Türe, die Kamera und das Licht ansteuern. Die Klingel und das Bewegungsmeldermodul melden ihre Veränderungen ebenfalls dem Microcontroller-Board. Über die serielle Schnittstelle werden diese Ereignisse weitergeleitet. Es besteht grundsätzlich die Möglichkeit, den Status der einzelnen Ports abzufragen.

3.1.6. Kamera SSS Siedle CMC 511-0

Inhaltsverzeichnis


Abbildung 7: Überwachungskamera

Es ist eine Farb-CCD-Kamera mit integrierter Beleuchtung und Beheizung. Die Kamera ist schwenkbar. Mit Hilfe von Stellmotoren lässt sich die Kamera um ± 20° schwenken. Die Bildübertragung geschieht im PAL-Format. Das Objektiv hat eine Brennweite von 4mm und eine Blende von 1:2. Die Verschlusszeit liegt zwischen 1/50 und 1/30000 Sekunden. Die Steuerung der Brennweite, der Blende und des Verschlusses erfolgt automatisch durch die Kamera.

Der Manager kann die Kamera wie folgt steuern:

3.1.7. Bewegungsmelder SSS Siedle BMM 511-0

Inhaltsverzeichnis


Abbildung 8: Bewegungsmelder

Das Bewegungsmeldermodul erfasst in einem begrenzten Bereich Infrarotstrahlung. Am Modul befindet sich ein Bewegungsschalter und ein Dämmerungsschalter. Über diese Schalter lässt sich der Zustand des Bewegungsmoduls erfahren. Mit Hilfe des Microcontroller-Boards können dann diese Ereignisse dem Agent mitgeteilt werden.

Die Reichweite der Bewegungsdetektion, sowie die Dämmerungsschwelle lassen sich am Modul einstellen.

Bei einer allfälligen Bewegungsdetektion sollen alle registrierten Manager benachrichtigt werden.

3.1.8. Gegensprechanlage

Inhaltsverzeichnis


Abbildung 9: Gegensprechanlage

Die Gegensprechanlage besteht aus einem Lautsprecher und einem Mikrofon. Der Lautsprecher und das Mikrofon werden an die Aus/Eingänge des Soundchips angehängt.

3.1.9. Klingel

Inhaltsverzeichnis


Abbildung 10: Klingel

Die Klingel löst ein Ereignis im Agent aus. Dieser sendet an alle registrierten Manager eine Message, dass jemand geklingelt hat.
 
 
 

4. Das Protokoll


4.1.1. Einleitung

Inhaltsverzeichnis

Das verwendete Protokoll baut auf die Vorlage der letztjährigen Diplomarbeit. Das Protokoll beschreibt die Messages, die zwischen dem Manager und dem Agent ausgetauscht werden.
Hier legten wir fest, was der Agent auf eine Anfrage des Managers antworten kann, und wie er reagieren soll.
Das Protokoll ist die wichtigste Schnittstelle zwischen dem Manager und dem Agent. Ohne das Protokoll würde nichts funktionieren.
Das Protokoll wird mit Hilfe von UDP/IP übers Netz geschickt. Dabei ist zu bemerken, dass UDP nicht zuverlässig ist, d.h. dass Pakete verloren gehen können.

4.1.2. Protokoll: Dcprot.h

Inhaltsverzeichnis
 Cyclop Protokoll: Dcprot.h

4.1.2.1. Protokollheader (DcpMsg)

Inhaltsverzeichnis

Der Protokollheader steht am Anfang einer Message. Eine Ausnahme bilden Video und Audio Datenpakete. Die Struktur des Headers finden wir in "DcpMsg.h”. Mit uMsgNo wird angegeben, welcher Service vom Agent gefragt ist. Folgende Werte sind im Moment zulässig:

Die Richtung der Messages ist anhand der 2. Buchstabengruppe ersichtlich:

MA: Manager Agent

AM: Agent Manager

4.1.2.2. Register (DcpMaRegisterReq/DcpAmRegisterReply)

Inhaltsverzeichnis

Ein Manager muss sich zuerst beim Agent registrieren. Dazu sendet er eine DCP_MA_REGISTER_REQ-Message. Bei der Registrierung werden auch die Audio- und Video-Fähigkeiten vom Manager und vom Agent ausgetauscht. Der Manager schickt seine erwünschten Formate mit. Der Agent sucht in dieser Sequenz nach dem ersten passenden Format für Audio und Video. Falls er erfolgreich war, antwortet er dem Manager mit DCP_OK. Sonst wird die Registrierung verweigert mit der Angabe, dass der Agent kein passendes Audioformat und/oder Videoformat gefunden hat.

Das Array der Fähigkeiten besteht aus einer Sequenz von U32-Werten. Das Highword gibt an, um welche Art von Fähigkeit es sich handelt, das Lowword definiert die möglichen Multimedia Extensions.

Z.B.:
Highword Lowword
DCP_ACAP_AUDIO WAVE_FORMAT_PCM 
DCP_ACAP_STILL_IMAGES RGB16 
0 0
Die Multimedia Extension sind in "mmreg.h” und in "mmagent.h” zu finden. "mmreg.h” wird von Microsoft bereitgestellt. Alle Hersteller mit neuen Multimedia Extensions sollten sich bei Microsoft eintragen.

Da der Agent proprietäre Formate unterstützt, wurden diese in "mmagent.h” aufgelistet.

4.1.2.3. Unregister (-/DcpAmUnregisterReply)

Inhaltsverzeichnis

Damit sich ein Manager vom Agent abmelden kann, schickt er ihm ein DCP_MA_UNREGISTER_REQ Message. Der Agent schickt darauf ein DCP_OK zurück.

4.1.2.4. Alive (-/DcpAmAliveReply)

Inhaltsverzeichnis

Die Alive Message wird benötigt um dem Agent mitzuteilen, dass ein Manager noch anwesend ist. Dies ist vorallem dann wichtig, wenn ein Manager die Kontrolle über den Agent genommen hat. Im Falle eines Absturzes des Managers wäre der Agent sonst blockiert und würde jegliche weitere Befehle anderer Manager verweigern.

Aus diesem Grunde muss der aktive Manager sich innerhalb von 90 Sekunden auf irgendeine Weise bemerkbar machen, sei es durch einen Befehl oder eine Alive-Message. Ansonsten wird dieser Manager deaktiviert und ein anderer Manager kann die Kontrolle übernehmen.

Der Manager schickt im Protokollheader die Message DCP_MA_ALIVE_REQ.

Der Agent antwortet bei Erfolg mit DCP_OK. Wenn der Manager aber aus der Registrierung entfernt wurde, erhält er als Antwort DCP_REJECT. Er muss sich dann beim Agent neu registrieren.

4.1.2.5. Light (DcpMaLightReq/DcpAmLightReply)

Inhaltsverzeichnis

Die Message DCP_MA_LIGHT_REQ lässt das Licht ein- und ausschalten. Dazu werden in der "DcpMaLightReq”-Struktur die Kommandos DCP_DOOR_LIGHT_ON oder DCP_DOOR_LIGHT_OFF geschickt.

Der Agent führt das Kommando aus. Falls es keine Komplikationen gibt, steht in der Antwort "DcpAmLightReply” ein DCP_OK. Falls ein aktiver Manager vorhanden ist und der anfragende Manager nicht der aktive Manager ist, erhält er den Bescheid DCP_REFUSE_MAIN_CTRL. Ist der Manager nicht registriert meldet der Agent DCP_REJECT.

4.1.2.6. Door (DcpMaDoorReq/DcpAmDoorReply)

Inhaltsverzeichnis

Mit DCP_MA_DOOR_REQ wird die Kontrolle über die Tür aufgenommen. Folgende Parameter können mit der Struktur "DcpMaDoorReq” mitgegeben werden: DCP_OPEN_DOOR, DCP_CLOSE_DOOR, DCP_SEND_DOOR_STATE.

Die Antwort des Agenten ist wie bei Light (Kapitel 4.1.2.5).

4.1.2.7. Indication (DcpAmAgentInd)

Inhaltsverzeichnis

Mit der Message DCP_AM_AGENT_IND wird der Manager über ein allfälliges Ereignis benachrichtigt. Folgende Ereignisse können eine solche Meldung auslösen:

4.1.2.8. Camera Control (DcpMaCameraReq/DcpAmCameraReply)

Inhaltsverzeichnis

Die Message DCP_MA_CAMERA_REQ ermöglicht die Steuerung der Kamera. Im Lowbyte steht das Kommando (z.B. MOVE_CAMERA). Im Highbyte steht ein allfälliger Parameter oder ein Argument (z.B. START_PANNING_RIGHT, STOP_PAN_AND_TILT).

Die Kamerabefehle sind von der Fähigkeit der Kamera abhängig. So lässt sich bei einigen Kameras zoomen, bei anderen nicht.

Zusätzlich zu den Antworten von Light (Kapitel 4.1.2.5) kann der Status noch den Wert DCP_CAMERA_CMD_ERR annehmen. Diese Antwort erfolgt, wenn die Kamera den gesendeten Befehl nicht verstanden hat.

4.1.2.9. Main Control (DcpMaMainCtrlReq/DcpAmMainCtrlReply)

Inhaltsverzeichnis

Hier kann ein Manager die Kontrolle des Agents übernehmen. Er wird zum aktiven Manager, wenn kein anderer Manager ihm zuvorgekommen ist.

Mit der Message DCP_MA_MAIN_CTRL_REQ und dem Kommando DCP_GET_MAIN_CTRL kann er aktiver Manager werden. Zusätzlich schickt er den UDP-Port, wohin später die Audio/Video Daten gesendet werden sollen. Auch die maximale Datengrammgrösse wird noch angegeben.

Auch hier gleichen die möglichen Antworten denen von Light (Kapitel 4.1.2.5).

4.1.2.10. Audio/Video Control (DcpMaAvCtrlReq/DcpAmAvCtrlReply)

Inhaltsverzeichnis

Sobald der Manager die Kontrolle übernommen hat, kann er auch Video und Audiodaten anfordern. Dazu sendet er Kommandos wie DCP_SEND_VIDEO_STILL, DCP_SEND_AUDIO, DCP_RECV_AUDIO, DCP_STOP_AUDIO...

Zu beachten ist, dass die Logik immer vom Agent ausgeht. So bedeutet DCP_SEND_VIDEO_STILL, dass der Agent dem Manager ein Still-Image schickt. Dagegen bedeutet DCP_RECV_AUDIO, dass der Agent vom Manager Audio-Daten erhält.

4.1.2.11. Audio/Video Data Packet (DcpAvPacket)

Inhaltsverzeichnis

In diesen Paketen werden Audio- oder Video-Daten gesendet. Entweder sind Audiodaten im Paket, dann ist die Videosize gleich 0, oder es sind Videodaten, dann ist die Audiosize gleich 0. Beide Datentypen können nicht vermischt werden.

Die Pakete werden mit einer aufsteigenden Sequenznummer versehen. In der 0-ten Sequenznummer befindet sich immer nur der Header (z.B. BITMAPHEADER, WAVEFORMATEX).

Bei der Video-Übertragung befindet sich im Highword die Nummer des Images und im Lowword die laufende Nummer des Teilbildes.
 
 

5. Software


Die zu schreibende Software besteht aus Xinu-Devices und -Processes.

5.1.1. Datenflussdiagramm Legende

Inhaltsverzeichnis


Abbildung 11: Legende Flussdiagramm

5.1.2. Übersicht

Inhaltsverzeichnis


Abbildung 12: Datenflussdiagramm des Dooragents

5.1.3. Devices

5.1.3.1. Serial Device

Inhaltsverzeichnis

Das Serial Device stellt eine Schnittstelle zwischen Xinu und der Hardware der seriellen Schnittstelle bereit. Im Door-Agent wird die serielle Schnittstelle zur Ansteuerung der Peripherie verwendet. Folgende Methoden sollen definiert werden:

DevOpen, DevClose: Öffnet bzw. schliesst die serielle Schnittstelle

DevWrite, DevPutc: Schreibt Daten über die serielle Schnittstelle hinaus

DevRead, DevGetc: Liest Daten von der seriellen Schnittstelle ein

DevCntl: Stellt verschiedene Optionen ein (Geschwindigkeit, Blocking-Mode, etc…)

ISR: Interrupt Service Routine. Schreibt die auszugebenden Daten in die Register, bzw. liest von dort die Daten ein.

5.1.3.2. I2C Device

Inhaltsverzeichnis

Das I2C Device dient zur Programmierung des Video Pixel Decoders VPS3220A. Es bedient sich 2 General-Purpose Anschlüssen am Graphikchip. Folgende Methoden sollen definiert werden:

DevOpen, DevClose: Öffnet bzw. schliesst das I2C Device

DevWrite, DevPutc: Führt eine Schreib-Transaktion auf dem I2C-Bus durch

DevRead, DevGetc: Führt eine Lese-Transaktion auf dem I2C-Bus durch.

DevCntl: Stellt verschiedene Optionen ein (Slave address, Sub address)

5.1.3.3. Grabber Device

Inhaltsverzeichnis

Das Grabber Device stellt eine Schnittstelle zwischen Xinu und dem Graphikchip C&T 65554 bereit. Der Grabber wird verwendet, um die Bilder der Videokamera zu digitalisieren und an den entsprechenden Xinu-Prozess weiterzuleiten. Folgende Methoden sollen definiert werden:

DevOpen, DevClose: Öffnet bzw. schliesst das Grabber Device

DevRead: Liest ein Bild von der Framegrabber-Karte ein

DevCntl: Stellt verschiedene Optionen ein (Auflösung, Start grabbing, etc…)

5.1.3.4. Sound Device (optional)

Inhaltsverzeichnis

Das Sound-Device wird dann verwendet, wenn die Phase 4 realisiert wird (siehe Kapitel 7.5). Es stellt eine Schnittstelle zwischen Xinu und der Hardware des Soundchips (AD1816) bereit. Der Soundchip wird dazu verwendet, Sound auf einen Lautsprecher auszugeben. Es soll aber auch über ein Mikrofon Sound aufgenommen und digitalisiert werden können. Das Sound-Device soll folgende Methoden aufweisen:

DevOpen, DevClose: Öffnet bzw. schliesst das Sound Device

DevWrite: Gibt Sounddaten auf den Lautsprecher aus

DevRead: Liest Sounddaten vom Mikrophon ein

DevCntl: Stellt verschiedene Optionen ein (Sampling Rate, Starten/Stoppen, etc…)

5.1.4. Prozesse

5.1.4.1.Video-Prozess

Inhaltsverzeichnis


Abbildung 13: Video Prozess Datenflussdiagramm

Der Video-Prozess hat die Aufgabe, bei Bedarf vom Framegrabber-Device ein Bild anzufordern und dieses als Bitmap via UDP-Device an den Manager zu schicken. Bei Videosequenzen wird nach jedem vollen Bild auf dem Xinu-Port geschaut, ob sich eine Message dort befindet. Dadurch ist es gewährleistet, dass der Videoprozess nicht blockiert wird.

3.1.4.2. AudioOut-Prozess

Inhaltsverzeichnis


Abbildung 14: AudioOut Prozess Datenflussdiagramm

Der AudioOut-Prozess schickt die digitalisierten Audiodaten dem Manager. Eine Besonderheit bildet der Halfduplex Modus. Der Agent wäre für den Vollduplex Modus bereit. Wenn der Manager diese Fähigkeit nicht besitzt, stoppt der AudioOut-Prozess den AudioIn-Prozess, sobald er Daten senden soll.

5.1.4.3. AudioIn-Prozess

Inhaltsverzeichnis


Abbildung 15: AudioIn Prozess Datenflussdiagramm

Der AudioIn-Prozess empfängt Audiodaten vom Manager. Im Halfduplex Modus schaltet der AudioIn-Prozess den AudioOut-Prozess ab, sobald er Daten empfangen soll.

5.1.4.4. Manager-Objekt

Inhaltsverzeichnis

Das Manager-Objekt verwaltet alle registrierten Manager und deren Fähigkeiten. Die einzelnen Prozesse können auf diese Daten zurückgreifen und richtig reagieren.

Durch das Manager-Objekt können die anderen Prozesse herausfinden, ob ein aktiver Manager sich im System befindet oder nicht.

5.1.4.5. Control-Prozess

Inhaltsverzeichnis

Der Control-Prozess ist der Kommando-Dispatcher. Er blockiert auf dem UDP-Port bis dort eine Message eintrifft. Anhand der Message-Nummer werden die Anforderungen identifiziert und nach Möglichkeit ausgeführt. Er verteilt die Messages weiter an die entsprechenden Prozesse und steht dann für weitere Befehle zur Verfügung.

Wenn ein aktiver Manager vorhanden ist, kann ein anderer Manager weder die Peripherie steuern, noch Audio und Video Daten senden lassen. Der Control-Prozess lässt nur noch Alive-, Register- und Unregister-Messages zu. Nur der aktive Manager hat die volle Aufmerksamkeit des Agent.

5.1.4.6. Periphery-Prozess

Inhaltsverzeichnis


Abbildung 16: Periphery-Prozess Datenflussdiagramm

Der Periphery-Prozess steuert die ganze Peripherie an der seriellen Schnittstelle. Hier befindet sich auch die ganze Logik der Steuerung. Deshalb sind in diesem Prozess gleich fünf State-Event Machines implementiert.


Abbildung 17: State-Event Legende


Abbildung 18: State-Event für (oben nach unten) Dämmerung, Licht, Kameralicht, Tür


Abbildung 19: State-Event Kamerabewegung

5.1.4.7. Event-Prozess

Inhaltsverzeichnis


Abbildung 20: Event-Prozess Datenflussdiagramm

Der Event-Prozess reagiert auf Inputs vom Com Device. Wenn der Bewegungsmelder, Klingel 1 oder Klingel 2 ausgelöst wird, verschickt der Event-Prozess den Managern eine Mitteilung.
 
 

6. Testszenario


6.1. Devices

6.1.1. Com Device

Inhaltsverzeichnis

Das Com-Device wird mit einem Echo-Programm getestet. Es verfügt über 2 Fenster: Im ersten Fenster werden alle eingetippten Zeichen auf die Schnittstelle ausgegeben. Im zweiten werden von der seriellen Schnittstelle eingelesene Zeichen ausgegeben.

6.1.2. I2C Device

Inhaltsverzeichnis

Das I2C Device wird mit einem kleinen Tool getestet, welches das beliebige Lesen und Schreiben von Register auf dem Chip VPX3220A ermöglicht.

6.1.3. Grabber Device

Inhaltsverzeichnis

Das Grabber-Device wird getestet, indem vom Grabber Bilder eingelesen und auf dem Monitor als Hex-Dump angezeigt werden.

6.2. Prozesse

6.2.1. Video-Prozess

Inhaltsverzeichnis

Der Video-Prozess wird getestet, indem Bilder vom Grabber-Chip eingelesen werden. Danach werden die Bilder per UDP-Device an den Manager gesendet. Mit einem Network-Sniffer-Programm kann kontrolliert werden, was effektiv über die Leitung geht.

6.2.2. AudioOut-Prozess

Inhaltsverzeichnis

Der AudioOut-Prozess wird getestet, indem Wavedaten vom Sound-Chip eingelesen werden. Danach werden die Sounddaten per UDP-Device an den Manager gesendet. Der Sound wird auf dem Manager ausgegeben. Falls der Sound Device nicht fertig wird kann nur beschränkt getestet werden. Es kann eine kleine Sequenz einer Sounddatei übers Netz geschickt werden.

6.2.3. AudioIn-Prozess

Inhaltsverzeichnis

Der AudioIn-Prozess wird getestet, indem Wavedaten vom Manager empfangen werden. Danach werden die Sounddaten über den Sound-Chip ausgegeben.

6.2.4. Manager-Objekt

Inhaltsverzeichnis

Mit simulierten Einträgen und Zugriffe kann das Manager-Objekt getestet werden. Die Rückgabewerte sind auszugeben, um festzustellen, ob sich das Manager-Objekt korrekt verhält.

6.2.5. Control-Prozess

Inhaltsverzeichnis

Da mit dem Control-Prozess bereits das ganze System lauffähig ist, kann der Control-Prozess mit dem Manager getestet werden. Dabei muss darauf geachtet werden, dass sämtliche im Control-Prozess implementierte Kommandi vom Manager auch tatsächlich verwendet werden. Um den korrekten Ablauf übers Netzwerk zu gewährleisten, kann ein Network-Sniffer installiert werden, der den Kommunikationsablauf verfolgt

6.2.6. Periphery-Prozess

Inhaltsverzeichnis

Der Periphery-Prozess kann mit dem Control-Prozess getestet werden. Sobald eine Message vom Control-Prozess angekommen ist, soll eine Reaktion an der angeschlossenen Peripherie ersichtlich sein.

6.2.7. Event-Prozess

Inhaltsverzeichnis

Der Event-Prozess kann ähnlich wie der Control-Prozess getestet werden. Sobald jemand auf die Klingel drückt oder der Sensor eine Bewegung wahrnimmt, muss der Event-Prozess eine entsprechende Notification an den Manager verschicken. Dieser Vorgang kann mit einem Network-Sniffer überprüft werden.

7. Aufteilung


7.1. Zeitplan

Inhaltsverzeichnis


Table 1: Zeitplan

7.2. Arbeitsaufteilung

Inhaltsverzeichnis

Beat Schär:

Leonhard Pang:

7.3. Phase 1

Inhaltsverzeichnis

Implementierung und Testen des Com-Devices.

Implementierung des Event-Prozesses.

Implementierung des Periphery-Prozesses.

Implementierung und Testen des Manager-Objekts.

Implementierung des Control-Prozesses.

Integration und Testen des Com-Devices, Event-Prozesses, Periphery-Prozesses, Manager-Objekts und Control-Prozesses.

7.4. Phase 2

Inhaltsverzeichnis

Implementierung und Testen des Video-Prozesses.

Implementierung und Testen des I2C-Devices

Implementierung und Testen des Grabber-Devices.

Integration des Grabber-Devices und des Video-Prozesses in die Control-Testumgebung.

7.5. Phase 3 (optional)

Inhaltsverzeichnis

Implementierung und Testen des AudioIn- und des AudioOut-Prozesses.

Implementierung und Testen des Sound-Devices.

Integration des Sound-Devices und des AudioIn- und des AudioOut-Prozesses in die Control-Testumgebung.

7.6. Phase 4

Inhaltsverzeichnis

Erstellen der Diplomarbeitsdokumentation und zeitliche Reserve.
 
 

8. Mögliche Erweiterungen


8.1. Audio-Übertragung (Phase 3)

Inhaltsverzeichnis

Die Audio-Übertragung wird nur in Angriff genommen, wenn die Phasen 1 und 2 termingerecht abgeschlossen werden konnten. Sie besteht aus folgenden Tätigkeiten:

8.2. Komprimieren des Videostromes

Inhaltsverzeichnis

Das Komprimieren des Videostromes wird nur dann realisiert, wenn alle anderen Phasen vor dem vorgesehenen Termin abgeschlossen werden können.

Da es sich bei dieser Erweiterung aber um eine Option handelt, welche nur im Falle einer zeitlichen Überschätzung der Phasen 1 bis 5 zum Zuge kommt, ist es eher unwahrscheinlich, dass sie implementiert wird. Aus diesem Grund verzichten wir in diesem Dokument auf eine Spezifikation dieser Erweiterung. Sollte es sich herausstellen, dass die Option trotzdem noch in Angriff genommen werden kann, dann wird diese Spezifikation nachgeliefert.