Zamknij menu
Navisoft
O nas
Produkty
Monitorowanie pojazdów GPS
Elektronika
Zapytania
Baza wiedzy
Kontakt
Lokalizacja pojazdow GPS - producent
na rynku od 2005 roku!
 
menu Formularz kontaktowy Zadzwoń
do góry
O nasProduktyMonitorowanie pojazdów GPSElektronikaZapytaniaBaza wiedzyKontakt
<< Monitorowanie pojazdów GPSO nasProduktyMonitorowanie pojazdów GPSInformacje ogólneStruktura systemuMożliwości oprogramowaniaPrzykładowe zrzutyUrządzenia i dodatkowy osprzętInformacje o aktualizacjach oprogramowaniaOferta cenowaInstrukcjeDodatki i integracja z innymi systemamie-TOLL - system poboru opłatePrzewóz SENT-GEOAPI dostępowe - dane onlineWłasna mapa na stronie internetowejAPI dostępowe - GPSDREksport do 4TansObrysy krajów do pobraniaElektronikaZapytaniaBaza wiedzyKontakt

API dostępowe - GPSDR - API v3

Opis i wymagania - API v3

Moduł synchronizacji danych GPSDR posiada wbudowane API pozwalające na bezpośredni dostęp do danych zarejestrowanych przez urządzenia GPS. Oprogramowanie jak i usługa są bezpłatne dla użytkownika.

Aplikacja wymaga systemu operacyjnego Windows XP lub nowszego, innego kompatybilnego z Windows XP, emulowanego bądź wirtualnego, pozwalającego na pracę aplikacji Win32 (może nie działać poprawnie na Windows 10s). 

Dane GPS w systemie pogrupowane są wg numerów rejestratorów, poszczególne dane z każdego z nich mają unikalny numer rekordu (próbki). Każda pojedyncza próbka prócz numeru posiada takie parametry jak czas, współrzędne, prędkość, kierunek oraz szereg dodatkowych wartości zależnych od rejestratora i firmware w nim.

W celu aktywacji API v3 należy:

  1. Posiadać aplikację GPSDR w wersji 2.4.47 (lub nowszej) lub posiadać poprawnie skonfigurowaną usługę dla Windows GPS DR.
  2. Dokonać edycji pliku konfiguracyjnego navicar.ini znajdującego się w folderze:
    • {app}\network\

    • c:\ProgramData\Navisoft\NaviCar2\

    • c:\Document and Settings\All Users\Application Data\Navisoft\NaviCar2\

 Jeśli plik występuje w więcej niż 1 z powyższych lokalizacji - edycja dotyczy pliku z lokalizacji wymienionej w pierwszej kolejności.

Parametry w konfiguracji pliku navicar.ini

[GPSDR]

...

LocalHttp=1234

API=3

...

W sekcji GPSDR pliku navicar.ini należy dodać następujące wartości:

  • LocalHttp - numer portu TCP na którym usługa zostanie aktywowana. Wartość 0 lub brak klucza - usługa nieaktywna

  • API - numer wersji API. Dopuszczalne wartości to 2 i 3. Aktywacja API v3 wymaga wartości API=3 bądź usunięcia klucza. API w wersji 1 zostało usunięte i nie jest wspierane

Komunikacja

Dostęp do API odbywa się za pomocą standardowego protokołu HTTP aktywowanego na wybranym porcie TCP. Odpowiedź zawsze jest tekstowa, w formacie JSON, zgodnym ze specyfikacją RFC 8259. Kodowanie znaków: UTF-8

Składnia podstawowego zapytania

Podstawowe zapytanie do usługi:

http://server:port/api/command/authkey/configname/?params

  • adres serwera i numer portu ustalane są podczas konfiguracji usług

  • command to polecenie wykonywane przez API

  • authkey - klucz autoryzacyjny / dostępowy do API

  • configname - nazwa konfiguracji dostępnej z API

  • params - dodatkowe opcjonalne parametry, można podawać jako parametry GET lub opcjonalnie jako POST

Obsługiwane polecenia

Testowanie konfiguracji

Polecenie służy do testowania poprawności konfiguracji (aktywacji usługi). Jako jedyne nie wymaga podania poprawnych parametrów do autoryzacji konta. Zwraca wersję API oraz podane parametry wejściowe.

 /api/test/key/configname/?param1=abc&param2=xyz

 

Odpowiedź na polecenie TEST

