设备/实体
概述
本章节主要介绍Beaver IoT平台关键对象: 设备、实体。以及如何基于注解、编程式、YAML构建它们。
关键对象
Device
Device
是设备的实例,里面有:
- id
- 所属集成的id
- 名称
- 额外数据: 采用Map结构存储设备的额外信息,如设备的序列号或者生产日期等其它自定义信息
- key:设备key, key规则详见关键编码概念介绍章节
- identifier: 设备identifier, identifier规则详见关键编码概念介绍章节
- 包含的实体
提示
设备在保存后,除了名称和额外数据都不建议再改变其它元数据。
Entity
Entity
是实体的实例,对象内容是实体的元数据(不包含实体的值),包括:
- id
- 设备key: 如果是设备的实体,那么会含有设备的key,规则详见关键编码概念介绍章节
- 集成ID
- 实体名称
- 访问权限: 只对Property类型的实体有意义,只读/只写/读写
- identifier:实体identifier, identifier规则详见关键编码概念介绍章节
- 实体值类型:包括:STRING, LONG, DOUBLE, BOOLEAN, BINARY, OBJECT
- 实体类型: 包括:属性实体, 事件实体, 服务实体
- 实体属性: 实体的属性,如单位, 精度, 最大值, 最小值, 最大长度, 最小长度, 枚举等
- 子实体:实体的子实体,当前最多支持两层关系
- key: 实体key, key规则详见关键编码概念介绍章节
提示
实体在保存后,除了名称和实体属性都不建议再改变其它元数据。
对象构建
本节将会介绍设备和实体的构建方法。
基于注解构建
注解说明
类注解
@IntegrationEntities
:标识当前类为集成实体类@DeviceTemplateEntities
:标识当前类为设备实体模板类name
:设备模板名称
@DeviceEntities
:标识当前类为设备实体类identifier
:设备identifiername
:设备名称additional
:设备额外数据,通过@KeyValue注解声明
@Entities
:标识当前类为子实体类
字段注解
@Entity
:标识当前属性为实体type
:实体类型EntityType
,包括:属性实体, 事件实体, 服务实体name
:实体名称identifier
:实体identifierattributes
:@Attribute
注解声明实体属性,包括如单位, 精度, 最大值, 最小值, 最大长度, 最小长度, 枚举格式等accessMod
:实体访问方式AccessMod
,只对Property类型的实体有意义,包括:只读, 只写, 读写visible
:实体是否对用户可见visible
。部分集成内部管理使用的实体,包括添加和删除设备的服务实体等,不需要对用户可见
@Attribute
:实体属性注解enumClass
:枚举类unit
:单位fractionDigits
:精度max
:最大值min
:最小值maxLength
:最大长度minLength
:最小长度format
:格式