16. Inne interfejsy

16.1. Pobieranie klucza publicznego SSH

Prototyp

GetSSHKeygen()

Opis

Pobieranie klucza publicznego SSH

Parametry wymagane

Brak

Parametry domyślne

Brak

Wartość zwracana

  • Kod błędu sukces-0 błąd- errcode

  • keygen: Klucz publiczny

16.2. Wysyłanie polecenia SCP

Nowe w wersji python: SDK-v2.1.3

Prototyp

SetSSHScpCmd(mode, sshname, sship, usr_file_url, robot_file_url)

Opis

Wysyłanie polecenia SCP

Parametry wymagane

  • mode: 0-upload (komputer nadrzędny -> kontroler), 1-pobranie (kontroler -> komputer nadrzędny)

  • sshname: Nazwa użytkownika komputera nadrzędnego

  • sship: Adres IP komputera nadrzędnego

  • usr_file_url: Ścieżka do pliku na komputerze nadrzędnym

  • robot_file_url: Ścieżka do pliku w kontrolerze robota

Parametry domyślne

Brak

Wartość zwracana

Kod błędu sukces-0 błąd- errcode

16.3. Obliczanie wartości MD5 pliku w określonej ścieżce

Prototyp

ComputeFileMD5(file_path)

Opis

Obliczanie wartości MD5 pliku w określonej ścieżce

Parametry wymagane

  • file_path: Ścieżka do pliku wraz z nazwą. Domyślna ścieżka folderu Traj to:/fruser/traj/, np. /fruser/traj/trajHelix_aima_1.txt

Parametry domyślne

Brak

Wartość zwracana

  • Kod błędu sukces-0 błąd- errcode

  • md5: Wartość MD5 pliku

16.4. Przykład kodu dla poleceń SSH i MD5 robota

 1from fairino import Robot
 2import time
 3import threading
 4# Połączenie z kontrolerem robota, po pomyślnym połączeniu zwraca obiekt robota
 5robot = Robot.RPC('192.168.58.2')
 6file_path = "/fruser/airlab.lua"
 7md5 = ""
 8emerg_state = 0
 9si0_state = 0
10si1_state = 0
11sdk_com_state = 0
12ssh_keygen = ""
13retval,ssh_keygen = robot.GetSSHKeygen()
14print(f"GetSSHKeygen retval is: {retval}")
15print(f"ssh key is: {ssh_keygen}")
16ssh_name = "fr"
17ssh_ip = "192.168.58.45"
18ssh_route = "/home/fr"
19ssh_robot_url = "/root/robot/dhpara.config"
20retval = robot.SetSSHScpCmd(1, ssh_name, ssh_ip, ssh_route, ssh_robot_url)
21print(f"SetSSHScpCmd retval is: {retval}")
22print(f"robot url is: {ssh_robot_url}")
23error, md5 = robot.ComputeFileMD5(file_path)
24print(f"md5 is: {md5}")
25robot.CloseRPC()

16.5. Ustawianie okresu zwrotnego portu 20004 robota

Nowe w wersji python: SDK-v2.0.5

Prototyp

SetRobotRealtimeStateSamplePeriod(period)

Opis

Ustawianie okresu zwrotnego portu 20004 robota

Parametry wymagane

  • period: Okres zwrotny portu 20004 robota (ms)

Parametry domyślne

Brak

Wartość zwracana

Kod błędu sukces-0 błąd- errcode

16.6. Pobieranie okresu zwrotnego portu 20004 robota

Nowe w wersji python: SDK-v2.0.5

Prototyp

GetRobotRealtimeStateSamplePeriod()

Opis

Pobieranie okresu zwrotnego portu 20004 robota

Parametry wymagane

Brak

Parametry domyślne

Brak

Wartość zwracana

  • Kod błędu sukces-0 błąd- errcode

  • period: Okres zwrotny portu 20004 robota (ms)

16.7. Przykład konfiguracji okresu zwrotnego stanu portu 20004 robota

 1from fairino import Robot
 2import time
 3import threading
 4# Połączenie z kontrolerem robota, po pomyślnym połączeniu zwraca obiekt robota
 5robot = Robot.RPC('192.168.58.2')
 6robot.SetRobotRealtimeStateSamplePeriod(10)
 7error,getPeriod = robot.GetRobotRealtimeStateSamplePeriod()
 8print(f"period is {getPeriod}")
 9time.sleep(1)
10robot.CloseRPC()

16.8. Aktualizacja oprogramowania robota

