Pobierz
Transkrypt
Pobierz
A RTR Automatyczne Rozpoznawanie Tablic Rejestracyjnych Instrukcja interfejsu API I. Opis II. Komendy Interfejs API bazuje na komunikacji sieciowej protokołem HTTP. Komunikacja może odbywać się zarówno zdalnie jak i lokalnie. W pierwszym przypadku serwer ARTR jest samodzielnym urządzeniem sieciowym, a oprogramowanie korzystające z API pracuje na innym komputerze w sieci. W drugim przypadku zarówno serwer ARTR jak i oprogramowanie użytkownika pracują na jednym komputerze i komunikacja odbywa się z serwerem "localhost". Wydawanie komend serwerowi API odbywa się komunikatami GET lub POST z odpowiednimi parametrami. Odpowiedzi od serwera otrzymywane są w formacie JSON (dane) lub JPEG (obraz). 1. Pobranie obrazu kamery ( cam_img.jpg ) Żądanie bieżącego obrazu kamery o wskazanym indeksie. Indeks kamery uzyskuje się z konfiguracji pobranej komendą get_settings . Składnia: HTTP GET http://[ARTR IP]/cam_img.jpg?idx=[kamera] [kamera] - indeks kamery począwszy od „0”. Odpowiedź: HTTP Content-Type: image/jpeg [obraz JPEG] 2. Pobranie zdjęcia zdarzenia ( event_img.jpg ) Żądanie zdjęcia zdarzenia zapisanego w bazie danych pod wskazanym identyfikatorem. Identyfikator można uzyskać pobierając bazę danych komendą get_event_list . Składnia: HTTP GET http://[ARTR IP]/event_img.jpg?id=[identyfikator] [identyfikator] - identyfikator zdarzenia. Odpowiedź: HTTP Content-Type: image/jpeg [obraz JPEG] 3. Pobranie ustawień ( get_settings ) Żądanie ustawień systemu ARTR. Składnia: HTTP GET Odpowiedź: http://[ARTR IP]/api/json/get_settings Content-Type: application/json [obiekt JSON] HTTP Obiekt JSON: Klucz licence_cnt licence_key act_code min_char_cnt max_char_cnt whl_use parking_control out_repeat block_time multithr add_space camera_set Wartość [liczba] Liczba licencji systemu ARTR. [tekst] Ostatni kod aktywacyjny. [tekst] cam_name cam_url cam_play cam_history_time cam_min_time cam_min_move cam_max_err Klucz licencyjny. [liczba] Minimalna liczba znaków. true, false Stan włączenia białej listy. [liczba] true, false [liczba] [liczba] true, false true, false [tablica] Element tablicy camera_set : Klucz Opis Wartość Maksymalna liczba znaków. Kontrola parkingu. Powtarzanie sterowania. Blokada ponownego rozpoznania. Wielowątkowość. Formatowanie numeru tablicy. Tablica ustawień poszczególnych kamer. Opis [tekst] Nazwa kamery. true, false Stan włączenia kamery. [liczba] Czas akceptacji. [tekst] [liczba] [liczba] [liczba] URL kamery. Pamięć tablicy. Minimalny ruch. Dopuszczalna liczba błędów. cam_zero_o cam_one_i cam_scale_dn cam_scale_up cam_store_img cam_direction cam_sig_in cam_vl_sens cam_vl_size cam_vl_time cam_sig_out roi_coord 4. Pobranie true, false Traktowanie zer jak "O". true, false Rozpoznawanie dużych tablic. true, false true, false true, false [liczba] 0, 1 Traktowanie jedynek jak "I". Rozpoznawanie małych tablic. Zapisywanie zdjęcia w bazie zdarzeń. Kierunek przejazdu. Włączenie pętli wirtualnej. [liczba] Czułość pętli wirtualnej. [liczba] Czas podtrzymania pętli wirtualnej. [liczba] [liczba] [tablica] Minimalny rozmiar obiektu dla pętli wirtualnej. Indeks sterownika wyjść. Obszar analizy w postaci tablicy czterech liczb: współrzędne lawego, górnego rogu (x i y) oraz szerokość i wysokość obszaru. Wartości są podane procentowo w odniesieniu do rozmiaru obrazu. listy zdarzeń ( get_event_list ) Żądanie listy zdarzeń. Składnia: http://[ARTR IP]/api/json/get_event_list?[filtr]= [wartość]&...&page_size=[limit]&page_offset=[przesunięcie] HTTP GET [filtr] , [wartość] - nazwa kolumny i wartość do filtrowania wyników. Wartości mogą być fragmentem wyszukiwanego ciągu. Lista jest sortowana po czasie zdarzenia. Możliwe filtry: time_from - czas początkowy w postaci "Unix time" time_to - czas końcowy w postaci "Unix time" plate - numer tablicy descr - opis tablicy camera - nazwa kamery note - notatka [limit] - ograniczenie odpowiedzi do wskazanej liczby wierszy [przesunięcie] - rozpoczęcie odpowiedzi od wskazanego wiersza Odpowiedź: Content-Type: application/json [obiekt JSON] HTTP Obiekt JSON: Klucz event_list Wartość [tablica] Opis Tablica wierszy bazy zdarzeń. Element tablicy event_list : Klucz Wartość row_id [liczba] Identyfikator zdarzenia. [tekst] Numer rejestracyjny. [tekst] time plate prob camera Prawdopodobieństwo rozpoznania. [tekst] Nazwa kamery. dir [liczba] note [tekst] [tekst] file 5. Pobranie Czas "Unix time". [liczba] [tekst] plate_dscr Opis Opis tablicy z białej listy. Kod kierunku przejazdu: 0 - nieokreślony 1 - wjazd 2 - wyjazd 4 - miejsce Notatka. Nazwa pliku. zdarzenia ( get_event ) Żądanie pojedynczego zdarzenia. Składnia: HTTP GET http://[ARTR IP]/api/json/get_event?id=[identyfikator] [identyfikator] - identyfikator zdarzenia. Odpowiedź: Content-Type: application/json [obiekt JSON] HTTP Obiekt JSON: Klucz row_id time plate prob plate_dscr camera dir note file Wartość Opis [liczba] Identyfikator zdarzenia. [tekst] Numer rejestracyjny. [tekst] Czas "Unix time". [liczba] Prawdopodobieństwo rozpoznania. [tekst] Nazwa kamery. [tekst] Opis tablicy z białej listy. [liczba] Kod kierunku przejazdu. [tekst] Nazwa pliku. [tekst] Notatka. 6. Pobranie białej listy ( get_white_list ) Żądanie baiłej listy. Składnia: HTTP GET Odpowiedź: http://[ARTR IP]/api/json/get_white_list Content-Type: application/json [obiekt JSON] HTTP Obiekt JSON: Klucz Wartość [tablica] white_list Element tablicy white_list : Klucz Wartość row_id descr create_time valid 7. Pobranie Tablica wierszy białej listy. Opis [liczba] Identyfikator elementu białej listy. [tekst] Opis. [tekst] plate Opis [liczba] true, false Numer rejestracyjny. Czas utworzenia wpisu. Ważność. statusu kamer ( get_status ) Żądanie aktualnego statusu dla wszystkich kamer. Status zawiera stan każdej kamery i listę aktualnie analizowanych przez nią tablic rejestracyjnych. Składnia: HTTP GET http://[ARTR IP]/api/json/get_status Odpowiedź: Content-Type: application/json [obiekt JSON] HTTP Obiekt JSON: Klucz camera_set Wartość [tablica] Element tablicy camera_set : Klucz name play plate_set Wartość [tekst] true, false [tablica] Opis Tablica statusów wszystkich kamer. Opis Nazwa kamery. Stan włączenia kamery. Tablica analizowanych numerów rejestracyjnych. roi_coord [tablica] img_cx , img_cy [liczba] Aktualny rozmiar obrazu kamery w punktach. [liczba] Prędkość strumienia z kamery (klatki / sekundę). reco_time grab_fps grab_time snap_err [liczba] [tekst] [liczba] Element tablicy plate_set : Klucz Wartość coord [tablica] plate [tekst] accept_stat [liczba] prob [liczba] Obszar analizy w postaci tablicy czterech liczb: współrzędne lawego, górnego rogu (x i y) oraz szerokość i wysokość obszaru. Wartości są podane procentowo w odniesieniu do rozmiaru obrazu. Czas analizy bieżącej klatki (ms). Czas zrobienia zdjęcia w postaci "Unix time". Kod błędu dla kamery: 0 - brak błędu 2 - nieprawidłowy URL lub brak połączenia 3 - nieprawidłowy strumień wideo 4 - brak strumienia wideo 6 - nieznany kompresor 7 - połączenie przerwane 9 - kamera wyłączona 10 - pusty URL. 17 - brak licencji dla kamery. Opis Pozycja czworokąta numeru rejestracyjnego w postaci tablicy ośmiu liczb. Każda para liczb to współrzędne kolejnego narożnika. Wartości są podane procentowo w odniesieniu do rozmiaru obrazu. Numer rejestracyjny. Stan analizy numeru rejestracyjnego (wartości bitowe): bit 0 - akceptacja wymaganego czasu widoczności bit 1 - akceptacja wymaganej wielkości ruchu bit 2 - akceptacja białej listy bit 3 - akceptacja kontroli parkingu bit 4 - akceptacja kompletna. Prawdopodobieństwo rozpoznania.