设备管理

设备管理

概述

事物是物联网的主要概念,其中设备又是最重要的事物类型。

设备模型

设备功能定义对设备接入非常重要,本系统使用了 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 格式存储在数据库中

image-modal