POLITECHNIKA LUBELSKA



Podobne dokumenty
POLITECHNIKA LUBELSKA

Krótka Historia. Co to jest NetBeans? Historia. NetBeans Platform NetBeans IDE NetBeans Mobility Pack Zintegrowane moduły. Paczki do NetBeans.

Ćwiczenie 3 Komunikacja szeregowa z odbiornikiem GPS w technologii.net Compact Framework

Tworzenie aplikacji Web Alicja Zwiewka. Page 1

Podstawy programowania. Wprowadzenie

PROJEKT WSPÓŁFINANSOWANY ZE ŚRODKÓW UNII EUROPEJSKIEJ W RAMACH EUROPEJSKIEGO FUNDUSZU SPOŁECZNEGO OPIS PRZEDMIOTU. studia pierwszego stopnia

Programowanie w C. dr inż. Stanisław Wszelak

Koło zainteresowań Teleinformatyk XXI wieku

Seria tachimetrów GTS-750

Utworzenie aplikacji mobilnej Po uruchomieniu Visual Studio pokazuje się ekran powitalny. Po lewej stronie odnośniki do otworzenia lub stworzenia

To sposób w jaki użytkownik wchodzi w interakcje z systemem. Środowisko graficzne używa kombinacji graficznych elementów(przyciski, okna, menu) i

Środowiska i platformy programistyczne

Tworzenie oprogramowania

Wykorzystanie nowoczesnych technologii w zarządzaniu drogami wojewódzkimi na przykładzie systemu zarządzania opartego na technologii GPS-GPRS.

Cechy systemu X Window: otwartość niezależność od producentów i od sprzętu, dostępny kod źródłowy; architektura klient-serwer;

NAWIGACJA MODECOM FREEWAY MX3 HD WPROWADZENIE

Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki

Aplikacje Systemów. 1. System zarządzania flotą pojazdów 2. Nawigacja samochodowa GPS. Gdańsk, 2015

Aplikacje Systemów. System zarządzania flotą pojazdów Nawigacja samochodowa GPS. Gdańsk, 2016

Języki i paradygmaty programowania doc. dr inż. Tadeusz Jeleniewski

REFERAT PRACY DYPLOMOWEJ

INFORMATYKA TECHNICZNA Badanie możliwości wykorzystania języka AutoLISP i środowiska VisualLISP w systemie CAx

KATEDRA SYSTEMÓW MULTIMEDIALNYCH SEMINARIUM MULTIMEDIALNE SYSTEMY MEDYCZNE

SPOSOBY POMIARU KĄTÓW W PROGRAMIE AutoCAD

Uniwersytet Warszawski Wydział Matematyki, Informatyki i Mechaniki. Paweł Parys. Nr albumu: Aukcjomat

Podstawowe pojęcia związane z pomiarami satelitarnymi w systemie ASG-EUPOS

1. Opis. 2. Wymagania sprzętowe:

JavaFX. Technologie Biznesu Elektronicznego. Wydział Informatyki i Zarządzania Politechnika Wrocławska

ICD Wprowadzenie. Wprowadzenie. Czym jest In-Circuit Debugger? 2. O poradniku 3. Gdzie szukać dodatkowych informacji? 4

Wymagane parametry techniczne laptopa

Język JAVA podstawy. wykład 1, część 2. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna

1.1 Wprowadzenie. 1.2 Cechy produktu

ActiveXperts SMS Messaging Server

INSTRUKCJA OBSŁUGI PROGRAMU INSTAR 1.0

Samsung Universal Print Driver Podręcznik użytkownika

SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE

Navroad ENOVO S6 + AutoMapa Polska + 2GB

Czym jest Java? Rozumiana jako środowisko do uruchamiania programów Platforma software owa

Budowa aplikacji ASP.NET z wykorzystaniem wzorca MVC

Lokalizator, rejestrator GPS GT-750, 13 h, Czarny, Bluetooth, USB

Ćwiczenie Nr 6 Przegląd pozostałych najważniejszych mechanizmów systemu operacyjnego Windows

Szczegółowy Opis Przedmiotu Zamówienia: Zestaw do badania cyfrowych układów logicznych