{

   "apiVer":3,

   "auth":"KEY/CONFIGNAME",

   "params":{

      "param1":"abc",

      "param2":"xyz"

   }

} 

Pobranie listy urządzeń

 Polecenie zwraca listę urządzeń dla danej konfiguracji:

/api/devices/apiKey/configName/

Odpowiedź na polecenie DEVICES przy braku urządzeń w konfiguracji

{

   "command":"devices",

   "count":0

}

 

Odpowiedź na polecenie DEVICES przy niezerowej liczbie urządzeń

{

   "command":"devices",

   "count":57,

   "vehicles":[

      {

         "gpsID":1234,

         "name":"SK 12345"

      },

      {

         "gpsID":1235,

         "name":"SK 12346"

      },

...

   ]

}

  •  ilość parametrów dostępnych dla pojazdów może być większa, podstawowe gpsID oraz name są dostępne zawsze

Pobieranie danych GPS

Lista dostępnych parametrów zapytania

Parametr

Typ

Zakres

Domyślne

Opis

unix

integer

0,1

0

UnixTime - format zwracanego czasu (date and time format)

0 - string  YYYY-MM-DD hh:mm:ss

1 - integer UnixTime (UTC)

local

integer

0,1

1

0 - UTC

1 - czas lokalny w Polsce (local time in Poland)

Parametr jest ignorowany jeśli unix=1

values

integer

0,1

0

Pokazywanie szczegółowych wartości dodatkowych urządzeń w których skonfigurowano API 

0 - nie (no)

1 - tak (yes)

descr

integer

0,1

0

Pokazywanie tekstowych nazw wartości przy włączonej opcji values=1

0 - nie (no)

1 - tak (yes)

devices

string

---

 

lista urządzeń, patrz opis parametru poniżej 

dlimit

integer

1-1000

10

limit odsyłanych rekordów dla 1 urządzenia

limit

integer

1-1000

100

łączny limit odsyłanych próbek dla 1 zapytania

Parametr “devices”

Struktura przedstawia się następująco:

ID1[:pack1],ID2[:pack2],ID3[:pack3],....,ID[n,packn]

gdzie:

  • ID oznacza numer ID urządzenia

  • pack oznacza numer pierwszego pakietu danych który jest żądany, parametr jest opcjonalny

  • brak numeru pakietu oznacza prośbę o ostatni (najświeższy) pakiet danych dostępny na serwerze

  • ujemna wartość oznacza ilość ostatnich (najświeższych) pakietów danych

  • brak listy oznacza: ostatni pakiet z każdego z urządzeń

 

Przykłady:

  • devices=1000:12345

wszystkie dane od rekordu 12345 dla urządzenia 1000

  • devices=1000

ostatni rekord z urządzenia 1000

  • devices=1000:-3

3 ostatnie rekordy z urządzenia 1000

  • devices=1000:12345,1001:22222,1002:0,1003,1004:-3

z urządzenia 1000 wszystkie rekordy od 12345

z urządzenia 1001 wszystkie rekordy  od 22222

z urządzenia 1002 wszystkie rekordy  od początku danych

z urządzenia 1003 najświeższy rekord

z urządzenia 1004 - 3 ostatnie

  • devices=  lub brak parametru devices

po jednej ostatniej próbce dla każdego z urządzeń

Dostęp do danych 

Polecenie dostępu do danych przedstawia się w następujący sposób:

/api/history/key/configname/?parametry 

 

Odpowiedź na zapytanie history

{

   "command":"history",

   "data":[ /* array of devices data */

   ]

}

 

Struktura pojedynczego elementu z tablicy danych z urządzeń

{

   "id":1374,  /* device ID */

   "from":-1,  /* record ID from query */

   "max":5660621, /* last available record ID */ 

   "records":[ /* array od records */

 

   ]

}

  • pusta tablica records oznacza brak danych spełniających warunek zapytania

  • jeśli numer ostatniego rekordu (pack) w tablicy records pokrywa się z wartością last oznacza to, że odczytano wszystkie dane

  • jeśli numer pierwszego rekordu (pack) w tablicy records jest większy niż żądany zapytaniem (from) oznacza to, że serwer nie posiada tych danych

  • jeśli numer from jest ujemny (zgodnie z zapytaniem) - oznacza to, że pytamy o dane od końca

 

Struktura pojedynczego rekordu danych z urządzeń przy wyłączonej opcji pokazywania wartości (values=0)

