快速上手EdgeX Foundry
1. 简介
EdgeX Foundry 是一个开放源代码的物联网边缘计算平台,支持将不同的设备、应用程序和服务集成到边缘计算环境中。该平台采用微服务架构,允许开发者以松耦合的方式部署、扩展和管理设备数据。
2.前置要求
Docker:EdgeX平台使用Docker容器进行部署,请确保您已经安装Docker。
Docker Compose:用于管理多个Docker容器的编排工具。
Linux 或 Windows (WSL):建议使用Linux环境进行开发和部署。
8GB以上内存:保证EdgeX服务顺利运行。
3. 环境配置
3.1 安装Docker和Docker Compose
请根据你的操作系统安装Docker和Docker Compose,具体操作可以参考Docker官方文档:
3.2 克隆EdgeX Foundry仓库
在终端中运行以下命令克隆EdgeX Foundry的代码仓库:
git clone https://github.com/edgexfoundry/developer-scripts.git cd developer-scripts/releases/ports
4. 快速启动 EdgeX
使用Docker Compose快速启动EdgeX的核心服务。
4.1 启动核心服务
在克隆的developer-scripts
目录下运行以下命令:
docker-compose -f docker-compose.yml up -d
这个会启动EdgeX Foundry的核心服务,包括:
核心数据服务(core-data):处理和存储设备数据。
命令服务(core-command):负责与设备通信。
元数据服务(core-metadata):管理设备、设备服务、命令和配置。
支持服务:日志、通知、调度等。
4.2 检查服务运行状态
使用以下命令查看所有运行中的容器:
docker ps
你应该看到一系列的EdgeX服务容器正在运行。如果需要停止服务,可以使用:
docker-compose down
5. 图形化管理界面
EdgeX 提供简单的图形化用户界面 (GUI),用于监控和管理设备数据。
在浏览器中访问以下URL:
http://localhost:4000
这将打开EdgeX的GUI界面,您可以在这里查看服务状态、设备信息以及数据流动情况。
6. 设备驱动服务编写
您可以使用EdgeX Device Service SDK编写自定义设备驱动,SDK支持多种语言,包括Go和C。
6.1 使用Go SDK编写设备驱动
克隆EdgeX设备服务SDK:
git clone https://github.com/edgexfoundry/device-sdk-go.git cd device-sdk-go
编写你的设备驱动,实现相应的设备协议和数据处理逻辑。详细参考设备服务SDK文档。
7.常用命令
启动服务:
docker-compose -f docker-compose.yml up -d
停止服务:
docker-compose down
查看日志:
docker logs <container_name>
重新启动服务:
docker-compose restart
8. 结论
现在,应该已经能够成功启动 EdgeX Foundry 并访问其 GUI 界面。接下来,可以继续探索 EdgeX 的更多功能,如设备数据管理、设备服务编写和自定义扩展。详细的文档和资源请参考EdgeX Foundry官方文档。
如果您在使用过程中遇到任何问题,可以在EdgeX Foundry的社区或GitHub仓库中issue。
遇到并解决了一个网络连接问题
再次在进行 EdgeX Foundry 系统部署后,发现 UI 容器 显示为白屏,无法正常加载设备数据。经过初步排查,发现 UI 容器 无法访问 core-data 服务,疑似是容器间的网络配置问题。
解决方案:
检查容器网络配置:通过
docker network inspect
命令,确认 UI 容器 与 core-data 容器不在同一网络中,导致它们无法正常通信。修改 Docker Compose 配置:在
docker-compose.yml
文件中,设置网络为external: true
,确保 UI 容器 和其他服务容器使用同一网络,能够正常访问彼此。重新启动容器:删除现有的网络配置,重新启动所有相关容器,确保服务之间的网络连接恢复正常。
验证:使用
curl
命令测试容器间的网络连接,确保 UI 容器 能够成功访问 core-data 服务的 API。