1.4.2.1.2 Step2. 功能定义

优质
小牛编辑
137浏览
2023-12-01

Step2. 功能定义

更新时间:2018-03-14 17:20:18

概述

物联网将物理世界的万物接入网络并通过整合各类服务实现智能化,“物”(Things)作为整个网络中的基础节点和商业触手,既是环境信息的采集者,也是智能服务的提供者和承载者。因此,我们首先需要对物联网中的“物”能做什么,能提供什么样的服务进行描述,这就需要开发者从产品层面进行功能建模,定义物的“属性”(Property)、“服务”(Service)和“事件”(Event)。通过功能建模将各类设备统一抽象为云端的资源,并对外暴露相应的接口,以满足不同场景下不同系统的调用和快速集成。

如何理解物模型
物模型是对设备是什么,能做什么的描述,包括设备身份标识、连接状态、描述信息,以及设备的属性、服务、事件,后三者构成了设备的功能定义。Link Develop通过定义一种物的描述语言来描述物模型,称之为 TSL(即 Thing Specification Language)。

物模型包括属性、服务和事件,构成了平台中设备的功能:

image | center

属性Property一般用于描述设备运行时的状态,如环境监测设备所读取的当前环境温度等。属性支持get和set,应用系统可发起对属性的读取和设置请求。
服务Service设备可被外部调用的能力或方法,包含输入参数和输出参数,相比于下发指令设置属性值,服务可通过一条指令实现更复杂的业务逻辑,如执行某项特定的任务;
事件Event设备运行时的事件,相比于属性状态,事件一般而言包含设备需要被外部感知和处理的通知信息,可包含多个输出参数,如某项任务完成的信息或者设备发生故障/告警时的温度等,事件可以被订阅和推送。

Link Develop中已经按照不同的领域和行业分类,定义了标准品类的物模型,创建产品时系统已根据您选择的“所属分类”自动创建了该产品的标准功能,您可以直接使用并开始设备的固件开发工作,也可以根据实际需要添加自定义的功能。功能定义完成后,平台将自动生成 JSON 格式的 TSL,您可以结合 Alink 协议组装上报设备的数据。

标准功能

标准功能列表
在产品的详情页面,默认显示“功能定义”标签页,系统已经自动为您创建了该类型产品必选的标准功能,您可以点击“编辑”对标准功能的相关参数进行修改,或者点击“新增”查看该类设备的可选功能。

image.png | center | 830x461

必选功能 VS 可选功能

  • 必选功能是产品所属品类的最小功能集合,代表了该品类设备必不可少的功能,您可以根据需要进行相应的调整和编辑,例如一款环境监测盒子,具有“温度”、“湿度”等必备功能,必选功能不可删除;

  • 可选功能是产品所属品类的推荐功能集合,即每个厂商对于相同类型的设备的功能存在差异,系统将为您自动推荐适合该品类设备的相关功能,例如部分环境监测盒子,具有“地理位置”的可选功能,您可以直接选择——编辑——完成创建,可选功能可以删除;

新增标准功能
点击标准功能列表上的“新增”按钮,弹窗将显示系统推荐的该产品的可选功能,您可以按照需要直接选择,点击“确定”后列表中将出现该可选功能。

image.png | center | 830x466

选择其他类型的标准功能
如果您正在创建的是一款创新型产品,功能上可能是多种类型的组态,您可以点击“其他类型”,从标准功能库中搜索适合的功能直接选择添加。例如一款环境监测设备同时可监测植物的生长状态,您可以在“其他类型”中搜索“植物生长”,添加相应的功能。

image.png | center | 830x464

编辑标准功能
标准功能已经为您提供了该功能的默认参数,您可以根据需要进行调整,在列表中选择要调整的标准功能,点击“编辑”按钮,在弹窗中编辑参数项。请注意,您无法修改标准功能的类型、标识符、数据类型和读写类型等默认字段。

image.png | center | 830x458

自定义功能

如果标准功能无法满足您的需求,您也可以根据实际需要,添加自定义功能。点击列表上方的“新增”按钮,在弹窗中创建产品的自定义功能,支持分别创建属性、服务和事件。

添加自定义属性
自定义属性的数据类型包括:整型、浮点、枚举、布尔、字符串、时间型(string类型的UTC格式)、JSON对象(结构体)。

image.png | center | 830x463

添加自定义服务
服务支持添加入参和出参,点击“新增输入参数”,在弹窗中添加服务的输入/输出参数,您可以选择将产品下的某个属性直接作为参数,也可以完全自定义一个新的参数。

image.png | center | 830x454

请注意,单个服务最多可分别添加10个入参或10个出参。

image.png | center | 830x459

添加自定义事件
事件分为三种类型:“信息”、“告警”和“故障”,“信息”是设备上报的一般性通知,如完成某项任务等,“告警”和“故障”是设备运行过程中主动上报的突发或异常情况,优先级更高。事件由设备主动上报,设备可以携带该事件的相关参数进行输出,如设备上报了一个“过热”的告警事件,并携带了设备的当前温度。

image.png | center | 830x464

添加事件的输出参数时可以选择将当前已有的属性直接作为参数上报,也可以完全自定义各一个参数。请注意,单个事件最多可以添加10个输出参数。

image | center

删除自定义功能
选择要删除的自定义功能,点击列表操作项中的“删除”按钮,弹窗确认后即可删除该自定义功能。请注意,自定义功能删除后将无法恢复,请谨慎操作。

image.png | center | 830x466

自动生成物模型 TSL

产品功能创建完成后,系统会自动为该产品的物模型描述文档,即 TSL,采用 JSON 格式,您可以点击功能列表上方的“查看JSON”按钮进行查看该产品的 TSL。TSL 中将包含标准功能和自定义功能在内的所有描述信息。

image.png | center | 830x467

点击开发资源文档,查看TSL定义章节 IoT-TSL。