System multimedialny Muzeum Górnośląski Park Etnograficzny w Chorzowie. Rozwój infrastruktury Muzeum Górnośląski Park Etnograficzny w Chorzowie celem uatrakcyjnienia oferty turystycznej i kulturalnej (Etap I). Część 3. System śledzenia obiektów ruchomych i interakcja z systemem multimedialnym. Zakup i instalacja sprzętu i oprogramowania: zakup i montaż wyposażenia bryczki w system śledzenia położenia. Muzeum Górnośląski Park Etnograficzny Gliwice, Chorzów, 2014 1
1 SPIS TREŚCI 2 Wstęp... 3 3 Opis... 3 4 Protokół komunikacyjny (v.1)... 3 4.1 Szczegółowy opis parametrów dla metody http-get... 4 5 Funkcjonalność aplikacji mobilnej... 5 6 Urządzenie mobilne... 7 2
2 WSTĘP W niniejszym dokumencie przedstawiono koncepcję implementacji systemu oraz zarys prac niezbędnych do wykonania przez Wykonawcę w ramach szeroko rozumianej tzw. instalacji i integracji. Niniejszy dokument nie wyczerpuje jednak wszystkich niezbędnych prac, które będą konieczne do wykonania przez Wykonawcę i ma jedynie charakter poglądowy, mający na celu poinformowanie Wykonawcy o bieżącej infrastrukturze posiadanej przez Zamawiającego oraz sugerowanym sposobie rozwiązania problemu. 3 OPIS Trzeci etap wdrożenia obejmuje uruchomienie systemu śledzenia bryczki z wykorzystaniem technologii pozycjonowania satelitarnego Glonass/GPS i komunikacji poprzez sieć 2G/3G/LTE. Zakłada się posiadanie przez woźnicę lub umieszczenie (tymczasowe, z możliwością demontażu) na bryczce urządzenia typu smartfon lub tablet z komunikacją 2G/3G/LTE w sieci obejmującej zasięgiem MGPE. Urządzenie okresowo będzie raportowało położenie bryczki do centralnego serwera znajdującego się w serwerowni MGPE, poprzez udostępnioną usługę, widoczną w publicznej sieci Internet. 4 PROTOKÓŁ KOMUNIKACYJNY (V.1) Urządzenie raportuje swoją pozycję w interwałach skonfigurowanych w ustawieniach aplikacji (standardowo około 1s) korzystając z bezpiecznego połączenia https lub niezabezpieczonego http (wynika to z konfiguracji adresu URL, pod którym znajduje się usługa). Dla połączenia zabezpieczonego należy umożliwić po stronie klienta akceptację dowolnego certyfikatu SSL, w szczególności zawierającego błędy ie jak: niewłaściwy common name, niepoprawny przedział dat dla certyfikatu, brak ścieżki certyfikacji, brak ścieżki certyfikacji od zaufanego centrum certyfikacji. Funkcja ta powinna być przełączana w konfiguracji (np. checkbox akceptuj dowolny certyfikat SSL ). Aplikacja kontuje się z serwerem umieszczonym w MGPE, który nasłuchuje na dedykowanym porcie komunikacyjnym w jednym z ww. protokołów. W sekcji konfiguracyjnej aplikacji powinna być możliwość wprowadzenia dowolnego adresu URL, pod którym znajduje się serwer. W szczególności możliwe są adresy URL składające się z numerycznego adresu IP, wraz z podanym numerem portu, adresy składające się wyłącznie z sekcji root jak i adresy wraz z podkatalogami, oraz z końcową nazwą pliku. Poniżej podano kilka przykładów (lista nie wyczerpuje wszystkich kombinacji): http://123.456.789.123 http://123.456.789.123:8090 http://www.abcdefghijklm.pl http://www.abcdefghijklm.pl:456 http://www.abcdefghijklm.pl/podkatalog/podkatalog/plik.php http://www.abcdefghijklm.pl:456/podkatalog/ Zapytania, które nie zostaną obsłużone przez serwer do momentu konieczności wysłania kolejnej informacji (a więc w skonfigurowanym interwale czasowym) należy pominąć bez oczekiwania na odpowiedź serwera. W przypadku długotrwałego braku połączenia, na ekranie urządzenia (oraz opcjonalnie dźwiękowo) powinna pojawiać się stosowna informacja. 3
4.1 SZCZEGÓŁOWY OPIS PARAMETRÓW DLA METODY HTTP-GET Bieżąca pozycja bryczki jest przekazywana w postaci łańcucha URL (metodą http GET) i składa się z następujących elementów (kolejność dowolna, wielkość liter w nazwach kluczy nie ma znaczenia, w wartościach litery duże i małe są rozróżnialne i należy uwzględnić ich wielkość): Tabela 1. Opis parametrów dla metody http GET Lp. Klucz Znaczenie Format danych Obligatoryjne Opis 1 ID Identyfikator urządzenia 8 cyfr, zapis pełny włączając zera nieznaczące, np.: 00000001 00000012 00009987 2 SECID Klucz zabezpieczenia 16 znaków alfanumerycznych 3 LON Długość geograficzna Wartość zmiennoprzecinkowa typu Double, jako znak dziesiętny kropka np.: 50.25467890. Wartość z przedziału -180 0 180. Wartości dodatnie oznaczają półkulę wschodnią, wartości ujemne oznaczają półkulę zachodnią. 4 LAT Szerokość geograficzna Wartość zmiennoprzecinkowa typu Double, jako znak dziesiętny kropka np.: 18.74950394. Wartości z przedziału -90 0 90. Wartości dodatnie oznaczają półkulę północną, wartości ujemne oznaczają półkulę południową. 5 TS Sygnatura czasowa lokalizacji 6 ALT Wysokość bezwzględna nad poziomem morza. Format zgodnie z ISO 8601 2, włącznie z podaniem strefy czasowej pomiaru np.: 2014-10-24T19:17:30+02:00 zakodowany (URLEncode): 2014-10- 24T19%3A17%3A30%2B02%3A0 0 Wartość zmiennoprzecinkowa typu Double, jako znak dziesiętny kropka np.: 120.000000 nie Numer kolejny nadawany przez administratora systemu. Konfigurowalny w urządzeniu. Ze względów bezpieczeństwa, algorytm wyliczania klucza zabezpieczeń zostanie podany po podpisaniu umowy z Wykonawcą 1 Z odbiornika (GPS/Glonass/Bei dou/galileo), w stopniach dziesiętnych. Z odbiornika (GPS/Glonass/Bei dou/galileo), w stopniach dziesiętnych. Czas UTC, podawany z dokładnością do sekundy oraz z podaniem strefy czasowej. Jest to czas uzyskania pomiaru (a nie czas nadania informacji). (GPS/Glonass/Bei dou/galileo, możliwe wspomaganie altymetrem 1 Zamawiający oświadcza, że algorytm jest jednym z typowych algorytmów dostępnych w domenie publicznej i jest prosty w implementacji przy wykorzystaniu zewnętrznych, ogólne dostępnych bibliotek programistycznych. 2 W związku z występowaniem znaków zastrzeżonych dla adresów URL, niezbędne jest wykonanie operacji kodowania zgodnie ze standardami tworzenia łańcuchów URL. Wygląd zakodowanego ciągu znaków przedstawiono w nawiasie poniżej przykładu. 4
7 BEARING Kierunek poruszania się obiektu. Wartość zmiennoprzecinkowa typu Float, jako znak dziesiętny kropka, np.: 351.45 8 ACCU Dokładność pomiaru. Wartość zmiennoprzecinkowa typu Float, jako znak dziesiętny kropka, np.: 1.12 9 SPEED Prędkość poruszania się obiektu. nie nie Wartość zmiennoprzecinkowa typu Float, jako znak dziesiętny kropka, np.: 5.12 nie barometrycznym). Informacja podawana, o ile jest dostępna. Uwaga możliwa jest wartość ujemna! Kierunek poruszania się obiektu w stopniach (i ułamkach stopni). Informacja podawana, o ile jest dostępna. Wskazane wspomaganie magnetometrem (kompasem) o ile dostępny w urządzeniu. Uwaga możliwa jest wartość ujemna! Podane w metrach, o ile dostępne. Podane w m/s, prędkość poruszania się obiektu względem ziemi (true ground speed). Przykład zapytania dla metody http-get, informującej o położeniu obiektu nr. 472 na terenie Muzeum Górnośląski Park Etnograficzny: https://serwer/usługa/handler?id=00000472&secid=1234567890abcdef&lon=18.970401&lat= 50.293406&TS=2014-10- 24T19%3A17%3A30%2B02%3A00&ALT=304.02&BEARING=48.5501&ACCU=1&SPEED=5 5 FUNKCJONALNOŚĆ APLIKACJI MOBILNEJ Poza funkcjami związanymi ze śledzeniem i przekazywaniem bieżącej lokalizacji obiektu do serwera MGPE, aplikacja musi posiadać następujące funkcje (nie wyłączając innych): Raportowanie położenia urządzenia zgodnie z protokołem komunikacyjnym zamieszczonym rozdziale 4 wraz z podrozdziałami. Sprawdzenie przy uruchomieniu oraz monitorowanie w trakcie pracy, czy odbiornik GPS/Glonass urządzenia jest włączony na poziomie systemu operacyjnego/urządzenia oraz przekierowanie do odpowiedniej strony ustawień systemu operacyjnego/urządzenia w przypadku, gdy odbiornik ten jest wyłączony. Sprawdzenie przy uruchomieniu oraz monitorowanie w trakcie pracy, czy jest dostępne połączenie sieciowe TCP/IP oraz przekierowanie do odpowiedniej strony ustawień systemu operacyjnego/urządzenia w przypadku, gdy transfer danych jest wyłączony (sprawdzenie 5
dotyczy dowolnego medium komunikacyjnego, natomiast przekierowanie w celu włączenia transferu danych powinno skierować użytkownika na stronę ustawień związaną z siecią 2G/3G/4G (a nie np. WiFi czy Bluetooth). Informowanie na bieżąco o jakości pozycjonowania (GPS fix) na ekranie aplikacji, informacja o bieżącym położeniu geograficznym (długość / szerokość) oraz gdy dostępne kierunek poruszania się, wysokość nad poziomem morza, jakość pozycjonowania (analogicznie do zestawu przekazywanych danych). Informowanie głosowe o utracie i uzyskaniu precyzyjnego pozycjonowania z wykorzystaniem satelitarnego systemu GPS/Glonass. Informowanie o połączeniu z serwerem MGPE (realizowane, jako okresowe sprawdzanie, czy komunikacja z serwerem się powiodła) funkcja ta musi uwzględniać interwał raportowania. Brak konieczności utrzymywania stale włączonego ekranu podczas pracy oprogramowania. W sekcji ustawień aplikacji konieczne jest uwzględnienie sterowania następującymi elementami (nie wyłączając innych): Konfiguracja identyfikatora urządzenia. Konfiguracja adresu URL, pod którym znajduje się serwer. Możliwość włączenia / wyłączenia komunikatów głosowych aplikacji. Interwał raportowania. Przełącznik włączający akceptację dowolnego (nawet niepoprawnego) certyfikatu SSL. Klucz prywatny używany do wyliczania MD5. 6
6 URZĄDZENIE MOBILNE Urządzenie mobilne musi pozwalać na płynną pracę aplikacji (odpowiednio duża pamięć i wydajny procesor), zapewniać dobrej jakości połączenia z siecią komórkową oraz posiadać odbiornik sygnałów pozycjonowania satelitarnego co najmniej dla sieci GPS oraz Glonass. Urządzenie może ponadto korzystać z sieci Beidou oraz Galileo w celu poprawienia jakości pozycjonowania, jak również wykorzystywać inne techniki poprawy jakości pozycjonowania, w tym SBAS (EGNOS), DGPS, AGPS i inne. Urządzenie musi być wyposażone w możliwość podłączenia się do sieci telefonii komórkowej dowolnego operatora oferującego usługi na terenie RP, w szczególności do sieci ORANGE, PLAY, T- Mobile, PLUS, AERO-2 w standardzie 2G i 3G. Urządzenie musi posiadać rozszerzoną baterię pozwalającą na nieprzerwaną pracę z włączonym transferem danych oraz systemem pozycjonowania w trakcie typowego dnia pracy w Parku (z reguły poniżej 12h/dobę). 7