Windows Mobile. Andy Wigley, Daniel Moth, Peter Foot, Microsoft Mobile Development Handbook, Microsoft Press 2007

Politechnika Poznańska, Instytut Informatyki, TWO/GE. Programowanie dla ios

OpenLaszlo. OpenLaszlo

Flex 3. Piotr Strzelczyk Wydział EAIiE Katedra Automatyki. Kraków, 2008

SYLABUS DOTYCZY CYKLU KSZTAŁCENIA realizacja w roku akademickim 2016/2017

Biorąc udział w projekcie, możesz wybrać jedną z 8 bezpłatnych ścieżek egzaminacyjnych:

kpt. Mirosław Matusik Brzeźnica, dnia roku

dokument DOK wersja 1.0

Instalacja SQL Server Express. Logowanie na stronie Microsoftu

Navroad DRIVE + AutoMapa Polska i Europa + 4GB

Materiały dodatkowe. Simulink Real-Time

Instrukcja obsługi urządzenia DS150E z systemem operacyjnym Windows 7. Dangerfield luty 2010 V1.0 Delphi PSS

KONFIGURACJA STACJI KLIENCKIEJ UMOŻLIWIAJĄCA KORZYSTANIE Z PLATFORMY APLIKACYJNEJ

PC0060. ADAPTER Kabel Easy Copy PC-Link USB 2.0 Proste kopiowanie, bez instalacji. Instrukcja obsługi

Instrukcja do oprogramowania ENAP DEC-1

Instrukcja instalacji oprogramowania dla środowiska Windows

Oprogramowanie symulujące sterowanie obiektami budynku

CUDA Median Filter filtr medianowy wykorzystujący bibliotekę CUDA sprawozdanie z projektu

Języki i paradygmaty programowania - 1

Sensory i systemy pomiarowe Prezentacja Projektu SYNERIFT. Michał Stempkowski Tomasz Tworek AiR semestr letni

WIDEOREJESTRATOR LX-400G Z SYSTEMEM ANDROID

Kontrola topto. 1. Informacje ogólne. 2. Wymagania sprzętowe i programowe aplikacji. 3. Przykładowa instalacja topto. 4. Komunikacja.

Garmin w pockecie? Czemu nie. dr@doktorski.net

Systemy mobilne. Laboratorium. Dostęp do danych GPS w Windows Phone 7

ODCZYTON INSTRUKCJA OBSŁUGI PROGRAMU. wersja Zakład Elektronicznych Urządzeń Pomiarowych POZYTON Sp. z o.o Częstochowa, ul.

1. Wprowadzenie Programowanie mikrokontrolerów Sprzęt i oprogramowanie... 33

Nadzorowanie stanu serwerów i ich wykorzystania przez użytkowników

Programowanie Urządzeń Mobilnych. Laboratorium nr 7, 8

Definiowanie drukarek w programie ZAFIR

CENTRALNA KOMISJA EGZAMINACYJNA

pytania i odpowiedzi Kiedy rozpocznie się sprzedaż IsatPhone Pro? Czerwiec IsatPhone Pro posiada następujące główne funkcje:

Laboratorium Komputerowe Systemy Pomiarowe

NAWIGACJA MODECOM FREEWAY MX3. Wprowadzenie

Instrukcja obsługi programu ODGiK-NET 1.5

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ),

Dotacje na innowacje. Inwestujemy w waszą przyszłość.

Roger Access Control System. Aplikacja RCP Point. Wersja oprogramowania : 1.0.x Wersja dokumentu: Rev. C

KONFIGURACJA STACJI KLIENCKIEJ UMOŻLIWIAJĄCA KORZYSTANIE Z PLATFORMY APLIKACYJNEJ

REFERAT O PRACY DYPLOMOWEJ

IBM SPSS Statistics Version 22. Windows - Instrukcja instalacji (licencja wielokrotna)

Instrukcja użytkownika ARSoft-WZ1

Zastosowania Robotów Mobilnych

IBM SPSS Statistics - Essentials for Python: Instrukcje instalacji dla Windows

WYŚWIETLANIE MOBILNYCH APLIKACJI NAWIGACYJNYCH ZA POMOCĄ SYSTEMU APPLINK TREŚCI CYFROWE INSTRUKCJA OBSŁUGI

