分享|EdgeX Device Service 设备服务是什么?
EdgeX Device Service 设备服务概述文章。

EdgeX Device Service 设备服务概述文章。

EdgeX Foundry 在下面将统一简称为 EdgeX

  • 设备服务概述
  • 设备服务抽象
  • 设备服务与消息总线
  • 设备服务功能性描述

设备服务概述

图像

设备服务层与设备服务交互。

设备服务是与设备交互的边缘连接器,包括但不限于:家用电器、警报系统、暖通空调(HVAC)设备、照明、任何行业的机器、灌溉系统、无人机、交通信号、交通、自动化运输系统等等。

  • 数据获取 - EdgeX 设备服务通过数百种协议数千种格式转换来自设备的信息,并将其引入 EdgeX。换句话说,设备服务摄取“事物”提供的传感器数据。当它获取传感器数据时,设备服务将“物体”产生和通信的数据转换为通用的 EdgeX Foundry 数据结构,并将转换后的数据发送到核心服务层,以及 EdgeX 其他层中的其他微服务。

  • 命令下发 - 设备服务还接收并处理返回设备的任何驱动请求。设备服务从 EdgeX 获取通用命令来执行某种操作,并将其转换为特定于协议的请求,并将该请求转发到所需的设备。

设备服务是 EdgeX 与传感器/设备交互的主要方式。因此,除了获取传感器数据和驱动设备之外,设备服务还:

  • 从设备/传感器获取状态更新
  • 在将传感器数据发送到 EdgeX 之前转换数据
  • 更改配置
  • 发现设备(适用于特定的通信协议

设备服务可以同时为一台或多台设备提供服务,甚至可以是为成千上万台设备服务。

设备服务管理的设备可能不是简单的、单一的物理设备。该设备可以是边缘/IoT 网关(以及该网关的所有设备)、设备管理器、传感器集线器、网络通过 HTTP 提供的服务,或者充当 EdgeX Foundry 设备或设备集合的软件传感器。

图像

设备服务通过每个设备对象本机的协议与设备进行通信。 EdgeX 附带多种设备服务,支持多种常见 IoT 协议,例如 Modbus、BACnet、BLE、S7、OPCUA 等。当您遇到新协议并需要 EdgeX 与新设备通信时,EdgeX 还提供了通过设备服务软件开发套件 (SDK) ,以便创建新设备服务的方法,俗称:二次开发或协议扩展。

设备服务抽象

设备服务实际上只是围绕设备以及任何相关固件、软件和协议栈的软件抽象。它允许 EdgeX 的其余部分(以及 EdgeX 的用户)通过抽象 API 与设备通信,以便从您与设备通信的方式来看,所有设备看起来都是一样的。在幕后,设备服务的实现具有一些共同的元素,但也可能根据底层设备、协议和关联软件的不同而有很大差异。

图像

设备服务提供 EdgeX 其余部分与物理设备之间的抽象。换句话说,设备服务“包装/包裹”了协议通信代码、设备驱动程序/固件和实际设备。

EdgeX 中的每个设备服务都是一个独立的微服务。设备服务通常使用设备服务 SDK 创建。 SDK 实际上只是一个库,提供所有设备服务所需的通用脚手架代码和便捷方法。虽然严格意义上说 SDK 不是必需的,但 EdgeX 社区使用 SDK 作为社区提供的所有设备服务的基础。SDK 允许开发人员专注于设备特定的通信、功能等,而不必编写大量 EdgeX 服务样板代码,从而使创建设备服务变得更加容易。使用 SDK 还有助于确保设备服务遵守设备服务所需的规则。

除非您需要创建新的设备服务或修改现有的设备服务,否则您可能永远不需要深入了解设备服务的工作原理,这项技能 并不是使用 EdgeX 的必要条件。然而,对设备服务的用途和工作方式有一定的了解有助于定制、设置配置和诊断问题。

发布到消息总线

设备服务现在能够将事件直接发布到 EdgeX MessageBus,而不是通过 REST 将事件发布到 Core Data。此功能由 Device.UseMessageBus 配置属性(见下文)控制,默认设置为 true。 Core Data 默认配置为订阅 EdgeX MessageBus 以接收并保存事件。应用程序服务(如 EdgeX 1.x 中那样)订阅 EdgeX MessageBus 以接收和处理事件。

EdgeX 3.0

成功执行 PUT 命令后,只要资源不是只写的,设备服务还将向 EdgeX MessageBus 发布带有更新资源值的事件。

设备服务功能性

功能性清单

所有设备服务必须执行以下任务:

  • 注册核心元数据 – 从而让所有 EdgeX 知道它正在运行并准备好管理设备。对于现有设备服务,设备服务将更新其元数据注册并获取任何新信息。
  • 从 EdgeX 的配置服务获取其配置设置(如果未使用配置服务,则从本地配置文件获取)。
  • 使用 EdgeX 注册表服务(运行时)向自身注册一个运行 EdgeX 的微服务,从而允许其他 EdgeX 服务与其通信。
  • 装载并管理它知道如何通信的物理设备。此过程称为设备配置(Device Profile)。在某些情况下,设备服务可能具有自动检测和配置设备的方法。例如,Onvif 设备服务可以在其范围内执行摄像机发现的自动化,然后将该设备提供给 EdgeX 和关联的 Onvif 设备服务。
  • 更新并通知 EdgeX 它所管理的设备的运行状态(即设备是否仍在运行并能够通信)。
  • 监视配置更改并在适用的情况下应用新配置。请注意,在某些情况下,配置更改无法动态应用(例如:更改设备服务的操作端口)。
  • 获取传感器数据(即读取传感器数据)并通过 MessageBus 将该数据传递到 EdgeX 的其余部分(核心数据、应用程序服务等)。
  • 接收基于 REST 或 MessageBus 的驱动命令并做出反应。

正如您可以想象的那样,其中许多任务(例如注册核心元数据)都是通用的,并且对于所有设备服务都是相同的,因此由 SDK 提供。其他任务(例如从底层设备获取传感器数据)非常特定于底层设备协议。在这些情况下,设备服务 SDK 提供空函数来执行工作,但开发人员需要编写与特定设备协议相关的函数代码。

设备服务功能需求

本博客文档中提供了设备服务的要求。这些要求用于定义需要通过任何设备服务 SDK 提供哪些功能来生成设备服务脚手架代码。它们还可以帮助读者进一步了解设备服务的职责和作用。后续将一一介绍。

关于我们

亿琪软件

上海亿琪软件有限公司成立于 2016 年,专注于 5G 通信、AI 人工智能、边缘计算和大数据网络安全多项技术领域,致力于物联网领域前沿技术的创新,为用户提供全方位、智能化和安全的物联网解决方案。

2023 年,公司发布“YiFUSION |工业边缘智能融合一体机”产品,为工业客户提供一整套的边缘计算+AI 能力:高性能数据采集、多类型数据融合、AI 算法集成、云端业务对接。在边缘网关的基础上,集成了 IoT 平台的边缘协同能力、本地 Web SCADA 和 HMI 功能、本地数据存储、边缘 AI 视频分析、行业应用集成等。

2022 年,公司推出 “YiCLOUD |亿琪云”一站式物联网应用解决方案。公司的业务涵盖了智慧城市、智慧农业、智能工厂和智慧园区等多个领域,公司软硬件产品和解决方案获得华为技术认证,得到中国移动 OCP 认证,公司还是边缘计算产业联盟 ECC 成员。

关注我们

公司公众号爱好者公众号
yiqisoftedgexfoundry

联系我们--商业服务

  • 网站:http://yiqisoft.cn
  • 邮件:support@yiqisoft.cn
  • 电话:021-68863086
  • 手机:186-1666-9123
文档|EdgeX 设备微服务之 OPC-UA -- device-opcua 完整使用手册
该服务的目的是将 OPC-UA 设备连接到 EdgeX。