WebSocket 服务

注意

本功能即将弃用

ws://10.20.17.1/ws/public

WebSocket 服务也运行在 80 端口,请求和响应数据均序列化为 JSON 字符串的字节流,编码为 UTF-8。

当建立 WebSocket 连接之后,机器人会以一定频率推送机器人状态、位置信息。开发者可以通过解析推送数据来实现机器人状态监控。

开发者可以直接发送命令在新窗口打开,并等待推送执行结果,执行结果推送中的 id 与发送的一致,开发者可以自行实现请求/响应机制。

请求参数类型说明
idint操作命令发送到服务端后,会异步推送相应的结果给到客户端,可以通过id区分不同的请求,id需要用户自己生成,服务端只是原样返回
cmdstring机器人命令
dataobject机器人命令请求参数
响应参数类型说明
idint操作命令发送到服务端后,会异步推送相应的结果给到客户端,可以通过id区分不同的请求,id需要用户自己生成,服务端只是原样返回
cmdstring机器人命令
dataobject机器人命令请求参数
codeint结果code 0:表示成功,其他表示失败

浏览器代码示例:

let ws = new WebSocket('ws://10.20.17.1/ws/public')

ws.onmessage = function(res) {
    let { code, id, cmd, data } = JSON.parse(res.data)
    console.log(code, id, cmd, data)
}

let req = {
    "id": 1,
    "cmd": "movej",
    "data": {
        "pose_to": [0, 0, 0, 0, 0, 0],
        "is_joint_angle": true,
        "acceleration": 1,
        "velocity": 2
    }
}

ws.send(JSON.stringify(req))