U M L. System operacyjny Linux zagnieżdżony w zewnętrznym systemie operacyjnym (Linux)

Instalacja Wirtualnego Serwera Egzaminacyjnego

INSTRUKCJA OBSŁUGI SUPLEMENT

Czym jest technologia Bluetooth?

Dokumentacja aplikacji Szachy online

Wstęp do Informatyki. Klasyfikacja oprogramowania

Instytut Systemów Elektronicznych. Specjalność Systemy Informacyjno-Pomiarowe

Założenia funkcjonalności WWT on-line (pre wywiadu technicznego) dla Kanalizacji Kablowej i Słupów OPL:

SystimPlus. Dokumentacja (FAQ) dla wersji: v

Wyposażenie Samolotu

Szczegółowy opis zamówienia:

System zarządzający grami programistycznymi Meridius

Systemy wbudowane i mobilne

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL III TI 4 godziny tygodniowo (4x30 tygodni =120 godzin ),

Transkrypt:

POLITECHNIKA LUBELSKA Wydział Elektrotechniki i Informatyki Kierunek Informatyka praca magisterska Temat: Współpraca technologii.net Compact Framework, Flex i PHP w aplikacjach mobilnych na przykładzie aplikacji zarządzającej trasami treningowymi Dyplomant: Jarosław Paluch Numer albumu: 58771D Lublin, 2011 Promotor: dr inż. Jacek Kęsik

Oświadczam, że praca została przygotowana pod moim kierownictwem naukowym i stwierdzam, że spełnia ona warunki przedstawienia jej w postępowaniu o nadanie tytułu magistra. Data i podpis promotora: Świadom odpowiedzialności prawnej oświadczam, że niniejsza praca została napisana przeze mnie samodzielnie i nie zawiera treści uzyskanych w sposób niezgodny z obowiązującymi przepisami. Oświadczam również, że przedstawiona praca nie była wcześniej przedmiotem procedur związanych z uzyskaniem stopnia zawodowego/naukowego w wyższej uczelni. Niniejsza wersja pracy jest identyczna z załączoną treścią elektroniczną na CD. Data i podpis autora: 3

Spis treści Słowniczek......................................... 7 1. Wstęp.......................................... 9 2. Cel i zakres pracy................................... 11 3. Zakres zastosowanych technologii - aplikacja mobilna............ 13 3.1. Środowisko programistyczne........................... 13 3.2. Platforma testowa - Windows Mobile 6.5.................... 15 4. Obsługa GPS na platformie Windows Mobile................. 17 4.1. Krótko o systemie GPS.............................. 17 Zasada działania GPS............................... 17 4.2. Klasyczny dostęp do urządzenia GPS...................... 18 4.3. GPS Intermediate Driver............................. 19 4.4. GPS Intermediate Driver - Korzystanie z API................. 20 5. Aplikacja sieciowa - serwer............................. 23 Literatura.......................................... 25 Strony internetowe................................. 25 Spis rysunków....................................... 27 Spis listingów........................................ 29 Spis tabel.......................................... 31 5

Słowniczek IDE - Integrated Development Environment - aplikacja lub zespół aplikacji (środowisko) służących do tworzenia, modyfikowania, testowania i konserwacji oprogramowania [7]. SDK - Software Development Kit - Windows Mobile 6 SDK zawiera dokumentację, przykładowy kod, nagłówki, biblioteki, obrazy emulatorów i narzędzia dla Visual Studio pozwalające budować aplikacje dla Windows Mobile 6. DTK - Developer Toolkit - Windows Mobile 6.5 DTK zawiera emulatory, API obsługi gestów i przykłady użyteczne w rozwijaniu aplikacji. Do działania wymaga Visual Studio i Windows Mobile 6 SDK Almanach Efemeryda WGS 84 S/A, Selective Availability SDIO DGPS HDOP SPS - Standard Positioning System PPS - Precise Positioning System DR - Dead Reckoning GPSID - GPS Intermediate Driver Kod zarządzany - odmiana kodu bajtowego działającego pod kontrolą środowiska uruchomieniwego Microsoft.NET Common Language Runtime. W przeciwieństwie do klasycznego kodu bajtowego kod zarządzany jest kompilowany do kodu maszynowego bezpośrednio przed pierwszym uruchomieniem, jest więc do tego czasu przenośny i dostosowany do każdego procesora i systemu operacyjnego, o ile jest na nim zainstalowane środowisko uruchomieniowe, dzięki czemu łączy w sobie zalety zarówno kodu bajtowego jak i kodu maszynowego [12]. 7

