学无先后,达者为师

网站首页 编程语言 正文

EdgeX 设备服务与core-data、core-command的交互

作者:嵌入式职场 更新时间: 2022-05-17 编程语言

目录

1、运行EdgeX服务

2、edgex-device-virtual 虚拟设备

连接设备(从设备读取数据)

控制设备(通过command控制设备数据值)

 Get和Set方法

Get方法(读取设备值命令)

 Set(设置读取数据值)


1、运行EdgeX服务

docker-compose up -d

查看正在运行的微服务:

docker-compose ps

2、edgex-device-virtual 虚拟设备

连接设备(从设备读取数据)

edgex-device-virtual :虚拟设备服务

虚拟设备(也称为虚拟设备)服务已经是作为默认 EdgeX 配置的一部分提取和运行的服务。

可以在edgex-ui-go微服务上可视化界面上看出虚拟设备:

读取数据值:

您可以通过在 EdgeX 核心数据服务中查询为 Random-Integer-Device 发送的事件记录来验证是否已发送虚拟设备读数:

curl http://localhost:59880/api/v2/event/device/name/Random-Integer-Device

默认情况下,返回的最大事件数为 20(默认限制)。您可以传递一个limit参数来获取更多或更少的事件记录。

curl http://localhost:59880/api/v2/event/device/name/Random-Integer-Device?limit=50

控制设备(通过command控制设备数据值)

从设备读取数据只是 EdgeX 功能的一部分。您还可以使用它来控制您的设备 - 这被称为“启动”设备。当设备向 EdgeX 服务注册时,它会提供一个设备配置文件,该配置文件描述了该设备可用的数据读数以及控制它的命令。

当我们的虚拟设备服务注册设备Random-Integer-Device时,它使用配置文件来定义命令,允许您告诉服务不要生成随机整数,而是始终返回您设置的值。

您不会直接在设备上调用命令,而是使用 EdgeX Foundry命令服务来执行此操作。第一步是通过询问有关您设备的命令服务来检查可以调用哪些命令:

http://localhost:59882/api/v2/device/name/Random-Integer-Device

 Get和Set方法

Get方法(读取设备值命令)

try一次读取一次值;

 Set(设置读取数据值)

设置Int8的值一直为100

 如果成功,该服务将确认您对要返回的值的设置以及200状态码。然后在Get的时候,数据值一直都是100.

原文链接:https://fanjufei.blog.csdn.net/article/details/124688570

栏目分类
最近更新