返回

将EdgeX Foundry设备数据导出到MQTT和HTTP服务

后端

简介

EdgeX Foundry是一个开源的物联网平台,可用于将设备连接到云端并管理设备数据。在之前的文章中,我们介绍了如何将设备连接到EdgeX Foundry。在本文中,我们将介绍如何将设备数据导出到MQTT或HTTP服务。

配置导出器

要将设备数据导出到MQTT或HTTP服务,我们需要编辑EdgeX Foundry的配置文件。EdgeX Foundry的配置文件位于/etc/edgex/edgex.conf

要配置MQTT导出器,我们需要在edgex.conf文件中添加以下内容:

[mqtt]
enable = true
host = "localhost"
port = 1883
username = ""
password = ""
topic = "edgex/data"

要配置HTTP导出器,我们需要在edgex.conf文件中添加以下内容:

[http]
enable = true
host = "localhost"
port = 8080
path = "/data"

启动导出器

配置好导出器后,我们需要启动导出器。我们可以通过以下命令启动MQTT导出器:

edgex-mqtt-export -c /etc/edgex/edgex.conf

我们可以通过以下命令启动HTTP导出器:

edgex-http-export -c /etc/edgex/edgex.conf

验证导出器是否已启动

要验证导出器是否已启动,我们可以使用以下命令:

netstat -tlnp | grep edgex

如果导出器已启动,我们将看到以下输出:

tcp        0      0 0.0.0.0:1883            0.0.0.0:*               LISTEN      55095/edgex-mqtt-export
tcp        0      0 0.0.0.0:8080            0.0.0.0:*               LISTEN      55097/edgex-http-export

导出设备数据

配置并启动导出器后,我们可以将设备数据导出到MQTT或HTTP服务。我们可以通过以下命令将设备数据导出到MQTT服务:

curl -X POST -H "Content-Type: application/json" -d '{"id": "my-device-id", "value": 10}' http://localhost:8080/data

我们可以通过以下命令将设备数据导出到HTTP服务:

mosquitto_pub -t edgex/data -m '{"id": "my-device-id", "value": 10}'

结论

在本文中,我们介绍了如何将EdgeX Foundry设备数据导出到MQTT或HTTP服务。首先,我们配置了MQTT或HTTP导出器。然后,我们启动了导出器并验证是否已将设备数据导出到相应的服务。最后,我们通过命令将设备数据导出了MQTT或HTTP服务。