1. Wstęp Wstęp powinien stanowić zapowiedź tego, co czytelnik znajdzie w pracy. Należy na 1-2 stronach zamieścić zwięzłe informacje o: - znaczeniu naukowym i/lub praktycznym problematyki objętej tematem pracy dyplomowej, - obszarach tej problematyki niezbadanych lub nie do końca zbadanych, czego konsekwencją był wybór konkretnego celu badań, - możliwości wykorzystania zamieszczonych w pracy wyników badań. Na podstawie tak napisanego wstępu czytający może zdecydować, czy lektura całej pracy lub jej fragmentów będzie dla niego interesująca. 9

2. Cel i zakres pracy Celem pracy jest przedstawienie możliwości współpracy technologii.net Compact Framework, Flex i PHP w budowie systemu zarządzającego trasami treningowymi. Wbrew powszechnym opiniom na temat technologii firmy Microsoft, niniejsza praca stanowić będzie próbę udowodnienia, iż na platformę Windows Mobile można tworzyć aplikacje wszechstronne, użyteczne oraz mogące sprawnie komunikować się z Internetem, innymi urządzeniami i technologiami. Opracowany system zarządzający trasami treningowymi GPS Rowerowy Asystent składa się z dwóch współpracujących ze sobą aplikacji: 1. Aplikacja mobilna na platformę Windows Mobile - zaawansowany komputerek rowerowy posiadajacy możliwość rejestrowania przebytej trasy oraz przesyłania pliku z trasą na serwer. 2. Aplikacja sieciowa napisana w technologiach Adobe Flex i PHP - umożliwia odczyt zgromadzonych plików z trasami, a także wizualizację tras na mapie. Współpraca ta obejmuje: 1. Komunikację i wymianę danych. 2. Wykorzystanie specyficznych możliwości zastosowanych środowisk programistycznych, sprawiające w rezultacie wrażenie wzajemnego uzupełniania się techologii. Zakres pracy obejmuje: 1. Lalala. 2. Lalalalalalalala. Niniejsza praca składa się z X rozdziałów. Rozdział pierwszy stanowi wstęp. Rozdział drugi przedstawia cel i zakres pracy. Rozdział trzeci robi coś tam coś tam. Rozdział czwarty robi coś tam coś tam. Rozdział piąty stanowi zakończenie i zawiera wnioski płynące z pracy. Integralną część pracy stanowi płyta kompaktowa, na której znaleźć można oprócz tekstu pracy w postaci źródłowej i w postaci pliku pdf również kody źródłowe wszystkich przygotowanych na potrzeby tej pracy programów. 11

