You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

9.6 KiB

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=盘点正确

注意事项

  1. 响应顶层 data 为数组,每项为一个库点的扁平 JSON 对象
  2. 每个库点对象中,设备状态直接作为字段,不再嵌套 devices 数组
  3. 各库点共享同一个 time 采样时间
  4. 设备状态字段统一为 int 类型(1=在线/正常,0/2=离线/异常,视具体字段而定)
  5. 通信业务数据为嵌套 Object,包含堆垛机/站台的完整协议包
  6. 不同库点的字段集合不同(非动碰库点有扫码枪和堆垛机通信,动碰盘点系统有TOF和工业相机和站台通信)
  7. 扫码枪分为普通扫码枪和深度扫码枪,左右各两个,共4个扫码枪

版本: v3.0 | 更新: 2026-07-03