Skip to main content

WebSocket对接

云端控制,可满足企业对设备的批量管理

如:批量启动小程序,批量停止,自定义指令等.

  • 什么是WebSocket方式对接?

AScript App 启动后内置了websocket通道,可连接自定义的任意WebSocketServer.

连接后,服务器可发送对应指令,来控制设备各种行为操作

App连接云控

将设备连接至AirScript 云控服务器.

  • 如何连接?

    1. 在首页,点击第4个状态按钮,即可打开云控连接弹窗,并选择自定义云控.
    1. 输入您自己的websocket-server 地址

如图所示:

指令

指令结构

所有发送指令均为json格式字符串

其中path字段为指令字段. 不同的命令path字段的值是不一样的.

当发送命令后会接收到一条相同path字段的回执消息**

# 发送的指令
{
"path":"消息指令",
//其他指令字段,见下面文档
}

# 收到回执消息
{
"path":"消息指令",
"code":1,
"msg":"",
"device_id":"xx"
//其他属性字段,见下面文档
}
  • 属性解释
参数备注
path发送的指令,发送什么就回执什么
code消息的执行状态,1:执行成功,其他:执行失败
msg成功为success,其他为失败原因
device_id设备id,每条回执消息都会返回设备id

当连接成功后

当连接成功后会收到服务器发送来的设备状态消息

  • 消息案例:
{
"msg":"success",
"result":{"device_version":"3173","device_name":"XiaomiM2007J17C","app_is_run":false,"app_is_line":false,"app_id":"","username":"ws://192.168.31.18:8001"},
"path":"device_info",
"code":1,
"device_id":"f6c95072-8446-47d2-af2e-b787a094b644"
}
  • 属性:
参数必须备注
path必须"device_info" 设备状态的消息指令
msg必须命令的执行状态消息 success为成功,其他为失败原因
code必须1 为成功, 其他值为失败
device_id必须设备id
result必须device_version: app版本,device_name:设备名称,app_is_run:小程序是否运行中,app_is_line:运行的小程序是否为线上程序,app_id:运行的小程序id,username:云控开发者名称

启动在线小程序

  • 请求消息:
{
"path":"app_run",
"id":"14",
"params":{"params1":"v"},
"card":"xxx"
}
  • 属性:
参数必须备注
path必须"app_run" 启动程序的指令
id必须小程序id
params初始化的小程序参数
card激活码,仅针对收费的小程序有效

  • 回执消息
{"msg":"success","path":"app_run","code":1,"device_id":"f6c95072-8446-47d2-af2e-b787a094b644"}

停止小程序

  • 请求消息:
{"path":"app_stop"}
  • 回执消息
{"msg":"","path":"app_stop","code":-1,"device_id":"f6c95072-8446-47d2-af2e-b787a094b644"}

获取设备信息

  • 请求消息:
{"path":"device_info"}
  • 回执消息
{
"msg":"success",
"result":{"device_version":"3173","device_name":"XiaomiM2007J17C","app_is_run":false,"app_is_line":false,"app_id":"","username":"ws://192.168.31.18:8001"},
"path":"device_info",
"code":1,
"device_id":"f6c95072-8446-47d2-af2e-b787a094b644"
}
  • 属性:
参数必须备注
path必须"device_info" 设备状态的消息指令
msg必须命令的执行状态消息 success为成功,其他为失败原因
code必须1 为成功, 其他值为失败
device_id必须设备id
result必须device_version: app版本,device_name:设备名称
app_is_run:小程序是否运行中,
app_is_line:运行的小程序是否为线上程序,
app_id:运行的小程序id,username:云控开发者名称

获取设备截图

  • 请求消息:
{"path":"screen_shot","max":300,"quality":20}
  • 回执消息
{
"msg":"success",
"result":{"s_size":[1088,2400],"image":"/9j/4AAQSkZ...","r_size":[136,300],"scale":true},
"path":"screen_shot",
"code":1,
"device_id":"f6c95072-8446-47d2-af2e-b787a094b644",
"max":300.0,
"quality":50.0
}
  • 属性:
参数必须备注
path必须"screen_shot" 截图指令
max必须缩放最大边长,建议缩放.否则会非常慢.占用带宽
quality必须图片清晰度 10-100, 20:百分之20%的清晰度. 建议20即可,否则占用带宽
result回执结果s_size: 原始图大小,image:图片base64数据,r_size:缩放后的尺寸,scale:是否缩放了

点击设备坐标

  • 请求消息:
{"path":"device_action","action":"click","x":50,"y":10}
  • 回执消息
{"msg":"success","path":"device_action","code":1,"device_id":"f6c95072-8446-47d2-af2e-b787a094b644","x":50.0,"action":"click","y":10.0}
  • 属性:
参数必须备注
path必须"device_action" 动作指令
action必须"click" 点击指令
x必须点击坐标x
y必须点击坐标y

滑动

  • 请求消息:
{"path":"device_action","action":"swipe","ori":"left"}
  • 回执消息
{"msg":"success","path":"device_action","code":1,"device_id":"f6c95072-8446-47d2-af2e-b787a094b644","action":"swipe","ori":"left"}
  • 属性:
参数必须备注
path必须"device_action" 滑动指令
action必须"swipe"滑动
ori必须left:左滑,top:上滑,right:右滑,bottom:下滑

发送按键

  • 请求消息:
{"path":"device_action","action":"key","ori":"home"}
  • 回执消息
{"msg":"success","path":"device_action","code":1,"device_id":"f6c95072-8446-47d2-af2e-b787a094b644","ori":"home","action":"key"}
  • 属性:
参数必须备注
path必须"device_action" 滑动指令
action必须"key"发送按键
ori必须"home":模拟home按键,"back":模拟回退按键