3. Zakres zastosowanych technologii - aplikacja mobilna 3.1. Środowisko programistyczne Do napisania aplikacji mobilnej użyte zostało dedykowane zintegrowane środowisko programistyczne (IDE) - Microsoft Visual Studio 2008. W momencie pisania tej pracy dostępna jest nowsza wersja tego oprogramowania - Visual Studio 2010, jednak nie wspiera ona systemów z rodziny Windows Mobile/CE i technologii.net Compact Framework [6]. Visual Studio 2008 jest bardzo rozbudowanym IDE, wspierającym programowanie aplikacji zarówno konsolowych, jak i tych z graficznym interfejsem użytkownika (GUI), stron internetowych, aplikacji webowych, web services na platformy Microsoft Windows, Windows Mobile, Windows CE,.NET Framework,.NET Compact Framework i Microsoft Silverlight. Visual Studio wspiera wiele różnych języków programowania, na poziomie edycji jak i debugowania kodu. W środowisko wbudowano obsługę języków: C/C++, VB.NET, C# i F# (od wersji 2010). Obsługiwane są oczywiście języki znaczników XML/XSLT, HTML/XHTML, JavaScript i CSS. Niniejsza aplikacja mobilna została w całości napisana w języku C# na poziomie platformy programistycznej.net Compact Framework 3.5. Wbudowany w Visual Studio edytor kodu wyposażony jest zaawansowane kolorowanie składni i uzupełnianie kodu, w całości zwane technologią Microsoft IntelliSense. Dobrą cechą wbudowanego debuggera jest zaś fakt jego działania zarówno na poziomie kodu jak i maszyny (w tym wypadku urządzenia mobilnego lub jego emulatora). Programowanie aplikacji w technologii.net CF zdecydowanie ułatwia tryb Design, który pozwala na umieszczanie kontrolek na ekranie aplikacji za pomocą metody przeciągnij i upuść (Rys. 3.2). W widoku Design dostępny jest pasek narzędzi z dużą ilością kontrolek do wyboru. W przypadku rozwijania aplikacji pod Windows Mobile 6.5 / 6.5.3 pojawia się jednak pewien problem. Dla tych systemów wydane zostało jedynie DTK, czyli emulatory, API gestów i sample. W projektach Windows Mobile 6.5 / 6.5.3 używa się zatem Windows Mobile 6 SDK, co ze strony Visual Studio skutkuje na przykład brakiem predefiniowanej możliwości wyboru rozmiaru wyświetlacza 800 na 480 pikseli (można wymusić taki rozmiar wpisując go ręcznie). Brak jest też prostej obsługi skórek charakterystycznych dla nowszych systemów z rodziny Windows Mobile, można je zastosować wyłącznie z poziomu kodu. Bardzo użyteczną funkcją jest możliwość uruchamiania bądź debugowania aplikacji bezpośrednio na urządzeniu mobilnym. Wystarczy tylko podłączyć telefon kablem USB i w momencie uruchamiania aplikacji wybrać Windows Mobile 6 Professional Device jako cel (Rys. 3.1). 13

3.1. Środowisko programistyczne Zakres zastosowanych technologii - aplikacja mobilna Rysunek 3.1. Ekran wyboru urządzenia docelowego wdrażanej aplikacji Rysunek 3.2. Visual Studio 2008: Tryb design 14

Zakres zastosowanych technologii - aplikacja mobilna 3.2. Platforma testowa - Windows Mobile 6.5 3.2. Platforma testowa - Windows Mobile 6.5 Urządzeniem docelowym, a zarazem testowym był Samsung Omnia II i8000, działający pod kontrolą systemu Windows Mobile 6.5 Professional. Dokładna wersja jądra systemu to Windows CE 5.2.21895 (21895.5.0.90). Telefon ten wyposażony jest w procesor ARM1176 S3C6410 o częstotliwości taktowania 800MHz, 256MB pamięci RAM, 512 MB pamięci ROM, 8 GB wewnętrznej pamięci masowej, a dodatkowo posiada także kartę microsd o pojemności 8 GB. Urządzenie posiada wyświetlacz AMOLED o rozdzielczości 800 na 480 pikseli z oporowym panelem dotykowym. Standardowo w telefonie znajduje się wbudowany moduł GPS, podpięty na stałe do portu COM9. W ramach rozwijania i testowania aplikacji używany był jednak zewnętrzny odbiornik Bluetooth GPS - Pentagram PathFinder P 3101, działający w oparciu o 66 kanałowy układ firmy MTK MT3301+MT3179. Urządzenie to charakteryzuje się bardzo krótkim czasem potrzebnym na ustanowienie połączenia z satelitami oraz wysoką dokładnością, wynoszącą poniżej 3 metrów pod gołym niebem. 15

