EdgeX foundry树莓派搭建与MQTT通讯

2020-09-16 10:41:38 浏览数 (1)

参考资料

使用容器方法管理和搭建EdgeX:https://docs.edgexfoundry.org/1.2/getting-started/quick-start/

什么是微服务,为什么要用微服务:https://www.zhihu.com/question/65502802

什么是MQTT,一个最简单的demo是什么:https://www.jianshu.com/p/14b34e537fd4

针对树莓派的EdgeX是如何的?这里使用的是树莓派4B,将之前的系统重新刷成64位arm,便于使用。(EdgeX对64位arm支持度较高)

树莓派Ubuntu mate20系统安装

1 选择合适的镜像烧录工具

https://www.raspberrypi.org/downloads/

2 下载镜像

https://ubuntu-mate.org/download/arm64/focal/

3 使用镜像烧录工具打开镜像,插入SD卡,开始烧录。(镜像下载比较慢,使用第二步的离线迅雷下载完以后直接烧录比较好)

4 给树莓派接上鼠标和键盘和重要的显示器,上电后根据屏幕引导进行安装即可。该系统对HDMI的输出电流可能不够,导致屏幕不亮。而从树莓派直接引电增强HDMI信号则仍然不够,需要外部引电(建议3A)。

5 排错的方法:插上网口看网口灯是都闪烁,闪烁则系统安装正确。树莓派3B的系统直接装到4B上是不行的,系统安装不正确。

Docker安装

按照其中提供的两个链接进行安装。https://docs.edgexfoundry.org/1.2/getting-started/quick-start/

其中第二个:docker-compose安装,如果不正确,则使用pip3进行安装(和python3有关)。

pip3可以通过apt-get 方式安装。

代码语言:javascript复制
pip3 install docker-compose

安装完后通过以下命令查看

代码语言:javascript复制
docker-compose --version

MQTT测试注意事项

如下链接中提供了MQTT的测试demo。其过程是通过重复向HiveMQ发布一个主题为EdgeXEvents,内容为一个json数据。

然后客户端也通过HiveMQ连接到broker.mqttdashboard.com,订阅EdgeXEvents主题,则可以获取到json数据。

https://docs.edgexfoundry.org/1.2/getting-started/quick-start/

有两点要注意:提供的HiveMQ网站,其js脚本中的JQuery可能会由于外网的原因无法加载,导致$符号无法识别,这时则需要更换网络,以正确加载和连接。

另外是在docker-compose.yml文件中添加的一段配置,其中

代码语言:javascript复制
image: edgexfoundry/docker-app-service-configurable:1.1.0

应该改为

代码语言:javascript复制
image: edgexfoundry/docker-app-service-configurable-arm64:1.1.0

另外

判断服务是否正常的方法是

代码语言:javascript复制
docker-compose ps

如果某个进程卡掉,则该进程配置不正确,如mqtt

docker服务需要启动才可运行EdgeX的容器

代码语言:javascript复制
service docker start

0 人点赞