物模型包括属性、事件和服务。设备与物联网平台之间,可通过物模型实现多场景消息通信。本文介绍如何在物联网平台定义物模型。
前提条件
已经创建了产品。具体操作,请参见创建产品。
使用须知
- 物模型需要在模块中配置。如果不需要对功能进行分类,可以跳过创建模块,直接使用默认模块即可。
- 可以编辑物模型历史版本,生成新的版本。
- 物模型编辑后,需发布才会正式生效。
创建模块
当您需要不同模块管理物模型功能时,可创建自定义模块管理不同业务场景的物模型功能。
登录物联网平台控制台。
在控制台顶部,选择物联网平台所在地域。
在 实例列表 区域找到对应的实例,单击实例卡片,进入实例详情页面。
在左侧导航栏,选择 设备中心 > 产品管理。
在 产品列表 页面,单击列表中的相应产品,进入产品详情页。
在产品详情页,单击 物模型定义 页签,然后单击 编辑草稿。
说明
物模型分为草稿态(可以编辑)和线上态(当前版本功能),需要在草稿态进行编辑。
单击模块上方的 + 图标,在 创建模块 对话框,参考下表说明完成参数配置。
配置项 | 说明 |
---|
模块标识 | 模块唯一标识符,即模块ID,在产品中具有唯一性。
支持英文、数字和下划线(_),长度限制为 1~32 个字符。 |
模块名称 | 为模块设置一个名称。
支持汉字、英文、数字和下划线(_),长度限制 1~32 个字符。 |
模块描述 | 输入文字,对模块进行说明或备注。长度限制为 128 个字符。 |
配置完成,单击 确定。
在左侧模块列表可以看到新创建的模块。
添加物模型功能
- 在 物模型定义 页签下,单击 编辑草稿。
- 在模块列表选择需要添加功能的模块,默认为默认模块。
- 添加标准功能。
如果您在创建产品时选择了标准品类,则物联网平台已为该品类预定义了必选的标准功能。
- 单击 添加标准功能,在弹框中选择所属标准品类包含的可选功能。
- 单击 确定。
- (可选)您可单击功能对应 操作 列的 编辑,修改标准功能定义。
说明
不支持修改标准功能的 功能类型、标识符 和 数据类型。
- 添加自定义功能。
选择 添加自定义功能。您可以为产品自定义属性、服务和事件。
自定义属性:在 添加功能 对话框中,选择功能类型为 属性,参考下表说明完成参数设置,并单击 确定。
配置项 | 说明 |
---|
属性名称 | 属性的名称,例如:温度。同一产品下功能名称不能重复。
支持汉字、英文字母、数字、下划线(_)、中划线(-)、at(@)和英文圆括号(()),长度为 1~32 个字符。 |
标识符 | 属性唯一标识符,在产品中具有唯一性,作为设备上报该属性数据的 Key。云端会根据该标识符校验是否接收数据。
支持英文字母、数字和下划线(_),长度限制 1~32 个字符。 |
读写类型 | - 读:请求只读的方法仅支持 GET(获取)。
- 读写:请求读写的方法支持 GET(获取)和 SET(设置)。
|
描述 | 输入文字,对该功能进行说明或备注。 |
数据类型 | 详细说明请参见数据类型说明。 |
自定义服务:在 添加功能 对话框中,选择功能类型为 服务,参考下表说明完成参数设置,并单击 确定。
配置项 | 说明 |
---|
服务名称 | 服务的名称。
支持汉字、英文字母、数字、下划线(_)、中划线(-)、at(@)和英文圆括号(()),长度为 1~32 个字符。 |
标识符 | 服务唯一标识符,在产品下具有唯一性。
支持英文大小写字母、数字和下划线(_),长度限制 1~32 个字符。 |
调用类型 | - 异步:服务为异步调用时,云端执行调用后直接返回结果,不会等待设备的回复消息。
- 同步:服务为同步调用时,云端会等待设备回复;若设备没有回复,则调用超时。
|
描述 | 输入文字,对该服务功能进行说明或备注。 |
输入参数 | 设置该服务的入参,可选。
单击 添加参数,添加自定义的服务入参: - 名称:设置输入参数名称。
- 标识符:设置输入参数标识符。
- 是否可选:服务调用时若缺少必选参数,则物模型数据校验不通过。
- 数据类型:详细说明请参见数据类型说明。
|
输出参数 | 设置该服务的出参,可选。
单击 添加参数,添加自定义的服务出参: - 名称:设置输出参数名称。
- 标识符:设置输出参数标识符。
- 是否可选:服务调用时若缺少必选参数,则物模型数据校验不通过。
- 数据类型:详细说明请参见数据类型说明。
|
自定义事件:在 添加功能 对话框中,选择功能类型为 事件,参考下表说明完成参数设置,并单击 确定。
配置项 | 说明 |
---|
事件名称 | 事件的名称。
支持汉字、英文字母、数字、下划线(_)、中划线(-)、at(@)和英文圆括号(()),长度为 1~32 个字符。 |
标识符 | 事件唯一标识符,在产品下具有唯一性。作为设备上报该事件数据的 Key。
支持英文大小写字母、数字和下划线(_),长度为 1~32 个字符。 |
事件类型 | 您可以针对不同的事件类型进行业务逻辑处理和统计分析。 - 信息:指设备上报的一般性通知,例如:完成某项任务。
- 报警:设备运行过程中主动上报的突发或异常情况,告警类信息,优先级高。
- 故障:设备运行过程中主动上报的突发或异常情况,故障类信息,优先级高。
|
描述 | 输入文字,对该事件功能进行说明或备注。 |
输出参数 | 该事件的出参。
单击 添加参数,添加自定义的服务出参: - 参数名称:设置输出参数名称。
- 标识符:设置输出参数标识符。
- 是否可选:服务调用时若缺少必选参数,则物模型数据校验不通过。
- 数据类型:详细说明请参见数据类型说明。
|
数据类型说明
- int:32 位整型。需定义取值范围、步长和单位。
- float:单精度浮点型。需定义取值范围、步长和单位。
- double:双精度浮点型。需定义取值范围、步长和单位。
- enum:枚举型。定义枚举项的参数值和参数描述,例如:1 表示加热模式、2 表示制冷模式。
- bool:布尔型。采用0或1来定义布尔值,例如:0 表示关、1 表示开。
- text:字符串。需定义字符串的数据长度,最长支持 10240 字节。
说明
亚太东南(柔佛)实例产品物模型的属性、事件、服务中 text 类型最长支持 512KB。
- date:时间戳。格式为 Number 类型的 UTC 时间戳,单位:毫秒。
- struct:JSON 对象。定义一个 JSON 结构体,新增 JSON 参数项,例如:定义灯的颜色是由 Red、Green、Blue 三个参数组成的结构体。不支持结构体嵌套。
- array:数组。需声明数组内的元素类型、数组元素个数。元素类型可选择 int32、float、double、text 或 struct,需确保同一个数组元素类型相同。元素个数,限制 1~512 个。
发布物模型
物模型分为草稿态(可以编辑)和线上态(当前版本功能),发布物模型会将最新的草稿态物模型变更到线上态。物模型发布后,才会正式生效。
在 物模型定义 页签下,确认当前物模型为草稿态,单击 版本发布 按钮。
在 版本发布 弹框中,完成以下配置,并单击 确定。
配置项 | 说明 |
---|
版本号 | 设置当前物模型版本号。后期可根据版本号管理物模型。
版本号格式为x.x.x.x ,x 的范围为 0-10000。 |
版本描述 | 描述当前版本物模型。 |
导出物模型
物模型发布后,物联网平台为该产品生成正式版本的物模型。在产品详情页面的 物模型定义 页签下,您可以单击 导出物模型:
- 查看 JSON 格式的物模型 TSL,根据 TSL 组装上报设备的数据。
- 您可以导出完整物模型,用于云端应用开发。
- 您也可以只导出精简物模型,配合设备端 SDK 实现设备开发。