4. Obsługa GPS na platformie Windows Mobile 4.1. Krótko o systemie GPS GPS (ang. Global Positioning System), właściwie GPS-NAVSTAR (ang. Global Positioning System - NAVigation Signal Timing And Ranging) jest globalnym systemem nawigacji satelitarnej, utworzonym i utrzymywanym przez Departament Obrony Stanów Zjednoczonych, dostarczającym informacje o lokalizacji i czasie, na Ziemi i w jej pobliżu - wszędzie tam, gdzie widoczne są przynajmniej cztery satelity GPS. Początki projektu GPS to rok 1973. System GPS został zaprojektowany tak, aby przede wszystkim ominąć ograniczenia swoich poprzedników. Początkowo składał się z 24 satelitów, obecnie na orbicie jest ich 31, w tym 28 stale czynnych. Pełne funkcjonowanie rozpoczął w roku 1994. Aktualnie jedynym systemem konkurencyjnym dla GPS jest rosyjski GLONASS (ang. GLObal NAvigation Satellite System), początkowo używany wyłącznie przez rosyjskie służby, oddany do publicznego użytku w 2007. W trakcie ciągłej budowy są dwa alternatywne systemy nawigacji satelitarnej - chiński Compass i europejski Galileo. Zasada działania GPS Każdy satelita GPS nieustannie trasmituje wiadomości, które zawierają: bardzo dokładny czas informację o układzie satelitów na niebie (tzw. almanach) informację o teoretycznej drodze satelitów i odchyleniach od niej (tzw. efemeryda) Wyznaczenie pozycji odbiornika polega na pomiarze tzw. pseudoodległości od kilku satelitów. Przy znanej prędkości fali elektromagnetycznej oraz dokładnym czasie wysłania sygnału można obliczyć odległość od satelity. Pozycja geograficzna wyznaczana jest przy użyciu przestrzennego liniowego wcięcia wstecz. Podawana jest następnie w wybranym układzie odniesienia - standardowo WGS 84. Dla dokładności pomiaru szalenie istotne jest precyzyjne ustalenie czasu. Przykładowo, błąd jednej mikrosekundy skutkuje błędem położenia wynoszącym w przybliżeniu 300 metrów [8]. Każdy satelita wyposażony jest w zegar atomowy, dzięki czemu czas na poszczególnych satelitach jest zsynchronizowany z całym systemem. Dla użytkownika końcowego oznacza to, że odbiornik GPS oprócz położenia podaje również bardzo precyzyjny czas. Ze względów bezpieczeństwa oraz strategicznych przewidziano dwa poziomy dokładności GPS - standardowy dla odbiorców cywilnych (SPS) oraz precyzyjny do zastosowań militarnych (PPS). Do roku 2000 dokładność systemu dla zastosowań pozamilitarnych wynosiła około 100 metrów z powodu zakłócania sygnału pseudolosowym błędem - metoda ta została nazwana Selective Availability. Rozkazem prezydenta USA Billa Clintona 1 maja 2000 na stałe wyłączono mechanizm S/A, co spowodowało wzrost dokładności standardowego poziomu do 4-12 metrów. 17

4.2. Klasyczny dostęp do urządzenia GPS Obsługa GPS na platformie Windows Mobile 4.2. Klasyczny dostęp do urządzenia GPS Obsługa GPS na platformie Windows Mobile w wersjach wcześniejszych niż 5.0 możliwa była wyłącznie za pomocą bezpośredniego dostępu do sprzętowego portu COM, do którego podłączone było urządzenie GPS. Mógł to być oczywiście wirtualny port COM, mapujący rzeczywisty interfejs tj. Compact Flash, SDIO, czy Bluetooth. Było to rozwiązanie dość niewygodne, zarówno z punktu widzenia programisty jak i użytkownika. Aplikacje działające w ten sposób musiały w pętli w sposób ciągły odczytywać dane z portu COM. Ponadto, ustanowione połączenie z odbiornikiem było przejmowane przez aplikację na wyłączoność - żadna dodatkowa aplikacja nie mogła jednocześnie z niego korzystać. Należy także zaznaczyć, że dane z odbiornika GPS zakodowane są zgodnie ze standardem NMEA-0183 (ang. National Marine Electronics Association). Otrzymane dane trzeba było następnie odpowiednio przetwarzać, aby otrzymać np. aktualne położenie geograficzne. Przykładowy ciąg NMEA [11]: $GPGGA,123519,4807.038,N,01131.000,E,1,08,0.9,545.4,M,46.9,M,,47 Gdzie: GGA - oznacza, że są to dane GPS na temat pozycji 123519 - sygnał został odebrany o 12:35:19 UTC 4807.038,N - szerokość geograficzna 48 07.038 N = 48 7 2.28 N 01131.000,E - długość geograficzna 11 31.000 E = 11 31 E 1 - jakość sygnału: 0 = nieprawidłowy 1 = pozycja GPS (SPS) 2 = pozycja DGPS 3 = pozycja PPS 4 = Real Time Kinematic - jedna z metod obliczania położenia 5 = Float RTK - jedna z metod obliczania położenia 6 = szacowany, nawigacja zliczeniowa (ang. Dead Reckoning) 7 = tryb manualny 8 = tryb symulacji 08 - liczba śledzonych satelitów 0.9 - HDOP, Horizontal Dilution Of Precision - dokładność położenia 545.4,M - wysokość, w metrach nad poziomem morza 46.9, M - wysokość elipsoidalna, ponad elipsoidą odniesienia WGS84 (puste pole) - czas w sekundach od ostatniej aktualizacji DGPS (puste pole) - numer ID stacji DGPS *47 - suma kontrolna, zawsze zaczyna się od * 18

