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界面,您可以在这里查看服务状态、设备信息以及数据流动情况。

image.png

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
  1. 编写你的设备驱动,实现相应的设备协议和数据处理逻辑。详细参考设备服务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 服务,疑似是容器间的网络配置问题。

解决方案

  1. 检查容器网络配置:通过 docker network inspect 命令,确认 UI 容器core-data 容器不在同一网络中,导致它们无法正常通信。

  2. 修改 Docker Compose 配置:在 docker-compose.yml 文件中,设置网络为 external: true,确保 UI 容器 和其他服务容器使用同一网络,能够正常访问彼此。

  3. 重新启动容器:删除现有的网络配置,重新启动所有相关容器,确保服务之间的网络连接恢复正常。

  4. 验证:使用 curl 命令测试容器间的网络连接,确保 UI 容器 能够成功访问 core-data 服务的 API。

文章作者: ruiling
版权声明: 本站所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 ruiling
开源项目 设备管理 快速入门 IoT平台 docker 边缘计算 物联网 EdgeX 微服务架构
喜欢就支持一下吧