EC机器人TCPIP通讯(通讯助手)

2025-05-27

1.  简介

本文简单介绍EC机器人通过Socket通讯与通讯助手连接进行测试。

2.  操作流程

1、首先在电脑上准备(SocketTool)通讯助手工具

2、然后电脑与EC机器人通过网线相连接,设置为同一网段

电脑IPV4设置:

机器人IP设置

3、  机器人运行加载Socket通讯lua脚本

选择写好的lua脚本保存并运行,当后面状态为绿色时就是脚本已运行

3.  示例

3.1.  EC机器人做客户端连接服务器

Socket Tool 工具做服务器设置,端口为6666

机器人做客户端lua脚本

3.1.1、连接服务器,接收和发送数据

lua脚本示例:

sleep(0.2)

ip="192.168.1.169" --服务器的IP

port=6666   --服务器的端口

mode="D2"  --获取机器人D2变量的值

--连接服务器--

function Connection()   

    repeat ---repeat循环,until条件满足跳出循环

        conn = connect_tcp_server(ip,port) --连接TCP语句

        if conn ~=1  then   ---判断是否连接上去,连接上去返回1,失败返回-1

            elite_print("TCP连接失败,重连中",conn)---失败后先断开连接一次           

            disconnect_tcp_server(ip,port)

            sleep(0.1)

        end

    until conn==1

    elite_print("TCP连接成功")

end

Connection()--连接服务器

---接收数据---

while true do

    mode1=get_global_variable(mode) ---获取机器人mode(D2)里面的值

    sleep(0.1)

if mode1==2 then

        repeat    

            ---接收数据,ret判断得到的是返回的结果-1还是其他,recv里保存的是获取的值

            ret,recv =client_recv_data(ip,0.1,0,port)

            elite_print(recv) --打印出来接收到的内容

            sleep (1)

        until (ret~=-1)

        sleep(0.01)

        set_global_variable(mode,0) --复位机器人D2的值为0

    end

---发送数据---

    if mode1==3  then

        ret = client_send_data(ip,"OK",0,port) --发送数据给服务器

        if ret ==-1 then

        elite_print("发送数据错误")

        end

        sleep(0.02)

        set_global_variable(mode,0) --复位机器人D2的值为0

    end

end

连接服务器时,当机器人未连接会在日志上一直打印内容

连接上去后也会打印一次

机器人触发接收数据后,服务器发送数据,会在日志上显示接收到的数据,之后就可按需求来使用。

机器人触发发送数据后,会给服务器发送设定的字符串,服务器会显示接收到的数据


3.2.  EC机器人做服务器连接客户端

通讯助手做客户端设置

机器人做服务器lua脚本

3.2.1、初始化TCP服务器,向客户端发送和接收客户端的数据

lua脚本示例:

sleep(1)  -- 等待1秒

port = 6666  -- 设置服务器端口

ip ="192.168.1.169"  -- 设置客户端IP地址

init_tcp_server(port)  -- 初始化TCP服务器

while(1)do  -- 无限循环

    ret=is_client_connected(ip)  -- 检查客户端是否连接

    if(ret==1)then  -- 如果客户端已连接

elite_print("客户端已连接")

        server_send_data(ip,"1")  -- 向客户端发送数据"1"

        recv="1"  

        while(recv ~= "2") do  

            sleep(1)  -- 等待1秒

            Ret,recv=server_recv_data(ip,0,port,0.5)  -- 接收客户端数据

            elite_print(recv,Ret)  -- 打印接收到的数据和状态   

        end

else

        elite_print("客户端未连接")

    end  

end

客户端未连接和连接上都是在日志上打印信息

连接上后,机器人会发送字符串“1”给客户端,通讯助手上接收到数据

客户端发送字符串“2”给机器人,机器人接收到数据把数据和接收到的数量打印出来

3.3.数据处理

在做服务器与客户端时都会碰到接收的数据是字符串,在脚本中无法直接使用,这时就需用到字符串分割的功能。

字符串分割可以把接收到的字符串根据定义的字符来分割,返回一个数组供我们使用。

下面就是一个示例把接收到的字符串通过","进行分割。

recv1=string.split(recv,",")

download-669.svg comicon14.svg

电话咨询

download-397.svg comicon15.svg

免费试用

Vector.svg Frame.svg

微信小程序

img1.jpg

微信小程序

准备好突破增长瓶颈,开启智能制造了吗?
了解我们的机器人如何帮助您的业务增长
欢迎下载艾利特机器人资料

我已阅读并同意艾利特《隐私政策》《法律声明》

我已知晓并同意艾利特通过电子邮件发送相关资料

提交