Obsługa GPS na platformie Windows Mobile 4.3. GPS Intermediate Driver 4.3. GPS Intermediate Driver Rodzina systemów Windows Mobile, począwszy od wersji 5.0 została wyposażona w bibliotekę GPS Intermediate Driver. Stanowi ona abstrakcyjną warstwę pośredniczącą pomiędzy fizycznym odbiornikiem GPS, a aplikacją stworzoną w technologii.net Compact Framework. Co więcej, GPSID stanowi abstrakcję także dla producentów odbiorników. W praktyce GPSID umożliwia programistom rozwijanie aplikacji działających na każdym odbiorniku GPS, a producentom na wytwarzanie odbiorników kompatybilnych z każdą aplikacją. Najważniejsze korzyści płynące z zastosowania GPS Intermediate Driver to: Dostęp do urządzenia GPS przez wiele aplikacji w tym samym czasie. Z punktu widzenia aplikacji wygląda to tak, jakby każda z nich miała swój własny odbiornik GPS. Zniesienie potrzeby parsowania ciągów NMEA przez aplikację, w celu uzyskania danych z GPS. Sterownik GPSID wewnętrznie sam parsuje te dane i oferuje do nich dostęp w przyjazny dla programisty sposób. Starsze aplikacje korzystające z klasycznego dostępu do urządzenia GPS nadal działają na systemach z GPSID. GPSID nie wyklucza dostępu do GPS na zasadzie odczytywania danych z portu COM. W ustawieniach aplikacji starszego typu można wybrać (a nawet jest to zalecane) port programowy GPSID jako port podłączonego odbiornika GPS. Sterownik GPSID sam rozpozna typ aplikacji i przekaże jej dane w odpowiedni sposób. Systemy Windows Mobile z zaimplementowanym GPS Intermediate Driver dostarczane są ze specjalnym panelem sterowania, pozwalającym na konfigurację GPSID (Rys. 4.1). Należy w nim określić dwa numery portów i prędkość transmisji na porcie sprzętowym (ang. baud rate). Port sprzętowy jest numerem portu COM, na którym realnie pracuje odbiornik GPS (Rys. 4.1(a)). Port programu jest wirtualnym portem utworzonym przez GPSID, z którym komunikują się aplikacje (Rys. 4.1(b)). Dostępna jest także opcja Automatycznie zarządzaj GPS, włączająca lub wyłączająca obsługę GPS Intermediate Driver (Rys. 4.1(c)). GPS Intermediate Driver działa na zasadzie wtrącenia siebie pomiędzy aplikacje a odbiornik GPS. Z punktu widzenia aplikacji GPSID niczym nie różni się od sprzętowego odbiornika GPS. Z kolei dla odbiornika GPS, GPSID wygląda jak zwykły, pojedynczy klient. W architekturze GPSID widać wyraźny podział na dwie logiczne grupy. Pierwsza z nich to bloki odpowiedzialne za obsługę starszych aplikacji i przekazywanie ciągów NMEA. Druga grupa obsługuje nowe metody dostępu do danych GPS, za pośrednictwem API (Rys. 4.2). 19

