使用场景


本文举例介绍设备数据集成服务的使用场景:


SCADA 设备历史数据采集


SCADA 系统中的数据作为 CSV 文件上传到 SFTP 服务器。这些设备数据需要每分钟下载一次,然后转换到 EnOS 标准设备格式测点,集成到 EnOS Cloud。


../_images/scenario_scada.png


  1. Timer 节点每分钟触发一次集成任务流。
  2. Task Manager 节点管理任务状态,并保留失败任务,以供下一个触发器使用。
  3. SFTP Client 节点下载并备份 CSV 文件。
  4. CSV 节点将 CSV 文件解析为 JSON 格式,并逐行进行处理。
  5. Switch 节点通过 case 将不同设备类型的数据分散到不同下游节点。
  6. Script 节点通过 JavaScript 将设备测点转换为 EnOS 标准测点格式并集成数据。
  7. Lookup Asset 节点根据设备测点数据查找资产 ID。
  8. Upload Measurement Pt. 节点上传设备测点信息到 EnOS Cloud。

第三方系统的设备数据集成


场站实时监控数据已经接入第三方系统或平台,可通过设备数据集成服务,通过集成流启用 MQTT、HTTP 或 Kafka 服务器,实时接收和处理来自第三方系统的设备测点数据,定时将测点数据集成到 EnOS Cloud,转换为标准测点格式并上传测点信息,用于 EnOS 其他应用进一步处理。下图以 HTTP 服务器为例。


../_images/scenario_3rd_integration.png


  1. Inject 节点每 15 分钟触发一次集成流。
  2. HTTP Client 节点基于鉴权向第三方 HTTP 服务器发起请求,根据实际场景配置 Headers 和 Body,获取数据。
  3. Script 节点校验输入的 msg,并将数据转换为 JSON 格式。
  4. Script 节点通过 JavaScript 转换为 EnOS 标准测点格式集成数据。
  5. Upload Measurement Pt. 节点实时上传设备的测点到 EnOS Cloud。

将数据转发到第三方系统


调用 EnOS API,根据第三方系统的接口要求,将 EnOS 数据转发到第三方系统。下面以 Azure IoT Hub 为例。


../_images/scenario_3rd_transmission.png


  1. HTTP Client 节点输入来自 HTTP 服务器的数据。
  2. Lookup Asset 节点根据 device Key 查找设备,输出设备的资产 ID。
  3. Multicast 节点将输入数据转发到多个下游节点。
  4. Update Device Status 节点根据资产 ID,更新设备状态至“在线”。
  5. Upload Measurement Pt. 节点实时上传设备的测点到 EnOS Cloud。
  6. Azure IoT Hub 节点将测点数据上传到 Azure IoT Hub。
  7. Kafka Pub 节点将数据发布到 Kafka 服务器的指定 Topic。

设备指令集成


窄频物联网设备通过第三方云与 EnOS 集成后,在应用对设备下发控制指令,以及设备向应用上报执行状态时,可通过设备数据集成服务进行上行/下行的集成。


../_images/scenario_command.png


下发应用指令


  1. Command 节点接收应用下发的设备控制指令。
  2. Script 节点将指令转换到目标格式。
  3. MQTT Pub 节点向设备发送指令。MQTT 可使用 QoS 1 级别的可靠传输,如果消息接收异常,将重复发送消息。

上送指令状态


  1. MQTT Server 节点接收设备执行状态。
  2. Script 节点将状态消息转换到目标格式。
  3. Respond Command 节点上报执行状态并更新指令。