EdgeX学习日记(一)

1、连接虚拟设备获取数据

  • EdgeX Foundry提供了一个虚拟设备服务,可以模拟许多设备常用于测试和开发。
  • 每个设备在可配置的参数内随机生成各种类型的数据。

  例如,随机整数设备将生成随机整数。

虚拟设备(也称为设备虚拟)服务在EdgeX中作为默认 EdgeX 配置的一部分拉取并运行的服务,可以通过直接访问EdgeX核心数据服务中心查询:随机整数设备(Random-Integer-Device)的事件发送记录。

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

通过浏览器直接访问该端口查看Json格式的数据(火狐浏览器可以自动解析Json格式的数据,Google和Edge等浏览器需要安装相应的插件)

默认情况下,通过上述方式返回的随机数默认为20个,但可以通过更改limit参数的值来获取指定数量的事件记录。

获取50个记录

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

 

 

不知道可以调用命令,可以使用 EdgeX Foundry 命令服务来执行此操作。

第一步是通过询问有关设备的命令服务来检查哪些命令可以调用

 

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

 

 

 注:选中部分为功能名

 您会注意到这些命令具有或(或两者兼而有之)选项。get 调用将返回一个随机数(Int16),并且是自动调用以将数据发送到 EdgeX 的其余部分(特别是核心数据)的内容。您还可以使用提供的 URL 手动调用 get(无需其他参数)

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

 

 此读数的默认范围是 -32,768 到 32,767。在上面的示例中,返回的值作为读取值。将服务设置为随机返回值后,每次发送命令时返回的值将不同。但是,我们可以使用该命令禁止返回随机值,而是指定要返回的值。使用下面的 curl 命令调用 set 命令以禁用随机值并每次返回该值。

curl -X PUT -d '{"Int16":"42", "EnableRandomization_Int16":"false"}' http://localhost:59882/api/v2/device/name/Random-Integer-Device/WriteInt16Value

如果成功,该服务将使用状态代码确认您要返回的值的设置。200

通过命令服务调用设备的 SET 命令将返回 API 版本和状态代码(成功时为 200)。

现在,每次我们在命令上调用 get 时,返回的值将为 。Int16 42

 

posted @   阿柱  阅读(584)  评论(1编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~
点击右上角即可分享
微信分享提示