Nowe w wersji python: SDK-v2.0.5

Prototyp

SoftwareUpgrade(filePath, block)

Opis

Aktualizacja oprogramowania robota

Parametry wymagane

  • filePath: Pełna ścieżka pakietu aktualizacyjnego oprogramowania

  • block: Czy blokować do czasu zakończenia aktualizacji true: blokuj; false: nieblokujący

Parametry domyślne

Brak

Wartość zwracana

  • Kod błędu sukces-0 błąd- errcode

16.9. Pobieranie statusu aktualizacji oprogramowania robota

Nowe w wersji python: SDK-v2.0.5

Prototyp

GetSoftwareUpgradeState()

Opis

Pobieranie statusu aktualizacji oprogramowania robota

Parametry wymagane

Brak

Parametry domyślne

Brak

Wartość zwracana

  • Kod błędu sukces-0 błąd- errcode

  • state: Status aktualizacji pakietu oprogramowania robota, 0: bezczynność lub przesyłanie pakietu aktualizacyjnego, 1~100: procent ukończenia aktualizacji, -1: niepowodzenie aktualizacji oprogramowania, -2: niepowodzenie weryfikacji, -3: niepowodzenie weryfikacji wersji, -4: niepowodzenie dekompresji, -5: niepowodzenie aktualizacji konfiguracji użytkownika, -6: niepowodzenie aktualizacji konfiguracji urządzeń peryferyjnych, -7: niepowodzenie aktualizacji konfiguracji osi rozszerzenia, -8: niepowodzenie aktualizacji konfiguracji robota, -9: niepowodzenie aktualizacji konfiguracji parametrów DH

16.10. Przykład kodu aktualizacji oprogramowania robota

 1from fairino import Robot
 2import time
 3import threading
 4# Połączenie z kontrolerem robota, po pomyślnym połączeniu zwraca obiekt robota
 5robot = Robot.RPC('192.168.58.2')
 6error = robot.SoftwareUpgrade("D://zUP/QNX382/software.tar.gz", False)
 7print(f"SoftwareUpgrade error is {error}")
 8while True:
 9    curState = robot.GetSoftwareUpgradeState()
10    print(f"upgrade state is {curState}")
11    time.sleep(3)
12robot.CloseRPC()

16.11. Pobieranie bazy danych tabeli punktów

Nowe w wersji python: SDK-v2.0.1

Prototyp

PointTableDownLoad(point_table_name, save_file_path)

Opis

Pobieranie bazy danych tabeli punktów

Parametry wymagane

  • point_table_name: Nazwa tabeli punktów do pobrania pointTable1.db;

  • save_file_path: Ścieżka zapisu pobranej tabeli punktów C://test/;

Parametry domyślne

Brak

Wartość zwracana

Kod błędu sukces-0 błąd- errcode

16.12. Przesyłanie bazy danych tabeli punktów

Nowe w wersji python: SDK-v2.0.1

Prototyp

PointTableUpLoad(point_table_file_path)

Opis

Przesyłanie bazy danych tabeli punktów

Parametry wymagane

  • point_table_file_path: Pełna ścieżka przesyłanej tabeli punktów C://test/pointTable1.db

Parametry domyślne

Brak

Wartość zwracana

Kod błędu sukces-0 błąd- errcode

16.13. Aktualizacja pliku Lua tabeli punktów

Nowe w wersji python: SDK-v2.0.1

Prototyp

PointTableUpdateLua(point_table_name, lua_file_name)

Opis

Aktualizacja pliku Lua tabeli punktów

Parametry wymagane

  • point_table_name: Nazwa tabeli punktów do przełączenia pointTable1.db. Gdy tabela punktów jest pusta, tzn. „, oznacza to aktualizację programu Lua do programu początkowego bez zastosowanej tabeli punktów

  • lua_file_name: Nazwa pliku Lua do aktualizacji testPointTable.lua

Parametry domyślne

Brak

Wartość zwracana

Kod błędu sukces-0 błąd- errcode

16.14. Przykład operacji na tabeli punktów robota

 1from fairino import Robot
 2# Połączenie z kontrolerem robota, po pomyślnym połączeniu zwraca obiekt robota
 3robot = Robot.RPC('192.168.58.2')
 4save_path = "D://zDOWN/"
 5point_table_name = "point_table_FR5.db"
 6rtn = robot.PointTableDownLoad(point_table_name, save_path)
 7print(f"download : {point_table_name} fail: {rtn}")
 8upload_path = "D://zDOWN/point_table_FR5.db"
 9rtn = robot.PointTableUpLoad(upload_path)
