edgeDevice
EdgeDevice
EdgeDevice 是通过 Kubernetes CRD 创建的自定义资源,代表着一个物理IoT设备的虚拟化数字孪生。
- apiVersion: v1alpha1
- kind: EdgeDevice
- metadata
标准的 Kubernetes ObjectMeta。 - spec (Spec)
描述了一个 EdgeDevice 的规格 - status (EdgeDeviceStatus)
描述了 EdgeDevice 的观察状态
EdgeDeviceSpec
EdgeDeviceSpec 是一个 EdgeDevice的描述。
Sku
表示一个 EdgeDevice 的硬件型号,如 Siemens S7-1200
。
- sku (string) 必填
Connection
表示EdgeDevice 连接到 Shifu 的连接方式。
- connection (Connection) 必填
- Connection (string)
表示连接方式,现在必须是Ethernet
。
- Connection (string)
Address
表示 EdgeDevice 的连接地址,根据不同的协议,格式也有所不同。
- address (string) 必填
Protocol
表示 EdgeDevice 通过连接方式的连接协议。
- protocol (Protocol) 必填
- Protocol (string)
表示连接协议,现在必须是HTTP
,HTTPCommandline
,MQTT
,OPCUA
,Socket
,PLC4X
。
- Protocol (string)
ProtocolSettings
表示 EdgeDevice 连接协议的设置。
- protocolSettings (ProtocolSettings)
- MQTTSetting (MQTTSetting)
- MQTTTopic (string)
表示要订阅的MQTT主题, 如/test/test
。 - MQTTServerAddress (string)
在没有提供Address时则将其设置为Address
- MQTTTopic (string)
- OPCUASetting (OPCUASetting)
- OPCUAEndpoint (string)
表示 OPC UA 的服务器地址,如opc.tcp://192.168.0.1:4840/test/server
。 - SecurityMode (string)
表示 OPC UA 的信息加密模式,现在必须是None
。 - Username (string)
表示 OPC UA 的连接认证用户名,如operator
。 - Password (string)
表示 OPC UA 的连接认证密码,如password
。 - ConnectionTimeoutInMilliseconds (int64)
表示 OPC UA 的请求连接毫秒时长,如1000
。
- OPCUAEndpoint (string)
- SocketSetting (SocketSetting)
- encoding (string)
表示 Socket 连接时的编码,可选值为utf-8
或hex
,默认值为utf-8
。 - NetworkType (string)
表示 Socket 链接时的协议,现在必须是tcp
。 - bufferLength (int)
表示 Socket 传输数据时的缓冲区大小,默认值为 1024。
- encoding (string)
- PLC4XSetting (PLC4XSetting)
- protocol (Plc4xProtocol)
表示 PLC4X 连接PLC设备时的协议。
- protocol (Plc4xProtocol)
- MQTTSetting (MQTTSetting)
Plc4xProtocol(enum)
Plc4xProtocolS7 = "s7"
Plc4xProtocolADS = "ads"
Plc4xProtocolBACnet = "bacnet"
Plc4xProtocolCBus = "cbus"
Plc4xProtocolEip = "eip"
Plc4xProtocolKnx = "knx"
Plc4xProtocolModbusAscii = "modbus-ascii"
Plc4xProtocolModbusRTU = "modbus-rtu"
Plc4xProtocolModbusTcp = "modbus-tcp"
CustomMetadata
表示 EdgeDevice 的附加信息。
- customMetadata (string: string)
表示附加信息,如ChargingTime: 9h
。
EdgeDeviceStatus
表示 EdgeDevice 的状态信息。
EdgeDevicePhase (会自动根据设备遥测进行更新)
表示 EdgeDevice 当前的状态。
- edgedevicephase (EdgeDevicePhase)
- EdgeDevicePhase (string)
表示EdgeDevice 的状态,必须是Pending
,Running
,Failed
或Unknown
。
- EdgeDevicePhase (string)