C.1 HTTP API
C.1.0.3 返回Code
| code | 描述 |
|---|---|
| 200 | 带内容的成功返回 |
| 204 | 不带内容的成功返回 |
| 499 | 采集错误 |
| 498 | 读取错误 |
| 497 | 写入错误 |
| 496 | 文件未找到 |
| 496 | 恢复配置错误 |
| 494 | 更新错误 |
| 493 | 密码错误 |
| 492 | 用户已禁用 |
| 491 | 记录重复 |
| 490 | 脚本检查错误 |
| 489 | json格式有误 |
| 450 | 其他错误 |
| 404 | 资源未找到 |
| 401 | 未登录 |
| 400 | 参数错误 |
C.1.1 用户
C.1.2 设备
C.1.2.1 设备列表
| 项目 | 内容 | 备注 |
|---|---|---|
| URL | /device | |
| Method | GET | |
| Query | keywords: 按设备名查询设备 |
返回示例
[ { "calc": "function calc(value)\n for i, v in ipairs(value.cnc_alarm) do\n value['cnc_alarm_' .. i .. '_msg'] = v.alarm_msg\n value['cnc_alarm_' .. i .. '_no'] = v.alarm_no\n value['cnc_alarm_' .. i .. '_type'] = v.alarm_type\n end\n value.cnc_alarm = nil\n return value\nend", "config": { "host": "192.168.9.207", "port": 8193 }, "enable": true, "id": 1, "interval": 20, "model": "default", "name": "D001", "state": 0, "type": "fanuc" } ]
C.1.2.2 新增设备
| 项目 | 内容 | 备注 |
|---|---|---|
| URL | /device | |
| Method | POST |
请求参数
{ "calc": "function calc(value)\n for i, v in ipairs(value.cnc_alarm) do\n value['cnc_alarm_' .. i .. '_msg'] = v.alarm_msg\n value['cnc_alarm_' .. i .. '_no'] = v.alarm_no\n value['cnc_alarm_' .. i .. '_type'] = v.alarm_type\n end\n value.cnc_alarm = nil\n return value\nend", "config": { "host": "192.168.9.207", "port": 8193 }, "enable": true, "interval": 20, "model": "default", "name": "D001", "state": 0, "type": "fanuc" }返回示例`
{ "calc": "function calc(value)\n for i, v in ipairs(value.cnc_alarm) do\n value['cnc_alarm_' .. i .. '_msg'] = v.alarm_msg\n value['cnc_alarm_' .. i .. '_no'] = v.alarm_no\n value['cnc_alarm_' .. i .. '_type'] = v.alarm_type\n end\n value.cnc_alarm = nil\n return value\nend", "config": { "host": "192.168.9.207", "port": 8193 }, "enable": true, "id": 1, "interval": 20, "model": "default", "name": "D001", "state": 0, "type": "fanuc" }
C.1.2.3 获取设备
| 项目 | 内容 | 备注 |
|---|---|---|
| URL | /device/<id> | id为设备Id |
| Method | GET |
返回示例`
{ "calc": "function calc(value)\n for i, v in ipairs(value.cnc_alarm) do\n value['cnc_alarm_' .. i .. '_msg'] = v.alarm_msg\n value['cnc_alarm_' .. i .. '_no'] = v.alarm_no\n value['cnc_alarm_' .. i .. '_type'] = v.alarm_type\n end\n value.cnc_alarm = nil\n return value\nend", "config": { "host": "192.168.9.207", "port": 8193 }, "enable": true, "id": 1, "interval": 20, "model": "default", "name": "D001", "type": "fanuc", "variables": [ { "calc": "", "config": { "builtin": true }, "id": 8, "name": "cnc_type", "readable": true, "writable": false } ] }
C.1.2.4 修改设备
| 项目 | 内容 | 备注 |
|---|---|---|
| URL | /device/<id> | id为设备Id |
| Method | PUT |
请求参数`
{ "calc": "function calc(value)\n for i, v in ipairs(value.cnc_alarm) do\n value['cnc_alarm_' .. i .. '_msg'] = v.alarm_msg\n value['cnc_alarm_' .. i .. '_no'] = v.alarm_no\n value['cnc_alarm_' .. i .. '_type'] = v.alarm_type\n end\n value.cnc_alarm = nil\n return value\nend", "config": { "host": "192.168.9.207", "port": 8193 }, "enable": true, "id": 1, "interval": 20, "model": "default", "name": "D001", "type": "fanuc", "variables": [ { "calc": "", "config": { "builtin": true }, "id": 8, "name": "cnc_type", "readable": true, "writable": false } ] }返回示例`
{ "calc": "function calc(value)\n for i, v in ipairs(value.cnc_alarm) do\n value['cnc_alarm_' .. i .. '_msg'] = v.alarm_msg\n value['cnc_alarm_' .. i .. '_no'] = v.alarm_no\n value['cnc_alarm_' .. i .. '_type'] = v.alarm_type\n end\n value.cnc_alarm = nil\n return value\nend", "config": { "host": "192.168.9.207", "port": 8193 }, "enable": true, "id": 1, "interval": 20, "model": "default", "name": "D001", "type": "fanuc", "variables": [ { "calc": "", "config": { "builtin": true }, "id": 8, "name": "cnc_type", "readable": true, "writable": false } ] }
C.1.2.6 获取设备数据OBJECT
| 项目 | 内容 | 备注 |
|---|---|---|
| URL | /device/<id>/info | 如果query key为code时,id为设备编号,否则id为设备id |
| Method | GET | |
| Query | key:id类型 type: 选择数据类型 before_item_calc 变量计算前 before_device_calc 设备计算前 |
返回示例
C.1.2.7 获取设备数据LIST
| 项目 | 内容 | 备注 |
|---|---|---|
| URL | /device/<id>/info_array | 如果query key为code时,id为设备编号,否则id为设备id |
| Method | GET | |
| Query | key:id类型 type: 选择数据类型 before_item_calc 变量计算前 before_device_calc 设备计算前 |
返回示例`
C.1.2.9 获取设备变量
| 项目 | 内容 | 备注 |
|---|---|---|
| URL | /device/<id>/variable | id为设备Id |
| Method | GET | |
| Query | start: 返回偏移的数量 limit: 每次返回数量 |
返回示例`
C.1.2.16 设备边缘计算测试
| 项目 | 内容 | 备注 |
|---|---|---|
| URL | /device/<id>/edge_test | id为设备Id |
| Method | PUT |
请求参数`
{ "current": { "cnc_alarm": [ { "alarm_no": 1, "alarm_type": "T01", "alarm_msg": "待机中" }, { "alarm_no": 204, "alarm_type": "XXX", "alarm_msg": "急停" } ] }, "last": "", "calc": "function calc(value)\n for i, v in ipairs(value.cnc_alarm) do\n value['cnc_alarm_' .. i .. '_msg'] = v.alarm_msg\n value['cnc_alarm_' .. i .. '_no'] = v.alarm_no\n value['cnc_alarm_' .. i .. '_type'] = v.alarm_type\n end\n value.cnc_alarm = nil\n return value\nend" }返回示例`
C.1.3 DNC
C.1.3.1 获取云端程序列表
| 项目 | 内容 | 备注 |
|---|---|---|
| URL | /device/<id>/dnc/cloudend | 如果query key为code时,id为设备编号,否则id为设备id |
| Query | key: id类型 path: 父路径,空时为/ |
|
| Method | GET |
返回示例
C.1.3.2 删除云端程序
| 项目 | 内容 | 备注 |
|---|---|---|
| URL | /device/<id>/dnc/cloudend | 如果query key为code时,id为设备编号,否则id为设备id |
| Query | key: id类型<br>path: 程序路径 | |
| Method | DELETE |
C.1.3.3 获取IoTBoX中程序列表
| 项目 | 内容 | 备注 |
|---|---|---|
| URL | /device/<id>/dnc/boxend | 如果query key为code时,id为设备编号,否则id为设备id |
| Query | key: id类型 | |
| Method | GET |
返回示例`
C.1.3.4 将IoTBoX程序上传到云端
| 项目 | 内容 | 备注 |
|---|---|---|
| URL | /device/<id>/dnc/boxend | 如果query key为code时,id为设备编号,否则id为设备id |
| Query | key: id类型 | |
| Method | PUT |
请求示例`
C.1.3.5 从云端下载程序到IoTBoX
| 项目 | 内容 | 备注 |
|---|---|---|
| URL | /device/<id>/dnc/boxend | 如果query key为code时,id为设备编号,否则id为设备id |
| Query | key: id类型 | |
| Method | POST |
请求示例`
C.1.3.6 删除IoTBoX程序
| 项目 | 内容 | 备注 |
|---|---|---|
| URL | /device/<id>/dnc/boxend | 如果query key为code时,id为设备编号,否则id为设备id |
| Query | key: id类型<br>path: 程序路径 | |
| Method | DELETE |
C.1.3.7 获取机床中程序列表
| 项目 | 内容 | 备注 |
|---|---|---|
| URL | /device/<id>/dnc/toolend | 如果query key为code时,id为设备编号,否则id为设备id |
| Query | key: id类型 path: 父路径,空时为/ |
|
| Method | GET |
返回示例`
C.1.3.8 将机床程序上传到IoTBoX
| 项目 | 内容 | 备注 |
|---|---|---|
| URL | /device/<id>/dnc/toolend | 如果query key为code时,id为设备编号,否则id为设备id |
| Query | key: id类型 | |
| Method | PUT |
请求示例`
C.1.5 配置
C.1.5.1 获取配置列表
| 项目 | 内容 | 备注 |
|---|---|---|
| URL | /manager/config | |
| Method | GET | |
| Query | keywords: 按名称搜索 type: 按type搜索 start: 返回偏移的数量 limit: 每次返回数量 |
返回示例`
C.1.5.3 获取单个配置
| 项目 | 内容 | 备注 |
|---|---|---|
| URL | /manager/config/<id> | 如query key为1时id为配置名,否则id为配置id |
| Query | key: 是否使用key获取配置 | |
| Method | GET |
返回示例`
C.1.5.4 获取单个配置(无鉴权公开配置)
| 项目 | 内容 | 备注 |
|---|---|---|
| URL | /public/config/<id> | 如query key为1时id为配置名,否则id为配置id |
| Query | key: 是否使用key获取配置 | |
| Method | GET |
返回示例`
C.1.7 IoTBoX配置
C.1.7.1 获取IoTBoX信息
| 项目 | 内容 | 备注 |
|---|---|---|
| URL | /gateway | |
| Method | GET |
返回示例`
{ "fingerprint": "8ea29081b4c78e7bfa539622eb0038c4", "hardware": "WD1ECS", "id": "8ea29081b4c78e7bfa539622eb0038c4", "ports": [ { "comment": "", "device": "eth0", "enable": true, "name": "Ethernet", "type": 3 }, { "comment": "", "device": "/dev/ttyS1", "enable": true, "name": "COM1", "type": 2 } ], "software": "2.0.09090429" }