Dokumentacja «Wrapperów»

Audio Player Module

class wroob.modules.apm.Apm(moduleName)

Klasy bazowe: wroob.modules.module.Module

Definicja modułu odtwarzania plików audio - Audio Player Module (APM)

APM jest modułem programowym odtwarzającym pliki audio na urządzeniu z systemem Android. Umożliwia on włączenie wskazanego pliku audio oraz ustawienie poziom głośności urządzenia.

Argumenty:

moduleName (str): nazwa modułu APM do zainicjalizowania.

MAX_VOLUME_SLIDER_LEVEL = 10

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

play_sound(file_name, timeout=600)

Odtwórz wskazany plik audio.

Argumenty:

file_name (str): ścieżka względna do pliku audio (względem folderu apm_storage).

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

Wynik:

status (str): możliwe wartości:

  • END

  • FileNotFound

  • WrongFile

play_sound_async(file_name, clbk_fcn)

Odtwórz wskazany plik audio (asynchronicznie).

Argumenty:

file_name (str): ścieżka względna do pliku audio (względem folderu apm_storage).

clbk_fcn (function(str)): funkcja wywołania zwrotnego (callback) na rezultat zdarzenia PlaySound. Callback wymaga przekazania argumentu statusu zdarzenia (string); możliwe wartości:

  • END

  • FileNotFound

  • WrongFile

set_module_volume(volume)

Ustaw globaly poziom głośności.

Argumenty:

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

set_stream_volume(volume, stream)

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

Argumenty:

volume (int): poziom głośności wybranego strumienia (zakres 0 - 100).

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

set_volume(volume)

Ustaw poziom głośności dla strumienia MUSIC.

Argumenty:

volume (int): poziom głośności strumienia MUSIC (zakres 0 - 100).

stop_sound()

Zatrzymaj odtwarzany 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 osługi kontrolera - Remote Control Module (RCM)

RCM jest modułem programowym zarządzającym kontrolerami typu gamepad podpiętymi do komputera. Umożliwia on odczytanie aktualnego stanu przycisków kontrolera i/lub położenia gałek analogowych.

Argumenty:

moduleName (str): nazwa modułu RCM do zainicjalizowania.

autocalibrate_gamepad(timeout=2)

Spróbuj wykonać automatyczną kalibrację 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)

Spróbuj wykonać automatyczną kalibrację gamepada asynchronicznie.

Argumenty:

clbk_fcn (funkcja(bool)): funkcja wywołania zwrotnego (callback) 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óć status wszystkich zarejestrowanych przycisków.

Argumenty:

button_list (list): lista przycisków których status ma zostać pobrany.

timeout (int, opcjonalnie): limit czasowy (w sekundach) na zwrócenie stanu zarejestrownych przycisków; domyślnie 2s.

Wynik:

status (dict{str: bool|float}): słownik z wartością statusu. Klucz: nazwa przycisku, Wartość: stan przycisku: jeśli przycisk ma wartości binarne: «true» - wcisnięty, «false» - zwolniony, jeśli przycisk (gałka) ma wartości analogowe, wtedy jest to wartość liczbowa.

get_buttons_status_async(button_list, clbk_fcn)

Zwróć status wszystkich zarejestrowanych przycisków asynchronicznie.

Argumenty:

button_list (list): lista przycisków których status ma zostać pobrany.

clbk_fcn (funkcja(dict{str: bool|int})): funkcja wywołania zwrotnego na zdarzenie GetButtonsStatus. Funkcja ta wymaga jednego argumentu typu słownik: dict{str: bool|int}, gdzie kluczem jest nazwa przycisku natomiast wartością jest stan danego przycisku.

get_connected_gamepads(timeout=2)

Zwróć listę 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 kontroleró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 stanu przycisków

Argumenty:

button_list (list): lista przycisków których status ma zostać pobrany.

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