10print(f"retval is: {rtn}")
11point_tablename = "point_table_FR5.db"
12lua_name = "test0610.lua"
13rtn,error = robot.PointTableUpdateLua(point_tablename, lua_name)
14print(f"retval is: {rtn}")
15robot.CloseRPC()

16.15. Pobieranie logów kontrolera

Nowe w wersji python: SDK-v2.1.1

Prototyp

RbLogDownload(savePath)

Opis

Pobieranie logów kontrolera

Parametry wymagane

  • savePath: Ścieżka zapisu pliku D://zDown/

Parametry domyślne

Brak

Wartość zwracana

Kod błędu sukces-0 błąd- errcode

16.16. Pobieranie wszystkich źródeł danych

Nowe w wersji python: SDK-v2.1.1

Prototyp

AllDataSourceDownload(savePath)

Opis

Pobieranie wszystkich źródeł danych

Parametry wymagane

  • savePath: Ścieżka zapisu pliku D://zDown/

Parametry domyślne

Brak

Wartość zwracana

Kod błędu sukces-0 błąd- errcode

16.17. Pobieranie pakietu kopii zapasowej danych

Nowe w wersji python: SDK-v2.1.1

Prototyp

DataPackageDownload(savePath)

Opis

Pobieranie pakietu kopii zapasowej danych

Parametry wymagane

  • savePath: Ścieżka zapisu pliku D://zDown/

Parametry domyślne

Brak

Wartość zwracana

Kod błędu sukces-0 błąd- errcode

16.18. Przykład kodu pobierania danych z kontrolera

 1from fairino import Robot
 2import time
 3import threading
 4# Połączenie z kontrolerem robota, po pomyślnym połączeniu zwraca obiekt robota
 5robot = Robot.RPC('192.168.58.2')
 6rtn = robot.RbLogDownload("D://zDOWN/")
 7print(f"RbLogDownload rtn is {rtn}")
 8rtn = robot.AllDataSourceDownload("D://zDOWN/")
 9print(f"AllDataSourceDownload rtn is {rtn}")
10rtn = robot.DataPackageDownload("D://zDOWN/")
11print(f"DataPackageDownload rtn is {rtn}")
12robot.CloseRPC()

16.19. Ustawianie aktualizacji enkodera

Nowe w wersji python: SDK-v2.1.4

Prototyp

SetEncoderUpgrade(path)

Opis

Ustawianie aktualizacji enkodera

