返回 导航

其他

hangge.com

边缘计算框架EdgeX Foundry使用详解4(开启生成随机数的设备服务)

作者:hangge | 2020-01-22 08:10
    EdgeX Foundry 自带了一个提供随机数设备服务,该服务对测试很有用,它可以在配置范围内返回一个随机数。不过该服务默认没有开启, 下面演示如何将其开启并使用。

四、随机数设备服务

1,开启服务

(1)使用 vi 命令编辑 docker-compose.yml 文件,将下面配置前面的井号(#)删除,然后保存退出。

(2)接着执行如下代码,重新启动服务:
docker-compose up -d

(3)使用 docker-compose ps 命令可以看到随机数服务已经启动:

2,检查测试

(1)上面的设备服务启动后,会自动注册名为 Random-Integer-Generator01 的设备,该设备会将随机数发送到 EdgeX

(2)我们可以通过查询 EdgeX Logging 服务来验证它是否正在发送这些数据,地址如下(最后的 100 表示显示 100 条数据):
http://192.168.60.128:48080/api/v1/event/device/Random-Integer-Generator01/100

(3)运行结果如下,可以看到:
  • 这个设备会发出 RandomValue_Int8RandomValue_Int16RandomValue_Int32 3 种属性值(值描述符)。
  • 而且这三个类型的值不是一起发出,而是每次只发一种。

3,控制设备

    从设备读取数据只是 EdgeX 的一部分功能,我们也可以使用它来控制设备。当设备注册 EdgeX 服务时,它会提供设备配置文件,该设备配置文件描述该设备可用的数据读数,以及可以控制它的命令。
  • 比如:上面当我们的随机数设备服务注册设备 Random-Integer-Generator01 时,它使用了一个配置文件,该配置文件里定义了用于更改它将生成的随机数的最小值和最大值范围的命令。
(1)我们可以通过命令微服务(Command Service)来检查设备有那些命令可以调用:
  • http://192.168.60.128:48082/api/v1/device/name/Random-Integer-Generator01

(2)返回的结果如下(为方便演示,这里只显示 RandomValue_Int8 这个值描述符的内容): 

(3)第一个红框的 URL 是个 GET 请求,调用后会返回一个随机数(也就是会自动发送的 EdgeX):

(4)默认情况下生成的随机数范围是 -128127,我们可以通过第二个红框的 URL 来修改最大值最小值(其实URL是一样的),只不过这次是 PUT 调用。
    下面我们将 RandomValue_Int8 这个值描述符对应的随机数范围限制在 -1010 之间:
[{"Min_Int8": "0", "Max_Int8": "100"}]
评论

全部评论(0)

回到顶部