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.

Podobne dokumenty