Edgex Device Profile

news/2024/10/22 16:47:24/

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。


http://www.ppmy.cn/news/670695.html

相关文章

ZCU104开发板:开发板组件描述

1. Zynq UltraScale XCUZU7EV MPSoC ZCU104板上安装了Zynq UltraScale XCZU7EV-2FFVC1156 MPSoC,它在同一设备中集成了功能强大的处理系统(PS)和可编程逻辑(PL)。Zynq UltraScale MPSoC中的PS采用Arm旗舰产品Cortex…

zcu102开发板使用和评测

作者 QQ群:852283276 微信:arm80x86 微信公众号:青儿创客基地 B站:主页 https://space.bilibili.com/208826118 参考 ug1082 AR# 71584 Zynq UltraScale MPSoC: How to view SATA performance in Linux AR# 68971 Zynq UltraSca…

zookeper

zookeeper启动不了 常用命令解决zookeeper启动不了首先检查java环境先前拷贝zoo_example.cfg的文件zoo.cfg启动zkServer.sh start,查看集群状态展开Server.sh status,如果仍然没有启动,查看配置的文件目录data下myid文件是否配置正确。netsta…

Zookper

转自:http://yyj0531.blog.163.com/blog/static/58504158201041482927857/ zookeeper 部署 2010-05-14 08:29:27| 分类: zookeeper|字号 订阅 三台机器: 192.168.211.11(linux) 192.168.211.12(linux) 10.13.32.99(windows) 配置 每台配置文件zoo.cfg…

Keil升级了,Keil Studio 来了!

点击下方卡片,关注,一起学嵌入式! 什么是 keil studio Cloud? 本次更新的是 Keil Studio,Keil Studio支持网页版和桌面版,但目前开放的是Keil Studio Cloud(网页评测版): https://ww…

GeekNews

项目地址:GeekNews 简介:A pure reading App based on Material Design MVP RxJava Retrofit Dagger2 Realm Glide GeekNews, A pure reading App based on Material Design MVP RxJava Retrofit Dagger2 Realm Glide 极客日报&#xff0c…

zookeer

zookeer http://blog.csdn.net/coolcoffee168/article/details/51459165

Zookeeker

目录 工作机制 特点 数据结构 应用场景 1.统一命名服务 2.统一配置管理 3.统一集群服务 4.服务器动态上下线 5.软负载均衡 Zookeeper 安装 1.分布式安装部署 2.配置参数解读 客户端命令行操作 工作机制 Zookeeper从设计模式角度来理解:是一个基于观察…