跳到主要内容

deviceShifu ConfigMap

apiVersion: apps/v1

import "k8s.io/api/core/v1"

ConfigMap

Shifu 架构下的 ConfigMap 是一个 Kubernetes ConfigMap,它被用来存放 deviceShifu 的配置。

DeviceShifuDriverProperties

DeviceShifuDriverProperties 是指 deviceShifu 的驱动参数。

  • driverSku (string)
    表示驱动所适用的硬件型号,如 Hikvision Camera
  • driverImage (string)
    表示驱动的容器镜像名称,如 driver/hikvision-camera:v1.2.3
  • driverExecution (string)
    表示驱动的执行路径。针对于命令行的驱动,这里需要填写驱动的执行文件的相对/绝对路径,如 python driver.pyC:\driver.exe

DeviceShifuInstructions

DeviceShifuInstructions 是指 deviceShifu 的可以接收并发出的所有指令及设置。

instructions: |
instructions:
get_value: # 想要设置的命令的名称
protocolPropertyList: # 命令的参数,根据不同的协议有不同的配置

DeviceShifuInstruction

DeviceShifuInstruction 是指 deviceShifu 可以接收的命令。

DeviceShifuprotocolPropertyList

DeviceShifuprotocolPropertyList 表示 deviceShifu 命令的参数,根据不同协议具有不同的配置,下面展示MQTT协议和OPC UA协议下的使用,更多示例请参考 examples

  • MQTT
instructions: |
instructions:
get_topicmsg1: # 想要设置的命令的名称
protocolPropertyList:
MQTTTopic: "/test/test1" # MQTTTopic 是这条命令关联的Topic
get_topicmsg2:
protocolPropertyList:
MQTTTopic: "/test/test2"
... # 根据自己的需要可继续配置命令及对应的Topic,只需按照此格式继续添加即可
  • OPC UA
instructions: |
instructions:
get_value: # 想要设置的命令的名称
protocolPropertyList:
OPCUANodeID: "ns=2;i=2" # OPCUANodeID 是这条命令关联的NodeID
get_time:
protocolPropertyList:
OPCUANodeID: "i=2258"
... # 根据自己的需要可继续配置命令及对应的NodeID,只需按照此格式继续添加即可

DeviceShifuInstructionSettings

DeviceShifuInstructionSettings 是指 deviceShifu 中的 Instruction 的相关的设置。

  • defaultTimeoutSeconds (int)
    表示所有Instruction的默认超时时间(秒)。如未设置,默认值为3秒

DeviceShifuTelemetries

DeviceShifuTelemetries 是指 deviceShifu 用来检测物联网设备的一个或多个命令。

DeviceShifuTelemetrySettings

DeviceShifuTelemetrySettings 是指与 deviceShifu 监测相关的设置。

  • defaultPushToServer (bool)
    deviceShifu 默认将所有遥测进行推送服务。默认为false。
  • defaultTelemetryCollectionService (string)
    deviceShifu将遥测推送地址的默认值。
  • HTTP协议
    • telemetryUpdateIntervalInMilliseconds (int64)
      deviceShifu 检测 Telemetry 的毫秒间隔。默认为3000。
    • telemetryTimeoutInMilliseconds (int64)
      deviceShifu 与设备连接的超时时间。默认为3000。
    • telemetryInitialDelayInMilliseconds (int64)
      deviceShifu 初次检测的延迟时间。默认为3000。
  • TCP socket 协议
    • telemetryUpdateIntervalInMilliseconds (int64)
      deviceShifu 检测 Telemetry 的毫秒间隔。默认为1000。(检测方式:deviceShifu 每间隔1000毫秒尝试与设备建立起一次socket连接,通过是否成功连接来判断设备是否开启。)
  • MQTT协议
    • telemetryUpdateIntervalInMiliseconds (int64)
      deviceShifu 检测MQTT距离收到上一条msg到现在的毫秒间隔。默认为3000。
  • PLC4X
    • telemetryUpdateIntervalInMiliseconds (int64)
      deviceShifu 检测 Telemetry 的间隔时间(毫秒)默认为3000。(检测方式,使用PLC4X向设备发送Ping。)

DeviceShifuTelemetry

DeviceShifuTelemetry 描述了 deviceShifu 通过哪些指令来监测物联网设备的状态。

  • properties (DeviceShifuTelemetryProperties)
    • instruction (string)
      表示用来遥测的命令,且必须是上方 DeviceShifuInstruction 定义的有效命令。
    • initialDelayMs (int)
      表示开始遥测时的延迟(毫秒)。默认为3000。
    • intervalMs (int)
      表示遥测的间隔时间 (毫秒)。默认为3000。
    • pushSettings (DeviceShifuTelemetryPushSettings)
      用来设置该遥测推送服务。

DeviceShifuTelemetryPushSettings

DeviceShifuTelemetryPushSettings 描述了 deviceshifu 的一个遥测的推送服务的设置。

  • telemetryCollectionService (string)
    表示遥测服务对应的TelemetryService的名称。
  • pushToServer (bool)
    表示该遥测服务是否进行,默认为false。