System lokalizacji urządzeń mobilnych

1 System lokalizacji urządzeń mobilnychCzyli gdzie jestem...
Author: Krystian Piątkowski
0 downloads 0 Views

1 System lokalizacji urządzeń mobilnychCzyli gdzie jestem, kim jestem?

2 Plan prezentacji: Założenia Pojęcia Architektura Czego używamy?

3 Założenia: Język – Java Architektura klient-serwerBezpieczeństwo – SSL Adaptacja do istniejącego systemu przesyłu danych opartego o GPRS Łatwość dostępu do danych lokalizacyjnych Niskie koszty użytkowania Wykorzystanie różnych ciekawych i darmowych rozwiązań Keep It Simple Stupid 

4 Zarys całokształtu: System lokalizujący samochody przedstawicieli handlowych firmy. Każdy przedstawiciel wyposażony jest w jednostkę GPS, PDA oraz telefon komórkowy pełniący rolę modemu GPRS. Aplikacja agenta umieszczona na PDA zbiera dane o aktualnym położeniu samochodu przez określony czas, następnie łączy się przy użyciu modemu GPRS i wysyła do serwera dane reprezentujące trasę którą przebył agent od ostatniej aktualizacji. W centrali firmy aplikacja kliencka łączy się z serwerem, pobiera z bazy danych informacje o trasie wybranego agenta i prezentuje ją na mapie.

5 Architektura Internet GPRS GPRS Serwer Komputer PC firmowyAgent mobilny

6 Architektura – Agent mobilnyGPRS Bluetooth Bluetooth Telefon komórkowy PDA GPS Komunikacja pomiędzy Pocket PC a modułem GPS poprzez Bluetooth W tym celu używamy darmowego API – OpenLAPI API to jest podobne do standardu przemysłowego (JSR-179), który niestety często nie jest implementowany na urządzeniach przenośnych. OpenLAPI jest w całości napisane w Javie (J2ME) dzięki czemu może być użyte na każdej platformie sprzętowej Rozważamy przeniesienie aplikacji klienckiej na komórkę (zmniejszenie liczby potrzebnych urządzeń).

7 Pojęcia – MIDlet MIDlet – Jest to aplikacja napisana w języku Java dla urządzeń obsługujących profil MIDP (Mobile Information Device Profile – konfiguracja zawierająca odpowiednie klasy języka J2ME) takich jak telefony komórkowe czy PDA. MIDlety dziedziczą po klasie MIDlet i muszą spełniać kilka wymagań takich jak metody: startAPP(), destroyApp(), pauseApp(), które wywołują odpowiednie stany

8 Pojęcia - Servlet Pojęcie to powinno być już wszystkim naszym wiernym słuchaczom znane  Jednakowoż przypomnijmy: Jest to program platformy Java wykonywany po stronie serwera – pozwala na dynamiczną modyfikację zawartości WWW. Servlety zwykle korzystają z zewnętrznych danych, takich jak informacje z formularzy i innych interakcyjnych elementów na stronie WWW.

9 Pojęcia - J2ME J2ME - Java Platform Micro Edition – Specyfikacja Sun Microsystems opisująca uproszczoną platformę Java. Zaprojektowana z myślą o urządzeniach z mocno ograniczonymi zasobami. Posiada własny (okrojony w stosunku do JSE) zbiór klas zwanych konfiguracją. Środowisko to posiada także (w zależności od wybranej konfiguracji) własne maszyny wirtualne.

10 Pojęcia NMEA – Standard opisujący komunikację pomiędzy urządzeniami lokalizującymi GPS (ale nie tylko – również sonary itp.). NMEA używa prostego protokołu opartego na ASCII i łączu szeregowym Google Earth KML (Keyhole Markup Language) – Język bazowany na XML służący do prezentowania informacji geograficznych.

11 Pojęcia - KML Przykładowy dokument KML:

12 Czego używamy - OpenLAPIBardzo przydatny tryb emulatora: - Możliwość dostępu do urządzenia GPS przez Bluetooth - Emulowanie urządzenia ruchomego za pomocą pliku NMEA - Emulowanie urządzenia ruchomego z predefiniowanej trasy zapisanej w Google Earth KML. -Emulator pozwala na pisanie aplikacji na sprzęcie klasy PC i przeniesienie kodu na dowolne urządzenie ruchome (to działa!)

13 Czego używamy - OpenLAPIAPI to może być „zapakowane” jako część MIDlet’a Zapewnia dostęp do danych lokalizacyjnych modułu GPS (położenie, prędkość etc.) Rozwiązuje problem wielu urządzeń które zostały wyprodukowane przed zaadaptowaniem JSR-179 (wiele różnych interfejsów) Przeszukiwanie log’ów z historią położenia

14 Czego używamy – Net BeansIDE Mobility Pack – Zawiera Sun Java Wireless Toolkit dla CLDC. Oferuje to dużo gotowych rozwiązań dla urządzeń mobilnych, od API’s graficznych do API’s dla różnych interfejsów Ciekawe rozwiązanie – Paleta. Paleta pozwala w niezwykle intuicyjny sposób zaprojektować stronę wizualną programu, jednocześnie tworząc „szablon” dla całego MIDlet’a

15 Czego używamy – Net BeansRozwiązanie zasługujące na uwagę: Paleta

16 Czego używamy – GoogleMapsAPIFirma Google stworzyła i udostępniła Google Maps API opisujący od podstaw wszystkie funkcje i komponenty potrzebne do tworzenia map na stronach www. Można tworzyć mapy kartograficzne, mapy satelitarne i mapy hybrydowe. API pozwala na rysowanie na mapie dowolnych obiektów – linii, znaczników, kształtów

17 Czego używamy – GoogleMapsAPIPrzykładowy kod rysujący linię składającą się z wielu segmentów (na dwa sposoby)

18 Google Maps API Kod taki umieszczamy na stronie (w naszym przypadku będzie generowany przez servlet):

19 Google Maps API Rezultat na mapie:

20 Do zrobienia Przeniesienie aplikacji klienckiej na telefon komórkowy – zmniejszy to liczbę potrzebnych urządzeń – Dzięki doktrynie Javy „write-once-run-anywhere” nie powinno być to zbyt skomplikowane. Zaimplementowanie bazy danych – Obecnie (faza robocza) dane o trasie są wysyłane jako plik .csv Rozszerzenie systemu o akwizycję innych danych, takich jak paliwo, stan licznika itp.

21 Dziękujemy za uwagę