Skip to content

物模型配置 ​

这篇解决什么 ​

属性、事件、服务各落哪一行、TSL 从哪拼。读完能对上 iot_thing_model,不要指望一张 JSON 大字段装整个产品。

默认端口 48080。产品先建好见 产品管理。设备上报按这里的 identifier 对列。

示意图:一个功能一行。TSL 接口按 type 拆成三组 JSON。

从哪改 ​

名称说明仓库路径
物模型@RequestMapping("/iot/thing-model")ruoyi-office/yudao-module-iot/.../thingmodel/IotThingModelController.java
类型IotThingModelTypeEnumyudao-module-iot-api/.../IotThingModelTypeEnum.java
管理端属性 / 服务 / 事件 / TSLruoyi-office-vben/.../views/iot/thingmodel/

接口:POST /create、PUT /update、DELETE /delete、GET /get、GET /list、GET /page、GET /get-tsl。权限字 iot:thing-model:*。

type:1 属性,2 服务,3 事件。属性细节在 property JSON(ThingModelProperty),服务在 service,事件在 event,MyBatis 用 JacksonTypeHandler。

同一产品下 identifier 是设备侧功能名。改 identifier 等于改协议字段,已上报的历史对不上新列。

get-tsl 只读拼装,不另存 TSL 表。前端 modules/tsl.vue 展示这份结构。

字段 ​

名称说明仓库路径
productId / productKey挂哪个产品IotThingModelDO
identifier / name功能标识、显示名同上
type属性 / 服务 / 事件同上
property / event / service对应 type 的 JSON同上

物模型行没有租户列

IotThingModelDO 继承 BaseDO,不是 TenantBaseDO。租户边界在产品。跨租户不要直接拿 productKey 拼物模型。

属性进 TDengine,事件服务不进同一套列

改属性后走产品页的 POST /iot/product/sync-property-table。只改事件或服务,不用同步时序表。

按本仓库 DO 生成的 ER。一对多,不是一产品一行。

配置与操作 ​

产品建好后走 物模型 页(views/iot/thingmodel/),POST /iot/thing-model/create。填 productId / productKey、identifier、name、type(1 属性 / 2 服务 / 3 事件),细节写对应 JSON。权限字 iot:thing-model:*。

保存后设备上报按 identifier 对列。改 identifier 等于改协议字段,历史对不上新列。改属性后再走产品页 POST /iot/product/sync-property-table。只改事件或服务不用同步时序表。GET /get-tsl 只读拼装,不另存 TSL 表。

IoT 产品

本系统截图:产品页。物模型菜单 4037 默认隐藏,从产品进。

相关篇 ​

联系我们

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

微信咨询二维码

微信咨询

17156169080

添加时备注「RuoYi Office」

在线体验商业版