设备管理
设备管理
概述
事物是物联网的主要概念,其中设备又是最重要的事物类型。
设备模型
设备功能定义对设备接入非常重要,本系统使用了 WoT 通用事物描述规范,经过一系列设备功能提取、分组、定义、抽象,最终形成一套标准规范定义。
标准设备模型不能自行添加和修改,必须通过向平台申请来创建和定义新的标准设备模型。
事物描述
系统定义了一些常见的标准的事物的描述,通过标准功能定义可以实现产品的互联互通
具体请参考 事件描述
一文
标准事物
每一种标准事物都有一个唯一的名称,并定义了这种标准事物的通用属性,操作和事件的,当一个产品的类型指定为这个标准事物时,表明这个产品拥有这个事物的相关属性和方法,同时产品也可以定义不同于标准事物的私有方法。这样既保证了产品的通用性,又能满足个性化需求
设备是一个独立的有意义的设备,比如:灯泡、插座、风扇。
- 名称,事物的唯一名称,通常为字母和数字组成
- 标题,事物的显示标题
- 属性,事物的属性
- 操作,事物的操作方法
- 事件,事物的事件
在事物描述中可以通过 @type
属性直接引用
标准属性
标准属性定义了事物包含的一些标准属性
通过标准属性定义统一了一些常用属性的名称,数据类型和单位等
在事物描述中可以通过 @type
属性直接引用
标准操作
有时候,一个有意义的操作需要对多个属性进行读写,可以用操作方法来实现
标准操作定义了事物包含的一些标准操作
通过标准操作定义统一了一些常用操作的名称,输入输出参数类型等
在事物描述中可以通过 @type
属性直接引用
标准事件
简单的事件,用属性的变化来通知用户。复杂的事件,需要用 Event 来表达
标准事件定义了事物包含的一些标准事件
通过标准事件定义统一了一些常用事件的名称,数据类型和单位等
在事物描述中可以通过 @type
属性直接引用
产品管理
平台不能直接创建设备,不同的厂商或平台用户需要先定义相应的产品,规定它需要遵循的标准事物规范,并在此基础上进行细微扩展或调整。
产品管理包含了产品的创建,修改,查询,删除和描述。
产品基本属性
产品主要包含了如下的定义:
ID
产品在云端的唯一 ID,由云端生成的随机字符串编码 (key)
产品的唯一编码,由用户创建并保证唯一名称 (name)
产品的显示名称类型 (type)
产品的标准事物类型, 由平台统一定义,使用平台定义的标准的事物规范模版的名称事物 (schema)
产品遵循的标准事物规范, 一般由平台统一定义属性 (property)
该产品每个设备共有的属性字段, 如温度传感器的温度值以及其单位, 开关的状态操作 (action)
该产品每个设备共有的操作, 如开关设备的开
/关
操作事件 (event)
该产品每个设备共有的事件
密钥 (secret)
该产品每个设备共有的密钥, 所有设备可以事先烧入一样的产品密钥来认证身份, 这样操作比较简单, 但安全性稍差.型号 (model)
仅支持字母或数字,会影响产品编号的生成,产品编号组成为企业编号.产品类型.型号
组成,如wot.switch.sw101
联网方式 (protocol)
选择产品联网的方式, 会影响后期设备的开发和配置
其他信息
制造商
产品图标
固件管理
固件是指固化在硬件设备中的软件,平台支持固件的版本迭代,需要产品具备设备升级(OTA)功能
上传新固件
在平台上传嵌入式程序包,定义固件版本,并关联功能定义版本。
固件上传后只能先用于测试
固件文件包含内容:
- 程序文件
- 数据以及其他资源文件
- 固件描述文件
- 固件版本号
- 固件支持的处理器类型
- 固件支持的操作系统类型
- 固件支持的设备型号
测试固件
在固件正式上线前,需要对固件进行测试。经测试确认后才正式发布
发布固件
正式发布固件,提供给所有设备升级使用
固件正式发布后,会成为该产品的默认最新固件,所有设备执行固件升级操作时,都会下载并安装该固件。
固件升级
固件升级需要用户或管理员操作
- 在管理控制台,管理员可以选择要升级的设备,发送固件升级命令
- 在设备端,用户可以在设备 WEB 控制台或 shell 终端执行升级命令,设备将自动从云端下载和安装最新的固件
设备管理
设备基本属性
在设备接入平台之前需要先在云端创建一个相关的设备.
设备主要包含了如下的定义:
ID
设备的唯一 ID名称
设备的唯一名称密钥
每个设备独有的密钥, 所有设备可以事先烧入这个密钥来认证身份, 这样操作比较复杂, 但安全性非常高.状态
每个设备在平台的状态, 如在线
,离线
, 最后在线时间等影子
每个设备在平台上的镜像
设备分组管理
设备分组用来管理装备(包含多个设备或传感器)
实际应用场景中用户需要管理的通常是一个相对大型的装备,如一台水泵,它就包含了电表,变频器,压力表等多个传感器或控制器,分别单独管理这些设备会非常繁琐。通过对这些设备进行分组管理会更方便管理,也更符合现实中用户使用习惯。
设备事件记录
记录了设备相关的活动记录
数据流
记录了设备向平台上报的数据流数据,数据流一般被存储在时序数据库中
设备事件
记录了设备向平台上报的设备事件
事件数据以 JSON 格式存储在数据库中
操作记录
记录了平台向设备下发的操作请求以及其返回结果
操作参数和结果以 JSON 格式存储在数据库中