Skip to content

设备网关与子设备 ​

这篇解决什么 ​

网关和子设备怎么绑、gatewayId 谁写。读完能对上产品 deviceType 2 / 1,以及管理端绑定和动态注册绑定是同一列。

默认端口 48080。设备主数据见 设备管理。子设备换密钥见 设备动态注册。

示意图:两类产品。绑定只写子设备行的 gatewayId。

从哪改 ​

名称说明仓库路径
绑定PUT /iot/device/bind-gatewayruoyi-office/yudao-module-iot/.../device/IotDeviceController.java
解绑PUT /iot/device/unbind-gateway同上
子设备列表GET /sub-device-list同上
未绑定分页GET /unbound-sub-device-page同上
详情页子设备 Tabruoyi-office-vben/.../device/detail/modules/sub-device.vue

IotProductDeviceTypeEnum.isGateway 认 2。isGatewaySub 认 1。直连 0 没有 gatewayId 语义。

管理端绑定:传入 subIds + gatewayId。解绑同样要带子设备和网关,防止解错家。未绑定分页给「还能挂到这台网关」的子设备用。

动态注册路径:网关已在线,代子设备调 register-sub。子设备必须已预创建,且产品是网关子设备类型。已绑别的网关会抛 DEVICE_GATEWAY_BINDTO_EXISTS。

网关设备自己也是 iot_device 一行,deviceType 从网关产品冗余。不要另建「网关表」。

协议细节(MQTT 代理子设备 topic 等)按协议篇写。本篇只保证主数据关系。

字段 ​

名称说明仓库路径
deviceType1 子设备 / 2 网关IotDeviceDO / IotProductDO
gatewayId子设备指向网关主键IotDeviceDO
subIds / gatewayId管理端绑定入参IotDeviceBindGatewayReqVO

子设备产品不能拿去当网关

registerSubDevice0 会校验产品 deviceType 必须是网关子设备。网关产品下建出来的设备才能当 gatewayId。

绑定和注册写的是同一列

管理端 bind-gateway 与子设备动态注册都更新 iot_device.gatewayId。查绑关系看这列即可,没有第二张关系表。

按本仓库 DO 生成的 ER。两行都在 iot_device。

配置与操作 ​

走 设备详情 子设备 Tab。绑定 PUT /iot/device/bind-gateway,解绑 /unbind-gateway,都要带 subIds + gatewayId。网关产品 deviceType=2,子设备 1,直连 0 没有 gatewayId 语义。两行都在 iot_device,没有第二张关系表。

动态注册绑定写同一列。已绑别的网关抛 DEVICE_GATEWAY_BINDTO_EXISTS。开启见 IoT 功能设计。

设备列表

本系统截图:设备管理。网关和子设备都是 iot_device 一行,绑定写 gatewayId。

相关篇 ​

联系我们

获取报价、演示和二开方案

微信咨询二维码

微信咨询

17156169080

添加时备注「RuoYi Office」

在线体验商业版