返回 导航

其他

hangge.com

边缘计算框架EdgeX Foundry使用详解5(将数据推送到MQTT服务器上)

作者:hangge | 2020-01-23 08:23
    实际应用中,EdgeX Foundry 除了接受端设备的数据外,还需要将数据推送到各种云服务上。下面通过样例演示如何将前文获取到的随机数据推送到 MQTT 服务器上。

五、将数据推送到 MQTT 服务器上

1,准备工作

    首先我们要搭建好 MQTT 服务器接收推送过来的数据,同时还要安装个 MQTT 客户端用来观察。如果这块有不清楚的,可以参考我之前写的这几篇文章:

2,客户端注册

(1)要想让 EdgeX Foundry 能够将数据推送到 MQTT 服务器,我们就需要先将其在 EdgeX 这边注册为一个输出客户端。

(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)

回到顶部