机器人可以作为socket客户端,与外部设备通讯。相关指令可以参见CS机器人脚本手册(https://www.elibot.cn/#/download 下载 CS_脚本手册_V2.0.3)
例如,可以在机器人中创建如下脚本
socket_open("192.168.230.1",60000,"socket_1")
# 打开socket,此处IP地址为PC端server的IP地址和端口
global recv
# 创建 带global关键字的全局变量,可以在示教器 监控 画面查看该变量实时值
while True:
socket_send_string("Hello world","socket_1")
#向server端发送字符串
recv = socket_read_string(socket_name="socket_1",timeout=120)
# 接受外部发来的字符串,若超时120s,机器人指令直接向下运行
sleep(0.1)打开PC server端,监听60000端口,再运行机器人中的脚本,可以得到如下效果:
机器人脚本中,可以使用socket_read_ascii_float(3)指令,对收到的数据直接拆分。
要求: 收到的字符串以"(" 开头,以")"结尾,中间数据以","隔开。
指令在的参数表示最多读取几组数据。
若机器人收到"(1,2,3)",则该函数返回数据为[3,1,2,3],数组的第0个元素表示收到的数据个数,后续为自动拆分的数据内容
socket_open("192.168.230.1",60000,"socket_1")
# 打开socket,此处IP地址为PC端server的IP地址和端口
global recv
# 创建 带global关键字的全局变量,可以在示教器 监控 画面查看该变量实时值
recv = [0,0,0,0]
while True:
socket_send_string("Hello world","socket_1")
recv = socket_read_ascii_float(3,socket_name="socket_1",timeout=120)
# 接受外部发来的形式为 (1,2,3)的字符串,若超时120s,机器人指令直接向下运行
sleep(0.1)