Dokumentacja «Wrapperów»

Audio Player Module

class wroob.modules.apm.Apm(moduleName)

Klasy bazowe: wroob.modules.module.Module

Definicja modułu Audio Player Module

APM jest modułem programowym (napisanym w języku Java). Jest odpowiedzialny za kontrolowanie multimediów odtwarzanych na urządzeniu z Androidem. Użytkownik jest zdolny włączać/wyłączać wskazane pliki audio, jak również ustawiać poziom głośności.

Argumenty:

moduleName (str): nazwa modułu APM, który chcemy zainicjalizować.

MAX_VOLUME_SLIDER_LEVEL = 10

Ilość możliwych stopni (poziomów) ustawienia głośności (każdy stopień to 10% głośności).

play_sound(file_name, timeout=600)

Otwarza wskazany z nazwy plik audio.

Argumenty:

file_name (str): nazwa pliku, który ma zostać odtworzony; ścieżka do pliku względem katalogu apm_storage.

timeout (int, opcjonalnie): limit czasowy (w sekundach) na odtworzenie wskazanego pliku audio; domyślnie 600s.

Wynik:

status (str): wartość statusu. Możliwe wartości END, FileNotFound, WrongFile.

play_sound_async(file_name, clbk_fcn)

Otwarza wskazany z nazwy plik audio asynchronicznie.

Argumenty:

file_name (str): nazwa pliku, który ma zostać odtworzony; ścieżka do pliku względem katalogu apn_storage.

clbk_fcn (funkcja(str)): funkcja wywołania zwrotnego na zdarzenie PlaySound. Funkcja ta wymaga jednego argumentu o typie str: status. Możliwe wartości statusu: END, FileNotFound, WrongFile.

set_module_volume(volume)

Ustawia globalnie poziom głośności.

Argumenty:

volume (int): wymagany poziom głośności. Zakres 0 - 100.

set_stream_volume(volume, stream)

Ustawia poziom głośności dla żądanego strumienia.

Argumenty:

volume (int): wymagany poziom głośności. Zakres 0 - 100.

stream (AudioStream): strumień audio, dla którego poziom głośności ma zostać zmieniony. Możliwe wartości: AudioStream.MUSIC.

set_volume(volume)

Ustaw poziom głośności dla strumienia typu MUSIC (torzsame z wywołaniem set_stream_volume z argumentem AudioStream.MUSIC).

Argumenty:

volume (int): wymagany poziom głośności. Zakres 0 - 100.

stop_sound()

Zatrzymaj odtwarzanie obecnie odtwarzanego pliku audio.

class wroob.modules.apm.AudioStream

Klasy bazowe: object

MUSIC = 'MUSC'

Typ strumienia audio definiujący strumień multimediów w systemie Android.

Remote Control Module

class wroob.modules.rcm.Rcm(moduleName)

Klasy bazowe: wroob.modules.module.Module

Definicja modułu Remote Control Module

RCM modułem programowym (napisanym w JavaScript). Jest odpowiedzialny za zarządzanie kontrolerami typu gamepad podpiętymi do PC. Użytkownik jest zdolny do otrzymywania zdarzeń od kontrolera z informacjami o wciśnietych przyciskach i/lub wartościach drążków analogowych.

Argumenty:

moduleName (str): nazwa modułu RCM, który chcemy zainicjalizować.

autocalibrate_gamepad(timeout=2)

Wykonuje kalibrację automatyczną gamepada.

Argumenty:

timeout (int, opcjonalnie): limit czasowy (w sekundach) na autokalibrację kontrolera (gamepada); domyślnie 2s.

Wynik:

status (bool): rezultat autokalibracji: «true» jeśli autokalibracja się powiodła, w przeciwnym wypadku «false».

autocalibrate_gamepad_async(clbk_fcn)

Próbuje wykonać kalibrację automatyczną gamepada asynchronicznie.

Argumenty:

