edgex镜像在树莓派上运行的分享

本文档详细介绍了如何在树莓派3B+上安装64位操作系统,包括从特定链接下载操作系统镜像,使用Docker安装MongoDB和EdgeX Foundry的相关服务。还提供了遇到问题时的解决办法,如从百度云盘获取镜像,并给出了在64位系统上安装Docker和docker-compose的步骤。同时,分享了针对树莓派定制的EdgeX Foundry Docker镜像,并提供了拉取和启动这些镜像的命令。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.树莓派
开发板的要求,树莓派3B+,安装64位的操作系统(MongoDB必须在64位的操作系统上运行。)

2.安装64位的操作系统
https://github.com/Crazyhead90/pi64/releases/download/2018-04-17/Bamarni-desktop-full64bit-pi3bplus-V2.zip
有可能会下载期间会出现问题,我上传到百度云盘。
链接:https://pan.baidu.com/s/1usX85PUHY4fbaGfZFgRJRQ
提取码:mxtt

3.安装docker
命令:curl -fsSL https://get.docker.com | bash -s docker —mirror Aliyun

4.安装docker-compose:
参见 http://www.edgexfoundry.club:8080/articles/users/huaqiaoz/5bd9129d73a5990001fb3b7a
这是在64位的操作系统上安装的。其他系统会出现问题,请使用64位的操作系统。

5.拉取镜像:
修改docker-compose.yml文件,具体参见我修改完毕的文件(因为有几个微服务没有arm64的镜像,所以没有修改),已经上传到了github。
https://github.com/shuxuecheng/developer-scripts-master.git
在拉取的过程中,会出现个别的微服务拉取不下来,我已经上传到docker hub仓库。
拉取镜像命令:
sudo docker pull shuxuecheng/docker-edgex-volume-arm64:0.6.0
sudo docker pull shuxuecheng/docker-edgex-mongo-arm64:0.6.0
命令:sudo docker images 查看下载下来的镜像
启动镜像与之前在电脑上一样如:sudo docker-compose up -d volume


原作者:shuxuecheng
原文链接:https://www.edgexfoundry.club/user/shuxuecheng/article/5bd9b7b173a59900015d733c

### 树莓派上配置或使用 EdgeX Foundry 的南向接口 #### 1. 南向接口概述 EdgeX Foundry 是一个开源项目,旨在提供灵活的物联网平台解决方案。其核心组件之一是 **Southbound Interface(南向接口)**,用于连接各种物理设备和传感器[^1]。 南向接口的主要职责是从外部硬件获取数据并将其传递到 EdgeX 中心服务进行处理。这些硬件可能包括温度传感器、湿度计或其他 IoT 设备。为了实现这一目标,通常会通过 `edgex-device` 微服务来管理设备驱动程序和服务之间的通信。 --- #### 2. 配置环境准备 在树莓派上部署 EdgeX 并启用南向接口之前,需完成以下准备工作: - **安装 Docker 和 Docker Compose** 使用官方文档推荐的方式,在树莓派上安装最新版的 Docker 及 Docker Compose 工具。由于树莓派基于 ARM 架构,因此需要特别注意下载适合 ARM64ARMv7 的二进制包。 ```bash curl -fsSL https://get.docker.com -o get-docker.sh && sh get-docker.sh ``` - **更新操作系统至 64 位 Raspbian** 如果当前使用的树莓派系统为 32 位,则可能导致部分容器无法启动。建议升级到最新的 64 位 Raspberry Pi OS 版本。 - **拉取合适的镜像** 确保从 EdgexFoundry 官方仓库中选择支持 ARM 架构的服务镜像。例如: ```bash docker pull edgexfoundry/edgex-go:latest-arm64 ``` --- #### 3. 启动基础 EdgeX 服务 创建一个新的目录存储 EdgeX 的配置文件,并克隆官方提供的 compose 文件模板: ```bash git clone https://github.com/edgexfoundry/developer-scripts.git cd developer-scripts/releases/hanoi/compose-files/docker/ ``` 编辑 `docker-compose.yml` 文件中的 IP 地址字段,默认情况下该字段被限制为仅允许本地访问。如果希望远程调试或测试,可修改如下参数: ```yaml services: core-data: environment: - HOST_IP=0.0.0.0 ``` 随后执行命令以启动基本的 EdgeX 组件堆栈: ```bash sudo docker-compose up -d ``` --- #### 4. 添加南向设备适配器 为了让 EdgeX 能够与实际硬件交互,需要引入特定类型的设备协议插件。以下是具体操作流程: - 下载对应于所需设备类型的驱动程序模块。例如,对于 Modbus 类型的数据采集需求,可以选择 `device-modbus` 插件。 ```bash git clone https://github.com/edgexfoundry/device-modbus-go.git cd device-modbus-go/deploy/docker-compose/ ``` - 将上述插件集成到现有的 EdgeX 堆栈中。这一步可以通过扩展原始的 `docker-compose.yml` 来完成。确保新加入的服务能够正确依赖其他必要的微服务实例。 - 修改配置 JSON 文件定义具体的资源映射规则以及读写属性设定。路径一般位于 `/res/configuration.toml` 下面。 --- #### 5. 测试验证 当所有服务均已成功运行之后,可通过 REST API 接口查询已注册的设备及其状态信息。例如: ```bash curl http://<raspberry-pi-ip>:48080/api/v1/device/name/<your_device_name> ``` 返回的结果应包含实时采集到的各项指标数值。 --- ### 注意事项 - 若遇到网络连通性问题,请确认防火墙策略是否开放相应端口号。 - 对于某些特殊型号的外设,可能还需要额外编写自定义解析逻辑嵌入到现有框架里去满足兼容性的要求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值