Parametry wymagane

  • path: Pełna ścieżka lokalnego pakietu aktualizacyjnego (D://zUP/XXXXX.bin)

Parametry domyślne

Brak

Wartość zwracana

Kod błędu sukces-0 błąd- errcode

16.20. Ustawianie aktualizacji firmware przegubów

Nowe w wersji python: SDK-v2.1.4

Prototyp

SetJointFirmwareUpgrade(type, path)

Opis

Ustawianie aktualizacji firmware przegubów

Parametry wymagane

  • type: Typ pliku aktualizacyjnego; 1-aktualizacja firmware; 2-aktualizacja pliku konfiguracyjnego węzła podrzędnego

  • path: Pełna ścieżka lokalnego pakietu aktualizacyjnego (D://zUP/XXXXX.bin)

Parametry domyślne

Brak

Wartość zwracana

Kod błędu sukces-0 błąd- errcode

16.21. Ustawianie aktualizacji firmware skrzynki kontrolnej

Nowe w wersji python: SDK-v2.1.4

Prototyp

SetCtrlFirmwareUpgrade(type, path)

Opis

Ustawianie aktualizacji firmware skrzynki kontrolnej

Parametry wymagane

  • type: Typ pliku aktualizacyjnego; 1-aktualizacja firmware; 2-aktualizacja pliku konfiguracyjnego węzła podrzędnego

  • path: Pełna ścieżka lokalnego pakietu aktualizacyjnego (D://zUP/XXXXX.bin)

Parametry domyślne

Brak

Wartość zwracana

Kod błędu sukces-0 błąd- errcode

16.22. Ustawianie aktualizacji firmware końcówki

Nowe w wersji python: SDK-v2.1.4

Prototyp

SetEndFirmwareUpgrade(type, path)

Opis

Ustawianie aktualizacji firmware końcówki

Parametry wymagane

  • type: Typ pliku aktualizacyjnego; 1-aktualizacja firmware; 2-aktualizacja pliku konfiguracyjnego węzła podrzędnego

  • path: Pełna ścieżka lokalnego pakietu aktualizacyjnego (D://zUP/XXXXX.bin)

Parametry domyślne

Brak

Wartość zwracana

Kod błędu sukces-0 błąd- errcode

16.23. Aktualizacja pliku konfiguracji pełnych parametrów przegubu

Nowe w wersji python: SDK-v2.1.4

Prototyp

JointAllParamUpgrade(path)

Opis

Aktualizacja pliku konfiguracji pełnych parametrów przegubu

Parametry wymagane

  • path: Pełna ścieżka lokalnego pakietu aktualizacyjnego (D://zUP/XXXXX.bin)

Parametry domyślne

Brak

Wartość zwracana

Kod błędu sukces-0 błąd- errcode

16.24. Przykład kodu aktualizacji firmware węzła podrzędnego robota

 1from fairino import Robot
 2import time
 3import threading
 4# Połączenie z kontrolerem robota, po pomyślnym połączeniu zwraca obiekt robota
 5robot = Robot.RPC('192.168.58.2')
 6robot.RobotEnable(0)
 7time.sleep(0.2)
 8rtn = robot.JointAllParamUpgrade("D://zUP/MT/joint0603/jointallparameters.db")
 9print(f"robot JointAllParamUpgrade rtn is {rtn}")
10rtn = robot.SetCtrlFirmwareUpgrade(2, "D://zUP/MT/FAIR_Cobot_Cbd_Asix_V2.0.bin")
11print(f"robot SetCtrlFirmwareUpgrade rtn is {rtn}")
12rtn = robot.SetEndFirmwareUpgrade(2, "D://zUP/MT/FAIR_Cobot_Axle_Asix_V2.4.bin")
13print(f"robot SetEndFirmwareUpgrade rtn is {rtn}")
14robot.SetSysServoBootMode()
15time.sleep(0.2)
16rtn = robot.SetCtrlFirmwareUpgrade(1, "D://zUP/MT/FR_CTRL_PRIMCU_FV201412_MAIN_U4_T01_20250630(MT).bin")
17print(f"robot SetCtrlFirmwareUpgrade rtn is {rtn}")
18rtn = robot.SetEndFirmwareUpgrade(1, "D://zUP/MT/FR_END_FV2010010_MAIN_U1_T01_20250603.bin")
19print(f"robot SetEndFirmwareUpgrade rtn is {rtn}")
20rtn = robot.SetJointFirmwareUpgrade(1, "D://zUP/MT/FR_SERVO_FV504215_MAIN_U7_T07_20250603.bin")
21print(f"robot SetJointFirmwareUpgrade rtn is {rtn}")
22robot.CloseRPC()

16.25. Aktualizacja systemu operacyjnego robota (skrzynka kontrolna LA)

Nowe w wersji python: SDK-v2.1.6

Prototyp

KernelUpgrade(filePath)

Opis

Aktualizacja systemu operacyjnego robota (skrzynka kontrolna LA)

Parametry wymagane

  • filePath: Pełna ścieżka pakietu aktualizacyjnego systemu operacyjnego

Parametry domyślne

Brak

Wartość zwracana

Kod błędu sukces-0 błąd- errcode

16.26. Pobieranie wyniku aktualizacji systemu operacyjnego robota (skrzynka kontrolna LA)

Nowe w wersji python: SDK-v2.1.6

Prototyp

GetKernelUpgradeResult()

Opis

Pobieranie wyniku aktualizacji systemu operacyjnego robota (skrzynka kontrolna LA)

Parametry wymagane

Brak

Parametry domyślne

Brak

Wartość zwracana

Kod błędu sukces-0 błąd- errcode

16.27. Generowanie logów MCU robota

Nowe w wersji python: SDK-v2.1.7

Prototyp

RobotMCULogCollect()

Opis

Generowanie logów MCU robota

Parametry wymagane

Brak

Parametry domyślne

Brak

Wartość zwracana

Kod błędu sukces-0 błąd- errcode

16.28. Ustawianie zatrzymania robota po rozłączeniu komunikacji portu

Prototyp

SetRobotStopOnComDisc(portID, enable, confirmTime)

Opis

Ustawianie zatrzymania robota po rozłączeniu komunikacji portu

Parametry wymagane

  • portID: Numer portu 0-8080; 1-8083; 2-20002; 3-20004

  • enable: 0-wyłączone; 1-włączone

  • confirmTime: Czas potwierdzenia przerwania komunikacji (ms)[0-5000]

Parametry domyślne

Brak

Wartość zwracana

Kod błędu sukces-0 błąd- errcode

16.29. Pobieranie parametrów zatrzymania robota po rozłączeniu komunikacji portu

Prototyp

GetRobotStopOnComDisc(portID)

Opis

Pobieranie parametrów zatrzymania robota po rozłączeniu komunikacji portu

Parametry wymagane

  • portID: Numer portu 0-8080; 1-8083; 2-20002; 3-20004

  • enable: 0-wyłączone; 1-włączone

  • confirmTime: Czas potwierdzenia przerwania komunikacji (ms)[0-5000]

Parametry domyślne

Brak

Wartość zwracana

Kod błędu sukces-0 błąd- errcode

16.30. Przykład kodu parametrów zatrzymania robota po rozłączeniu komunikacji portu

 1from time import sleep
 2import time
 3from fairino import Robot
 4# Połączenie z kontrolerem robota
 5robot = Robot.RPC('192.168.58.2')
 6
 7def test_robot_stop_on_com_disc(self):
 8    # Inicjalizacja parametrów
 9    enable = False
10    confirm_time = 0
11
12    # Ustawienie funkcji zatrzymania robota po rozłączeniu komunikacji
13    rtn = robot.SetRobotStopOnComDisc(0, True, 330)
14    print(f"SetRobotStopOnComDisc index0: {rtn}")
15
16    rtn = robot.SetRobotStopOnComDisc(1, True, 550)
17    print(f"SetRobotStopOnComDisc index1: {rtn}")
18
19    rtn = robot.SetRobotStopOnComDisc(2, True, 110)
20    print(f"SetRobotStopOnComDisc index2: {rtn}")
21
22    rtn = robot.SetRobotStopOnComDisc(3, True, 220)
23    print(f"SetRobotStopOnComDisc index3: {rtn}")
24
25    # Pobranie ustawień zatrzymania robota po rozłączeniu komunikacji
26    rtn, enable, confirm_time = robot.GetRobotStopOnComDisc(0)
27    print(f"GetRobotStopOnComDisc 8080 rtn {rtn}; enable is {enable}; confirm time is {confirm_time}")
28
29    rtn, enable, confirm_time = robot.GetRobotStopOnComDisc(1)
30    print(f"GetRobotStopOnComDisc 80803 rtn {rtn}; enable is {enable}; confirm time is {confirm_time}")
31
32    rtn, enable, confirm_time = robot.GetRobotStopOnComDisc(2)
33    print(f"GetRobotStopOnComDisc 20002 rtn {rtn}; enable is {enable}; confirm time is {confirm_time}")
34
35    rtn, enable, confirm_time = robot.GetRobotStopOnComDisc(3)
36    print(f"GetRobotStopOnComDisc 20004 rtn {rtn}; enable is {enable}; confirm time is {confirm_time}")
37
38    # Zamknięcie połączenia RPC
39    robot.CloseRPC()
40    return 0
41
42test_robot_stop_on_com_disc(robot)

16.31. Wysyłanie ramki polecenia UDP

Prototyp

SendUDPFrame(frame)

Opis

Wysyłanie ramki polecenia UDP

Parametry wymagane

  • frame: Wysyłane dane UDP, transmisja przezroczysta, bez enkapsulacji

Parametry domyślne

Brak

Wartość zwracana

Kod błędu sukces-0 błąd- errcode

16.32. Przykład kodu SDK dla komunikacji UDP

 1from time import sleep
 2import time
 3from fairino import Robot
 4
 5# Połączenie z kontrolerem robota
 6robot = Robot.RPC('192.168.58.2')
 7
 8def TestSendUDPFrame(self):
 9    # Ustawienie wywołania zwrotnego
10    def callback(src_type, count, cmd_id, data_len, content):
11        print("Otrzymano odpowiedź: cmd_id={} count={} data_len={} content={}".format(cmd_id, count, data_len, content))
12        return 0
13    robot.SetUDPCmdRpyCallback(callback)
14
15    rtn = robot.SendUDPFrame("/f/bIII20III303III7IIIMode(0)III/b/f")
16    print(f"SendUDPFrame Mode(0) rtn is {rtn}")
17    time.sleep(1)
18
19    rtn = robot.SendUDPFrame("/f/bIII21III303III7IIIMode(1)III/b/f")
20    print(f"SendUDPFrame Mode(1) rtn is {rtn}")
21    time.sleep(1)
22
23    rtn = robot.SendUDPFrame(
24        "/f/bIII49III201III184IIIMoveJ(-15.625, -82.680, 101.654, -110.950, -88.290, 0.017, -383.012, -2.325, 242.655, -178.024, 1.710, 74.416, 0, 0, 100, 100, 100, 0.000, 0.000, 0.000, 0.000, -1, 0, 0, 0, 0, 0, 0, 0)III/b/f")
25    print(f"SendUDPFrame MoveJ(-15.625) rtn is {rtn}")
26    time.sleep(1)
27
28    rtn = robot.SendUDPFrame(
29        "/f/bIII48III203III199IIIMoveL(-75.622, -82.680, 101.654, -110.950, -88.290, 0.017, -193.537, 330.525, 242.657, -178.024, 1.710, 14.420, 0, 0, 100, 100, 100, -1, 0, 0.000, 0.000, 0.000, 0.000, 0, 0, 0, 0, 0, 0, 0, 0, 100, 0)III/b/f")
30    print(f"SendUDPFrame MoveL(-75.622) rtn is {rtn}")
31    time.sleep(1)
32
33    rtn = robot.SendUDPFrame("/f/bIII4III905III20IIIGetSoftwareVersion()III/b/f")
34    print(f"SendUDPFrame GetSoftwareVersion() rtn is {rtn}")
35
36    time.sleep(1)
37
38    # Test weryfikacji danych wysyłanej ramki UDP
39    rtn = robot.SendUDPFrame("/f/bIII20III303III7IIIMode(0)III/b/f")
40    print(f"SendUDPFrame rtn is {rtn}")
41
42    rtn = robot.SendUDPFrame("III20III303III7IIIMode(0)III/b/f")
43    print(f"SendUDPFrame rtn is {rtn}")
44
45    rtn = robot.SendUDPFrame("/f/bIII20III303III7IIIMode(0)")
46    print(f"SendUDPFrame rtn is {rtn}")
47
48    rtn = robot.SendUDPFrame("/f/bIII20III303III6IIIMode(0)III/b/f")
49    print(f"SendUDPFrame rtn is {rtn}")
50
51    rtn = robot.SendUDPFrame("/f/b|||20|||303|||7|||Mode(0)|||/b/f")
52    print(f"SendUDPFrame rtn is {rtn}")
53
54    rtn = robot.SendUDPFrame("/f/bII20II303II7IIMode(0)II/b/f")
55    print(f"SendUDPFrame rtn is {rtn}")
56
57    robot.CloseRPC()
58    time.sleep(1)
59
60TestSendUDPFrame(robot)

16.33. Ustawianie niestandardowego koloru lampki końcówki robota przez użytkownika

Prototyp

SetUserLEDColor(r, g, b)

Opis

Ustawianie niestandardowego koloru lampki końcówki robota przez użytkownika

Parametry wymagane

  • r: Sterowanie czerwoną lampką końcówki; 0-wyłącz; 1-włącz

  • g: Sterowanie zieloną lampką końcówki; 0-wyłącz; 1-włącz

  • b: Sterowanie niebieską lampką końcówki; 0-wyłącz; 1-włącz

Parametry domyślne

Brak

Wartość zwracana

Kod błędu sukces-0 błąd- errcode

16.34. Przykład kodu SDK ustawiania niestandardowego koloru lampki końcówki robota przez użytkownika

 1from time import sleep
 2import time
 3from fairino import Robot
 4
 5# Połączenie z kontrolerem robota
 6robot = Robot.RPC('192.168.58.2')
 7
 8
 9def testled(self):
10    # Ustawienie koloru lampki LED przez użytkownika
11    # Kolejność parametrów: R, G, B (czerwony, zielony, niebieski)
12
13    # Biały (czerwony, zielony, niebieski - wszystkie włączone)
14    robot.SetUserLEDColor(True, True, True)
15    time.sleep(1)
16
17    # Wyłączenie wszystkich lampek
18    robot.SetUserLEDColor(False, False, False)
19    time.sleep(1)
20
21    # Czerwony (tylko czerwona lampka włączona)
22    robot.SetUserLEDColor(True, False, False)
23    time.sleep(1)
24
25    # Zielony (tylko zielona lampka włączona)
26    robot.SetUserLEDColor(False, True, False)
27    time.sleep(1)
28
29    # Niebieski (tylko niebieska lampka włączona)
30    robot.SetUserLEDColor(False, False, True)
31
32    # Zamknięcie połączenia
33    robot.CloseRPC()
34
35testled(robot)