clbk_fcn (funkcja(bool)): funkcja wywołania zwrotnego na zdarzenie AutocalibrateGamepad. Funkcja ta wymaga jednego argumentu typu bool : «true» jeśli autokalibracja się powiodła, w przeciwnym wypadku «false».

get_buttons_status(button_list, timeout=2)

Zwróć chwilowy status dla wszystkich zarejestrowanych przycisków.

Argumenty:

button_list (list): List of buttons for which the status should be retrieved. timeout (int, optional): time limit (in seconds) for receiving buttons status; default 2.

Wynik:

status (dict{str: bool|float}): słownik z wartością statusu. Słownik, w którym kluczem jest nazwa przycisku, a wartością jego stan: jeśli przycisk ma wartości binarne: «true» - wcisnięty, «false» - zwolniony, jeśli przycisk ma wartości analogowe, wtedy jest to wartość liczbowa.

get_buttons_status_async(button_list, clbk_fcn)

Zwróć chwilowy status dla wszystkich zarejestrowanych przycisków asynchronicznie.

Argumenty:

button_list (list): List of buttons for which the status should be retrieved. clbk_fcn (function(dict{str: bool|float})): callback function called on event GetButtonsStatus. Callback function needs one dictionary argument: dict{str: bool|float}, where key is button string name and value if button state.

get_connected_gamepads(timeout=2)

Zwróć liste podłączonych kontrolerów (gamepadów).

Argumenty:

timeout (int, opcjonalnie): limit czasowy (w sekundach) na zwrócenie listy podłączonych gamepadów; domyślnie 2s.

Wynik:

gamepads (lista[str]): lista wszystkich aktualnie podłączonych gamepadów.

get_connected_gamepads_async(clbk_fcn)

Zwróć listę podłączonych kontrolerów (gamepadów) asynchronicznie.

Argumenty:

clbk_fcn (funkcja(list[str])): funkcja wywołania zwrotnego na zdarzenie GetConnectedGamepads. Funkcja ta wymaga jednego argumentu typu lista[str]: lista napisów z identyfikatorami wszystkich aktualnie podłączonych gamepadów.

set_active_gamepad(gamepad_index)

Ustaw aktywny gamepad.

Argumenty:

gamepad_index (str): indeks gamapada (z listy podłączonych gamepadów), który ma zostać wybrany dla tej instancji RCM.

start_buttons_status_reporting(button_list, interval_ms, clbk_fcn)

Rozpocznij ciągłe raportowanie o stanie przycisków.

Argumenty:

button_list (list): List of buttons for which the status should be retrieved. interval_ms (int): time interval (in milliseconds) between two next reports. clbk_fcn (function(dict{str: bool|float})): callback function called on event GetButtonsStatus. Callback function needs one dictionary argument: dict{str: bool|float}, where key is button string name and value if button state.

stop_buttons_status_reporting()

Zakończ ciągłe raportowanie o stanie przycisków.

Range Finder Module

class wroob.modules.rfm.Rfm(moduleName)

Klasy bazowe: wroob.modules.module.Module

Definicja modułu Range Finder Module.

RFM jest modułem sprzętowym. Jest odpowiedzialny za pomiar odległości wykorzystując dwa typy czujników: ultradźwiękowy i podczerwieni.

Argumenty:

moduleName (str): nazwa modułu APM, który chcemy zainicjalizować.

DIST_FACTOR = 10

Współczynnik umozliwiający konwersję pomiędzy wartościami zwracanymi przez czujniki z milimetrów na centrymetry.

SENSOR_NAMES = {'IR0': 'IR0', 'IR1': 'IR1', 'IR2': 'IR2', 'IR3': 'IR3', 'US0': 'US0', 'US1': 'US1'}

Definicja wspieranych kanały czujników: USX odpowiada czujnikom ultradźwiękowym (ultrasonic), IRX odpowiada czujnikom podczerwieni (infrared).

get_range(sensor_name, timeout=2)

Zwróć pojedynczy pomiar odległości.

Argumenty:

sensor_name (str): nazwa kanału pomiarowego, z któreg pomiaru chcesz dokonać. Możliwe wartości: US0, US1, IR0, IR1, IR2, IR3.

