物模型说明

一、什么是物模型

在物联云平台中,物模型(全称为Things Model Language,物模型描述语言,简称为TML)是一个JSON格式的文件,是物理空间中的实体(如传感器、车载装置、楼宇、工厂等)在云端的数字化表示

物模型从属性、服务和事件三个维度,分别描述了其在物理空间中指代的实体是什么,能够做什么,能够对外提供哪些信息。从这三个维度定义好产品相应的物模型之后,也代表定义好了该产品的功能定义。在完成产品功能定义后,系统将自动生成该产品的物模型。

1、物模型规范

在物联网平台中,物模型由命名空间元数据属性事件服务这几个部分组成。

组成部分 说明
命名空间 在TML中,命名空间是用来标识指代某一类物体,如云平台的接入智能设备是一个命名空间、某个城市天气数据也是一个命名空间;通过命名空间可以知道该TML是表示一种明确的“物”。
元数据 元数据是作为TML命名空间的一个补充。元数据是一个可选的信息配置,
属性 设备可读取和设置的能力。一般用于描述设备运行时的状态,如环境监测设备所读取的当前环境温度等。属性支持GET和SET请求方式。应用系统可发起对属性的读取和设置请求。
事件 设备运行时,主动上报给云端的事件。事件一般包含需要被外部感知和处理的通知信息,可包含多个输出参数。例如,某项任务完成的信息,或者设备发生故障或告警时的温度等。
服务 设备可被外部调用的能力或方法,可设置输入参数和输出参数。产品提供了什么功能供云端调用。相比于属性,服务可通过一条指令实现更复杂的业务逻辑,如执行某项特定的任务。

2、规范定义

TML定义(JSON格式)

{
    "xnms": "....",
    "metadata": {
        "...": "...."
    },
    "attributes": [
        {
            "field": "state",
            "field_name": {
                "cn": "工作状态",
                "en": "work state"
            },
            "type": {
                "type": "int",
                "specs": {
                    "1": "正常",
                    "2": "异常"
                }
            },
            "min": "1",
            "max": "2",
            "symbol": "-",
            "default": "1",
            "access": "r/w/rw"
        }
    ],
    "events": [
        {
            "event": "attribute_sync",
            "event_name": {
                "cn": "属性上报事件",
                "en": "attribute sync event"
            },
            "extra": [
                {
                    "field": "state",
                    "field_name": {
                        "cn": "工作状态",
                        "en": "work state"
                    },
                    "type": {
                        "specs": {
                            "1": "正常",
                            "2": "异常"
                        },
                        "type": "bool"
                    },
                    "require": false,
                    "min": "最小值",
                    "max": "最大值"
                }
            ]
        }
    ],
    "services": [
        {
            "service": "set",
            "service_name": {
                "cn": "设置属性",
                "en": "set attribute"
            },
            "input": [
                {
                    "field": "target_state",
                    "field_name": {
                        "cn": "工作状态",
                        "en": "work state"
                    },
                    "type": {
                        "specs": {
                            "1": "正常",
                            "2": "异常"
                        },
                        "type": "int"
                    },
                    "require": false
                }
            ],
            "code": {
                "specs": {
                    "200": "成功",
                    "202": "设备不在线",
                    "203": "设备未响应",
                    "400": "参数错误",
                    "403": "签名错误",
                    "503": "系统出错"
                }
            },
            "output": [
                {
                    "field": "result",
                    "field_name": {
                        "cn": "调用结果",
                        "en": "call result"
                    },
                    "type": {
                        "specs": {
                            "true": "成功",
                            "false": "失败"
                        },
                        "type": "bool"
                    },
                    "require": false
                }
            ]
        }
    ]
}

3、字段说明

字段 是否必填 类型 说明
xnms True String 命名空间
metadata True Object 元数据信息
metadata.{field} False String 元数据字段值
attributes True Array 属性列表
attributes.field True String 属性字段名
attributes.field_name True Object 字段描述显示
attributes.field_name.cn True String 字段中文显示名称
attributes.field_name.en True String 字段英文显示名称
attributes.type True Object 类型信息
attributes.type.type True String 数据类型
attributes.type.specs False Object 规格信息
attributes.type.specs.{key} False String 不同规格描述
attributes.min False String 字段最小值
attributes.max False String 字段最大值
attributes.symbol False String 符号
attributes.default False String 默认值
attributes.access True String 访问权限,支持3种,r:读;w:写;rw:读写;
events True Array 事件列表
events.event True String 事件名
events.event_name True Object 事件名描述显示
events.event_name.cn True String 事件名中文描述
events.event_name.en True String 事件名英文描述
events.extra True Array 事件附加信息
events.extra.field True String 附加信息字段名
events.extra.field_name True Object 附加信息字段描述显示
events.extra.field_name.cn True String 附加信息字段中文描述
events.extra.field_name.en True String 附加信息字段英文描述
events.extra.type True Object 附加信息字段类型信息
events.extra.type.type True String 附加信息字段数据类型
events.extra.type.specs False Object 附加信息字段规格信息
events.extra.type.specs.{key} False String 附加信息字段规格信息
events.extra.require True Boolean 附加信息字段是否必须
events.extra.min False Int 附加信息字段最小值
events.extra.max False Int 附加信息字段最大值
services True Array 服务列表
services.service True String 服务名,用于调用
services.service_name True Object 服务名称描述显示
services.service_name.cn True String 服务名称中文描述
services.service_name.en True String 服务名称英文描述
services.input True Array 服务调用输入参数列表
services.input.field True String 输入参数字段名
services.input.field_name True Object 输入参数字段描述
services.input.field_name.cn True String 输入参数中文描述
services.input.field_name.en True String 输入参数英文描述
services.input.type True Object 输入参数字段类型信息
services.input.type.type True String 输入参数字段数据类型
services.input.type.specs False Object 输入参数字段规格信息
services.input.type.specs.{key} False String 输入参数字段规格信息
services.input.require True Boolean 输入参数字段是否必须
services.output True Array 服务调用输出参数列表
services.output.field True String 输出参数字段名
services.output.field_name True Object 输出参数字段描述
services.output.field_name.cn True String 输出参数中文描述
services.output.field_name.en True String 输出参数英文描述
services.output.type True Object 输出参数字段类型信息
services.output.type.type True String 输出参数字段数据类型
services.output.type.specs False Object 输出参数字段规格信息
services.output.type.specs.{key} False String 输出参数字段规格信息
services.ouput.require True Boolean 输出参数字段是否必须
code True Object 服务调用返回错误码信息
code.specs True Object 错误码信息
code.specs.{code} True String 某个错误码描述

二、物联平台物模型库

在物联云平台中,我们向各位平台租户提供了一些标准的物模型。需要查看物联平台提供支持的物模型库时,可以登录物联云平台在设备中心菜单中, 点击左侧菜单栏的物模型库子菜单,即可打开物模型库页面查看。

物模型库可以根据产品品类查看具体的物模型库详情。

img

没找到需要的文档?
你可以提交工单反馈 或 阅读常见问题