步骤一:在docker-compose 文件中将device-mqtt部分取消注释
1.1 打开docker-compse文件,将device-mqtt的部分取消注释

取消注释
1.2 使用docker-compose文件启动docker
启动之后,发现device-mqtt没有正常启动,原因是相关的配置文件没有指定mqtt服务器的地址。

步骤二:修改device-mqtt配置文件
2.1 找到配置文件的位置
因为edgex有非常多的配置文件,所以在找的时候,需要先定位device-mqtt的位置,找到这个容器的相关路径。
sudo find / -name device-mqtt
找到相关路径之后,在这个路径下面的res -> docker 文件夹下面找到configuration.yaml:
2.2修改MQTT服务器地址
修改这个文件最下面的“IncomingHost”和“ResponseHost”为自己的MQTT服务器地址,如下图所示:

再次启动,发现device-mqtt微服务被正常启动:

步骤三:添加MQTT设备
运行起来UI,建立自己的网关,选择deviceservice,再选择device,添加设备。
3.1上传profile文件
按照自己的需求修改profile文件。
3.2上传profilename、deviceaddressable、deviceservicename
在填写deviceaddressable的时候需要参考每个不同协议的写法要求,比如MQTT要查看:

第一个位置填protocol,第二个位置填schema,第三个字段(就是键对应的键值)填TCP(因为MQTT就是通过TCP通信的),接下来还要填写下面的Host,填MQTTbroker的地址,然后继续填写port, user, password, clientid(随便填就可以),topic(就是你的设备在订阅什么),最后填的结果就是:

原作者:lulililu
原文链接:https://www.edgexfoundry.club/user/lulililu/article/5d9edb1d6598210001292caa
本文介绍了如何在EdgeX Foundry中配置Device MQTT微服务,使其连接到自定义的MQTT服务器。首先,需要在docker-compose文件中取消device-mqtt服务的注释并启动。当启动失败时,是因为缺少MQTT服务器地址的配置。接着,通过查找并编辑configuration.yaml文件,设置正确的MQTT服务器地址。最后,启动成功后,可以使用EdgeX UI添加MQTT设备,包括上传profile文件和填写deviceaddressable等信息,以实现设备的连接。
418

被折叠的 条评论
为什么被折叠?



