WebSocket 服务
ws://192.168.3.218/ws/public
WebSocket 服务也运行在 80
端口,请求和响应数据均序列化为 JSON 字符串的字节流,编码为 UTF-8。
当建立 WebSocket 连接之后,机器人会以一定频率推送机器人状态、位置信息。开发者可以通过解析推送数据来实现机器人状态监控。
开发者可以直接发送命令,并等待推送执行结果,执行结果推送中的 id
与发送的一致,开发者可以自行实现请求/响应机制。
请求参数 | 类型 | 说明 |
---|---|---|
id |
int | 操作命令发送到服务端后,会异步推送相应的结果给到客户端,可以通过id区分不同的请求,id需要用户自己生成,服务端只是原样返回 |
cmd |
string | 机器人命令 |
data |
object | 机器人命令请求参数 |
响应参数 | 类型 | 说明 |
---|---|---|
id |
int | 操作命令发送到服务端后,会异步推送相应的结果给到客户端,可以通过id区分不同的请求,id需要用户自己生成,服务端只是原样返回 |
cmd |
string | 机器人命令 |
data |
object | 机器人命令请求参数 |
code |
int | 结果code 0 :表示成功,其他表示失败 |
浏览器代码示例:
let ws = new WebSocket('ws://192.168.3.218/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))