边缘计算框架EdgeX Foundry使用详解5(将数据推送到MQTT服务器上)
作者:hangge | 2020-01-23 08:23
实际应用中,EdgeX Foundry 除了接受端设备的数据外,还需要将数据推送到各种云服务上。下面通过样例演示如何将前文获取到的随机数据推送到 MQTT 服务器上。
(3)这里使用 Postman 来发送 Post 请求进行注册:
五、将数据推送到 MQTT 服务器上
1,准备工作
首先我们要搭建好 MQTT 服务器接收推送过来的数据,同时还要安装个 MQTT 客户端用来观察。如果这块有不清楚的,可以参考我之前写的这几篇文章:
2,客户端注册
(1)要想让 EdgeX Foundry 能够将数据推送到 MQTT 服务器,我们就需要先将其在 EdgeX 这边注册为一个输出客户端。
- 请求地址(POST 方式):http://EdgeX-IP:48071/api/v1/registration
(2)请求内容如下,特别注意高亮部分:我们定义的 MQTT 服务器的地址、端口、发布主题,同时这里只推送随机数设备的数据:
{ "name":"QuickStartExport", "addressable":{ "name":"EMQBroker", "protocol":"tcp", "address":"192.168.60.128", "port":1883, "publisher":"EdgeXExportPublisher", "topic":"hangge" }, "format":"JSON", "filter":{ "deviceIdentifiers":["Random-Integer-Generator01"] }, "enable":true, "destination":"MQTT_TOPIC" }
(3)这里使用 Postman 来发送 Post 请求进行注册:
(4)注册后我们同样可以通过 GET 方式请求这个地址,来查看当前所有已注册的客户端。从返回结果可以看出我们的 MQTT 服务器已经注册成功了(在它之前还有个系统默认注册的规则服务,这里就不显示了)。
3,观察测试
经过上面注册以后,设备生成的随机数据就会经由 EdgeX Foundry 推送到 MQTT 服务器上。我们使用 MQTTBox 这个 MQTT 客户端工具对消息进行订阅。
可以看到 MQTTBox 这边能不断地接受到数据:
附:查看或删除指定注册的客户端
1,查看指定的客户端
(1)前面我们通过 http://EdgeX-IP:48071/api/v1/registration 来查看所有注册的客户端。
(2)如果后面跟上“/name/客户端名称”则只显示这个指定的客户端注册信息。
(3)或者后面直接跟上“客户端id”显示指定的客户端注册信息。
2,删除指定的客户端
(1)我们可以根据 name 来删除指定客户端。注意:使用 DELETE 方式发起请求。
(2)也可以根据 id 来删除指定客户端。
全部评论(0)