EdgeX学习日记(一)
1、连接虚拟设备获取数据
例如,随机整数设备将生成随机整数。
虚拟设备(也称为设备虚拟)服务在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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~