名词解释
以下对产品/设备管理中所用到的名词进行解释,以便在文档中达成统一。
物模型
作为一类设备的抽象,描述了设备的:
属性(property):用于描述设备状态,支持读取和写入;
方法(method):设备可被外部调用的能力或方法,可设置输入和输出参数,相比与属性,方法可通过一条指令实现更复杂的业务逻辑;
事件(event):用于描述设备主动上报的事件,可包含多个输出参数,参数必须是某个“属性”。
产品模型
特指从现实环境下的某个设备或系统,抽象出的设备(系统)的数字模型,包含属性,事件和服务三个要素。如某工厂的某个特定型号的设备,应对应一个产品模型。如型号为WY-0689的智能电表。
设备实例
相对于产品模型,设备实例是某产品模型的实物体现。即存在于工业现场的具体实体设备,如一个固定型号的空压机,水泵,电机。它应该具备有产品模型描述的所有属性,事件和服务。
设备属性
对设备指标,状态的抽象,分为固化属性和动态属性。固化属性包括设备固有的名称,描述,尺寸等一经安装则不会发生太大变化的属性。动态属性指设备运行过程中会不断变化的属性,如温度,转速,故障状态。设备属性通常由设备上报至平台。
设备事件
对设备状态改变,特殊操作发生的一个抽象。如开机,关机,故障停机。通常由设备向平台上报。
设备功能
特指设备可以提供给外界调用的能力,用以改变设备或设备控制的其他设备的状态。如设置转速,设置报警温度等。功能由平台发起调用,由设备执行。
非结构化数据
非结构化数据是数据结构不规则或不完整,没有预定义的数据模型,不方便用数据库二维逻辑表来表现的数据。在本文档中特指文件类数据。
归档存储
在用户同意且支付相应费用的前提下,把用户云端数据转移到更加经济的存储资源中进行长期存储。
三元组
在用户申请新设备实例时由平台产生,包括Product key,Device Name,Device secret。这三个字符序列。每个接入平台的设备都必须具备三元组,平台通过特有的鉴权算法,以确保设备的唯一性。
元数据
元数据包括协议(Protocol)、产品(Product)及设备(Device):
- 协议对应了一个特定协议的描述信息;
- 产品对应了一个特定产品的描述信息;
- 设备对应了一个特定设备的描述信息。
设备驱动服务
负责一种特定设备协议的接入实现,主要功能包括:
- 协议注册:将当前设备协议注册到设备管理服务;
- 设备初始化:从设备管理服务获取产品 & 设备元数据,加载设备驱动;
- 元数据监听:监听设备管理服务产品 & 设备元数据的变更,加载/卸载/重加载驱动;
- 设备属性读写:从真实设备或驱动缓存中读取产品定义的属性数据;
- 设备方法调用:调用设备支持的方法;
- 设备事件监听:将设备主动推送的数据转发到 MessageBus 中;
- 设备状态检查:检查真实设备的健康状态,并周期性推送到 MessageBus 中;
- 设备驱动服务状态检查:检查设备驱动服务的健康状态,并周期性推送到 MessageBus 中。
###Topic 约定
因为系统基于 MQTT 实现数据交换,所以我们基于 MQTT 的 Topic & Payload 概念定义了我们自己的数据格式及通信规范。
影子设备
设备影子(Device Shadow)是设备在云端的虚拟映射(可以理解为一个json文档)。它充当了设备状态的虚拟表示或“影子”,并能在设备离线或断网时保存设备的最后已知状态。
直连设备
具有IP地址,可直接连接物联网平台,且不能挂载子设备,但可作为子设备挂载到网关设备下。
网关设备
可以挂载子设备的直连设备,下文简称网关。网关具有子设备管理模块,可以维持子设备的拓扑关系,将与子设备的拓扑关系同步到云端。
网关子设备
不直接连接物联网平台,而是作为网关的子设备,由网关代理连接物联网平台
上行通信:
- 指物联网设备向物联网平台发送数据的过程。
- 在该过程中,设备使用一定的通信协议(如MQTT、CoAP等)与物联网平台建立起连接,并通过该连接将设备采集到的数据或者状态信息等传输到物联网平台。
- 具体来说,设备会将采集到的数据打包成消息的形式,然后使用预先定义好的Topic和Payload发布到物联网平台,物联网平台再根据不同的Topic对这些消息进行分发和处理。同时,在物联网平台的支持下,设备还可以进行OTA(远程升级)等操作,以便实现远程管理和维护
下行通信:
- 通过平台端的下发指令接口,将平台端的指令下发到设备端。实现对设备的控制
SagooMQTT 协议
SagooMQTT 协议
为sagoo
平台默认的消息协议,详细内容参见Sagoo Mqtt协议介绍