# 设备状态查询接口文档 ## 基本信息 | 项目 | 说明 | |------|------| | 协议 | HTTP/1.1 | | 方法 | GET | | Content-Type | application/json; charset=UTF-8 | --- ## 1. 设备状态查询 ### 接口地址 ``` GET /api/v1/device/status ``` 查询所有传感器的实时状态数据。 --- #### 示例 ``` GET /api/v1/device/status HTTP/1.1 ``` --- ### 响应参数 #### 公共字段 | 字段 | 类型 | 说明 | |------|------|------| | code | int | 状态码,200=成功,400=失败 | | message | String | 状态描述,成功时返回 `success`,失败时返回错误信息 | | data | Array | 传感器数组,每个元素为一个传感器对象;失败时为 `null` | #### data 传感器对象 | 字段 | 类型 | 说明 | |------|------|------| | name | String | 传感器名称 | | code | String | 传感器编码 | | data | Array | 该传感器的测量数据数组 | #### data 测量数据对象 | 字段 | 类型 | 说明 | |------|------|------| | name | String | 测量项名称,如"温度"、"湿度" | | value | float | 测量值 | | unit | String | 单位,如"℃"、"%"、"°" | --- --- ### 响应示例 #### 成功响应(200) ```json { "code": 200, "message": "success", "data": [ { "name": "东侧温湿度传感器", "code": "ws_01", "data": [ { "unit": "℃", "value": 25.6, "name": "温度" }, { "unit": "%", "value": 68, "name": "湿度" } ] }, { "name": "南侧倾斜传感器", "code": "qx_01", "data": [ { "unit": "°", "value": 3.0, "name": "X轴倾斜" }, { "unit": "%", "value": -0.8, "name": "Y轴倾斜" } ] }, { "name": "北侧水浸传感器", "code": "sj_01", "data": [ { "unit": "", "value": 0, "name": "漏水状态" } ] }, { "name": "北侧烟感传感器", "code": "yw_01", "data": [ { "unit": "", "value": 0, "name": "烟雾浓度" } ] } ] } ``` #### 失败响应(400) ```json { "code": 400, "message": "Error", "data": null } ``` --- ## 2. 设备报警查询 ### 接口地址 ``` GET /api/v1/device/alarm ``` 查询当前所有设备的报警信息。 #### 示例 ``` GET /api/v1/device/alarm HTTP/1.1 ``` --- ### 响应参数 #### 公共字段 | 字段 | 类型 | 说明 | |------|------|------| | code | int | 状态码,200=成功,400=失败 | | message | String | 状态描述 | | data | Array | 报警信息数组;无报警时为空数组 `[]`;失败时为 `null` | #### data 报警对象 | 字段 | 类型 | 说明 | |------|------|------| | alarm_id | String | 报警唯一标识 | | sensor_code | String | 触发报警的传感器编码 | | sensor_name | String | 触发报警的传感器名称 | | alarm_level | String | 报警等级:1=警告,2=报警,3=严重报警 | | alarm_level_name | String | 报警等级:1=警告,2=报警,3=严重报警 | | alarm_value | float | 触发报警时的传感器数值 | | alarm_threshold | float | 报警阈值 | | alarm_time | String | 报警触发时间,yyyy-MM-dd HH:mm:ss 格式 | | description | String | 报警描述 | | stream | String | 视频流 | | pic | String | 报警图片 | --- --- ### 响应示例 #### 有报警(200) ```json { "code": 200, "message": "success", "data": [ { "alarm_id": "ALM_20260708_001", "sensor_code": "sj_01", "sensor_name": "北侧水浸传感器", "alarm_level": 3, "alarm_value": 1, "alarm_threshold": 0, "alarm_time": "2026-07-08 14:30:00", "description": "北侧区域检测到漏水,请立即处理", "stream": "rtsp://121.43.244.209:554/live/sj_01" }, { "alarm_id": "ALM_20260708_002", "sensor_code": "ws_01", "sensor_name": "东侧温湿度传感器", "alarm_level": 2, "alarm_value": 42.5, "alarm_threshold": 40, "alarm_time": "2026-07-08 15:00:00", "description": "东侧温度超过阈值,当前温度 42.5℃", "stream": "rtsp://121.43.244.209:554/live/ws_01" } ] } ``` #### 无报警(200) ```json { "code": 200, "message": "success", "data": [] } ``` #### 失败响应(400) ```json { "code": 400, "message": "Error", "data": null } ``` --- ## 注意事项 1. 设备状态接口中 `data` 数组的传感器数量不固定,取决于设备实际接入的传感器类型 2. 报警接口中 `data` 为空数组 `[]` 表示当前无报警 3. 报警等级 `1=警告`、`2=报警`、`3=严重报警` 4. 报警时间格式统一为 `yyyy-MM-dd HH:mm:ss` 5. `stream` 字段为关联的视频流 RTSP 地址,用于调取报警时刻的监控画面 --- ## 3. 设备状态判定查询 ### 接口地址 ``` GET /api/v1/device/judge ``` 查询所有传感器实时数据及报警判定信息(含阈值比较结果)。 #### 示例 ``` GET /api/v1/device/judge HTTP/1.1 ``` --- ### 响应参数 #### 公共字段 | 字段 | 类型 | 说明 | |------|------|------| | code | int | 状态码,200=成功,400=失败 | | message | String | 状态描述,成功时返回 `success`,失败时返回错误信息 | | data | Array | 传感器数组,每个元素为一个传感器对象;失败时为 `null` | #### data 传感器对象 | 字段 | 类型 | 说明 | |------|------|------| | name | String | 传感器名称 | | code | String | 传感器编码 | | data | Array | 该传感器的测量判定数据数组 | #### data 测量判定数据对象 | 字段 | 类型 | 说明 | |------|------|------| | type | String | 测量类型编码,可选值见下表 | | value | float | 测量值 | | determineType | String | 判定运算符,如 `">"`、`"<"`、`">="`、`"<="`、`"=="` | | level | String | 报警等级,`1`=警告,`2`=报警,`3`=严重报警 | #### type 枚举值 | key | name | type | unit | 适用传感器 | |-----|------|------|------|-----------| | `temperature` | 温度 | float | ℃ | 温湿度传感器 | | `humidity` | 湿度 | float | % | 温湿度传感器 | | `leak` | 水浸状态 | int | — | 水浸传感器 | | `angle_x` | X轴倾角 | float | ° | 倾斜传感器 | | `angle_y` | Y轴倾角 | float | ° | 倾斜传感器 | | `angle_z` | Z轴倾角 | float | ° | 倾斜传感器 | | `smoke_level` | 烟雾浓度 | float | ppm | 烟感传感器 | | `status` | 当前状态 | int | — | 通用 | | `intrusion` | 人员入侵 | string | — | AI分析 | | `gather` | 人员聚集 | string | — | AI分析 | --- ### 响应示例 #### 成功响应(200) ```json { "code": 200, "message": "success", "data": [ { "name": "东侧温湿度传感器", "code": "ws_01", "data": [ { "type": "temperature", "value": 25.6, "determineType": ">", "level": "1" }, { "type": "humidity", "value": 68, "determineType": ">", "level": "1" } ] }, { "name": "南侧倾斜传感器", "code": "qx_01", "data": [ { "type": "angle_x", "value": 25.6, "determineType": ">", "level": "1" }, { "type": "angle_y", "value": -0.8, "determineType": ">", "level": "1" } ] } ] } ``` #### 失败响应(400) ```json { "code": 400, "message": "Error", "data": null } ``` --- > 版本: v2.0 | 更新: 2026-07-08