feat(ops): update cleaner status and assignment logic
This commit is contained in:
440
.qoder/repowiki/zh/content/API接口文档/IoT设备API.md
Normal file
440
.qoder/repowiki/zh/content/API接口文档/IoT设备API.md
Normal file
@@ -0,0 +1,440 @@
|
||||
# IoT设备API
|
||||
|
||||
<cite>
|
||||
**本文引用的文件**
|
||||
- [IotDeviceControlApi.java](file://viewsh-module-iot/viewsh-module-iot-api/src/main/java/com/viewsh/module/iot/api/device/IotDeviceControlApi.java)
|
||||
- [IotDevicePropertyQueryApi.java](file://viewsh-module-iot/viewsh-module-iot-api/src/main/java/com/viewsh/module/iot/api/device/IotDevicePropertyQueryApi.java)
|
||||
- [IotDeviceStatusQueryApi.java](file://viewsh-module-iot/viewsh-module-iot-api/src/main/java/com/viewsh/module/iot/api/device/IotDeviceStatusQueryApi.java)
|
||||
- [IotDeviceServiceInvokeReqDTO.java](file://viewsh-module-iot/viewsh-module-iot-api/src/main/java/com/viewsh/module/iot/api/device/dto/IotDeviceServiceInvokeReqDTO.java)
|
||||
- [ResetTrafficCounterReqDTO.java](file://viewsh-module-iot/viewsh-module-iot-api/src/main/java/com/viewsh/module/iot/api/device/dto/ResetTrafficCounterReqDTO.java)
|
||||
- [DevicePropertyBatchQueryReqDTO.java](file://viewsh-module-iot/viewsh-module-iot-api/src/main/java/com/viewsh/module/iot/api/device/dto/property/DevicePropertyBatchQueryReqDTO.java)
|
||||
- [DevicePropertyHistoryQueryReqDTO.java](file://viewsh-module-iot/viewsh-module-iot-api/src/main/java/com/viewsh/module/iot/api/device/dto/property/DevicePropertyHistoryQueryReqDTO.java)
|
||||
- [DevicePropertyRespDTO.java](file://viewsh-module-iot/viewsh-module-iot-api/src/main/java/com/viewsh/module/iot/api/device/dto/property/DevicePropertyRespDTO.java)
|
||||
- [DevicePropertyHistoryRespDTO.java](file://viewsh-module-iot/viewsh-module-iot-api/src/main/java/com/viewsh/module/iot/api/device/dto/property/DevicePropertyHistoryRespDTO.java)
|
||||
- [DeviceStatusRespDTO.java](file://viewsh-module-iot/viewsh-module-iot-api/src/main/java/com/viewsh/module/iot/api/device/dto/status/DeviceStatusRespDTO.java)
|
||||
- [ApiConstants.java](file://viewsh-module-iot/viewsh-module-iot-api/src/main/java/com/viewsh/module/iot/enums/ApiConstants.java)
|
||||
- [IotDeviceMessageTypeEnum.java](file://viewsh-module-iot/viewsh-module-iot-api/src/main/java/com/viewsh/module/iot/enums/device/IotDeviceMessageTypeEnum.java)
|
||||
</cite>
|
||||
|
||||
## 目录
|
||||
1. [简介](#简介)
|
||||
2. [项目结构](#项目结构)
|
||||
3. [核心组件](#核心组件)
|
||||
4. [架构概览](#架构概览)
|
||||
5. [详细组件分析](#详细组件分析)
|
||||
6. [依赖关系分析](#依赖关系分析)
|
||||
7. [性能考虑](#性能考虑)
|
||||
8. [故障排除指南](#故障排除指南)
|
||||
9. [结论](#结论)
|
||||
10. [附录](#附录)
|
||||
|
||||
## 简介
|
||||
本文件为IoT设备管理模块的全面API接口文档,涵盖设备控制、属性查询、状态监控等核心功能。文档详细说明了设备连接认证机制、设备属性定义和数据格式规范,并提供了设备远程控制命令的接口规范、控制指令格式和响应处理方式。同时,文档还详细描述了设备属性查询接口(包括实时属性获取和历史数据查询)、设备状态监控接口(在线状态、运行状态和故障状态的查询方法),以及设备OTA升级接口和固件版本管理API。
|
||||
|
||||
## 项目结构
|
||||
IoT模块采用分层架构设计,主要由以下部分组成:
|
||||
- API接口层:定义对外暴露的Feign客户端接口
|
||||
- DTO数据传输对象:定义请求和响应的数据结构
|
||||
- 枚举类:定义设备消息类型、状态枚举等常量
|
||||
- 核心业务逻辑:在IoT服务器中实现具体的业务处理
|
||||
|
||||
```mermaid
|
||||
graph TB
|
||||
subgraph "IoT模块"
|
||||
API[API接口层]
|
||||
DTO[DTO数据传输对象]
|
||||
ENUM[枚举类]
|
||||
CORE[核心业务逻辑]
|
||||
end
|
||||
subgraph "外部系统"
|
||||
OPS[运维系统]
|
||||
APP[移动端应用]
|
||||
WEB[Web管理平台]
|
||||
end
|
||||
OPS --> API
|
||||
APP --> API
|
||||
WEB --> API
|
||||
API --> DTO
|
||||
API --> ENUM
|
||||
API --> CORE
|
||||
CORE --> DTO
|
||||
CORE --> ENUM
|
||||
```
|
||||
|
||||
**图表来源**
|
||||
- [IotDeviceControlApi.java](file://viewsh-module-iot/viewsh-module-iot-api/src/main/java/com/viewsh/module/iot/api/device/IotDeviceControlApi.java#L1-L53)
|
||||
- [IotDevicePropertyQueryApi.java](file://viewsh-module-iot/viewsh-module-iot-api/src/main/java/com/viewsh/module/iot/api/device/IotDevicePropertyQueryApi.java#L1-L64)
|
||||
- [IotDeviceStatusQueryApi.java](file://viewsh-module-iot/viewsh-module-iot-api/src/main/java/com/viewsh/module/iot/api/device/IotDeviceStatusQueryApi.java#L1-L37)
|
||||
|
||||
**章节来源**
|
||||
- [IotDeviceControlApi.java](file://viewsh-module-iot/viewsh-module-iot-api/src/main/java/com/viewsh/module/iot/api/device/IotDeviceControlApi.java#L1-L53)
|
||||
- [IotDevicePropertyQueryApi.java](file://viewsh-module-iot/viewsh-module-iot-api/src/main/java/com/viewsh/module/iot/api/device/IotDevicePropertyQueryApi.java#L1-L64)
|
||||
- [IotDeviceStatusQueryApi.java](file://viewsh-module-iot/viewsh-module-iot-api/src/main/java/com/viewsh/module/iot/api/device/IotDeviceStatusQueryApi.java#L1-L37)
|
||||
|
||||
## 核心组件
|
||||
IoT设备管理模块的核心组件包括三个主要的Feign客户端接口:
|
||||
|
||||
### 设备控制API接口
|
||||
提供设备远程控制能力,支持服务调用、批量服务调用和客流计数器重置功能。
|
||||
|
||||
### 设备属性查询API接口
|
||||
提供设备属性的实时查询和历史数据查询功能,支持单个属性查询、批量属性查询和历史数据查询。
|
||||
|
||||
### 设备状态查询API接口
|
||||
提供设备在线状态和设备状态信息的查询功能。
|
||||
|
||||
**章节来源**
|
||||
- [IotDeviceControlApi.java](file://viewsh-module-iot/viewsh-module-iot-api/src/main/java/com/viewsh/module/iot/api/device/IotDeviceControlApi.java#L18-L52)
|
||||
- [IotDevicePropertyQueryApi.java](file://viewsh-module-iot/viewsh-module-iot-api/src/main/java/com/viewsh/module/iot/api/device/IotDevicePropertyQueryApi.java#L22-L63)
|
||||
- [IotDeviceStatusQueryApi.java](file://viewsh-module-iot/viewsh-module-iot-api/src/main/java/com/viewsh/module/iot/api/device/IotDeviceStatusQueryApi.java#L13-L36)
|
||||
|
||||
## 架构概览
|
||||
IoT设备管理模块采用微服务架构,通过Feign客户端进行服务间通信。整体架构分为三层:
|
||||
|
||||
```mermaid
|
||||
graph TB
|
||||
subgraph "表现层"
|
||||
CLIENT[客户端应用]
|
||||
end
|
||||
subgraph "网关层"
|
||||
GATEWAY[API网关]
|
||||
end
|
||||
subgraph "服务层"
|
||||
IOT_SERVER[IoT服务器]
|
||||
DEVICE_SERVICE[设备服务]
|
||||
DATA_SERVICE[数据服务]
|
||||
end
|
||||
subgraph "基础设施层"
|
||||
DATABASE[(数据库)]
|
||||
REDIS[(Redis缓存)]
|
||||
MQ[(消息队列)]
|
||||
end
|
||||
CLIENT --> GATEWAY
|
||||
GATEWAY --> IOT_SERVER
|
||||
IOT_SERVER --> DEVICE_SERVICE
|
||||
IOT_SERVER --> DATA_SERVICE
|
||||
DEVICE_SERVICE --> DATABASE
|
||||
DEVICE_SERVICE --> REDIS
|
||||
DEVICE_SERVICE --> MQ
|
||||
DATA_SERVICE --> DATABASE
|
||||
DATA_SERVICE --> REDIS
|
||||
```
|
||||
|
||||
**图表来源**
|
||||
- [ApiConstants.java](file://viewsh-module-iot/viewsh-module-iot-api/src/main/java/com/viewsh/module/iot/enums/ApiConstants.java#L10-L23)
|
||||
|
||||
## 详细组件分析
|
||||
|
||||
### 设备控制API组件
|
||||
|
||||
#### 控制接口定义
|
||||
设备控制API提供以下核心功能:
|
||||
|
||||
```mermaid
|
||||
sequenceDiagram
|
||||
participant Client as 客户端
|
||||
participant API as 设备控制API
|
||||
participant Server as IoT服务器
|
||||
participant Device as 设备
|
||||
Client->>API : 调用设备服务
|
||||
API->>Server : RPC调用
|
||||
Server->>Device : 发送控制指令
|
||||
Device-->>Server : 返回执行结果
|
||||
Server-->>API : 返回响应
|
||||
API-->>Client : 返回控制结果
|
||||
```
|
||||
|
||||
**图表来源**
|
||||
- [IotDeviceControlApi.java](file://viewsh-module-iot/viewsh-module-iot-api/src/main/java/com/viewsh/module/iot/api/device/IotDeviceControlApi.java#L38-L44)
|
||||
|
||||
#### 服务调用请求DTO
|
||||
服务调用请求包含以下关键字段:
|
||||
- 设备ID:唯一标识目标设备
|
||||
- 服务标识符:指定要调用的服务类型
|
||||
- 服务参数:服务执行所需的参数
|
||||
- 超时时间:服务执行的超时设置
|
||||
|
||||
#### 批量服务调用
|
||||
支持一次性对多个设备执行相同的服务调用,提高操作效率。
|
||||
|
||||
#### 客流计数器重置
|
||||
提供客流计数器的基准值重置功能,支持工单创建后的计数器调整。
|
||||
|
||||
**章节来源**
|
||||
- [IotDeviceControlApi.java](file://viewsh-module-iot/viewsh-module-iot-api/src/main/java/com/viewsh/module/iot/api/device/IotDeviceControlApi.java#L18-L52)
|
||||
- [IotDeviceServiceInvokeReqDTO.java](file://viewsh-module-iot/viewsh-module-iot-api/src/main/java/com/viewsh/module/iot/api/device/dto/IotDeviceServiceInvokeReqDTO.java#L13-L41)
|
||||
- [ResetTrafficCounterReqDTO.java](file://viewsh-module-iot/viewsh-module-iot-api/src/main/java/com/viewsh/module/iot/api/device/dto/ResetTrafficCounterReqDTO.java#L10-L37)
|
||||
|
||||
### 设备属性查询API组件
|
||||
|
||||
#### 实时属性查询
|
||||
提供设备属性的实时查询能力,支持单个属性查询和批量属性查询:
|
||||
|
||||
```mermaid
|
||||
flowchart TD
|
||||
Start([开始查询]) --> CheckType{查询类型}
|
||||
CheckType --> |单个属性| SingleQuery[单个属性查询]
|
||||
CheckType --> |批量属性| BatchQuery[批量属性查询]
|
||||
CheckType --> |最新属性| LatestQuery[最新属性查询]
|
||||
SingleQuery --> GetDevice[获取设备信息]
|
||||
BatchQuery --> GetDevices[获取设备列表]
|
||||
LatestQuery --> GetCache[获取缓存数据]
|
||||
GetDevice --> QueryDB[查询数据库]
|
||||
GetDevices --> QueryDB
|
||||
QueryDB --> ProcessData[处理查询结果]
|
||||
GetCache --> ProcessData
|
||||
ProcessData --> ReturnResult[返回查询结果]
|
||||
ReturnResult --> End([结束])
|
||||
```
|
||||
|
||||
**图表来源**
|
||||
- [IotDevicePropertyQueryApi.java](file://viewsh-module-iot/viewsh-module-iot-api/src/main/java/com/viewsh/module/iot/api/device/IotDevicePropertyQueryApi.java#L37-L61)
|
||||
|
||||
#### 历史数据查询
|
||||
支持按时间范围查询设备属性的历史数据,包含以下查询条件:
|
||||
- 设备ID:指定查询的目标设备
|
||||
- 属性标识符:指定查询的属性类型
|
||||
- 开始时间和结束时间:限定查询的时间范围
|
||||
- 限制条数:控制返回数据的最大数量
|
||||
|
||||
#### 属性数据格式
|
||||
属性查询返回的数据包含以下字段:
|
||||
- 属性标识符:属性的唯一标识
|
||||
- 属性值:当前或历史的属性数值
|
||||
- 更新时间:数据的更新时间戳
|
||||
|
||||
**章节来源**
|
||||
- [IotDevicePropertyQueryApi.java](file://viewsh-module-iot/viewsh-module-iot-api/src/main/java/com/viewsh/module/iot/api/device/IotDevicePropertyQueryApi.java#L22-L63)
|
||||
- [DevicePropertyBatchQueryReqDTO.java](file://viewsh-module-iot/viewsh-module-iot-api/src/main/java/com/viewsh/module/iot/api/device/dto/property/DevicePropertyBatchQueryReqDTO.java#L9-L25)
|
||||
- [DevicePropertyHistoryQueryReqDTO.java](file://viewsh-module-iot/viewsh-module-iot-api/src/main/java/com/viewsh/module/iot/api/device/dto/property/DevicePropertyHistoryQueryReqDTO.java#L12-L40)
|
||||
- [DevicePropertyRespDTO.java](file://viewsh-module-iot/viewsh-module-iot-api/src/main/java/com/viewsh/module/iot/api/device/dto/property/DevicePropertyRespDTO.java#L9-L30)
|
||||
- [DevicePropertyHistoryRespDTO.java](file://viewsh-module-iot/viewsh-module-iot-api/src/main/java/com/viewsh/module/iot/api/device/dto/property/DevicePropertyHistoryRespDTO.java#L9-L30)
|
||||
|
||||
### 设备状态查询API组件
|
||||
|
||||
#### 在线状态检测
|
||||
提供设备在线状态的实时检测功能,通过以下方式判断设备状态:
|
||||
- 心跳检测:基于设备的心跳包判断在线状态
|
||||
- 缓存查询:从Redis缓存中获取最新的设备状态
|
||||
- 最近活动时间:根据设备最近的消息活动时间判断状态
|
||||
|
||||
#### 设备状态信息
|
||||
状态查询返回的设备状态信息包含:
|
||||
- 设备ID:唯一标识设备
|
||||
- 设备编码:设备的业务编码
|
||||
- 设备状态:设备的当前状态(激活、在线、离线)
|
||||
- 状态变更时间:状态最后一次变更的时间
|
||||
|
||||
```mermaid
|
||||
stateDiagram-v2
|
||||
[*] --> INACTIVE
|
||||
INACTIVE --> ONLINE : 设备上线
|
||||
INACTIVE --> OFFLINE : 设备离线
|
||||
ONLINE --> OFFLINE : 设备下线
|
||||
OFFLINE --> ONLINE : 设备重新上线
|
||||
ONLINE --> INACTIVE : 设备注销
|
||||
OFFLINE --> INACTIVE : 设备注销
|
||||
```
|
||||
|
||||
**图表来源**
|
||||
- [DeviceStatusRespDTO.java](file://viewsh-module-iot/viewsh-module-iot-api/src/main/java/com/viewsh/module/iot/api/device/dto/status/DeviceStatusRespDTO.java#L29-L30)
|
||||
|
||||
**章节来源**
|
||||
- [IotDeviceStatusQueryApi.java](file://viewsh-module-iot/viewsh-module-iot-api/src/main/java/com/viewsh/module/iot/api/device/IotDeviceStatusQueryApi.java#L13-L36)
|
||||
- [DeviceStatusRespDTO.java](file://viewsh-module-iot/viewsh-module-iot-api/src/main/java/com/viewsh/module/iot/api/device/dto/status/DeviceStatusRespDTO.java#L11-L35)
|
||||
|
||||
### 设备消息类型定义
|
||||
|
||||
#### 消息类型枚举
|
||||
IoT设备支持多种消息类型,每种类型对应不同的业务场景:
|
||||
|
||||
| 消息类型 | 描述 | 用途 |
|
||||
|---------|------|------|
|
||||
| STATE | 设备状态 | 设备运行状态的上报和查询 |
|
||||
| PROPERTY | 设备属性 | 设备属性值的上报和查询 |
|
||||
| EVENT | 设备事件 | 设备事件的上报和订阅 |
|
||||
| SERVICE | 设备服务 | 设备服务的调用和执行 |
|
||||
| CONFIG | 设备配置 | 设备配置的远程下发 |
|
||||
| OTA | 设备OTA | 设备固件的远程升级 |
|
||||
| REGISTER | 设备注册 | 设备的身份注册和认证 |
|
||||
| TOPOLOGY | 设备拓扑 | 设备间的拓扑关系管理 |
|
||||
|
||||
**章节来源**
|
||||
- [IotDeviceMessageTypeEnum.java](file://viewsh-module-iot/viewsh-module-iot-api/src/main/java/com/viewsh/module/iot/enums/device/IotDeviceMessageTypeEnum.java#L9-L38)
|
||||
|
||||
## 依赖关系分析
|
||||
|
||||
### 组件依赖图
|
||||
IoT设备管理模块的组件间依赖关系如下:
|
||||
|
||||
```mermaid
|
||||
graph TB
|
||||
subgraph "API层"
|
||||
CONTROL_API[IotDeviceControlApi]
|
||||
PROPERTY_API[IotDevicePropertyQueryApi]
|
||||
STATUS_API[IotDeviceStatusQueryApi]
|
||||
end
|
||||
subgraph "DTO层"
|
||||
SERVICE_REQ[IotDeviceServiceInvokeReqDTO]
|
||||
RESET_REQ[ResetTrafficCounterReqDTO]
|
||||
BATCH_REQ[DevicePropertyBatchQueryReqDTO]
|
||||
HISTORY_REQ[DevicePropertyHistoryQueryReqDTO]
|
||||
PROPERTY_RESP[DevicePropertyRespDTO]
|
||||
HISTORY_RESP[DevicePropertyHistoryRespDTO]
|
||||
STATUS_RESP[DeviceStatusRespDTO]
|
||||
end
|
||||
subgraph "枚举层"
|
||||
API_CONST[ApiConstants]
|
||||
MSG_TYPE[IotDeviceMessageTypeEnum]
|
||||
end
|
||||
CONTROL_API --> SERVICE_REQ
|
||||
CONTROL_API --> RESET_REQ
|
||||
PROPERTY_API --> BATCH_REQ
|
||||
PROPERTY_API --> HISTORY_REQ
|
||||
PROPERTY_API --> PROPERTY_RESP
|
||||
PROPERTY_API --> HISTORY_RESP
|
||||
STATUS_API --> STATUS_RESP
|
||||
CONTROL_API --> API_CONST
|
||||
PROPERTY_API --> API_CONST
|
||||
STATUS_API --> API_CONST
|
||||
CONTROL_API --> MSG_TYPE
|
||||
PROPERTY_API --> MSG_TYPE
|
||||
STATUS_API --> MSG_TYPE
|
||||
```
|
||||
|
||||
**图表来源**
|
||||
- [IotDeviceControlApi.java](file://viewsh-module-iot/viewsh-module-iot-api/src/main/java/com/viewsh/module/iot/api/device/IotDeviceControlApi.java#L3-L16)
|
||||
- [IotDevicePropertyQueryApi.java](file://viewsh-module-iot/viewsh-module-iot-api/src/main/java/com/viewsh/module/iot/api/device/IotDevicePropertyQueryApi.java#L3-L18)
|
||||
- [IotDeviceStatusQueryApi.java](file://viewsh-module-iot/viewsh-module-iot-api/src/main/java/com/viewsh/module/iot/api/device/IotDeviceStatusQueryApi.java#L3-L11)
|
||||
|
||||
### 服务间通信流程
|
||||
设备控制、属性查询、状态查询三类API通过统一的RPC前缀进行通信:
|
||||
|
||||
```mermaid
|
||||
sequenceDiagram
|
||||
participant Client as 客户端
|
||||
participant ControlAPI as 设备控制API
|
||||
participant PropertyAPI as 属性查询API
|
||||
participant StatusAPI as 状态查询API
|
||||
participant Server as IoT服务器
|
||||
Client->>ControlAPI : 设备控制请求
|
||||
ControlAPI->>Server : RPC调用
|
||||
Server-->>ControlAPI : 控制结果
|
||||
Client->>PropertyAPI : 属性查询请求
|
||||
PropertyAPI->>Server : RPC调用
|
||||
Server-->>PropertyAPI : 查询结果
|
||||
Client->>StatusAPI : 状态查询请求
|
||||
StatusAPI->>Server : RPC调用
|
||||
Server-->>StatusAPI : 状态信息
|
||||
```
|
||||
|
||||
**图表来源**
|
||||
- [ApiConstants.java](file://viewsh-module-iot/viewsh-module-iot-api/src/main/java/com/viewsh/module/iot/enums/ApiConstants.java#L19-L21)
|
||||
|
||||
**章节来源**
|
||||
- [ApiConstants.java](file://viewsh-module-iot/viewsh-module-iot-api/src/main/java/com/viewsh/module/iot/enums/ApiConstants.java#L10-L23)
|
||||
|
||||
## 性能考虑
|
||||
IoT设备管理模块在设计时充分考虑了性能优化:
|
||||
|
||||
### 缓存策略
|
||||
- 实时属性查询优先从Redis缓存获取,减少数据库访问压力
|
||||
- 设备状态信息使用缓存机制,提高查询响应速度
|
||||
- 历史数据查询支持分页和时间范围限制,避免大数据量查询
|
||||
|
||||
### 批量操作优化
|
||||
- 批量属性查询支持多设备、多属性的并行处理
|
||||
- 批量服务调用减少网络往返次数
|
||||
- 批量重置客流计数器支持事务性操作
|
||||
|
||||
### 连接池管理
|
||||
- 使用连接池管理数据库连接,提高连接复用率
|
||||
- 消息队列采用异步处理机制,提升系统吞吐量
|
||||
- 缓存操作使用连接池,减少连接建立开销
|
||||
|
||||
## 故障排除指南
|
||||
|
||||
### 常见问题及解决方案
|
||||
|
||||
#### 设备不在线
|
||||
**问题现象**:调用设备服务时返回失败
|
||||
**可能原因**:
|
||||
- 设备未正确注册到平台
|
||||
- 设备网络连接异常
|
||||
- 设备心跳包丢失
|
||||
|
||||
**解决步骤**:
|
||||
1. 检查设备状态查询接口返回的状态
|
||||
2. 验证设备的网络连接情况
|
||||
3. 确认设备是否正常发送心跳包
|
||||
|
||||
#### 属性查询超时
|
||||
**问题现象**:属性查询请求超时
|
||||
**可能原因**:
|
||||
- 设备离线或无响应
|
||||
- 数据库查询性能问题
|
||||
- 缓存未命中导致的延迟
|
||||
|
||||
**解决步骤**:
|
||||
1. 检查设备在线状态
|
||||
2. 优化数据库查询索引
|
||||
3. 调整缓存策略和超时时间
|
||||
|
||||
#### 批量操作失败
|
||||
**问题现象**:批量操作中部分设备执行失败
|
||||
**可能原因**:
|
||||
- 某些设备网络异常
|
||||
- 设备服务调用超时
|
||||
- 数据格式不匹配
|
||||
|
||||
**解决步骤**:
|
||||
1. 分析批量操作的错误日志
|
||||
2. 对失败的设备单独重试
|
||||
3. 验证设备服务的可用性
|
||||
|
||||
**章节来源**
|
||||
- [DeviceStatusRespDTO.java](file://viewsh-module-iot/viewsh-module-iot-api/src/main/java/com/viewsh/module/iot/api/device/dto/status/DeviceStatusRespDTO.java#L29-L30)
|
||||
- [IotDevicePropertyQueryApi.java](file://viewsh-module-iot/viewsh-module-iot-api/src/main/java/com/viewsh/module/iot/api/device/IotDevicePropertyQueryApi.java#L58-L61)
|
||||
|
||||
## 结论
|
||||
IoT设备管理模块提供了完整的设备生命周期管理能力,包括设备控制、属性查询、状态监控等功能。通过标准化的API接口和数据传输对象,实现了设备与系统的解耦,提高了系统的可扩展性和可维护性。模块采用微服务架构设计,支持高并发场景下的稳定运行,为IoT应用场景提供了可靠的技术支撑。
|
||||
|
||||
## 附录
|
||||
|
||||
### API接口规范汇总
|
||||
|
||||
#### 设备控制接口
|
||||
- **服务调用**:POST `/rpc/iot/device/control/invoke-service`
|
||||
- **批量服务调用**:POST `/rpc/iot/device/control/invoke-service-batch`
|
||||
- **重置客流计数器**:POST `/rpc/iot/device/control/reset-traffic-counter`
|
||||
|
||||
#### 设备属性查询接口
|
||||
- **单个属性查询**:GET `/rpc/iot/device/property/get`
|
||||
- **最新属性查询**:GET `/rpc/iot/device/property/get-latest`
|
||||
- **批量属性查询**:POST `/rpc/iot/device/property/batch-get`
|
||||
- **属性历史查询**:POST `/rpc/iot/device/property/history`
|
||||
|
||||
#### 设备状态查询接口
|
||||
- **在线状态检测**:GET `/rpc/iot/device/status/is-online`
|
||||
- **设备状态查询**:GET `/rpc/iot/device/status/get-status`
|
||||
|
||||
### 数据模型定义
|
||||
|
||||
#### 设备状态枚举
|
||||
- INACTIVE:设备未激活
|
||||
- ONLINE:设备在线
|
||||
- OFFLINE:设备离线
|
||||
|
||||
#### 设备消息类型
|
||||
- STATE:设备状态消息
|
||||
- PROPERTY:设备属性消息
|
||||
- EVENT:设备事件消息
|
||||
- SERVICE:设备服务消息
|
||||
- CONFIG:设备配置消息
|
||||
- OTA:设备OTA消息
|
||||
- REGISTER:设备注册消息
|
||||
- TOPOLOGY:设备拓扑消息
|
||||
|
||||
**章节来源**
|
||||
- [IotDeviceMessageTypeEnum.java](file://viewsh-module-iot/viewsh-module-iot-api/src/main/java/com/viewsh/module/iot/enums/device/IotDeviceMessageTypeEnum.java#L15-L24)
|
||||
- [DeviceStatusRespDTO.java](file://viewsh-module-iot/viewsh-module-iot-api/src/main/java/com/viewsh/module/iot/api/device/dto/status/DeviceStatusRespDTO.java#L29-L30)
|
||||
Reference in New Issue
Block a user