PDV-Vertiefung’06 Messwerterfassung mit PDA David Diefenbach Timo Stroh Waldemar Reidel Betreuer: Prof. Dr. K. O. Linn
D. Diefenbach, T. Stroh, W. Reidel INHALTSVERZEICHNIS 1. Projektbeschreibung / Projektziele 2. Softwareanforderungen 3. Ablaufdiagramm 4. Live-Demo 5. Probleme 6. Ausblick D. Diefenbach, T. Stroh, W. Reidel
1. Projektbeschreibung / Projektziele 2. Softwareanforderungen 3. Ablaufdiagramm 4. Live-Demo 5. Probleme 6. Ausblick D. Diefenbach, T. Stroh, W. Reidel
1. Projektbeschreibung / Projektziele Entwicklung einer PDA-Software zur Messwerterfassung Messung mittels Hardwaremodul Kommunikation mittels Bluetooth Visuelle Darstellung der Messlinien Virtuelles Oszilloskop D. Diefenbach, T. Stroh, W. Reidel
2. Softwareanforderungen 1. Projektbeschreibung / Projektziele 2. Softwareanforderungen 3. Ablaufdiagramm 4. Live-Demo 5. Probleme D. Diefenbach, T. Stroh, W. Reidel
2.1 Softwareanforderungen 1. Visualisierung auf PDA-Screen 2. Entwicklung unter Visual Studio 2005 C++ 3. Bluetoothverbindung 4. Client – Server Kommunikation 5. Entwicklung eines Testservers D. Diefenbach, T. Stroh, W. Reidel
2.1 Softwareanforderungen Visualisierung auf PDA-Screen 4 Ebenen Ebene 1 – Rechteck zeichnen Ebene 2 – Rechteck füllen Ebene 3 – Achsenlinie zeichnen Ebene 4 – Sinusverlauf zeichnen D. Diefenbach, T. Stroh, W. Reidel
2.2 Softwareanforderungen 1. Visualisierung auf PDA-Screen 2. Entwicklung unter Visual Studio 2005 C++ 3. Bluetoothverbindung 4. Client – Server Kommunikation 5. Entwicklung eines Testservers D. Diefenbach, T. Stroh, W. Reidel
2.2 Softwareanforderungen Entwicklung unter Visual Studio 2005 C++ Basierend auf Embedded-Systems Verwendung von MFC-Klassen Eingeschränkte Programmierung für PDA‘s D. Diefenbach, T. Stroh, W. Reidel
2.3 Softwareanforderungen 1. Visualisierung auf PDA-Screen 2. Entwicklung unter Visual Studio 2005 C++ 3. Bluetoothverbindung 4. Client – Server Kommunikation 5. Entwicklung eines Testservers D. Diefenbach, T. Stroh, W. Reidel
2.3 Softwareanforderungen Bluetoothverbindung zu programmieren wie Serielleschnittstelle Technische Daten: Reichweite: 1 – 100 m (1,60 km) Übertragungsrate: 723,2 kbit/s Frequenzbereich: 2,402 GHz – 2,480 GHz Robust gegen Störung (Frequenzbandwechsel mit 1.6 kHz; 79 Frequenzstufen im 1-MHz Abstand) D. Diefenbach, T. Stroh, W. Reidel
2.4 Softwareanforderungen 1. Visualisierung auf PDA-Screen 2. Entwicklung unter Visual Studio 2005 C++ 3. Bluetoothverbindung 4. Client – Server Kommunikation 1. Server 2. Client 5. Entwicklung eines Testserver D. Diefenbach, T. Stroh, W. Reidel
2.4.1 Softwareanforderungen Client – Server Kommunikation Server: öffnen Port 5 Werte als String auf Kanal schreiben (8 Kanäle) Server blockiert wartet bis der Wert von Client gelesen wird neuen Wert schreiben ... D. Diefenbach, T. Stroh, W. Reidel
2.4.1 Softwareanforderungen Client – Server Kommunikation HANDLE hCom; hCom = CreateFile(L"COM5", GENERIC_READ | GENERIC_WRITE, 0, NULL, OPEN_EXISTING, 0, /* no overlapped I/O */ NULL); /* must be NULL for comm devices */ D. Diefenbach, T. Stroh, W. Reidel
2.4 Softwareanforderungen 1. Visualisierung auf PDA-Screen 2. Entwicklung unter Visual Studio 2005 C++ 3. Bluetoothverbindung 4. Client – Server Kommunikation 1. Server 2. Client 5. Entwicklung eines Testserver D. Diefenbach, T. Stroh, W. Reidel
2.4.2 Softwareanforderungen Client – Server Kommunikation Client: Port im System registrieren öffnen Port 8 wartet auf Signal vom Server Wert lesen ... D. Diefenbach, T. Stroh, W. Reidel
2.4.2 Softwareanforderungen Client – Server Kommunikation memset (&pp, 0, sizeof(pp)); pp.flocal = TRUE; pp.channel = 0xfe & 0xff; // Gerät im System registrieren h = RegisterDevice(L"COM", 8, L"btd.dll", (DWORD)&pp); D. Diefenbach, T. Stroh, W. Reidel
2.5 Softwareanforderungen 1. Visualisierung auf PDA-Screen 2. Entwicklung unter Visual Studio 2005 C++ 3. Bluetoothverbindung 4. Client – Server Kommunikation 5. Entwicklung eines Testservers 1. Versuchsprogramm 2. Versuchsprogramm 3. Versuchsprogramm D. Diefenbach, T. Stroh, W. Reidel
2.5.1 Softwareanforderungen Entwicklung eines Testservers 1. Versuchsprogramm a) Berechnung von Sinuswerten b) Übermittlung zum PDA c) Testen der Draw-Routine D. Diefenbach, T. Stroh, W. Reidel
2. Softwareanforderungen 1. Visualisierung auf PDA-Screen 2. Entwicklung unter Visual Studio 2005 C++ 3. Bluetoothverbindung 4. Client – Server Kommunikation 5. Entwicklung eines Testservers 1. Versuchsprogramm 2. Versuchsprogramm 3. Versuchsprogramm D. Diefenbach, T. Stroh, W. Reidel
2.5.2 Softwareanforderungen Entwicklung eines Testservers 2. Versuchsprogramm a) Zufallswerte generieren b) kontinuierliches Senden an PDA c) kontinuierliches Zeichnen D. Diefenbach, T. Stroh, W. Reidel
2. Softwareanforderungen 1. Visualisierung auf PDA-Screen 2. Entwicklung unter Visual Studio 2005 C++ 3. Bluetoothverbindung 4. Client – Server Kommunikation 5. Entwicklung eines Testservers 1. Versuchsprogramm 2. Versuchsprogramm 3. Versuchsprogramm D. Diefenbach, T. Stroh, W. Reidel
2.5.3 Softwareanforderungen Entwicklung eines Testservers 3. Versuchsprogramm a) Börsenkurse aus Internet abfragen b) kontinuierliches Senden an PDA c) kontinuierliches Zeichnen D. Diefenbach, T. Stroh, W. Reidel
2.5.3 Softwareanforderungen Börsenkurse aus Internet abfragen Codebeispiel: D. Diefenbach, T. Stroh, W. Reidel
D. Diefenbach, T. Stroh, W. Reidel 3. Ablaufdiagramm 1. Projektbeschreibung / Projektziele 2. Softwareanforderungen 3. Ablaufdiagramm 4. Live-Demo 5. Probleme 6. Ausblick D. Diefenbach, T. Stroh, W. Reidel
D. Diefenbach, T. Stroh, W. Reidel 3. Ablaufdiagramm D. Diefenbach, T. Stroh, W. Reidel
D. Diefenbach, T. Stroh, W. Reidel 4. Live-Demo 1. Projektbeschreibung / Projektziele 2. Softwareanforderungen 3. Ablaufdiagramm 4. Live-Demo 5. Probleme 6. Ausblick D. Diefenbach, T. Stroh, W. Reidel
D. Diefenbach, T. Stroh, W. Reidel 5. Probleme 1. Projektbeschreibung / Projektziele 2. Softwareanforderungen 3. Ablaufdiagramm 4. Live-Demo 5. Probleme 6. Ausblick D. Diefenbach, T. Stroh, W. Reidel
D. Diefenbach, T. Stroh, W. Reidel 5. Probleme Labview von National Instruments Laboratory Virtual Instrument Engineering Workbench graphisches Programmiersystem Anwendungsgebiet Mess- und Automatisierungstechnik Unterstützt verschiedene Hardware wie CF-Karte D. Diefenbach, T. Stroh, W. Reidel
D. Diefenbach, T. Stroh, W. Reidel 5. Probleme Keine Lizenz für Labview 7.1 / PDA-Modul Treiber benötigt diese Installation ohne Lizenz nicht möglich Keine C-API für CF-Karte Nur graphische Programmierung möglich D. Diefenbach, T. Stroh, W. Reidel
D. Diefenbach, T. Stroh, W. Reidel 5. Probleme PDA – Programmierung Kleiner Bildschirm (240 x 320) Geringer Leistungsfähigkeit (CPU, RAM) Unterstützt nur UNICODE Umwandlung von ASCII in UNICODE mit Makros _T(“Ascii-String“) oder (L“Ascii-String“) D. Diefenbach, T. Stroh, W. Reidel
D. Diefenbach, T. Stroh, W. Reidel 5. Probleme Zeichen-Methoden Kein TextOut() zum Zeichnen an bestimmte Positionen Alternative DrawText(string, rect, param); Rechteck zeichnen Unicode String angeben Parameter: genaue Position im Rechteck D. Diefenbach, T. Stroh, W. Reidel
D. Diefenbach, T. Stroh, W. Reidel 5. Probleme Time-Funktion Kein time(); Alternative GetLocalTime(&SYSTEMTIME); SYSTEMTIME Struktur Einzelne Parameter für Jahr, Monat, Tag, Wochentag, Stunde, Minute, Sekunde, Millisekunde Zeitdifferenz schwierig zu berechnen D. Diefenbach, T. Stroh, W. Reidel
D. Diefenbach, T. Stroh, W. Reidel 5. Probleme Datenübertragung Übertragung von Strings Umwandlung mit sprintf(); Auslesen mit sscanf(); Werte trennen mit Pipe | z.B. “1,23|123.44|15|0“ D. Diefenbach, T. Stroh, W. Reidel
D. Diefenbach, T. Stroh, W. Reidel 6. Ausblick 1. Projektbeschreibung / Projektziele 2. Softwareanforderungen 3. Ablaufdiagramm 4. Live-Demo 5. Probleme 6. Ausblick D. Diefenbach, T. Stroh, W. Reidel
D. Diefenbach, T. Stroh, W. Reidel 6. Ausblick Ansteuerung von AD-Wandler Nutzen verschiedener Schnittstelle (IRDA, Wifi) Zeitachse D. Diefenbach, T. Stroh, W. Reidel
PDV-Vertiefung’06 Messwerterfassung mit PDA David Diefenbach Timo Stroh Waldemar Reidel Betreuer: Prof. Dr. K. O. Linn