IoT 功能启用
IoT 模块面向设备接入、产品建模、物模型数据、规则流转、OTA 升级、设备告警和运营统计。RuoYi Office 当前后端位于 yudao-module-iot-server,前端位于 apps/web-antd/src/views/iot,并在首页提供产品、设备、消息和状态的全局看板。
能力地图
| 能力域 | 前端目录 | 关键接口 | 说明 |
|---|---|---|---|
| IoT 首页 | views/iot/home | /iot/statistics/* | 分类、产品、设备、消息、设备状态和地图统计 |
| 产品管理 | views/iot/product | /iot/product/*、/iot/thing-model/* | 产品分类、ProductKey、物模型、TSL |
| 设备管理 | views/iot/device | /iot/device/*、/iot/device/message/* | 设备列表、详情、分组、导入、网关子设备、消息日志 |
| 规则引擎 | views/iot/rule | /iot/data-rule/*、数据目的地、场景规则 | 数据流转、消息转发、场景联动 |
| OTA 升级 | views/iot/ota | /iot/ota/firmware/*、/iot/ota/task/* | 固件、升级任务、任务记录 |
| 告警中心 | views/iot/alert | /iot/alert-config/*、/iot/alert-record/* | 告警配置、接收人、告警处理 |
推荐启用顺序
产品与物模型
产品是设备接入的模板。IotProductController 提供产品创建、状态更新、导出、精简列表和按 ProductKey 查询能力;IotThingModelController 负责属性、服务、事件三类物模型,并可通过 /iot/thing-model/get-tsl?productId= 输出 TSL。
| 设计项 | 建议 |
|---|---|
| ProductKey | 创建后作为设备鉴权和物模型归属标识,不要随意变更 |
| 设备类型 | 普通设备、网关、子设备要提前规划,影响后续网关绑定 |
| 物模型属性 | 适合温度、电压、开关状态等可采集数据 |
| 物模型服务 | 适合远程控制、参数下发等命令型能力 |
| 物模型事件 | 适合告警、故障、状态跃迁等一次性事件 |
设备接入与消息
设备管理支持卡片/列表视图、设备导入、批量删除、加入分组、网关子设备绑定、获取连接信息和消息日志。IotDeviceMessageController 提供普通消息分页、请求/响应消息对分页和设备模拟发送能力。
规则、告警与 OTA
- 数据流转规则:
/iot/data-rule/*用于定义设备消息如何流转到外部系统或内部处理链路。生产环境应明确来源、过滤条件和目的地。 - 告警配置:
/iot/alert-config/*支持配置接收人;分页返回时会拼接接收人昵称。告警记录可通过/iot/alert-record/process标记处理并填写处理备注。 - OTA 升级:先维护固件,再创建升级任务。任务支持取消,固件与任务都应关联产品或设备范围,避免误升级。
首页统计
IoT 首页通过 /iot/statistics/get-summary 获取全局数量、今日新增、品类下设备数量和设备状态数量,通过 /iot/statistics/get-device-message-summary-by-date 展示消息趋势。上线前建议确认统计口径与实际数据源一致。
启用检查清单
| 阶段 | 检查项 |
|---|---|
| 产品建模 | 产品分类、ProductKey、设备类型、物模型属性/服务/事件是否完整 |
| 设备接入 | 设备名称、产品、分组、网关绑定、连接信息是否正确 |
| 数据存储 | 设备消息是否入库;TDengine 表结构是否已同步;消息趋势是否有数据 |
| 规则告警 | 数据规则是否启用;告警接收人是否有效;告警记录是否可处理 |
| OTA | 固件版本、设备范围、任务状态和取消机制是否验证 |
常见排查
| 现象 | 优先检查 |
|---|---|
| 首页统计为 0 | 是否已有产品/设备/消息;统计接口是否返回;权限和租户是否正确 |
| 设备详情无物模型数据 | 产品物模型是否定义;设备是否绑定正确产品;消息是否符合 TSL |
| 设备导入失败 | Excel 模板字段、ProductKey、设备名称重复、网关名称是否正确 |
| 消息日志不成对 | 请求/响应 requestId 是否一致;设备是否按协议回复 |
| 告警不触发 | 告警配置状态、规则条件、接收人、设备消息是否满足条件 |
| OTA 无法创建任务 | 固件是否存在;产品/设备范围是否匹配;权限 iot:ota-task:create |
