Edgex Device Profile

本文档详细介绍了EdgeXFoundry的设备配置文件,包括设备服务如何管理设备类型,以及设备资源和设备命令的定义。设备配置文件包含了设备的标识信息、资源属性,如数据类型、读写权限和单位,并提供了批量读写操作的设备命令。此外,还展示了具体的yaml配置示例,如网络配置的设备资源和命令。
摘要由CSDN通过智能技术生成

Device Profile - EdgeX Foundry Documentation

Device Profile Reference - EdgeX Foundry Documentation

设备配置文件描述了EdgeX系统中的一种设备类型。由设备服务管理的每个设备都与设备配置文件关联,设备配置文件根据其支持的操作定义设备类型。

有关设备配置文件字段及其所要求的值的完整列表,请参阅设备配置文件参考

有关设备配置文件模型及其所有属性的详细信息,请参阅元数据设备配置文件数据模型。 

Identification(标识)

配置文件包含各种标识字段。Name(名称)字段是必需填写的,并且在EdgeX部署中必须是唯一的。其他字段是可选的-设备服务不使用这些字段,但可以出于信息目的填充这些字段:(下面4个字段只是起到一个信息的作用)

  • Description
  • Manufacturer
  • Model
  • Labels

DeviceResources(设备资源)字段

deviceResource是指设备内的传感器值,该值可以单独读取或写入,也可以作为deviceCommand的一部分读取或写入。它有一个用于标识的名称和一个用于信息目的的描述。

设备服务允许通过其设备RESTfull接口访问deviceResources。

deviceResource中的Attributes(特性)字段是访问特定值所需的设备服务特定参数。每个设备服务实现都有自己的一组命名值,此处需要这些命名值,例如,BACnet设备服务可能需要对象标识符和属性标识符,而蓝牙设备服务可以使用UUID来标识值。

deviceResource的Properties(属性)描述该值,并可选地请求对其执行一些简单的处理。以下字段可用:

  • valueType—必填,值的数据类型。支持的类型有Bool、Int8-Int64、Uint8-Uint64、Float32、Float64、String、Binary、Object和基本类型(int、floats、Bool)的数组。数组用Float32Array、BoolArray等表示。
  • readWrite—R、RW或W,指示值是可读的还是可写的。
  • units—单位-表示数值的单位,如安培、摄氏度等。
  • minimum—最小值-允许使用SET命令的最小值,超出范围将导致错误。
  • maximum—最大值-允许设置命令的最大值,超出范围将导致错误。
  • defaultValue—用于未指定值的SET命令的值。
  • assertion—断言-一个字符串值,读取(处理后)与之进行比较。如果读数与断言值不同,则设备的操作状态将设置为禁用。这对于健康检查很有用。
  • base—返回前,将其提升到原始读数的基础值。
  • scale—比例-在返回读数之前乘以读数的系数。
  • offset—偏移量—返回读数之前要添加到读数中的值。
  • mask—掩码-将应用于整数读取的二进制掩码。
  • shift—移位-整数读数右移的位数。

按该顺序应用由“base”、“scale”、“offset,”、“mask”和“shift”定义的处理。这是在SDK中完成的。SDK对集合操作上的传入数据应用反向转换(集合上的NB掩码转换为NYI)

来自于onvif的camera.yaml

。。。

deviceResources:

  # Network Configuration

  - name: "Hostname"

    isHidden: false

    description: "Camera Hostname"

    attributes:

      service: "Device"

      getFunction: "GetHostname"

      setFunction: "SetHostname"

    properties:

      valueType: "Object"

      readWrite: "RW"

  - name: "DNS"

    isHidden: false

    description: "Camera DNS"

    attributes:

      service: "Device"

      getFunction: "GetDNS"

      setFunction: "SetDNS"

    properties:

      valueType: "Object"

      readWrite: "RW"

。。。

DeviceCommands

DeviceCommand定义了对设备多个资源的同时(批量的)读写访问。每个命名的deviceCommand应该包含许多resourceOperations。

当读数在逻辑上相关时,DeviceCommands可能很有用,例如,对于三轴加速计,将所有轴一起读取很有帮助。

resourceOperation由以下属性组成:

  • deviceResource - 要访问的deviceResource的名称。
  • defaultValue - 缺省值,可选,如果SET命令未指定值,则将使用该值。
  • mappings - 映射,可选,允许重新映射字符串类型的读数。

设备服务允许通过与访问deviceResources相同的设备REST接口访问DeviceCommand。

deviceCommands:

  -

    name: "NetworkConfiguration"

    readWrite: "RW"

    isHidden: false

    resourceOperations:

      - { deviceResource: "Hostname" }

      - { deviceResource: "DNS" }

      - { deviceResource: "NetworkInterfaces" }

      - { deviceResource: "NetworkProtocols" }

      - { deviceResource: "NetworkDefaultGateway" }

[
        {
            "apiVersion": "v2",
            "device": {
               "name" :"Modbus-TCP-Temperature-Sensor",
               "description":"This device is a product for monitoring the temperature via the ethernet",
               "labels":[ 
                  "Temperature",
                  "Modbus TCP"
               ],
               "serviceName": "device-modbus",
               "profileName": "Ethernet-Temperature-Sensor",
               "protocols":{
                  "modbus-tcp":{
                     "Address" : "172.17.0.1",
                     "Port" : "502",
                     "UnitID" : "1",
                     "Timeout" : "5",
                     "IdleTimeout" : "5"
                  }
               },
               "autoEvents":[ 
                  { 
                     "Interval":"30s",
                     "onChange":false,
                     "SourceName":"Temperature"
                  }
               ],
               "adminState":"UNLOCKED",
               "operatingState":"UP"
            }
        }
    ]

对于EdgeX 2.0(爱尔兰)版本,删除了coreCommands一节,默认情况下,deviceResources和deviceCommands都可以通过Core Command Service使用。在deviceResource或deviceCommand下,将isHidden字段设置为true,以禁用外向API。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值