Shifu框架
  • 欢迎
  • Shifu基本架构
    • 当前兼容的设备协议和驱动
    • 当前用户可用的协议
  • 快速上手:安装
  • 快速上手:DeviceShifu
  • 快速上手: 接入一个PLC
  • 快速上手: 添加新驱动
  • Shifu相关文章
Powered by GitBook
On this page
  • EdgeDevice
  • DeviceShifu
  • Shifu Utils
  • MQTT Broker
  • RTSP Client
  • Siemens S7 Suite
  • HTTP to SSH driver stub

Shifu基本架构

Previous欢迎Next当前兼容的设备协议和驱动

Last updated 3 years ago

Shifu是一个Kubernetes原生的平台,它的所有组件都以Pod的形式运行。下图是Shifu架构的概览:

EdgeDevice

Shifu定义了一个CRD EdgeDevice,它描述了一个连接到Shifu的实际设备的各项信息。

每一个EdgeDevice拥有两个部分: EdgeDeviceSpec 和 EdgeDeviceStatus. 在EdgeDeviceStatus当中,最主要的部分是EdgeDevicePhase.

EdgeDeviceSpec包含了设备的基本信息。它拥有四个元素:

Sku        *string     # 设备的SKU名称

Connection *Connection # 硬件连接方式 (例:以太网, 4G等)

Address    *string     # 硬件地址

Protocol   *Protocol   # 传输协议

EdgeDevicePhase定义了设备的当前状态:

Pending     # 设备已被识别,但接入Shifu尚未完成

Running     # 设备已成功接入Shifu并正在运行

Failed      # 设备接入Shifu失败

Unknown     # 未知状态

DeviceShifu

EdgeDevice定义了名为DeviceShifu的Kubernetes Pod. DeviceShifu是一个实际设备的数字化表示,或数字孪生。

每一个DeviceShifu都与一个实际设备相关联。用户与DeviceShifu进行交互,就可以实现与实际设备的交互。

南向 - DeviceShifu接收用户的请求,对请求进行转换并发送到设备。 北向 - DeviceShifu收集设备数据,进行转换并发送给用户端。

Shifu Utils

Shifu在持续加入新的工具类服务来保证不同协议和驱动的兼容。

MQTT Broker

MQTT Broker被用来帮助MQTT信息的订阅和发布。当前,Shifu使用了Mosquitto来实现兼容。

RTSP Client

RTSP Client保证了流媒体信息的传输。

Siemens S7 Suite

Siemens S7 Suite支持了西门子S7系列PLC的操作。当前,Shifu使用了Snap7来实现兼容。

HTTP to SSH driver stub

HTTP to SSH driver stub使得Shifu可以允许用户任意添加新的命令行驱动。 参见快速上手:添加新的命令行驱动。

Overall_Architecture