timeout (int, opcjonalnie): limit czasowy (w sekundach) oczekiwania na wynik pomiaru; domyślnie 2s.

Wynik:

result (dict{'sensor': str, 'value': int}): słownik zawierający dwa pola: «sensor» z nazwą kanału pomiarowego (możliwe wartości: US0, US1, IR0, IR1, IR2, IR3), «value» - pomiar odległości w centymetrach.

get_range_async(sensor_name, clbk_fcn)

Zwróc pomiar odległości asynchronicznie.

Argumenty:

sensor_name (str): nazwa kanału pomiarowego, z któreg pomiaru chcesz dokonać. Możliwe wartości: US0, US1, IR0, IR1, IR2, IR3.

clbk_fcn (funkcja(dict{'sensor': str, 'value': int})): funkcja wywołania zwrotnego na zdarzenie GetRange. Funkcja ta wymaga jeden argument typu słownik dict{'sensor': str, 'value': int}, gdzie «sensor» jest nazwą kanału pomiarowego, «value» - wynik pomiaru w centymetrach.

get_range_us0(timeout=2)

Get range from Ultrasonic Sensor 0.

Argumenty:

timeout (int, opcjonalnie): limit czasowy (w sekundach) oczekiwania na wynik pomiaru; domyślnie 2s.

Wynik:

distance (int): distance to detected object (in :obj:»cm») by sensor US0; :obj:»None» if detection failed.

get_range_us1(timeout=2)

Get range from Ultrasonic Sensor 1.

Argumenty:

timeout (int, opcjonalnie): limit czasowy (w sekundach) oczekiwania na wynik pomiaru; domyślnie 2s.

Wynik:

distance (int): distance to detected object (in :obj:»cm») by sensor US1; :obj:»None» if detection failed.

start_range_reporting(sensor_name, interval_ms, clbk_fcn)

Rozpocznij reportowanie wyników pomiarów odległości w trybie ciągłym.

Argumenty:

sensor_name (str): nazwa kanału pomiarowego, który ma być raportowany w trybie ciągłym. Możliwe wartości: US0, US1, IR0, IR1, IR2, IR3.

interval_ms (int): przedział czasowy (w milisekundach) pomiędzy dwoma kolejnymi raportami pomiaru odległości.

clbk_fcn (funkcja(dict{'sensor': str, 'value': int})): funkcja wywołania zwrotnego na zdarzenie GetRange. Funkcja ta wymaga jeden argument typu słownik dict{'sensor': str, 'value': int}, gdzie «sensor» jest nazwą kanału pomiarowego, «value» - wynik pomiaru w centymetrach.

stop_range_reporting(sensor_name)

Zakończ reportowanie wyników pomiarów odległości.

Argumenty:

sensor_name (str): nazwa kanału pomiarowego, dla którego reportowanie ma zostać zakończone. Możliwe wartości: US0, US1, IR0, IR1, IR2, IR3.

Servo and DC Motor

class wroob.modules.sdcm.Sdcm(moduleName)

Klasy bazowe: wroob.modules.module.Module

Definicja modułu Servo and DC Motor

SDCM jest modułem hardwarowym. Jest odpowiedzialny za sterowanie dwoma typami silników, silnikami prądu stałego oraz serwomechanizmami.

Argumenty:

moduleName (str): nazwa modułu SDCM, który chcemy zainicjalizować.

DIST_FACTOR = 10

Współczynnik służący do przeliczania dystansu z centymertrów na milimetry.

RPM_FACTOR = 100

RPM (Liczba obrotów koła na minute) współczynnik konwersji odczytów z ekondera na rzeczywiste wartości.

get_servo_pos(timeout=2)

Pobierz pozycje serwomechanizmu.

Argumenty:

timeout (int, opcjonalnie): limit czasowy (w sekundach) na uzyskanie położenia kątowego serwomechanizmu; domyślnie 2s.

Wynik:

angle (float): pozycja serwa podana w stopniach.