{

               "pack":5662166,

               "date":"2020-04-15 08:04:35",

               "lon":18.760576,

               "lat":49.502390,

               "speed":66

            }

 

Struktura pojedynczego rekordu danych z urządzeń przy włączonej opcji pokazywania wartości (values=1)

{

               "pack":5662205,

               "date":"2020-04-15 08:11:22",

               "lon":18.753036,

               "lat":49.568370,

               "speed":10,

               "akumulator":28.39,  /* detailed values */

               "droga":50.45,

               "status":2,

               "zdarzenie":7,

               "antena":8,

               "gsm":0,

               "gps":0,

               "kartaKierowcy":0

            }

  • Urządzenia cyfrowe oraz wielostanowe 1 z N zwracają wartość integer

  • Urządzenia licznikowe oraz analogowe zwracają wartość float

  • W przypadku braku możliwości obliczenia należy oczekiwać wartości null

 

Struktura pojedynczego rekordu danych z urządzeń przy włączonej opcji pokazywania wartości i opisów (values=1 & descr=1)

{

               "pack":5662243,

               "date":"2020-04-15 08:16:43",

               "lon":18.736575,

               "lat":49.570159,

               "speed":55,

               "akumulator":28.39,

               "droga":53.30,

               "status":{

                  "state":2,

                  "name":"st. włączona"

               },

               "zdarzenie":{

                  "state":7,

                  "name":"Terminal"

               },

               "antena":{

                  "state":8,

                  "name":"8 satelitów"

               },

               "gsm":{

                  "state":0,

                  "name":"Transmisja OK"

               },

               "gps":{

                  "state":0,

                  "name":"Pozycja OK"

               },

               "kartaKierowcy":{

                  "state":0,

                  "name":"BRAK KARTY"

               }

            }

  •  urządzenia licznikowe oraz analogowe zwracają wartość float
  • urządzenia cyfrowe oraz wielostanowe 1 z N zwracają obiekt zawierający stan (state) jako integer oraz nazwę stanu jako name

  • w przypadku braku możliwości obliczenia należy oczekiwać wartości null

 

Struktura pojedynczego rekordu w przypadku próby dostępu do niedostępnych danych

{

   "id":1374,

   "from":5668000,

   "max":5662425

}

Kody odpowiedzi HTTP / błędy 

 

Kod

Nazwa

Przyczyna

200

OK

Wszystko OK 

All OK

400

Bad Request

Błędny link zapytania

Wrong query link

401

Unauthorized

Brak uprawnień

No rights

404

Not found

Błędne polecenie

Wrong query / link

500

Unknown error

Błąd serwera (np. zapytanie dla którego nie można zrealizować poprawnej odpowiedzi)

Server error (e.h. a query for which the correct answer cannot be completed)

 

Definiowanie konfiguracji

Pliki konfiguracji określają listę dostępnych urządzeń i parametrów, ich nazw oraz formatu. Pliki tworzy się za pomocą dostępnej aplikacji navicarSetup. 

Folder dla konfiguracji API znajduje się w podfolderze wg poniższej ściezki:

  ….plik.exe\APIv3\configs\

  • poszczególne konfiguracje jako pliki o rozszerzeniu .file należy umieścić w podfolderach

  • podfolder odpowiada parametrowi authkey

  • nazwa pliku po usunięciu rozszerzenia - to configname

Przykład:

….\APIv3\configs\XyZ5ai5ad\client1.file

authkey=XyZ5ai5ad

configname=client1

Prztkładowy link dla listy urządzeń: http://127.0.0.1:1234/api/devices/XyZ5ai5ad/client1/

 

 

 

 

UdostępnijUdostępnij stronę innym


    Polub nas na FBNavisoft na Facebook'u
 
    ©2005-2025 Navisoft

Producent urządzeń GPS, systemu lokalizacji i monitorowania pojazdów. Sprzęt do śledzenia, kontroli, wykrywania kradzieży paliwa. Monitoring pracy pojazdów komunalnych, zimowego utrzymania dróg. Wypożyczanie GPS, lokalizacja pojazdów.

Ta strona wykorzystuje pliki cookie. Korzystanie z serwisu oznacza zgodę na ich wykorzystanie zgodnie z opisaną polityką prywatności   
  |  System monitorowania   |  Zdalny odczyt plików DDD   |  Monitoring wysypu odpadów   |  PUESC   |  Wypożyczanie GPS   |  Kontrola paliwa   |