clbk_fcn (funkcja(dict{str: bool|int})): funkcja wywołania zwrotnego na zdarzenie GetButtonsStatus. Funkcja ta wymaga jednego argumentu typu słownik: dict{str: bool|int}, gdzie kluczem jest nazwa przycisku natomiast wartością jest stan danego przycisku.

stop_buttons_status_reporting()

Zatrzymaj ciągłe raportowanie stanu przycisków

Range Finder Module

class wroob.modules.rfm.Rfm(moduleName)

Klasy bazowe: wroob.modules.module.Module

Definicja sprzętowego modułu pomiaru odległości - Range Finder Module (RFM).

RFM jest modułem sprzętowym odpowiedzialnym za pomiar odległości przy użyciu dwóch typów czujników: ultradźwiękowych i podczerwieni.

Argumenty:

moduleName (str): nazwa modułu RFM do zainicjalizowania.

DIST_FACTOR = 10

Współczynnik umożliwiają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'}

Wspierane czujniki: 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. 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. Możliwe wartości: US0, US1, IR0, IR1, IR2, IR3.

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

get_range_us0(timeout=2)

Zwróc pomiar z czujnika ultradźwiękowego US0

Argumenty:

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

Wynik:

distance (int): odległości od czujnika US0 do najbliższej przeszkody (w cm), None jeśli przeszkoda nie została wykryta.

get_range_us1(timeout=2)

Zwróc pomiar z czujnika ultradźwiękowego US1

Argumenty:

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

Wynik:

distance (int): odległości od czujnika US1 do najbliższej przeszkody (w cm), None jeśli przeszkoda nie została wykryta.

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 (callback) na zdarzenie GetRange. Funkcja ta wymaga jeden argument typu słownikowego 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 Module

class wroob.modules.sdcm.Sdcm(moduleName)

Klasy bazowe: wroob.modules.module.Module

Definicja sprzętowego modułu sterowania silnikami - Servo and DC Motor (SDCM)

SDCM jest modułem sprzętowym odpowiedzialnym za sterowanie dwoma typami silników: silnikami prądu stałego oraz serwomechanizmami.

Argumenty:

moduleName (str): nazwa modułu SDCM do zainicjalizowania.

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 minutę); współczynnik konwersji odczytów z ekondera na rzeczywiste wartości.

get_servo_pos(timeout=2)

Pobierz pozycję serwomechanizmu.

Argumenty:

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

Wynik:

angle (float): pozycja serwomechanizmu podana w stopniach.

get_servo_pos_async(clbk_fcn)

Pobierz pozycje kątową serwomechanizmu asynchronicznie.

Argumenty:

clbk_fcn (function(float)): funkcja wywołania zwrotnego (callback) 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 sekundę) 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])): funkcja wywołania zwrotnego (callback) 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 i kąt. Należy pamiętać o ustawieniu poprawnych parametrów koła w opcjach 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ść silników (w obrotach na sekundę).

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)

Wymuś ruch robota o zadany dystans i kąt (asynchronicznie). Należy pamiętać o ustawieniu poprawnych parametrów koła w opcjach 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ść silników (w obrotach na sekundę).

clbk_fcn (function(bool)): funkcja wywołania zwrotnego (callback) 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 pozycję serwomechanizmu.

Argumenty:

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

set_speed(speed1_rps, speed2_rps)

Ustaw prędkość silników.

Argumenty:

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

speed2_rps (int): prędkośc obrotowa koła (w obrotach na sekundę) 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 (callback) 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])): funkcja wywołania zwrotnego (callback) 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 rozpoznawania mowy - Speech Recognition Module (SRM)

SRM jest modułem programowym służącym do przetwarzania strumienia dzwięku (mowy) na tekst.

Argumenty:

moduleName (str): nazwa modułu SRM do zainicjalizowania.

get_phrases(phrase_list, timeout=30)

Wyszukaj frazę znajdującą się na liście «phrase_list» w aktualnym strumieniu mowy.