get_servo_pos_async(clbk_fcn)

Pobierz pozycje kątową serwomechanizmu asynchronicznie.

Argumenty:

clbk_fcn (function(float)): funkcja wywołania zwrotnego na zdarzenie GetServoPos. Funkcja wywołania zwrotnego potrzebuje argument typu float: pozycja serwomechanizmu w stopniach.

get_speed(timeout=2)

Pobierz aktualną prędkość.

Argumenty:

timeout (int, opcjonalnie): limit czasowy (w sekundach) na uzyskanie aktualnej wartości prędkości; domyślnie 2s.

Wynik:

speed (list[float]): Lista wartości prędkości podana w RPS (obrotach na sekunde, z ang. revolutions per second) dla obu silników prądu stałego.

get_speed_async(clbk_fcn)

Pobierz aktualną wartość prędkości asynchronicznie.

Argumenty:

clbk_fcn (function(list[float])): cfunkcja wywołania zwrotnego na zdarzenie GetSpeed. Funkcja wywołania zwrotnego potrzebuje argumentu typu list[float] (lista liczb zmiennoprzecinkowych): lista prędkości silników prądu stałego.

move_distance(translation_cm, rotation_deg, speed_rps, timeout=60)

Wymuś ruch robota, o zadany dystans oraz kąt(Proszę pamiętać, o ustawieniu poprawnej wielkości koła w parametrach systemowych modułu).

Argumenty:

translation_cm (int): dystans (w centymetrach) przemieszczenia w lini prostej.

rotation_deg (int): kąt (w stopniach) obrotu wykonany przez silniki.

speed_rps (int): prędkość silnika(w obrotach na sekunde).

timeout (int, opcjonalnie): limit czasowy (w sekundach) na wykonanie ruchu; domyślnie 60s.

Wynik:

result (bool): rezultat przemierzczenia. «true» przemieszczenie wykonane poprawnie, «false» niepoprawnie.

move_distance_async(translation_cm, rotation_deg, speed_rps, clbk_fcn)

Wykonaj ruch silników o zadany dystans oraz kąt asynchronicznie.

Argumenty:

translation_cm (int): dystans (w centymetrach) przemieszczenia w lini prostej.

rotation_deg (int): kąt (w stopniach) obrotu wykonany przez silniki.

speed_rps (int): prędkość silnika(w obrotach na sekunde).

clbk_fcn (function(bool)): funkcja wywołania zwrotnego na zdarzenie MoveDistance. Funkcja potrzebuje jednego argumentu typu bool: status wykonanego ruchu - «true»; jeżeli ruch wykonał się poprawnie, w przeciwnym wypadku: «false».

set_servo_pos(angle_deg)

Ustaw pozyjce serwomechanizmu.

Argumenty:

angle_deg (int): nowa pozycja serwomechanizmu (w stopniach).

set_speed(speed1_rps, speed2_rps)

Ustaw prędkość na silnikach.

Argumenty:

speed1_rps (int): prędkośc obrotu koła (w obrotach na sekunde) dla pierwszego silnika.

speed2_rps (int): prędkośc obrotu koła (w obrotach na sekunde) dla drugiego silnika.

start_servo_pos_reporting(interval_ms, clbk_fcn)

Rozpocznij raportowanie pozycji serwomechanizmu w trybie ciągłym.

Argumenty:

clbk_fcn (function(float)): funkcja wywołania zwrotnego na zdarzenie GetServoPos. Funkcja wywołania zwrotnego potrzebuje argument typu float: pozycja serwomechanizmu w stopniach.

interval_ms (int): przedział czasowy (w milisekundach) pomiędzy dwoma kolejnymi raportami.

start_speed_reporting(interval_ms, clbk_fcn)

Rozpocznij raportowanie wartości prędkości w trybie ciągłym.

Argumenty:

clbk_fcn (function(list[float])): cfunkcja wywołania zwrotnego na zdarzenie GetSpeed. Funkcja wywołania zwrotnego potrzebuje argumentu typu list[float] (lista liczb zmiennoprzecinkowych): lista prędkości silników prądu stałego.