4.4. GPS Intermediate Driver - Korzystanie z API Obsługa GPS na platformie Windows Mobile 4.4. GPS Intermediate Driver - Korzystanie z API Standardowo z dobrodziejstw sterownika GPS Intermediate Driver można korzystać wyłącznie w przypadku pisania aplikacji w natywnym kodzie C++ (WinAPI). Głównymi metodami pozwalającymi na komunikację z odbiornikiem GPS są: GPSOpen- Device, GPSGetPosition, GPSGetDeviceState, GPSCloseDevice. Microsoft dał jednak możliwość dostępu do GPSID z poziomu kodu zarządzanego (w tym przypadku języka C#) [13]. 20

Obsługa GPS na platformie Windows Mobile 4.4. GPS Intermediate Driver - Korzystanie z API (a) wybór portu sprzętowego (b) wybór portu programu (c) włączenie/wyłączenie GPSID Rysunek 4.1. Konfiguracja GPSID 21

4.4. GPS Intermediate Driver - Korzystanie z API Obsługa GPS na platformie Windows Mobile Rysunek 4.2. Architektura GPS Intermediate Driver 22

5. Aplikacja sieciowa - serwer 23

Literatura [1] Matulewski J., Turowski B., Programowanie aplikacji dla urządzeń mobilnych z systemem Windows Mobile, Helion, 2010. [2] Tapper J., Adobe Flex 4: oficjalny podręcznik, Helion, 2011. [3] Powers L., Snell M., Microsoft Visual Studio 2008. Księga eksperta, Helion, 2009. [4] Chybicki A., Srodowisko.NET Compact Framework omówienie architektury, realizacja podstawowej aplikacji GUI, Politechnika Gdańska, dostęp: maj 2011, http://www.eti.pg.gda.pl/katedry/ksg/pracownicy/andrzej.chybicki/pum_ NET_cw3.pdf [5] Chybicki A., Komunikacja z odbiornikiem GPS w technologii.net Compact Framework z wykorzystaniem biblioteki GPS Intermediate Driver, Politechnika Gdańska, dostęp: maj 2011, http://www.eti.pg.gda.pl/katedry/ksg/pracownicy/andrzej.chybicki/ Instrukcja%20laboratoryjna_cw4.pdf Strony internetowe [6] MSDN, Smart Device Development, dostęp: maj 2011, http://msdn.microsoft.com/en-us/library/sa69he4t(vs.100).aspx [7] Wikipedia, Zintegrowane środowisko programistyczne, dostęp: maj 2011, http://pl.wikipedia.org/wiki/zintegrowane_%c5%9brodowisko_ programistyczne [8] Wikipedia, Global Positioning System, dostęp: maj 2011, http://en.wikipedia.org/wiki/global_positioning_system [9] Wikipedia, Global Positioning System, dostęp: maj 2011, http://pl.wikipedia.org/wiki/global_positioning_system [10] MSDN, GPS Intermediate Driver, dostęp: maj 2011, http://msdn.microsoft.com/en-us/library/bb202086.aspx [11] Mehaffey J., Yeazel J., Penrod S., Deiss A. NMEA data, dostęp: maj 2011, http://www.gpsinformation.org/dale/nmea.htm [12] Wikipedia, Kod zarządzany, dostęp: maj 2011, http://pl.wikipedia.org/wiki/kod_zarz%c4%85dzany [13] MSDN, Using the GPS Intermediate Driver from Managed Code, 19.04.2010, http://msdn.microsoft.com/en-us/library/bb158708.aspx [14] David Robinson, Ken Coar The WWW CGI Version 1.1, luty 1996, http://datatracker.ietf.org/doc/draft-robinson-www-interface/ [15] RFC 2396, Uniform Resource Identifiers (URI): Generic Syntax, sierpień 1998, http://www.ietf.org/rfc/rfc2396.txt 25

Spis rysunków 3.1 Ekran wyboru urządzenia docelowego wdrażanej aplikacji.............. 14 3.2 Visual Studio 2008: Tryb design............................. 14 4.1 Konfiguracja GPSID................................... 21 4.2 Architektura GPS Intermediate Driver......................... 22 27

Spis listingów 29

Spis tabel 31