15. Outras Interfaces
15.1. Obter Chave Pública SSH
Protótipo |
|
|---|---|
Descrição |
Obtém a chave pública SSH |
Parâmetros obrigatórios |
Nenhum |
Parâmetros padrão |
Nenhum |
Valor de retorno |
|
15.2. Enviar Comando SCP
Novo na versão python: SDK-v2.1.3
Protótipo |
|
|---|---|
Descrição |
Envia comando SCP |
Parâmetros obrigatórios |
|
Parâmetros padrão |
Nenhum |
Valor de retorno |
Código de erro: sucesso-0, falha-código de erro |
15.3. Calcular o Valor MD5 de um Arquivo em um Caminho Especificado
Protótipo |
|
|---|---|
Descrição |
Calcula o valor MD5 de um arquivo em um caminho especificado |
Parâmetros obrigatórios |
|
Parâmetros padrão |
Nenhum |
Valor de retorno |
|
15.4. Exemplo de Código de Comandos SSH e MD5 do Robô
1from fairino import Robot
2import time
3import threading
4# Estabelece conexão com o controlador do robô, retorna um objeto robô se a conexão for bem-sucedida
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()
15.5. Definir Período de Feedback da Porta 20004 do Robô
Novo na versão python: SDK-v2.0.5
Protótipo |
|
|---|---|
Descrição |
Define o período de feedback da porta 20004 do robô |
Parâmetros obrigatórios |
|
Parâmetros padrão |
Nenhum |
Valor de retorno |
Código de erro: sucesso-0, falha-código de erro |
15.6. Obter Período de Feedback da Porta 20004 do Robô
Novo na versão python: SDK-v2.0.5
Protótipo |
|
|---|---|
Descrição |
Obtém o período de feedback da porta 20004 do robô |
Parâmetros obrigatórios |
Nenhum |
Parâmetros padrão |
Nenhum |
Valor de retorno |
|
15.7. Exemplo de Código de Configuração do Período de Feedback de Estado da Porta 20004 do Robô
1from fairino import Robot
2import time
3import threading
4# Estabelece conexão com o controlador do robô, retorna um objeto robô se a conexão for bem-sucedida
5robot = Robot.RPC('192.168.58.2')
6robot.SetRobotRealtimeStateSamplePeriod(10)
7error, getPeriod = robot.GetRobotRealtimeStateSamplePeriod()
8print(f"period is {getPeriod}")
9time.sleep(1)
10robot.CloseRPC()
15.8. Atualização de Software do Robô
Novo na versão python: SDK-v2.0.5
Protótipo |
|
|---|---|
Descrição |
Atualização de software do robô |
Parâmetros obrigatórios |
|
Parâmetros padrão |
Nenhum |
Valor de retorno |
|
15.9. Obter Estado da Atualização de Software do Robô
Novo na versão python: SDK-v2.0.5
Protótipo |
|
|---|---|
Descrição |
Obtém o estado da atualização de software do robô |
Parâmetros obrigatórios |
Nenhum |
Parâmetros padrão |
Nenhum |
Valor de retorno |
|
15.10. Exemplo de Código de Atualização de Software do Robô
1from fairino import Robot
2import time
3import threading
4# Estabelece conexão com o controlador do robô, retorna um objeto robô se a conexão for bem-sucedida
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()
15.11. Download do Banco de Dados da Tabela de Pontos
Novo na versão python: SDK-v2.0.1
Protótipo |
|
|---|---|
Descrição |
Download do banco de dados da tabela de pontos |
Parâmetros obrigatórios |
|
Parâmetros padrão |
Nenhum |
Valor de retorno |
Código de erro: sucesso-0, falha-código de erro |
15.12. Upload do Banco de Dados da Tabela de Pontos
Novo na versão python: SDK-v2.0.1
Protótipo |
|
|---|---|
Descrição |
Upload do banco de dados da tabela de pontos |
Parâmetros obrigatórios |
|
Parâmetros padrão |
Nenhum |
Valor de retorno |
Código de erro: sucesso-0, falha-código de erro |
15.13. Atualização do Arquivo Lua da Tabela de Pontos
Novo na versão python: SDK-v2.0.1
Protótipo |
|
|---|---|
Descrição |
Atualização do arquivo Lua da tabela de pontos |
Parâmetros obrigatórios |
|
Parâmetros padrão |
Nenhum |
Valor de retorno |
Código de erro: sucesso-0, falha-código de erro |
15.14. Exemplo de Código de Operação da Tabela de Pontos do Robô
1from fairino import Robot
2# Estabelece conexão com o controlador do robô, retorna um objeto robô se a conexão for bem-sucedida
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()
15.15. Download de Logs do Controlador
Novo na versão python: SDK-v2.1.1
Protótipo |
|
|---|---|
Descrição |
Download de logs do controlador |
Parâmetros obrigatórios |
|
Parâmetros padrão |
Nenhum |
Valor de retorno |
Código de erro: sucesso-0, falha-código de erro |
15.16. Download de Todas as Fontes de Dados
Novo na versão python: SDK-v2.1.1
Protótipo |
|
|---|---|
Descrição |
Download de todas as fontes de dados |
Parâmetros obrigatórios |
|
Parâmetros padrão |
Nenhum |
Valor de retorno |
Código de erro: sucesso-0, falha-código de erro |
15.17. Download do Pacote de Backup de Dados
Novo na versão python: SDK-v2.1.1
Protótipo |
|
|---|---|
Descrição |
Download do pacote de backup de dados |
Parâmetros obrigatórios |
|
Parâmetros padrão |
Nenhum |
Valor de retorno |
Código de erro: sucesso-0, falha-código de erro |
15.18. Exemplo de Código de Download de Dados do Controlador
1from fairino import Robot
2import time
3import threading
4# Estabelece conexão com o controlador do robô, retorna um objeto robô se a conexão for bem-sucedida
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()
15.19. Definir Atualização do Codificador
Novo na versão python: SDK-v2.1.4
Protótipo |
|
|---|---|
Descrição |
Define a atualização do codificador |
Parâmetros obrigatórios |
|
Parâmetros padrão |
Nenhum |
Valor de retorno |
Código de erro: sucesso-0, falha-código de erro |
15.20. Definir Atualização de Firmware das Juntas
Novo na versão python: SDK-v2.1.4
Protótipo |
|
|---|---|
Descrição |
Define a atualização de firmware das juntas |
Parâmetros obrigatórios |
|
Parâmetros padrão |
Nenhum |
Valor de retorno |
Código de erro: sucesso-0, falha-código de erro |
15.21. Definir Atualização de Firmware da Caixa de Controle
Novo na versão python: SDK-v2.1.4
Protótipo |
|
|---|---|
Descrição |
Define a atualização de firmware da caixa de controle |
Parâmetros obrigatórios |
|
Parâmetros padrão |
Nenhum |
Valor de retorno |
Código de erro: sucesso-0, falha-código de erro |
15.22. Definir Atualização de Firmware da Extremidade
Novo na versão python: SDK-v2.1.4
Protótipo |
|
|---|---|
Descrição |
Define a atualização de firmware da extremidade |
Parâmetros obrigatórios |
|
Parâmetros padrão |
Nenhum |
Valor de retorno |
Código de erro: sucesso-0, falha-código de erro |
15.23. Atualização do Arquivo de Configuração de Parâmetros Completos das Juntas
Novo na versão python: SDK-v2.1.4
Protótipo |
|
|---|---|
Descrição |
Atualização do arquivo de configuração de parâmetros completos das juntas |
Parâmetros obrigatórios |
|
Parâmetros padrão |
Nenhum |
Valor de retorno |
Código de erro: sucesso-0, falha-código de erro |
15.24. Exemplo de Código de Atualização de Firmware dos Escravos do Robô
1from fairino import Robot
2import time
3import threading
4# Estabelece conexão com o controlador do robô, retorna um objeto robô se a conexão for bem-sucedida
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()
15.25. Atualização do Sistema Operacional do Robô (Caixa de Controle LA)
Novo na versão python: SDK-v2.1.6
Protótipo |
|
|---|---|
Descrição |
Atualização do sistema operacional do robô (caixa de controle LA) |
Parâmetros obrigatórios |
|
Parâmetros padrão |
Nenhum |
Valor de retorno |
Código de erro: sucesso-0, falha-código de erro |
15.26. Obter Resultado da Atualização do Sistema Operacional do Robô (Caixa de Controle LA)
Novo na versão python: SDK-v2.1.6
Protótipo |
|
|---|---|
Descrição |
Obtém o resultado da atualização do sistema operacional do robô (caixa de controle LA) |
Parâmetros obrigatórios |
Nenhum |
Parâmetros padrão |
Nenhum |
Valor de retorno |
Código de erro: sucesso-0, falha-código de erro |
15.27. Geração de Logs MCU do Robô
Novo na versão python: SDK-v2.1.7
Protótipo |
|
|---|---|
Descrição |
Geração de logs MCU do robô |
Parâmetros obrigatórios |
Nenhum |
Parâmetros padrão |
Nenhum |
Valor de retorno |
Código de erro: sucesso-0, falha-código de erro |
15.28. Definir Parada da Operação do Robô Quando a Comunicação da Porta For Desconectada
Protótipo |
|
|---|---|
Descrição |
Define a parada da operação do robô quando a comunicação da porta for desconectada |
Parâmetros obrigatórios |
|
Parâmetros padrão |
Nenhum |
Valor de retorno |
Código de erro: sucesso-0, falha-código de erro |
15.29. Obter Parâmetros de Parada da Operação do Robô Quando a Comunicação da Porta For Desconectada
Protótipo |
|
|---|---|
Descrição |
Obtém os parâmetros de parada da operação do robô quando a comunicação da porta for desconectada |
Parâmetros obrigatórios |
|
Parâmetros padrão |
Nenhum |
Valor de retorno |
Código de erro: sucesso-0, falha-código de erro |
15.30. Exemplo de Código de Parâmetros de Parada da Operação do Robô Quando a Comunicação da Porta For Desconectada
1from time import sleep
2import time
3from fairino import Robot
4# Estabelece conexão com o controlador do robô
5robot = Robot.RPC('192.168.58.2')
6
7def test_robot_stop_on_com_disc(self):
8 # Inicializar parâmetros
9 enable = False
10 confirm_time = 0
11
12 # Definir a função de parada do robô quando a comunicação for desconectada
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 # Obter a configuração de parada do robô quando a comunicação for desconectada
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 # Fechar conexão RPC
39 robot.CloseRPC()
40 return 0
41
42test_robot_stop_on_com_disc(robot)
15.31. Envio de Quadro de Comando via UDP
Protótipo |
|
|---|---|
Descrição |
Envio de quadro de comando via UDP |
Parâmetros obrigatórios |
|
Parâmetros padrão |
Nenhum |
Valor de retorno |
Código de erro: sucesso-0, falha-código de erro |
15.32. Exemplo de Código SDK Baseado em Comunicação UDP
1from time import sleep
2import time
3from fairino import Robot
4
5# Estabelece conexão com o controlador do robô
6robot = Robot.RPC('192.168.58.2')
7
8def TestSendUDPFrame(self):
9 # Definir retorno de chamada
10 def callback(src_type, count, cmd_id, data_len, content):
11 print("Resposta recebida: 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 # Teste de validação de envio de quadro 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)
15.33. Definir Cor da Luz da Extremidade do Robô Personalizada pelo Usuário
Protótipo |
|
|---|---|
Descrição |
Define a cor da luz da extremidade do robô personalizada pelo usuário |
Parâmetros obrigatórios |
|
Parâmetros padrão |
Nenhum |
Valor de retorno |
Código de erro: sucesso-0, falha-código de erro |
15.34. Exemplo de Código SDK para Definir Cor da Luz da Extremidade do Robô Personalizada pelo Usuário
1from time import sleep
2import time
3from fairino import Robot
4
5# Estabelece conexão com o controlador do robô
6robot = Robot.RPC('192.168.58.2')
7
8
9def testled(self):
10 # Definir cor da luz LED do usuário
11 # Ordem dos parâmetros: R, G, B (vermelho, verde, azul)
12
13 # Branco (vermelho, verde e azul acesos)
14 robot.SetUserLEDColor(True, True, True)
15 time.sleep(1)
16
17 # Desligar todas as luzes
18 robot.SetUserLEDColor(False, False, False)
19 time.sleep(1)
20
21 # Vermelho (apenas luz vermelha acesa)
22 robot.SetUserLEDColor(True, False, False)
23 time.sleep(1)
24
25 # Verde (apenas luz verde acesa)
26 robot.SetUserLEDColor(False, True, False)
27 time.sleep(1)
28
29 # Azul (apenas luz azul acesa)
30 robot.SetUserLEDColor(False, False, True)
31
32 # Fechar conexão
33 robot.CloseRPC()
34
35testled(robot)