服务名称

文档链接

设备服务,是Fox-Edge中的系统级服务,它作用是负责将对南向设备的通讯报文,提供了一个通讯报文的编码/解码的框架。

开发者使用 Java 或者 Javascript 为南向 智能设备 进行 解码器 的代码开发后,可被该服务引擎加载并管理起来。

那么,该服务在运行期间,将对来自 上层服务 对南向设备的操作请求,自动选择相应型号的解码器代码,进行设备通讯报文的 自动编码 , 并经过 Redis 消息队列的 Topic 发送给对应的 通道服务,发送给南向的智能设备。

同时,南向设备经过通道服务返回的数据报文,也会通过经过 Redis 消息队列的 Topic 发送给设备服务。 设备服务,根据 设备-通道 绑定关系,自动选择对应的解码器进行通讯报文的 自动解码 ,得到可用的 设备数据 , 并分发给对应的上层服务。

它主要是提供了一个完整的 设备驱动引擎 ,减少了开发者们对接南向智能设备时的心智负担。让开发者们,只需要专注的为智能设备编写通讯协议解码器, 即可实现通过Fox-Edge对南向智能设备的自动化管理。

它是一个关键性的基础服务,被定义为 系统 级别。

服务安装

在组件仓库中,选择device-service组件进行下载和安装,同时下载安装必要的 静态解码器动态解码器动态模板

静态解码器

静态解码器,是JAVA开发的JAR解码器,它在开发完成之后,被开发者上传到云端仓库,供大家下载安装使用。

注意:这些静态代码的特性,下载安装或者更新之后,必须重启设备服务。

动态解码器

动态解码器,是JavaScript开发的JS解码器,它在开发完成之后,被开发者上传到云端仓库,供大家下载安装使用。

它具有动态的特性,不需要重启设备服务。

动态模板

动态模板,是Json格式的文档配置,它在开发完成之后,被开发者上传到云端仓库,供大家下载安装使用。

它主要是配合某些支持模板化配置的设备解码器,例如,ModBus、DLT645、S7这些设备

它具有动态的特性,不需要重启设备服务。

全局配置

日志配置

在Fox-Edge之中安装设备服务之后,会自动生成 服务名称:device-service 和配置名称:serverConfig 的默认系统参数,作为该服务的工作参数。

该参数主要是指明,是否需要对某个设备进行后台日志的报文打印,帮助开发者和工程人员,了解设备服务是否发送/接收到该设备的报文。 方便在现场进行快速的问题定位。

{
     "logger": true,
     "deviceName": "范例(ModBus):正泰三相电表DT-SU666"
}
配置说明:记录某个设备的通信日志
{
     "logger": true, -----------------------------------是否记录后台日志
     "deviceName": "范例:TCL柜式空调(KPRd)"------------指定的设备名称
}

加载配置

在Fox-Edge之中安装设备服务之后,会自动生成 服务名称:device-service 和配置名称:decoderConfig 的默认系统参数,作为该服务的工作参数。

该参数主要是指明,是否哪些JAR解码器需要被设备服务启动加载。

{
     "list": [
          {
               "fileName": "fox-edge-server-protocol-haiwu-air-v100.jar",
               "load": true,
               "createTime": 1717496884837,
               "updateTime": 1717496884837
          },
          {
               "fileName": "fox-edge-server-protocol-haiwu-air-v200.jar",
               "load": true,
               "createTime": 1717496672063,
               "updateTime": 1717496672063
          }
     ]
}
{
     "list": [
          {
               "fileName": "fox-edge-server-protocol-haiwu-air-v100.jar",-------解码器JAR包的文件名称
               "load": true,----------------------------------------------------是否启用该解码器
               "createTime": 1717496884837,-------------------------------------配置项的创建时间,
               "updateTime": 1717496884837--------------------------------------配置项的修改时间,
          },
          {
               "fileName": "fox-edge-server-protocol-haiwu-air-v200.jar",
               "load": true,
               "createTime": 1717496672063,
               "updateTime": 1717496672063
          }
     ]
}

设备配置

在安装通道服务和设备解码器之后,设备服务会提取解码器的 设备厂商设备型号 信息,并通告给管理服务。 此时,设备管理页面,就会出现该解码器提供的设备信息,允许用户添加设备到Fox-Edge中,进行自动化的管理。

其中,设备的配置参数,采用的是 JSON格式 ,具体的JSON格式,是由解码器所指定的,此时你需要去了解自己选择的解码器的参数格式要求。

Fox-Edge对设备进行通讯操作的时候,会根据这些配置信息,选择对应的解码器和JSON配置参数进行编码/解码,并将报文发送给对应的通道服务。

MODBUS的设备解码器,它指明了必须填写devAddr/modelName/modbusMode参数,那么按该解码器的要求,填入指定的参数

{
     "devAddr": 50,
     "modelName": "正泰集团股份有限公司|三相电表(DT-SU666)|寄存器定义表",
     "modbusMode": "RTU"
}

设备数据

如果安装了 控制器服务持久化服务 ,那么设备编码/解码后得到的设备数据,可用在 设备数值 页面,设备记录 页面中查看到

注意事项:

  1. 修改完成 JAR加载配置 后,重启设备服务才能生效

  2. JAR加载配置 已经提供了另一个管理界面,进行可视化管理,不需要在系统参数中进行修改

3、解码器安装和升级后,需要进行重启设备服务,才能生效