初始化连接
设备发现
注意
本功能基于 mDNS 技术,用于 Web 前端开发的 JavaScript SDK 不支持该功能
devices = lebai_sdk.discover_devices(time)
在持续时间内连续发现周边设备,持续时间结束后,返回发现的设备的名称、IP、MAC 地址。
参数
time
持续时间
返回
- 列表类型。列表里包含搜到的设备结果,每个设备对象的属性(设备的名称、IP、MAC 地址)以字典形式呈现
name
设备的名称ip
设备IPmac
设备MAC 地址
示例程序
import lebai_sdk
lebai_sdk.init()
import nest_asyncio
nest_asyncio.apply()
devices = lebai_sdk.discover_devices(3)
print(devices)
# 输出:
# [{'name': 'lebai-3wbgvM', 'mac': 'b4:4b:d6:5e:55:1c', 'ip': '10.20.17.1', 'online': True}]
初始化对象
注意
由于通信不稳定,ip错误等原因,可能导致错误发生。大多数情况下,需要使用错误处理机制来捕获错误,防止异常退出。
lebai = lebai_sdk.connect(ip, simu)
连接到乐白机械臂
参数
ip
乐白机械臂的 IP 地址simu
是否以仿真模式连接。可选,默认真机模式
返回
lebai
机械臂实例,后续控制机械臂的方法需使用该实例
示例程序
import lebai_sdk
lebai_sdk.init()
# 如果出现event loop相关的RuntimeError,尝试添加以下2行
# import nest_asyncio
# nest_asyncio.apply()
# 设定机器人ip地址,需要根据机器人实际ip地址修改
robot_ip = "192.168.4.145"
# 创建实例
lebai = lebai_sdk.connect(robot_ip, False)
获取连接状态
connected = lebai.is_connected()
返回连接状态。用于判断是否处于连接状态,如果重启手臂会断连。
- 返回
connected
连接状态
示例程序
import lebai_sdk
lebai_sdk.init()
import nest_asyncio
nest_asyncio.apply()
robot_ip = "192.168.4.123"
try:
lebai = lebai_sdk.connect(robot_ip, False)
connected = lebai.is_connected()
if not connected:
print('机器断连')
disconnect_reason = lebai.wait_disconnect()
print(disconnect_reason)
except Exception as e:
print('初始化对象失败: %s'%e)
等待断开连接
disconnect_reason = lebai.wait_disconnect()
返回连接断开后的断开原因。如果检测到手臂断开连接,判断断开原因,重新连接。
- 返回
disconnect_reason
断开连接的原因
示例程序
import lebai_sdk
lebai_sdk.init()
import nest_asyncio
nest_asyncio.apply()
robot_ip = "192.168.4.123"
try:
lebai = lebai_sdk.connect(robot_ip, False)
connected = lebai.is_connected()
if not connected:
print('机器断连')
disconnect_reason = lebai.wait_disconnect()
print(disconnect_reason)
lebai = lebai_sdk.connect(robot_ip, False)
except Exception as e:
print('初始化对象失败: %s'%e)