- 1. 登录
|
功能 |
调用方登录,获取TOKEN |
|
方法 |
POST |
|
请求地址 |
https://domain/api/v1/auth |
|
请求参数 |
调用方ID
调用方密码 |
|
举例 |
https://domain/api/v1/auth?appId=xxxxx&appSecret=xxxxx |
|
返回结果示例 |
{ "code": 200, //非200表示失败 "msg": "成功", "data": { "token": "66B35B049CEA45DEABFD808DDCF45A1B" } } |
|
备注 |
token有效期可定制 |
2. 获取终端ID
|
功能 |
可根据终端的硬件序列号获取在服务端保存的终端ID号 |
|
方法 |
POST |
|
请求地址 |
https://domain/api/v1/terminal-id |
|
请求参数 |
token。
终端硬件序列号。(涉及特殊字符,不能在URL中) |
|
举例 |
https://domain/api/v1/terminal-id?token=xxxxx { "deviceId"="xxxxx" } |
|
返回结果示例 |
{ "code": 200, "msg": "成功", "data": { "id": 50 //终端ID号 } } |
|
备注 |
3. 查询终端是否在线
-
功能
查询终端是否在线,只有在线才能下达指令
方法
POST
请求地址
https://domain/api/v1/terminal-online
请求参数
token
token。
terminalId
终端ID。
举例
https://domain/api/v1/terminal-id?token=xxxxx&terminalId=xxxx
返回结果示例
{
"code": 200,
"msg": "成功",
"data": {
"id": 50
"online": "false"
}
}
备注
4. 下达指令给外部设备(以太网/WIFI)
|
功能 |
终端与外部设备通过以太网或WIFI连接 |
|
方法 |
POST |
|
请求地址 |
https://domain/api/v1/cmd-via-network |
|
请求参数 |
token。
终端ID。
ip:ip地址 port:端口 timeout:超时时间,豪秒 cmdContent:数组,每个元素代表一个字节 upload:是否上传结果 |
|
举例 |
https://domain/api/v1/cmd-via-network?token=xxxxx&terminalId=xxxx { "ip": "192.168.2.41", "port": 8899, "timeout": 500, "cmdContent": [ 1,3,5 //十进制 ], "upload": true } |
|
返回结果示例 |
{ "code": 200, "msg": "成功", "data": { "serialNumber": "1657177271193" //每条指令下达后有一个序列号,用于后期获取结果 } } |
|
备注 |
5. 下达指令给外部设备(RS232/485)
|
功能 |
终端与外部设备通过rs232/485连接 |
|
方法 |
POST |
|
请求地址 |
https://domain/api/v1/cmd-via-serial |
|
请求参数 |
token。
终端ID。
serialId:串口id,例如windows下COM1,这里只写1 parity:奇偶校验位数 dataBit:数据位数 stopBit:停止位数 baudRate:波特率 timeout:超时时间,豪秒 cmdContent:数组,每个元素代表一个字节 upload:是否上传结果 |
|
举例 |
https://domain/api/v1/cmd-via-serial?token=xxxxx&terminalId=xxxx { "serial": 2, "parity": 1, "dataBit": 8, "stopBit": 1, "baudRate": 9600, "timeout": 500, "cmdContent": [ 1,3,5 //十进制 ], "upload": true } |
|
返回结果示例 |
{ "code": 200, "msg": "成功", "data": { "serialNumber": "1657177271193" //每条指令下达后有一个序列号,用于后期获取结果 } } |
|
备注 |
6. 获得指令结果
|
功能 |
在下达指令稍后片刻后获取指令的结果 |
|
方法 |
POST |
|
请求地址 |
https://domain/api/v1/cmd-result |
|
请求参数 |
token。
终端ID。
指令的序列号。 |
|
举例 |
https://domain/api/v1/cmd-result?token=xxxxx&terminalId=xxxxx&serialNumber=xxxxxxxx |
|
返回结果示例 |
{ "code": 200, "msg": "成功", "data": { "success": true, "result": [1,2], "terminalId": 1, "serialNumber": "1657179754618" } } |
|
备注 |
下达指令时需要指定upload=true。 有些硬件设备例如WIFI继电器并不反馈结果,就应该设置upload=false。 |
7. 下达循环指令
|
功能 |
要求终端进行循环执行指令 |
|
方法 |
POST |
|
请求地址 |
https://domain/api/v1/cmd-loop-start |
|
请求参数 |
token。
终端ID。
commType:1网络,2串口 timeout:超时, cmdContent:指令数组。同上。 validNum:有效数的数量。0-5。 例如温度传感器只返回1个温度值,也有复合传感器返回2个值(1个温度1个湿度)。 checksum://0无需校验,1表示CRC16校验算法 ip:ip地址 port:端口 "serialId": 串口id "parity": 奇偶校验 "dataBit": 数据位 "stopBit": 停止位 "baudRate": 波特率 fbData[]:监测外设反馈结果。 fbData中每一个元素,有如下属性: startIndex:返回数据中,有效数据的起始索引,从1开始。 dataLength:数据数量。 signedVald:当前有效数据是否带符号。0无符号1带正负 transform:0不需要,1加,2减,3乘,4除 transValue:变换值 signedTrans:变换值是否带符号。0无符号1带正负 triggerType:0不触发, 12 >A || <B,13 >=A || <=B。 trigger1Value:第1触发值 trigger1Point:第1触发值小数位数 signedTrigger1:0无符号,1带正负。 trigger2Point:第2触发值小数位数 signedTrigger2:0无符号,1带正负。 |
|
举例 |
https://domain/api/v1/cmd-loop-start?token=xxxxx&terminalId=xxxxx { "commType": 1, "timeout": 1000, "cmdContent": [ 1,3,5 ], "validNum": 1, "checksum": 1, "serialId": null, "parity": null, "dataBit": null, "stopBit": null, "baudRate": null, "ip": "192.168.2.41", "port": 8899, "fbData": [ { "startIndex":2, "dataLength": 1, "signedValid": 0, "transform": 3, "transValue": 100, "signedTrans": 0, "triggerType": 13, "trigger1Value": 400, "trigger1Point": 0, "signedTrigger1":0, "trigger2Value": 100, "trigger3Point": 0, "signedTrigger2":0 } ] } |
|
返回结果示例 |
{ "code": 200, "msg": "成功", "data": { "serialNumber": "1657179754618" } } |
|
备注 |
启动循环指令后,两种情况可以停止循环: 一是外设返回的结果符合条件,自动停止循环,并把结果上报。 二是下达停止循环指令。 |
8. 停止循环指令
|
功能 |
在下达循环指令后可以取消 |
|
方法 |
POST |
|
请求地址 |
https://domain/api/v1/cmd-loop-stop |
|
请求参数 |
token。
终端ID。 |
|
举例 |
https://domain/api/v1/cmd-loop-stop?token=xxxxx&terminalId=xxxxxx |
|
返回结果示例 |
{ "code": 200, "msg": "成功", "data": null } |
|
备注 |
本文介绍了一套用于远程控制外部设备的API接口,包括登录认证、获取终端ID、查询终端状态等功能,支持通过以太网/WIFI及RS232/485下达指令并获取结果。
1万+

被折叠的 条评论
为什么被折叠?