Argumenty:

phrase_list (list): lista fraz do wyszukania w strumieniu mowy.

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

Wynik:

result (dict{str: bool}): słownik detekcji fraz: klucze słownika zawierają wyszukiwane frazy, wartości kluczy («true»/»false») oznaczają, czy dana fraza została znaleziona.

get_phrases_async(phrase_list, clbk_fcn)

Wyszukaj zarejstrowaną frazę w aktualnym strumieniu mowy (asynchronicznie).

Argumenty:

phrase_list (list): lista fraz do wyszukania w strumieniu mowy.

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

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; w przypadku nierozpoznania tekstu zwraca pusty string.

get_speech_async(clbk_fcn)

Pobierz asynchronicznie tekst wygenerowany ze strumienia mowy.

Argumenty:

clbk_fcn (function(str)): funkcja wywołania zwrotnego (callback) na zdarzenie GetSpeech. Funkcja potrzebuje argumentu typu string: rezultat konwersji 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): lista fraz do wyszukania.

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

start_speech_reporting(clbk_fcn)

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

Argumenty:

clbk_fcn (function(str)): funkcja wywołania zwrotnego (callback) na zdarzenie GetSpeech. Funkcja potrzebuje argumentu typu string: rezultat konwersji 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()

Zatrzymaj konwersję 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 syntezowania mowy - Speech Synthesis Module (SSM)

SSM jest modułem programowym służącym do syntezowania (generowania) mowy. Moduł ten wykorzystuje przekazany mu ciąg znaków (string) jako źródło tekstu do wypowiedzenia.

Argumenty:

moduleName (str): nazwa modułu SSM do zainicjalizowania.

get_lang_list(timeout=360)

Zwróć 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)

Zwróć listę wspieranych języków w trybe asynchronicznym.

Argumenty:

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

get_voice_list_for_lang(timeout=360)

Zwróć 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)

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

Argumenty:

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

say_text(text, timeout=360)

Zamień tekst na strumień mowy (wypowiedz dany tekst).

Argumenty:

timeout (int, opcjonalnie): limit czasowy (w sekundach) na wypowiedzenie tekstu.

text (str): ciąg znaków (string) do wypowiedzenia.

say_text_async(text, clbk_fcn)

Zamień tekst na strumień mowy (wypowiedz dany tekst) w trybie asynchronicznym.

Argumenty:

text (str): ciąg znaków (string) do wypowiedzenia.

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

set_lang(lang)

Ustaw język używany podczas konwersji tekstu na strumień mowy.

Argumenty:

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

set_voice_index_for_lang(voiceIndex)

Ustaw głos syntezatora mowy.

Argumenty:

voiceIndex (int): numeryczna reprezentacja wybranego głosu; jest to indeks wybranego głosu na liście voiceLangList.

start_speech_synthesis(text, timeout=360)

Zamień tekst na strumień mowy (wypowiedz dany tekst).

Argumenty:

timeout (int, opcjonalnie): limit czasowy (w sekundach) na wypowiedzenie tekstu.

text (str): ciąg znaków (string) do wypowiedzenia.

stop_saying_text()

Zatrzymaj 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, count, timeout=10)

Wait for single motion detection event. Motion detection is based on counting diversity on pixel between two frames. If pixel value changed more than threshold and there is sufficient number of such pixels (sufficiency is determine by count) then there is motion detected.

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.

count (int): promile of pixels in the frame that have to change in order to detect motion. If this value is higher then it is harder to detect motion - VPM is less sensitive for motion.

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 kamerę.

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, count, clbk_fcn)

Start motion detection reporting. Motion detection is based on counting diversity on pixel between two frames. If pixel value changed more than threshold and there is sufficient number of such pixels (sufficiency is determine by count) then there is motion detected.

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.

count (int): promile of pixels in the frame that have to change in order to detect motion. If this value is higher than it is harder to detect motion - VPM is less sensitive for motion.

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».