Preview only show first 10 pages with watermark. For full document please download

Diplomarbeit. Minh Quan Hoang

Fakultät Informatik, Institut für Systemarchitektur, Professur Rechnernetze DIPLOMARBEIT Eingereicht von: Minh Quan Hoang Matrikel-Nr.: Konzeption und prototypische Implementierung einer Software

   EMBED


Share

Transcript

Fakultät Informatik, Institut für Systemarchitektur, Professur Rechnernetze DIPLOMARBEIT Eingereicht von: Minh Quan Hoang Matrikel-Nr.: Konzeption und prototypische Implementierung einer Software für das Betriebssystem Android zur Messung von WLAN-Abdeckungen (Site Survey) Betreuer: Dr. rer. nat. Dietbert Gütter Betreuender HSL.: Prof. Dr. habil. Alexander Schill Abgabedatum: 2 ERKLÄRUNG Ich erkläre, dass ich die vorliegende Arbeit selbständig, unter Angabe aller Zitate und nur unter Verwendung der angegebenen Literatur und Hilfsmittel angefertigt habe. Dresden, den Minh Quan Hoang 3 4 AUFGABENSTELLUNG 5 6 DANKSAGUNG Ein herzliches Dankeschön geht an alle, die mich bei der Erstellung meiner Diplomarbeit unterstützt haben. Ganz besonders Bedanken möchte ich mich bei Herrn Prof. Dr. rer. nat. habil. Dr. h. c. Alexander Schill und Herrn Dr. rer. nat. Diebert Gütter für die tatkräftige Unterstützung und Betreuerung bei der Erstellung meiner Diplomarbeit. Vielen Dank für die hilfreichen Anregungen und die Geduld. Auch bei Herrn Dr. rer. nat. Diebert Gütter möchte ich mich nochmals für das vielen Stunden Korrekturlesen bedanken. Zudem möchte ich meinen Eltern danken, die mich nicht nur finanziell, sondern auch moralisch immer unterstützt und mir den Rücken gestärkt haben. 7 8 INHALTSVERZEICHNIS Diplomarbeit... 1 Erklärung... 3 Aufgabenstellung... 5 Danksagung... 7 Inhaltsverzeichnis... 9 Kapitel 1: Einleitung Motivation Anforderung und Zielsetzung Gliederung Kapitel 2: Grundlagen WLAN Reichweite von WLAN Dämpfung, Strahlung und Störende Einflüsse Sendeleistung Android Grundlagen und Eigenschaften von Android Programmierung für Android Verwandte Arbeit Stand der Technik Kapitel 3: Konzept Theorie der Arbeit Kapitel 4: Implementierung Überblick des Programms Darstellung das Programmlayout Layout von Programmoberfläche Layout zur Grafikdateidarstellung Funktionen Activity Initialisierung MapView Kapitel 5: Validierung und Bewertung Validierung 5.2. Bewertung Kapitel 6: Zusammenfassung und Ausblick Zusammenfassung Ausblick Anhang Android- Marktanteil Applikations- und Spielanzahl Wachstumsdiagramm Kostenlose und kostenpflichtige Applikationen Versionsverteilung in Abbildungsverzeichnis Tabellenverzeichnis Formelverzeichnis Code-Listing Literatur KAPITEL 1: EINLEITUNG 1.1. Motivation Kaum ein Bereich der Informationstechnologie entwickelt sich gegenwärtig so sehr schnell wie Wireless - LAN (WLAN). WLAN kommt überall zum Einsatz wo Kabel unpraktisch wären. Die Forderungen von WLAN steigen immer in Richtung höheren Datendurchsatzes und größerer Reichweiten. Ein wichtiger Punkt, der im Zusammenhang mit WLAN - Netzwerken beachtet werden muss, sind die Sendeleistungen, Dämpfungen und die Reichweite von WLAN-Antennen. Demzufolge spielt die Abmessung der WLAN Signalstärke bei jeder Netzwerkinstallation eine große Rolle Anforderung und Zielsetzung Im Rahmen der Diplomarbeit sollen Möglichkeiten und Grenzen des Betriebssystems Android für o.g. Aufgabe untersucht werden. Dazu sind betriebssysteminterne Schnittstellen zu diskutieren, sowie die Nutzung frei verfügbarer Dienste, wie Google- Maps. Auf dieser Basis ist ein Programm zu realisieren, das Messwerterfassungen mit Hilfe von Smartphones bzw. Tablets realisieren kann, ebenso ein Auswerteprogramme für bürotypische Rechner. Anschließend soll eine verbesserte Version prototypisch konzipiert und implementiert werden, die eine verteilte Arbeit eines Planungsservers mit evtl. mehreren dezentralen Mess-Smartphones verwirklicht. Der Prototyp sollte für Demonstrationszwecke und für den Einsatz in der Lehre geeignet sein Gliederung In Kapitel 2 werden grundlegende Begriffe und die verwandte Forschungsarbeit erläutert. Das Kapitel bildet die Grundlagen von WLAN und Android. Kapitel 3 beschreibt die dazugehörigen Konzepte dieser Arbeit. Es befasst sich unter anderem mit dem Überblick der Arbeit und der Zusammenfassung der Grundidee. Im nächsten Kapitel (Kapitel 4) wird genauer auf die einzelnen Phasen der Implementierung eingegangen. Dabei handelt es sich um den Entwurf, die Gestaltung, das Layout sowie die Funktionen des Programms. Im vorletzten Kapitel (Kapitel 5) werden die Validierung und anschließend die Bewertung der durchgeführten Testschritte, wie zum Beispiel die Abmessung der WLANs in einem Standort, genauer beschrieben. 11 Im letzten Kapitel (Kapitel 6) werden nochmals alle wichtigen Punkte der Arbeit zusammengefasst. Dabei wird kurz auf die Ziele zurückgegriffen, die zu Beginn der Arbeit gesetzt wurden, welche Probleme bei den Untersuchungen entstanden, welche Lösungsvorschläge gebracht werden und welchen Ausblick es auf die Zukunft hat. 12 KAPITEL 2: GRUNDLAGEN 2.1. WLAN WLAN ist die Abkürzung für Wireless Local Area Network und bezeichnet ein lokales bzw. örtliches drahtloses Computernetzwerk. Heutzutage wird WLAN fast überall eingesetzt, um das Netzwerk in alle Bereiche zu tragen, ohne dabei Kabel verlegen zu müssen. WLAN ist eine sichere und einfache Lösung, um den Internet Zugang mittels eines mobilen Gerätes wie zum Beispiel: Notebook, PDA usw. zu ermöglichen. Laut [2] haben WLANs größere Sendeleistungen und Reichweiten im Gegensatz zum Wireless Personal Area Network (WPAN), und bieten im Allgemeinen höhere Datenübertragungsraten. Ein WLAN - Netzwerk basiert im Normalfall auf dem Standard IEEE und dessen Ergänzungen und Erweiterungen. IEEE ist die Abkürzung für Institute of Electrical and Electronics Engineers und stellt einen allgemein gültigen Industriestandard da. Ein WLAN-Netzwerk arbeitet mit einem sog. Frequenzband, welches sich in Abhängigkeit des eingesetzten IEEE-Standards unterscheidet. Innerhalb dieses Bandes sind die Frequenzen mit einer Breite von MHz einem Kanal zugeordnet. Das bedeutet, dass je nach IEEE-Standard eine unterschiedliche Anzahl von Kanälen zur Datenübertragung zur Verfügung steht. [1] Die folgende Tabelle zeigt die wesentlichen Unterschiede der WLAN Standards: IEEE - Standard Frequenzband Übertragungsrate Anzahl der Kanäle maximale Sendeleistung ,40 2,48 GHz 2 MBit/s a 5,15 5,725 GHz 54 MBit/s dbm (1W) b 2,40 2,4835 GHz g 2,40 2,4835 GHz 11 MBit/s dbm (100mW) 54 MBit/s dbm (100mW) Tabelle 1: Die Parameter von WLAN Standards [1,4] 13 In der Praxis werden die IEEE Standards auf dem WLAN Router (Access Point 1 ) eingestellt. Wenn der WLAN Adapter von dem Client ein Netzwerk findet, übernimmt er automatisch alle Parameter von WLAN wie Standard, Frequenz und Kanal. Bei WLAN Netzwerken sind die Qualität des Funkgebietes und dessen Schnelligkeit sehr wichtig. Je weiter man sich von der Sendequelle entfernt, umso geringer wird die Übertragungsgeschwindigkeit. Im Zusammenhang mit WLAN Netzwerke zu beachtende wichtige Punkte sind Reichweite, Dämpfungen und die Sendeleistungen von WLAN Antennen Reichweite von WLAN Die Reichweiten bei WLAN sind von mehreren Faktoren abhängig, z.b.: Verwendete Frequenz Das Gelände, die Sichtverhältnisse sowie der Aufstellungsort der Antenne Antennengewinn und abgestrahlte Sendeleistung Dämpfung der Kabel Qualität der Geräte (WLAN Router / Access Points) Benötigte Übertragungsbandbreite Die Reichweite des Netzwerks lassen sich durch eine externe WLAN Antenne bei vielen Access Points und WLAN - Routern deutlich erhöhen, auch die Signalqualität. Selbstverständlich steigt der Datendurchsatz dadurch in den meisten Fällen auch. Abbildung 1: Ein Access Point versorgt möglichst hohes Gebiet 1 : Der Access Point ist eine zentrale Komponente von den WLAN Installationen, dient als funktechnischer Ersatz eines Hubs und spannt eine lokale Funkzelle auf. Zum drahtgebundenen Netz übernimmt der Access Point die Funktion einer Bridge. [3] 14 [1] gibt an, dass ein normale IEEE WLAN Adapter ohne Besonderheiten eine Reichweite von etwa m im Freien haben. Mit aktueller Technik kann die Reichweite auf 90m in geschlossenen Räumen erhöht werden. [4] empfiehlt, dass man bei der Reichweitenbetrachtung immer eine Reserve einrechnen sollte, besonders wenn eine Verbindung über größer Strecken und im Freien aufgebaut wird, da Witterungseinflüsse, Vegetation oder sonstige Hindernisse, die eventuell auch nachträglich installiert werden, die Reichweite einschränken Dämpfung, Strahlung und Störende Einflüsse Um die Leistung anzugeben, die eine Antenne in Sende- und Empfangsrichtung bezogen auf eine Vergleichsantenne abgibt oder empfängt, benutzt man den Begriff Antennengewinn. Ein Antennengewinn wird in der Einheit dbi angegeben. Diese Angabe gibt bei WLAN-Antennen an, wie viel besser deren Sende- und Empfangsleistung ist im Vergleich zu einer Antenne, die in alle Richtungen gleichmäßig sendet [5]. Je höher der Antennengewinn desto mehr Leistung wird abgestrahlt und desto mehr wird das Empfangssignal verstärkt. Somit erhöht sich die Reichweite und der Datendurchsatz kann verbessert werden. Zur Verbesserung eine WLAN Verbindung kann es daher oft schon ausreichen, auf einer Seite der Funkverbindung eine WLAN Antenne mit höherem Gewinn zu installieren [4]. Dem Antennengewinn entgegen wirkt die Dämpfung des Antennen Kabels, der Stecker und Adapter. Je höher die Frequenz, desto größer wird die Dämpfung. Dickere Kabel haben in der Regel eine geringere Dämpfung. Um bei einem WLAN die maximale Reichweite zu erzielen, sollte man den Weg vom Sender (Router / Access Point) zur Antenne so kurz wie möglich halten und ein passendes Kabel mit niedriger Dämpfung verwenden. Abbildung 2: Diagramm zur Strahlungsintensität [2] 15 In der Nachrichtentechnik verwendet man oft die Maßeinheit Dezibel (db). Das Dezibel ist ein logarithmisches Maß und vereinfacht die Berechnung der Verstärkung, Leistung bzw. Dämpfung komplexer Systeme oder zusammenhängender Netzwerkkomponenten. Um die Verstärkung eines Gesamtsystems, bestehend aus Sender, Kabeln, Steckverbindungen und Antenne zu berechnen, werden lediglich die einzelnen db Werte addiert bzw. subtrahiert. Eine Veränderung um 3 db entspricht immer einer Verdoppelung bzw. Halbierung. Diese Angabe gibt bei WLAN Kabeln oder Steckern an, wie sehr sie die Funkwellen und damit die Sendeleistung dämpfen. Gewinn in db = 10 x log 10 (P Antenne / P Bezugsantenne ) Formel 1: Gewinnberechnung mittels Leistungen Die Einheit Dezibel Milliwatt (dbm) gibt einen Leistungspegel bezogen auf ein Milliwatt an. 0 dbm entsprechen einer Leistung von 1 mw. 20 dbm entsprechen 100 mw. dbm ist eine absolute Angabe. Normale WLAN Geräte senden etwa mit 17 dbm, das entspricht 50 mw. Diese Angabe gibt bei WLAN Geräten an, wie stark diese senden. [5] Allgemein können WLAN Netzwerke laut [1] durch folgende Hindernisse gestört werden: Leitbauwände (kleine Einschränkung) Metalle und Stahlbeton (große Einschränkung) Dicht belaubte Bäume (mittlere Einschränkung) Das Störpotential für WLAN Netzwerke steigt mit der elektrischen Leitfähigkeit des Störmaterials an. Je größer die Störung ist umso weiter sinkt die Sende- und Empfangsleistung und damit die Verbindungsgeschwindigkeit Sendeleistung Man bezeichnet die Sendeleistung häufig auch als Strahlungsleistung. Sendeleistung ist ein Leistungsmerkmal für jedes WLAN Gerät. [6] Je höher ihr Wert ist, desto größer ist auch die theoretische Reichweite. Die Sendeleistung wird in mw oder dbm angegeben. Die Umrechnung von mw nach dbm erfolgt über folgende Formel: L (dbm) = 10 x log 10 ( ) Formel 2: Sendeleistungsumrechnung Ein Beispiel von [6] zeigt die Berechnung der Sendeleistung aus Gerätekombination: ein Wireless Access Point D - Link DWL - 900AP+ mit einer Sendeleistung von 30 mw (ca. 14,77 db) und einer Empfindlichkeit von 79 db bei 11 Mbps, 2m langes RG Kabel mit zwei Steckern, wobei das Kabel eine Dämpfung von 0,42 db aufweist und die beiden Stecker einen Verlust von 0,3 db verursachen, externe Antenne ANT mit einem Antennengewinn (Gain) von 8,5 dbi. P Sendeleistung = Ausgangsleistung Kabeldämpfung Steckerdämpfung + Antennengewinn Formel 3: Sendeleistungsberechnung aus Gerätekombination Die Sendeleistung ergibt sich: P = 14,77 db 0,42 db 0,3 db + 8,5 dbi = 22,55 db 2.2. Android Android ist eine neuartige offene und auf dem Linux Betriebssystem basierende Plattform, welche die Entwicklung neuer Software und Applikationen für Handys und das mobile Internet unterstützen wird. Diese Plattform hat Google gemeinsam mit den Partnern T Mobile, HTC, Motorola und Qualcomm entwickelt. [10] Abbildung 3: Android Plattform für Handy und Tablet [12,11] Laut [12] kaufte Google den ursprünglichen Softwareentwickler, Android Inc., im Jahr Dann hat Android den Markt revolutioniert. Angaben des Marktforschungsunternehmens Gartner zufolge hatte Android als Smartphone Betriebssystem im dritten Quartal 2011 einen weltweiten Marktanteil von 52,5 Prozent. [9] Im Dezember 2011 gab Google an, dass Android Geräte pro Tag aktiviert werden. 17 Abbildung 4: weltweite Marktanteil [8] gibt an, dass Android zu den innovativsten, intuitivsten und besten Betriebssystemen gehört, die es derzeit für Smartphone gibt. Der Market genannte App Store hat im Vergleich zu Apples Original aufgeholt, hat überdurchschnittlich viele kostenlose Anwendungen und mit dem Rückgaberecht die fairsten Bedingungen zu bieten. Im Anhang 1 werden weitere Informationen für das Betriebssystem Android beschrieben Grundlagen und Eigenschaften von Android Android - Versionen In der nachfolgenden Tabelle werden alle Versionen von dem Android System mit Standard Funktionen sowie die Neuerungen aufgeführt: [9] Version Name Veröffentlichung Wesentliche Neuerungen Februar 2009 Speichern von MMS-Anhängen 1.5 Cupcake 30. April 2009 automatischer Wechsel zwischen Hoch- und Querformat Bildschirm-Tastatur Aufnahme und Wiedergabe von Videos automatisches Verbinden und Stereo für Bluetooth 2 : 18 weitere Sprachen neben Englisch und Deutsch 1.6 Donut 15. September 2009 Virtual Private Networks konfigurierbar differenzierte Energieverbrauchssteuerung Suchfunktion quellenübergreifend und selbstoptimierend Text-to-Speech, Gestenerkennung und mehr als eine Bildschirmauflösung 2.0 Eclair 26. Oktober 2009 Digitalzoom und Unterstützung von Blitzlicht Unterstützung von Microsoft Exchange Bluetooth Januar 2010 animierte Hintergrundbilder Informationen zur Signalstärke Erweiterungen von Webkit (HTML5- Unterstützungen, WebStorage, Geolocation, Video ) IPv6-Unterstützung 2.2 Froyo 20. Mai 2010 Linux-Kernel , der weniger Arbeitsspeicher benötigt Verwendung von Arbeitsspeicher, der größer als die bisher nutzbaren 256 MByte ist. JIT-Compiler, Erweiterungen für OpenGL ES 2.0, Unterstützung von Flash 10.1 Tethering Speicherbarkeit von Apps auf der SD-Karte (App2SD) Android Cloud to Device Messaging Framework: Möglichkeit, PUSH in die eigenen Anwendungen zu implementieren. Bluetooth-Sprachwahl September 2010 Bugfixes Januar 2011 Fix für SMS-Bug 2.3 Gingerbread 6. Dezember 2010 Linux-Kernel Unterstützung von WebMUnterstützung von HTML5 Audio 19 Unterstützung von Google TV Unterstützung von Near Field Communication Parallele Garbage Collection für ruckelfreiere Animationen verbesserte Integration von sozialen Netzwerken Unterstützung von Gyroskopen (nicht zu verwechseln mit Bewegungssensoren) und anderen Sensoren (u. a. Barometer, Schwerkraftsensor) integrierter SIP-Client für VoIP integrierter Downloadmanager Unterstützung des Ext4-Dateisystems Dezember 2010 Bugfixes Update auf Google Maps Januar 2011 Fix für SMS-Bug Februar 2011 verbesserte Dual-Core-Unterstützung Unterstützung von Dual-Core-Apps auf Single- Core-Geräten verbesserte Unterstützung der NFC-Technik verbesserte Bluetooth-Unterstützung kleinere Verbesserungen April 2011 Video- und Voice-Chat mit Google Talk verschlüsselte Übertragung von Terminen und Kontakten Bugfixes Juli G Fixes Tweaks und volle Unterstützung für den NFC- Transceiver Bugfixes September 2011 Voice-Search-Fix Bugfixes September 2011 Bugfixes 20 3.0 Honeycomb 23. Februar 2011 benutzerfreundlichere Oberfläche verbesserte Unterstützung für Tablet- Computer Google Talk mit Videotelefonie neue Browser-Funktionen: Synchronisierung der Lesezeichen mit Google Chrome, Tabs. automatisches Ausfüllen von Formularen und Inkognito-Modus beim Surfen Mai 2011 USB-Host-Modus Verbesserungen an Benutzeroberfläche und Widgets Verbesserungen und Erweiterungen am Browser eigene Proxyeinstellungen für jedes WLAN Juli 2011 verbesserte Anpassung an Tablet-Computer mit einer Bildschirmdiagonale von 7 Zoll neuer Kompatibilitätsmodus zur besseren Darstellung von Apps, die für kleinere Bildschirmauflösungen programmiert wurden Media sync from SD card : Ermöglicht Apps den direkten Zugriff auf Multimedia-Dateien der eingelegten SD-Karte z. B. zur Synchronisation erweiterte CPU-Hardware-Unterstützung Funktionen für Entwickler, um ihre Apps besser an verschiedene Bildschirmauflösungen anpassen zu können September 2011 Bugfixes 4.0 Ice Cream Sandwich 19. Oktober 2011 Zusammenführung der Entwicklungslinien 2.x und 3.x und Google TV. Linux-Kernel verbessertes Multitasking NFC für Kontakte, Daten und Links mit Android Beam Entsperren per Gesichtserkennung 21 verbesserter Browser, verbesserte Google- Mail-, Galerie- und Kalender-App Data Tracking App native Funktion zum Erstellen von Screenshots viele Detailverbesserungen November 2011 erste Version (Build ITL41D) für das Galaxy Nexus Behebung des Volume-Bugs in Build ITL41F Dezember 2011 Mobile Hotspot bei Benutzung von VPN optimiert Kernel version G/4G-Verbindungen für schnellere Reaktionszeiten optimiert falsche Benachrichtigung, dass Datenverbindung wegen Roaming unterbrochen wurde behoben Verbesserung bestimmter optischer Effekte bei Benutzung des Camcorders mit der Frontkamera optische Verbesserungen des Lockscreens Problem mit nicht korrekt angezeigten/öffnenden -Anhängen behoben DivX-Unterstützung wurde entfernt Verbesserte Lautstärke bei der turn-by-turn- Navigation von Google Dezember 2011 neue APIs erste offizielle Version für das Nexus S Source für Dritthersteller (Samsung, Motorola, usw.) Februar 2012 verbesserte Performance diverse Bugfixes automatische Helligkeitssteuerung wurde verbessert 22 allgemeine Lautstärke wurde erhöht Multitouch-Bug behoben Version bisher nur für das Galaxy Nexus (Verizon LTE) Tabelle 2: alle Android Versionen im Überblick [9] Abbildung 5: Das Prozent des Versionsanteils in 2012 [14] Android - Architektur Android basiert auf dem Linux 2.6 Kernel [15], ist in der Programmiersprache Java programmiert und wird unter der Apache v2 open source license zu vertreiben sein [10]. Es sind die wichtigsten bereits bekanntgegebenen Merkmale der neuen Open Source Plattform Android. Der Linux Kernel regelt die Prozessverwaltung und Datenverwaltung. Im Kernel sind die meisten wichtigen Treiber abgelegt und zur Verfügung gestellt, welche die einzelnen Hardware Komponenten benötigen, z.b.: die Treiber von der Kamera, die WLAN - Treiber, die Tastatur Treiber Laut [7] greifen die Anwendungsschicht 3 und der Anwendungsrahmen 4 von Android auf eine Menge von Basisbibliotheken zu, die in den folgenden Abschnitten detailliert beschrieben werden. Diese Bibliotheken stellen alle zum Betrieb von Android- Anwendungen erforderlichen Funktionalitäten (Datenbank, 3D-Grafikbibliotheken, Webzugriff, Multimedia-Verwaltung, Oberflächengestaltung...) bereit. 3 : Application 4 : Application Framework 23 Die Standardbibliotheken 5 sind fester Bestandteil des Systems und können von Anwendungsentwicklern nicht geändert werden. Der Anwendungsrahmen ist die für Android-Entwickler interessanteste Schicht des Systems. Android stellt verschiedene Programmierschnittstellen bereit, die eine Kommunikation zwischen einzelnen Anwendungen sowie zwischen Endanwender und Anwendung realisieren. Auf der obersten Ebene des Systems befinden sich die Android-Anwendungen. Innerhalb der Anwendungsschicht findet die Kommunikation zwischen Mensch und Maschin