IoT 数据上报接口文档
基本信息
| 项目 |
说明 |
| 协议 |
HTTP/1.1 |
| 方法 |
POST |
| Content-Type |
application/json; charset=UTF-8 |
接口地址
POST /api/iot/data/report
一次请求查询所有库点的设备数据,按库点位置分组。
响应参数
Body
{
"code": 0,
"message": "ok",
"data": [
{
"deviceName": "非动碰盘点1号巷道盘点系统",
"time": "2026-06-26 09:30:00",
"warehouseRunStatus": 3,
"warehouseNetworkStatus": 1,
"leftScannerNetworkStatus": 1,
"leftScannerScanResult": 1,
"leftDepthScannerNetworkStatus": 1,
"leftDepthScannerScanResult": 1,
"rightScannerNetworkStatus": 1,
"rightScannerScanResult": 1,
"rightDepthScannerNetworkStatus": 1,
"rightDepthScannerScanResult": 1,
"cameraNetworkStatus": 1,
"cameraErrorCode": 0,
"apNetworkStatus": 1,
"SRMNumber": "001",
"cpeNetworkStatus": 1,
"visionControllerNetworkStatus": 1,
"communicationData": {
"header": "KC",
"type": "E",
"data": {
"SRMNumber": "001",
"cmdName": "E1",
"taskId": "1ff",
"fromDirection": 2,
"fromColumn": 7,
"fromRow": 3,
"fromSeparation": 1,
"fromSide": 1,
"toSide": 1,
"toDirection": 1,
"toColumn": 8,
"toRow": 2,
"toSeparation": 1,
"warnCode": "",
"code": "123",
"trayCode": "1234",
"lotnum": "12342",
"typeNum": "000",
"quantity": 30,
"checkRlt": 1
}
}
},
{
"deviceName": "一号仓库动碰盘点系统",
"time": "2026-06-26 09:30:00",
"tofDevice01RunStatus": 1,
"tofDevice02RunStatus": 1,
"tofDevice03RunStatus": 1,
"tofDevice04RunStatus": 1,
"camera3dNetworkStatus": 1,
"camera3dErrorCode": 0,
"industrialCamera1ErrorCode": 0,
"industrialCamera1NetworkStatus": 1,
"industrialCamera2ErrorCode": 0,
"industrialCamera2NetworkStatus": 1,
"industrialCamera3ErrorCode": 0,
"industrialCamera3NetworkStatus": 1,
"industrialCamera4ErrorCode": 0,
"industrialCamera4NetworkStatus": 1,
"industrialCamera5ErrorCode": 0,
"industrialCamera5NetworkStatus": 1,
"industrialCamera6ErrorCode": 0,
"industrialCamera6NetworkStatus": 1,
"inventoryServerOnlineStatus": 1,
"communicationData": {
"header": "KC",
"type": "SC",
"data": {
"cmdName": "SC01",
"taskId": "1ff",
"code": "123",
"trayCode": "1234",
"lotnum": "12342",
"typeNum": "000",
"quantity": 30,
"checkRlt": "1"
}
}
}
]
}
顶层字段
| 字段 |
类型 |
说明 |
| code |
int |
状态码,0=成功 |
| message |
String |
状态描述 |
| data |
Array |
库点数据数组,每项为一个库点的扁平 JSON 对象 |
库点一:非动碰盘点1号巷道盘点系统
| 所属设备 |
字段名 |
类型 |
说明 |
| 库点基本信息_名称 |
deviceName |
String |
库点名称 |
| 库点基本信息_采样时间 |
time |
String |
采样时间,格式 yyyy-MM-dd HH:mm:ss |
| 库点运行状态_运行状态 |
warehouseRunStatus |
int |
1=随行中,2=盘点中,3=无任务待机 |
| 库点运行状态_网络状态 |
warehouseNetworkStatus |
int |
1=在线,2=离线 |
| 左侧扫码枪_网络状态 |
leftScannerNetworkStatus |
int |
1=在线,2=离线 |
| 左侧扫码枪_扫码结果 |
leftScannerScanResult |
int |
1=成功,2=未识别 |
| 左深度扫码枪_网络状态 |
leftDepthScannerNetworkStatus |
int |
1=在线,2=离线 |
| 左深度扫码枪_扫码结果 |
leftDepthScannerScanResult |
int |
1=成功,2=未识别 |
| 右侧扫码枪_网络状态 |
rightScannerNetworkStatus |
int |
1=在线,0=离线 |
| 右侧扫码枪_扫码结果 |
rightScannerScanResult |
int |
1=成功,2=未识别 |
| 右深度扫码枪_网络状态 |
rightDepthScannerNetworkStatus |
int |
1=在线,0=离线 |
| 右深度扫码枪_扫码结果 |
rightDepthScannerScanResult |
int |
1=成功,2=未识别 |
| 摄像头_网络状态 |
cameraNetworkStatus |
int |
1=在线,2=离线 |
| 摄像头_错误代码 |
cameraErrorCode |
int |
见表《摄像头状态码》 |
| AP_网络状态 |
apNetworkStatus |
int |
1=在线,2=离线 |
| CPE_网络状态 |
cpeNetworkStatus |
int |
1=在线,2=离线 |
| 视觉控制器_网络状态 |
visionControllerNetworkStatus |
int |
1=在线,2=离线 |
| 通信_业务数据 |
communicationData |
Object |
堆垛机通信协议包,见下表 |
communicationData 子字段
| 路径 |
类型 |
说明 |
| header |
String |
发送方标识,昆船发送"KC" |
| type |
String |
模式:A=心跳 B=任务模式 C=动作 D=报警 E=盘点 |
| data.SRMNumber |
String |
巷道标识符 |
| data.cmdName |
String |
指令名称:B1=开始随行;C1=取货到位;C2=取货完成;C3=送货到位;C4=送货完成;B2=随行完成;E1=开始盘点;SC01=站台盘点;SC02=站台盘点完成 |
| data.taskId |
String |
任务单号 |
| data.fromSide |
int |
来源侧:1=库内,2=库外 |
| data.fromDirection |
int |
来源方向:1=左,2=右 |
| data.fromColumn |
int |
来源列 |
| data.fromRow |
int |
来源行 |
| data.fromSeparation |
int |
来源深度:1=浅,2=深(双伸货架外侧时传2) |
| data.toSide |
int |
目的侧:1=库内,2=库外 |
| data.toDirection |
int |
目的方向:1=左,2=右 |
| data.toColumn |
int |
目的列 |
| data.toRow |
int |
目的行 |
| data.toSeparation |
int |
目的深度:1=浅,2=深(双伸货架外侧时传2) |
| data.warnCode |
String |
type=D 时传,告警标识符,多个用逗号分隔 |
| data.code |
String |
货架货物标识(空货物传"") |
| data.trayCode |
String |
托盘标识(没托盘传"") |
| data.lotnum |
String |
盘点批次(新批次会重置所有货位为未盘点) |
| data.typeNum |
String |
品规编号 |
| data.quantity |
int |
货物数量 |
| data.checkRlt |
int |
盘点结果:0=盘点失败,1=盘点正确 |
库点二:一号仓库动碰盘点系统
| 所属设备 |
字段名 |
类型 |
说明 |
| 库点基本信息_名称 |
deviceName |
String |
库点名称 |
| 库点基本信息_采样时间 |
time |
String |
采样时间,格式 yyyy-MM-dd HH:mm:ss |
| TOF设备-01_运行状态 |
tofDevice01RunStatus |
int |
1=在线,2=离线 |
| TOF设备-02_运行状态 |
tofDevice02RunStatus |
int |
1=在线,2=离线 |
| TOF设备-03_运行状态 |
tofDevice03RunStatus |
int |
1=在线,2=离线 |
| TOF设备-04_运行状态 |
tofDevice04RunStatus |
int |
1=在线,2=离线 |
| 3D相机_网络状态 |
camera3dNetworkStatus |
int |
1=在线,2=离线 |
| 3D相机_故障代码 |
camera3dErrorCode |
int |
见表《3D相机状态码》 |
| 1号工业相机_故障代码 |
industrialCamera1ErrorCode |
int |
见表《工业相机状态码》 |
| 1号工业相机_网络状态 |
industrialCamera1NetworkStatus |
int |
1=在线,2=离线 |
| 2号工业相机_故障代码 |
industrialCamera2ErrorCode |
int |
见表《工业相机状态码》 |
| 2号工业相机_网络状态 |
industrialCamera2NetworkStatus |
int |
1=在线,2=离线 |
| 3号工业相机_故障代码 |
industrialCamera3ErrorCode |
int |
见表《工业相机状态码》 |
| 3号工业相机_网络状态 |
industrialCamera3NetworkStatus |
int |
1=在线,2=离线 |
| 4号工业相机_故障代码 |
industrialCamera4ErrorCode |
int |
见表《工业相机状态码》 |
| 4号工业相机_网络状态 |
industrialCamera4NetworkStatus |
int |
1=在线,2=离线 |
| 5号工业相机_故障代码 |
industrialCamera5ErrorCode |
int |
见表《工业相机状态码》 |
| 5号工业相机_网络状态 |
industrialCamera5NetworkStatus |
int |
1=在线,2=离线 |
| 6号工业相机_故障代码 |
industrialCamera6ErrorCode |
int |
见表《工业相机状态码》 |
| 6号工业相机_网络状态 |
industrialCamera6NetworkStatus |
int |
1=在线,2=离线 |
| 盘点服务器_在线状态 |
inventoryServerOnlineStatus |
int |
1=在线,0=离线 |
| 通信_站台业务数据 |
communicationData |
Object |
站台盘点通信协议包,见下表 |
communicationData 子字段
| 路径 |
类型 |
说明 |
| header |
String |
发送方标识,昆船发送"KC" |
| type |
String |
模式:SC=站台盘点 |
| data.cmdName |
String |
指令名称:SC01=站台盘点;SC02=站台盘点完成 |
| data.taskId |
String |
任务号 |
| data.code |
String |
条码 |
| data.trayCode |
String |
托盘码 |
| data.lotnum |
String |
批次号 |
| data.typeNum |
String |
品规编号 |
| data.quantity |
int |
货物数量 |
| data.checkRlt |
String |
盘点结果:0=盘点失败,1=盘点正确 |
注意事项
- 响应顶层
data 为数组,每项为一个库点的扁平 JSON 对象
- 每个库点对象中,设备状态直接作为字段,不再嵌套
devices 数组
- 各库点共享同一个
time 采样时间
- 设备状态字段统一为 int 类型(1=在线/正常,0/2=离线/异常,视具体字段而定)
- 通信业务数据为嵌套 Object,包含堆垛机/站台的完整协议包
- 不同库点的字段集合不同(非动碰库点有扫码枪和堆垛机通信,动碰盘点系统有TOF和工业相机和站台通信)
- 扫码枪分为普通扫码枪和深度扫码枪,左右各两个,共4个扫码枪
版本: v3.0 | 更新: 2026-07-03