将树莓派4打造为一个边缘网关:第二部分
by liam zheng on 17 March 2020

在第一部分教程中,我们已经在树莓派4上安装和配置好了EdgeX foundry以将其打造为一个边缘网关。今天的教程将介绍把网关连接到到虚拟的IoT(物联网)设备上。这些虚拟的设备是使用软件模拟的。模拟的虚拟设备将通过托管在云端的MQTT消息服务器发送随机的消息,这些信息将被转发到已订阅接收消息的MQTT客户端上。
连接Southbound
设备端与边缘网关的物联网数据流被称之为Southbound。在EdgeX中,物联网设备和网关之间的通信被称为设备服务。一个设备服务就是由诸如Modbus,OPC-UA,REST,BLT,Zigbee,MQTT,BACNet,SNMP等等的物联网通信协议的接口实现的一个微服务。
虚拟设备服务的设定是方便进行配置和调试树莓派4边缘网关。它允许在不连接实际设备的情况下进行测试。基于这种方式,边缘网关上运行的微服务在不连接物联网设备的情况下进行配置和诊断。虚拟设备服务还模拟虚拟物联网设备,这些设备会生成和传输不同类型的随机数:整数,无符号整数,布尔值和浮点数。

虚拟设备服务可以很容易地通过以下命令开启:
sudo snap set edgexfoundry device-virtual=on
开启后,模拟的服务和虚拟设备可通过EdgeX浏览器管理界面显示。

在云端创建一个MQTT服务器
边缘网关是设备和服务器间的连接点。现在,我们将在云端配置一个自定义的MQTT消息接收服务器。MQTT消息接收服务器将接收来自虚拟设备的消息。这些消息将被发送到已订阅的客户端设备上。

我们在AWS创建了一个运行Ubuntu 18.04的实例,上面已安装MQTT消息接收服务器。在Ubuntu上可使用snap方式方便地安装MQTT。命令如下:
sudo snap install mqtt
查询消息接收服务器的状态:
sudo systemctl status snap.mosquitto.mosquitto.service
连接Northbound
有了云端MQTT服务器,还需要在树莓派4网关和服务器之间建立一个northbound连接。EdgeX 导出服务(EdgeX Export Service)是一个将设备服务已收集的数据传输到云端服务器的微服务。导出服务可以使用下面命令创建:
sudo snap set edgexfoundry export-client=on
sudo snap set edgexfoundry export-distro=on
通过上述命令激活后,MQTT服务器的数据传输已配置好。下面截图展示了如服务器IP地址,端口,通信协议,数据格式,主题和加密等参数。

保存后,导出服务将连接到MQTT消息服务器,然后创建一个主题。导出服务将把从虚拟设备端收集的数据通过该主题发布出去。
读取虚拟物联网数据流
通过以上操作,你有了一个监听虚拟物联网设备的树莓派4网关,它不断地把设备端收集到的数据转发到云上的MQTT服务器上。
现在,任何运行MQTT客户端的设备将可接收来自虚拟设备的物联网数据流。 客户端只需订阅来自于MQTT服务器相关的主题即可。
要读取这个数据流,我们需要在Ubuntu桌面上安装一个MQTT客户端,然后订阅通过导出服务创建的主题。当然,这个数据流可以通过任何桌面设备上的MQTT客户端进行访问。
sudo snap install mqtt
mosquitto_sub -h <your_ip_adress_here> -t <topic_name_here>
当然,你也可以在终端查看虚拟物联网数据流。流与虚拟设备产生的数据的响应,格式为导出服务指定的格式。如下图:

资源列表
- EdgeX Foundry documentation
- Mosquitto documentation
- Mosquitto snap store
- Install instructions for Ubuntu on the Raspberry Pi 4
下一步
本系列教程的第三部分将把网关与一个物联网实体设备连接。我们也会测试EdgeX foundry的设备管理兼容性。
订阅博客文章
查看更多内容
快速推进 Renesas RZ 平台上的工业与 AI 部署
已认证的 Ubuntu 24.04 LTS 镜像现已可用 Canonical 欣然宣布,面向 Renesas RZ/G2L 和 RZ/G2LC 64 位微处理器(MPU)平台的已认证 Ubuntu 24.04 LTS 及 Ubuntu Core 24 镜像现已正式发布通用(GA)版本。借助可直接用于生产环境的 Ubuntu 版本,用户可获得企业级安全保障、长期技术支持,并充分启用 Renesas RZ/G 系列丰富的多媒体功能。 除面向 RZ/G2L 和 RZ/G2LC 的 GA 发布外,Canonical 同时推出适用于 Renesas RZ/V2L 平台的 Ubuntu 镜像,并提供 AI Snap 教程,用于在 Ubuntu 上部署 Renesas AI 应用。该镜 […]
Canonical 发布 Ubuntu 26.04 LTS Resolute Raccoon
Ubuntu 为企业工作负载提供深度芯片优化与前沿安全防护(第 11 个长期支持版本)。 2026 年 4 月 23 日,Canonical 正式发布代号为 “Resolute Raccoon” 的 Ubuntu 26.04 LTS,用户可通过 Ubuntu 下载页面进行下载并安装。 Resolute Raccoon 在过渡版本推出的高稳定性优化基础上进一步升级,支持 TPM 硬件全盘加密、优化应用权限弹窗提示功能、为基于 Arm® 架构的服务器提供 Livepatch 实时补丁更新,并采用基于 Rust 语言的工具以提升内存安全性。该版本原生支持 NVIDIA CUDA、AMD ROCm 等行业领先的 AI/ML 工具包,使 Ubuntu 26.04 LTS 成为 AI […]
SQL Server 2025 已在 Ubuntu 24.04 LTS 上正式发布
Microsoft 已宣布 SQL Server 2025 在 Ubuntu 24.04 LTS 上正式发布通用(GA)版本,首发版本为 CU1。这一里程碑意味着企业可在我们最新的长期支持版系统上部署关键业务工作负载,受益于可预期的稳定性与最新内核。 更新你的软件源 如果您一直在测试预览版,必须切换软件源配置,以确保使用正式生产版本。要切换软件源配置,请将您的源从 mssql-server-preview.repo 更新为 mssql-server-2025.repo。继续使用预览版软件源可能会导致安装不适用于生产环境工作负载的预发布版本。 Linux 增强功能 SQL Server 2025 CU1 针对在 Linux 基础设施上管理数据库推出了特定改进。 新增的动态管 […]