Startseite | Diplomarbeit | Software | Literatur | Impressum
Kurzfassung
Inhaltsverzeichnis
1  Einleitung
 1.1  Motivation
 1.2  Aufgabenstellung
 1.3  Ziel der Arbeit
 1.4  Vorgehensweise
2  Grundlagen
 2.1  Wireless Local Area Network (WLAN) IEEE 802.11
 2.2  Virtual Private Network (VPN)
 2.3  Global Positioning System (GPS)
 2.4  AJAX
 2.5  Asus Eee PC
 2.6  General Packet Radio Service (GPRS)
 2.7  Universal Mobile Telecommunications System (UMTS)
3  Entwicklung des Konzepts
 3.1  Software-Architektur
4  Umsetzung des Konzepts
 4.1  Server - Kontrollzentrum
 4.2  Clients
 4.3  Google Maps
5  Praktische Anwendung und Evaluation
 5.1  Asus Eee PC mit WLAN
 5.2  Nokia N82 mit WLAN/GPRS
 5.3  Server - Kontrollzentrum
6  Zusammenfassung und Ausblick
Abbildungsverzeichnis
  Abbildungsverzeichnis
Tabellenverzeichnis
  Tabellenverzeichnis

4.1  Server - Kontrollzentrum

Das Kontrollzentrum ist durch ein Login-System vor fremden Zugriffen geschützt. Es wird eine Session verwendet um den erfolgten Login und die IP-Adresse des Benutzers zu speichern. Beim Aufruf eines PHP-Skripts werden diese Daten dann überprüft. Falls die Session abgelaufen oder sich die IP-Adresse verändert hat wird der Zugriff verweigert beziehungsweise das Login-Formular angezeigt. Der Anwender kann sich über einen Link wieder ausloggen. Falls der Benutzer über http://multimedia.informatik.htw-aalen.de auf das System zugreifen will wird automatisch auf die IP-Adresse des Servers umgeleitet. Ich habe damit gearbeitet, weil die URL dadurch kürzer wird. Leider ist eine IP-Adresse nicht so leicht zu merken. Für die Anwendung ist es von Bedeutung über welche Adresse sie aufgerufen wird, da ein bestimmter Google Maps-Key nur für eine einzige Domaine gültig ist. Ohne gültigen Key wird die Karte nicht geladen. Damit die Anwendung bei der Entwicklung auf dem Desktop-PC mit lokalem Server und auf dem Multimedia-Server funktioniert ohne ständig den Key ändern zu müssen habe ich diesen in eine Datei ausgelagert und passe ihn je nach verwendetem Server automatisch an. Dasselbe Verfahren wende ich bei der Einstellung des Root-Verzeichnis an. Die meisten JavaScript-Funktionen habe ich ebenfalls in externe Dateien ausgelagert. So bleiben die PHP-Dateien übersichtlicher. Vorallem die Ajax-Funktionalitäten sind umfangreich und müssen oft angepasst werden. So hat es sich schnell bewährt diese gesammelt in eine Datei zu verschieben. Diese wird vom Server und Eee PC-Client eingebunden. Da die Funktionalitäten ähnlich sind müssen Änderungen oft an verschiedenen Stellen durchgeführt werden. Die gemeinsame Bibliothek erleichtert die Wartungsarbeit. JavaScript-Funktionen, die direkt zu den Bedienelementen gehören stehen in der PHP-Datei. Mit der Funktion reset map wird die Karte zurückgesetzt und alle Marker und Weglinien entfernt. Mit „reload“werden bereits vorliegende Standortdaten verarbeitet und angezeigt. Mit „start“passiert dasselbe, allerdings wird dabei ein Timer aktiviert, der die Funktion regelmässig aufruft. Die Intervallzeit kann zwischen 3 und 60 Sekunden gewählt werden. Voreingestellt ist ein Wert von 10 Sekunden. Durch Ändern dieser Zeit oder durch Klicken auf „stop“wird der Timer deaktiviert. Die Anzeige des countdowns wird sekündlich aktualisiert. Der maximale Zoom ist wählbar zwischen 5 und 18, voreingestellt ist 16. Falls die Gesamtroute mit Markern nicht in den aktuellen Kartenausschnitt passt wird der Zoom-Faktor automatisch neu berechnet. Wenn der maximale Zoom dabei kleiner ist wird dieser verwendet. Falls keine Karte in hoher Auflösung verfügbar ist kann der Zoom manuell schrittweise herabgesetzt werden. Es besteht die Möglichkeit eine Nachricht an den Client zu schicken. Auf dem Mobiltelefon wird diese direkt angezeigt, beim Eee PC muss dazu die zugehörige Webseite im Browser aufgerufen werden. Die Linienbreite und die Linienfarbe ist wählbar. Da bei einer Ajax-Anwendung die JavaScript-Variablen bestehen bleiben, können die gespeicherten Werte jederzeit verwendet werden. Erst beim Neuladen der Webseite gehen veränderte Variablenwerte verloren. Beim Aktualisieren der Karte wird im Hintergrund das entsprechende PHP-Skript aufgerufen und die Daten verarbeitet. Der Transfer-Status wird auf Position gelesen gesetzt falls die GPS-Daten aktuell sind. Ansonsten wird der Zustand Fehler gelesen gespeichert. Nun wird der Status des GPS-Datums verändert falls kein „Transfer Error“aufgetreten ist. Dieser Status kann nur durch neue Daten vom Client verlassen werden. Der Status ändert sich bei „Position changed“, „Position constant“und „Client GPS Error“auf „Position not availible“. Falls keine neuen GPS-Daten ankommen wird diese Meldung ausgegeben. Die Statusnummer wird danach erhöht, die Meldung bleibt diesselbe. Nach dem Verstreichen von acht Zeitintervallen wechselt der Status in den Zustand „Transfer Error“, falls keine neue Standortdaten währendessen eintreffen. Es ist notwendig, dass dieser Zustand selbständig ohne Interaktion mit dem Client erreicht wird, da dieser bei einem Verbindungsproblem nicht in der Lage ist dies mitzuteilen. In diesem Fall wird die Weglinie in Google Maps unterbrochen. Ein Marker legt den neuen Startpunkt fest. Wird vom Client ein Fehlerstatus empfangen unterbricht die Route ebenfalls. So wird sichergestellt, dass die angezeigten Daten gültig sind. Synchronisationsprobleme werden durch den Puffer abgefangen.


Kontrollzentrum Oberfläche

Abbildung 4.1: Kontrollzentrum Oberfläche


Auf Abbildung 4.1 ist die Oberfläche des Kontrollzentrums (Server) zu sehen. Die Koordinaten wurden nur zu Demonstrationszwecken eingetragen. Beim Startpunkt ist das Beschreibungsfenster zu sehen.