interval_ms (int): przedział czasowy (w milisekundach) pomiędzy dwoma kolejnymi raportami.

stop_servo_pos_reporting()

Zakończ raportowanie pozycji serwomechanizmu w trybie ciągłym.

stop_speed_reporting()

Zakończ raportowanie wartości prędkości w trybie ciągłym.

Speech Recognition Module

class wroob.modules.srm.Srm(moduleName)

Klasy bazowe: wroob.modules.module.Module

Definicja modułu Speech Recognition Module

SRM jest modułem programowym napisanym w języku (JavaScript). Jest odpowiedzalny za przetwarzanie strumienia dzwięku(mowy) w tekst.

Argumenty:

moduleName (str): nazwa modułu SRM, który chcemy zainicjalizować.

get_phrases(phrase_list, timeout=30)

Search for any phrase included in phrase_list in current speech transcription.

Argumenty:

phrase_list (list): List with phrases for recognition process. timeout (int, optional): time limit (in seconds) for looking for phrases; default 30.

Wynik:

result (dict{str: bool): Dictionary, with keys equal to phrases names and values which can be equal to true/false, recognized/not recognized.

get_phrases_async(phrase_list, clbk_fcn)

Wyszukaj zarejstrowaną frazę w aktualnym strumieniu mowy asynchronicznie.

Argumenty:

phrase_list (list): List with phrases for recognition process. clbk_fcn (function(str)): callback function called on event GetPhrases. Callback function needs one string argument: result of found phrase in current speech transcription.

get_speech(timeout=30)

Pobierz tekst wygenerowany ze strumienia mowy.

Argumenty:

timeout (int, opcjonalnie): limit czasowy (w sekundach) na wygenerowanie tekstu ze strumienia mowy; domyślnie 30s.

Wynik:

status (str): Tekst reprezentujący strumień mowy.

get_speech_async(clbk_fcn)

Pobierz asynchronicznie tekst wygenerowany ze strumienia mowy.

Argumenty:

clbk_fcn (function(str)): funkcja wywołania zwrotnego na zdarzenie GetSpeech. Funkcja potrzebuje argumentu typu string: rezultat konwersjii mowy na tekst.

set_language(new_language)

Ustaw język.

Argumenty:

new_language (str): kod języka np.: „pl-PL”, „en-GB”.

start_phrases_reporting(phrase_list, clbk_fcn)

Rozpocznij raportowanie wyszukanych fraz, z listy fraz do wyszukania, w aktualnym strumieniu mowy w trybie ciągłym.

Argumenty:

phrase_list (list): List with phrases for recognition process. clbk_fcn (function(str)): callback function called on event GetPhrases. Callback function needs one string argument: result of found phrase in current speech transcription.

start_speech_reporting(clbk_fcn)

Rozpocznij konwersje mowy na tekst w trybie ciągłym.

Argumenty:

clbk_fcn (function(str)): funkcja wywołania zwrotnego na zdarzenie GetSpeech. Funkcja potrzebuje argumentu typu string: rezultat konwersjii mowy na tekst.

stop_phrases_reporting()

Zatrzymaj raportowanie wyszukanych fraz, z listy fraz do wyszukania, w aktualnym strumieniu mowy, w trybie ciągłym.

stop_speech_reporting()

Rozpocznij konwersje mowy na tekst w trybie ciągłym.

Speech Synthesis Module

class wroob.modules.ssm.Ssm(moduleName)

Klasy bazowe: wroob.modules.module.Module

Definicja modułu Speech Synthesis Module

SSM jest modułem programowym napisanym w języku (Java oraz JavaScript). Jest odpowiedzalny za konwersje tekstu w strumień dzwięku(mowy).

Argumenty:

moduleName (str): nazwa modułu SSM, który chcemy zainicjalizować.

get_lang_list(timeout=360)

Zwraca listę wspieranych języków.

Argumenty:

timeout (int, opcjonalnie): limit czasowy (w sekundach) na zwrócenie listy.

Wynik:

voiceList (lista[str]): Lista wspieranych języków.

get_lang_list_async(clbk_fcn)

Zwraca aktualną listę wspieranych języków w trybe asynchronicznym.

Argumenty:

clbk_fcn (function(list[string])): funkcja wywołania zwrotnego na zdarzenie GetLangList. Funkcja potrzebuje argumentu typu list[string]: lista wspieranych języków.

get_voice_list_for_lang(timeout=360)

Zwraca listę wspieranych głosów dla ustawionego języka.

Argumenty:

timeout (int, opcjonalnie): limit czasowy (w sekundach) na zwrócenie listy.

Wynik:

voiceLangList (list[string]): Lista wspieranych głosów dla ustawionego języka.

get_voice_list_for_lang_async(clbk_fcn)

Zwraca listę wspieranych głosów dla ustawionego języka w trybie asynchronicznym.

Argumenty:

clbk_fcn (function(list[string])): funkcja wywołania zwrotnego na zdarzenie GetVoiceListForLang. Funkcja przyjmuje argument typu list[string].

say_text(text, timeout=360)

Kowertuje(zamienia) tekst na strumień mowy.

Argumenty:

timeout (int, opcjonalnie): limit czasowy (w sekundach) na przekonwertowanie tesktu na mowę.

text (str): tekst, który ma być przekonwertowany na strumień mowy.

say_text_async(text, clbk_fcn)

Kowertuje(zamienia) tekst na strumień mowy w trybie asynchronicznym.

Argumenty:

text (str): tekst, który ma być przekonwertowany na strumień mowy.

clbk_fcn (function(str)): funkcja wywołania zwrotnego na zdarzenie SayText. Funkcja potrzebuje argumentu typu string: rezultat konwersji tekstu na mowę.

set_lang(lang)

Ustawia język używany podczas konwersji tesktu na strumień mowy.

Argumenty:

lang (string): Tesktowa reprezentacja wybranego języka.

set_voice_index_for_lang(voiceIndex)

Ustawia głos używany podczas konwersji tesktu na strumień mowy.

Argumenty:

voiceIndex (int): Numeryczna reprezentacja wybranego głosu. Jest to indeks wybranego głosu w liście voiceLangList.

start_speech_synthesis(text, timeout=360)

Kowertuje(zamienia) tekst na strumień mowy.

Argumenty:

timeout (int, opcjonalnie): limit czasowy (w sekundach) na przekonwertowanie tesktu na mowę.

text (str): tekst, który ma być przekonwertowany na strumień mowy.

stop_saying_text()

Zatrzymuje konwersję tekstu na strumień mowy.

Video Processing Module

class wroob.modules.vpm.Vpm(moduleName)

Klasy bazowe: wroob.modules.module.Module

Definicja Video Processing Module

VPM jest modułem softwarowym napisanym w języku Java. VPM odpowiedzialny jest za strumieniowanie obrazu oraz wykonywanie zaawansowanych operacji na nim, takich jak detekcja ruchu czy rozpoznawanie obiektów.

Argumenty:

moduleName (str): nazwa modułu VPM, który chcemy zainicjalizować.

CAMERA_BACK = 'back'

Definicja zmiennej dla ustawienia tylnej kamery.

CAMERA_FRONT = 'front'

Definicja zmiennej dla ustawienia przedniej kamery.

get_motion_detection(threshold, sensitivity, timeout=10)

Funkcja czeka na zdarzenie wykrycia ruchu pomiędzy klatkami video. Wykrywanie ruchu bazuje na obliczaniu różnicy wartości pixeli pomiędzy dwiema kolejnymi klatkami. Jeżeli wartość danego pixela zmieniła się bardziej niż threshold oraz ilość zmienionych pixeli jest większa niż (sensitivity) ruch zostanie wykryty.

Argumenty:

threshold (str): Akceptowana różnica wartości danego pixela między dwoma ramkami video. Wartość ta musi zostać przekroczona aby dany pixel został oznaczony jako zmieniony.

sensitivity (int): promil pixeli [0-1000], który musi zostać zmieniony aby ruch został wykrty. Im większa wartośc tym trudniej wykryć ruch.

timeout (int, opcjonalnie): limit czasowy (w sekundach) oczekiwania na wynik pomiaru; domyślnie 10s.

Wynik:

Wartość True w przypadku wykrycia ruchu, w przeciwnym wypadku False

get_object_recognition(classifier_file_name, neighbors_number, timeout=10)

Funkcja czeka na zdarzenie rozpoznania obiektu na klatce video. Funkcjonalność wykrywania obiektów bazuje na definicji «klasyfikatora» - pliku opisującego cechy szczególne wykrywanego obiektu. VPM przeszukuje każdy obiekt ramki zdefiniowany przez klasyfikator. neighbors_number opisuje jak dokładne rozpoznanie powinno być. Im wyższy jest ten współczynik tym trudniejsze jest rozpoznanie obiektu.

Argumenty:

classifier_file_name (str): ścieżka do pliku klasyfikatora względem folderuu vpm_storage.

neighbors_number (int): współcznnik opisujący dokładność rozpoznania danego obiektu.

timeout (int, opcjonalnie): limit czasowy (w sekundach) oczekiwania na wynik pomiaru; domyślnie 10s.

Wynik:

result (list[dict{'TopLeft': {'x': int, 'y': int}, 'BottonRight': {'x': int, 'y': int}}]): lista zawierająca współrzędne dla każdego odnalezionego obiektu w ramce video. Lista zbudowana jest ze słownika, który zawiera pola: «TopLeft» (obiekt ze współrzędnymi X i Y dla górnego-lewego rogu odnalezionego obiektu w ramce video), «BottomRight» (obiekt ze współrzędnymi X i Y dla dolnego-prawego rogu odnalezionego obiektu w ramce video). Jeśli żaden obiekt nie został rozpoznany i czas oczekiwania na wynik minął to pusta lista zostanie zwrócona.

get_resolutions(camera_type, timeout=2)

Pobierz liste możliwych ustawień rozdzielczości kamery.

Argumenty:

camera_type (str): typ kamery dla którego zwrócona ma być lista możliwych ustawień rodzielczości. Możliwe wartości: front, back.

timeout (int, opcjonalnie): limit czasowy (w sekundach) na odebranie listy możliwych rozdzielczości dla konkretnego typu kamery; domyślnie 2s.

Wynik:

resolutions (list[dict{'width': int, 'height': int}]: lista zawierająca wszystkie wspierane rozdzielczości dla danego typu kamery. Jest to lista słowników kluczami «width» oraz «height» każdy.

get_resolutions_async(camera_type, clbk_fcn)

Pobierz możliwe ustawienia kamery asynchronicznie.

Argumenty:

camera_type (str): typ kamery dla którego zwrócona ma być lista możliwych ustawień rodzielczości. Możliwe wartości: front, back.

clbk_fcn (function(list[dict{'width': int, 'height': int}])): funkcja wywołania zwrotnego na zdarzenie GetAvailableResolutions. Funkcja potrzebuje parametry typu list[dict{'width': int, 'height': int}]) lista słowników zawierających możliwe wartości rozdzielczości.

set_camera(camera_type)

Aktywuj kamere.

Argumenty:

camera_type (str): typ kamery. Możliwe wartości: front, back.

set_flash(state_bool)

Ustaw stan lampy błyskowej.

Argumenty:

state_bool (bool): stan lampy błyskowej. «true» włącz lampę, «false»: wyłącz.

set_resolution(width, height)

Ustaw rozdzielczość dla aktualnie aktywnej kamery.

Argumenty:

width (int): szerokość.

width (int): wysokość.

set_rotation(angle_deg)

Ustaw kąt obrotu obrazu kamery (w stopniach).

Argumenty:

angle_deg (int): kąt obroty kamery. Możliwe wartości: 0, 90, 180, 270.

start_motion_detection_reporting(threshold, sensitivity, clbk_fcn)

Rozpocznij raportowanie wykrywania ruchu. Wykrywanie ruchu bazuje na obliczaniu różnicy wartości pixeli pomiędzy dwiema kolejnymi klatkamiJeżeli wartość danego pixela zmieniła się bardziej niż threshold oraz ilośc zmienionych pixeli jest większa niż (sensitivity) ruch zostanie wykryty.

Argumenty:

threshold (str): Akceptowana różnica wartości danego pixela między dwoma ramkami video. Wartość ta musi zostać przekroczona aby dany pixel został oznaczony jako zmieniony.

sensitivity (int): promil pixeli [0-1000], który musi zostać zmieniony aby ruch został wykrty. Im większa wartośc tym trudniej wykryć ruch.

clbk_fcn (function(bool)): funkcja wywołania zwrotnego na zdarzenie GetMotionDetection. Funkcja potrzebuje argumenty typu bool.

start_object_recognition_reporting(classifier_file_name, neighbors_number, clbk_fcn)

Rozpocznij raportowanie rozpoznawania obiektów. Funkcjonalność rozpoznawania obiektów bazuje na definicji «klasyfikatora» - pliku opisującego cechy szczególne rozpoznawanego obiektu.VPM przeszukuje każdy obiekt ramki zdefiniowany przez klasyfikator. neighbors_number opisuje jak dokładne rozpoznanie powinno być. Im wyższy jest ten współczynik tym trudniejsze jest rozpoznanie obiektu.

Argumenty:

classifier_file_name (str): ścieżka do pliku klasyfikatora względem folderuu vpm_storage.

neighbors_number (int): współcznnik opisujący dokładność rozpoznania danego obiektu.

clbk_fcn (function(list[dict{'TopLeft': {'x': int, 'y': int}, 'BottonRight': {'x': int, 'y': int}}])): funkcja zwrotna wywoływana na zdarzenie GetObjectRecognition. Funkcja ta ma jeden argument: listę opisującą wszystkie rozpoznane obiekty na klatce video. Lista ta zbudowana jest ze słowników o kluczach «TopLeft» (obiekt ze współrzędnymi X i Y górnego-lewego rogu wykrytego obiektu na klatce video) i «BottomRight» (obiekt ze współrzędnymi X i Y dolnego-prawego rogu wykrytego obiektu na klatce video). Jeśli żaden obiekt nie może zostać zwrócony z powodu wystąpienia błędu wtedy wartość None zostanie zwrócona.

start_stream(port=4001)

Rozpocznij strumieniowanie video.

Argumenty:

port (int, optional): port na który strumień video będzie dostępny ; domyślne 4001.

stop_motion_detection_reporting()

Zatrzymaj raportowanie o wykryciu ruchu w trybie ciągłym

stop_object_recognition_reporting()

Zatrzymaj raportowanie o rozpoznaniu obiektu w trybie ciągłym.

stop_stream()

Zatrzymaj strumieniowanie video.

take_picture(file_name, timeout=10)

Zrób zdjęcie oraz zachowaj je w folderze vpm_storage pod podaną nazwą.

Argumenty:

file_name (str): nazwa zdjęcia.

timeout (int, opcjonalnie): limit czasowy (w sekundach) na zrobienie zdjęcia; domyślnie 2s.

Wynik:

status (bool): status zrobionego zdjęcia: «true» zdjęcie zrobiono poprawnie, w innym wypadku «false.

take_picture_async(file_name, clbk_fcn)

Zrób zdjęcie asynchronicznie oraz zachowaj je w folderze vpm_storage pod podaną nazwą.

Argumenty:

file_name (str): nazwa zdjęcia.

clbk_fcn (function(bool)): funkcja wywołania zwrotnego na zdarzenie TakePicture. Funkcja potrzebuje parametru typu bool: rezulat operacji wykonania zdjęcia - «true» jeżeli wykonano je poprawnie, w innym wypadku «false».