System lokalizacji GPS

advertisement
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
Komputer PC
Agent mobilny
Serwer
firmowy
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
Telefon komórkowy
Bluetooth
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.
►
Download