System lokalizacji GPS Pracownia problemowa 2008 Stanisław Gwara
Plan prezentacji: Zarys projektu Potencjalne zastosowania Główne założenia Architektura Użyte rozwiązania
Zarys projektu: Tematem niniejszego projektu jest system umożliwiający obserwację położenia urządzeń odbierających sygnał GPS. System ten oprócz śledzenia „na bieżąco” pozycji żądanego modułu GPS pozwala również na składowanie i zarządzanie danymi o historii przebytej przez urządzenie trasy przy użyciu przeglądarki.
Potencjalne zastosowania systemu: Lokalizacja przedstawicieli handlowych firmy Możliwość obserwowania za pomocą kilku kliknięć obecnej pozycji wybranego pracownika oraz trasy jaką przebył. System zabezpieczający samochód: W tym wariancie moduł (GPS + modem GPRS) jest na stałe zainstalowany w samochodzie w trudno dostępnym miejscu i co zadany okres czasu przesyła dane o aktualnej pozycji samochodu.
Potencjalne zastosowania systemu: System śledzenia komunikacji miejskiej: Podobnie jak w powyżej, z tą różnicą że wyniki w postaci aktualnej pozycji tramwaju/autobusu można obserwować w ogólnodostępnej witrynie internetowej.
Główne założenia projektu Prosta architektura klient-serwer. Bezpieczeństwo – w wypadku kiedy przesyłane dane mogą być istotne z punktu widzenia szpiegostwa przemysłowego wskazane jest wykorzystanie np. SSL. Wykorzystanie różnych darmowych i ciekawych rozwiązań. Łatwość w dostosowywaniu aplikacji do potrzeb firmy.
Główne założenia projektu: Łatwy dostęp do danych o położeniu/trasie – dostęp odbywa się za pomocą przeglądarki internetowej – jest to jedyna aplikacja której potrzebuje klient chcący obserwować dane urządzenie. Niskie koszty użytkowania – W wypadku kiedy przybliżone położenie urządzenia jest znane (np. podczas śledzenia komunikacji miejskiej) nie są przesyłane pełne koordynaty tylko interesująca nas część. Dodatkowo istnieje możliwość ustawienia interwału przesyłania danych.
Architektura Schemat ogólny: Internet GPRS GPRS Serwer Komputer PC firmowy Komputer PC Agent mobilny
Architektura Częścią wspólną wszystkich wariantów użycia takiego systemu jest serwer. Serwer odpowiada za odbieranie połączeń oraz składowanie i udostępnianie danych o aktualnym położeniu/przebytej trasie. Aktualne rozwiązanie to wielowątkowy serwer napisany przy użyciu Javy. Dodatkowo w użyciu jest serwer http Apache. Służy on do udostępniania witryny z mapą i kontrolkami zarządzającymi.
Architektura Część mobilna systemu różni się w zależności od zastosowania. W przypadku lokalizacji położenia pracowników danej firmy jest to PDA + GPS + telefon GPRS Bluetooth Bluetooth Telefon komórkowy PDA GPS
Architektura W takim wariancie moduł GPS jest na stałe zainstalowany w samochodzie przedstawiciela handlowego. Aplikacja zbierająca dane działa na PDA, w tle. Aplikacja ta łączy się poprzez bluetooth z modułem GPS, odczytuje zdania w formacie NMEA-0183, parsuje je do zadanej postaci i wysyła poprzez modem GPRS (w tym wypadku dowolny telefon komórkowy)
Architektura Rozwiązanie to zostało stworzone dla potrzeb określonej firmy gdzie w użyciu były już palmtopy korzystające z modemu GPRS w telefonie komórkowym. W takiej sytuacji jedynym dodatkowym kosztem jest moduł GPS. Niestety wadą takiego rozwiązania jest wysokie zużycie baterii (utrzymywanie połączeń bluetooth) oraz konieczność zrywania/wznawiania połączenia gdy pracownik oddali się od modułu GPS.
Architektura Powyższe problemy rozwiązuje użycie jednego urządzenia – bardziej zaawansowanego telefonu (np. Samsung Omnia) który ma wbudowany moduł GPS. Dzięki temu że część mobilna jest napisana w Javie zmiany w oprogramowaniu w porównaniu do poprzedniego wariantu są minimalne.
Architektura W przypadku systemu śledzącego samochód moduł GPS połączony z modemem GPRS jest zainstalowany na stałe w samochodzie. Możliwa jest też dalsza integracja i sprawdzanie np. informacji o tym czy samochód jest aktualnie uruchomiony.
Użyte rozwiązania Apache – w projekcie tym serwer http jest używany do udostępniania strony, na której wyświetlane jest położenie urządzenia GPS i dane o przebytej trasie. Bluecove – implementacja JSR-82 (API Javy dla technologii Bluetooth). Jest to projekt stworzony przez Intela, obecnie rozwijany przez ochotników. Umożliwia wyszukiwanie urządzeń Bluetooth i połączenie z nimi za pomocą kilku linii kodu. Google Maps – serwis google został użyty do prezentacji danych lokalizacyjnych. Korzystanie z map google jest niezwykle proste dzięki zaawansowanemu API.
Użyte rozwiązania Dostęp do API odbwa się z poziomu JavaScript. Do korzystania z Google Maps API wymagany jest bezpłatny klucz, który może uzyskać każdy użytkownik konta google. Klucz pozwala na dostęp z jednej domeny lub katalogu domeny. Google Maps API umożliwia zintegrowanie ze stroną internetową w pełni funkcjonalnej mapy, z własnymi danymi i funkcjami do obsługi zdarzeń. Mysaifu – open sourcowa maszyna wirtualna Javy dla platformy Windows Mobile. Obecnie jest to jedyna sensowna i darmowa maszyna wirtualna dla tej platformy, co ciekawe rozwijana przez jedną osobę. SQLite – System zarządzania bazą danych, obecnie wdrażany.