虚拟设备的插件要求
wa-core核心插件支持使用加载的插件创建虚拟设备。虚拟设备包含基于OCF规范的归一化数据模型,可以支持数据自动采集,数据推送,数据过滤,数据流引擎等功能。虚拟设备还可以使用webconsole提供的配置界面,如数据采集开关和频率等。
虚拟设备工作原理
如下图中:
- 用户通过webconsole使用modbus插件配置了虚拟设备,配置文件包含了设备的IP地址,资源(数据点位)等信息。
- 用户还通过webconsole配置虚拟设备的数据采集,如哪些资源打开采集,采集频率等
wa-core插件加载虚拟设备的配置文件,维护虚拟设备资源 目录wa-core插件的数据采集引擎根据配置对被配置所有的数据点进行周期采集,并且提供过滤,本地存储,推送以及数据流引擎的服务

系统插件wa-core
系统插件“wa-core”使用UDP/CoAP端口对外提供微服务转发机制
虚拟设备对插件的要求
一个插件需要支持以下要求,才能被用来创建虚拟设备:
-
插件安装包提供清单文件(plugin.manifest)文件。
-
plugin.manifest中定义
device_use.support字段为true
"device_use": {
"support": true,
- 插件支持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类型为主