跳到主要内容

虚拟设备的插件要求

wa-core核心插件支持使用加载的插件创建虚拟设备。虚拟设备包含基于OCF规范的归一化数据模型,可以支持数据自动采集,数据推送,数据过滤,数据流引擎等功能。虚拟设备还可以使用webconsole提供的配置界面,如数据采集开关和频率等。

虚拟设备工作原理

如下图中:

  1. 用户通过webconsole使用modbus插件配置了虚拟设备,配置文件包含了设备的IP地址,资源(数据点位)等信息。
  2. 用户还通过webconsole配置虚拟设备的数据采集,如哪些资源打开采集,采集频率等
  3. wa-core插件加载虚拟设备的配置文件,维护虚拟设备资源目录
  4. wa-core插件的数据采集引擎根据配置对被配置所有的数据点进行周期采集,并且提供过滤,本地存储,推送以及数据流引擎的服务

系统插件wa-core

系统插件“wa-core”使用UDP/CoAP端口对外提供微服务转发机制

虚拟设备对插件的要求

一个插件需要支持以下要求,才能被用来创建虚拟设备:

  1. 插件安装包提供清单文件(plugin.manifest)文件。参考:modbus plugin.manifest文件>>

  2. plugin.manifest中定义device_use.support字段为true

"device_use": {
"support": true,
  1. 插件支持tag类型URI:
    • tag表示点位类型资源,用于访问设备的寄存器获取点位。
    • plugin.manifest中定义resource: "category": "TAG"
    • 点位插件的payload格式也需要是以下格式之一:
      • 当查询单个点位,返回数据为TEXT格式,如:1.0
      • 当查询多个连续点位,返回数据为JSON数组,如:[10, 20]

plugin.manifest:

	"resources": [{
"uri": "/mb2",
"category": "TAG",

其他类型有:

  • standard (设备标准):提供基于OCF规范访问某种标准的设备。遵循格式:{协议名}/{设备ID}/{资源ID}
  • device (设备类型): 提供基于OCF规范访问某种特定类型的设备。遵循格式:{设备类型名}/{设备ID}/{资源ID}
  • 不属于以上类别的统称为generic(通用)类别,插件可以任意使用URI
提示

目前开发以tag类型为主