将树莓派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的设备管理兼容性。
订阅博客文章
查看更多内容
Canonical 发布 Ubuntu Core 26
Ubuntu Core 26 推出精准化 Linux 构建、优化的 OTA 更新、实时内核补丁,以及面向关键任务部署的增强型硬件级安全防护。 2026 年 5 月 19 日,Canonical 宣布正式发布 Ubuntu Core 26。该系统为极简不可变操作系统,提供长达 15 年的安全维护支持。 Ubuntu Core 26 针对关键任务操作与低延迟 AI 工作负载实现重大系统改进:安装时长缩短、OTA 更新包体积缩减 90%,并借助 Chisel 工具实现精准化系统构建。与以往版本一致,所有组件均为经过沙箱隔离、加密签名的 Snap 软件包,构建可信启动链,仅允许运行经验证的软件。凭借这款全新长期支持(LTS)版本,Ubuntu Core 仍是适用于关键任务系统的 […]
快速推进 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 应用。该镜 […]
Ubuntu Pro 部署 Nutanix 裸机 Kubernetes
Nutanix 与 Canonical 扩大合作,为容器化工作负载提供更多选择 企业级 Kubernetes® 正逐步发展为高度灵活的多架构模型。随着 AI/ML 及数据密集型工作负载对硬件吞吐量的要求不断提升,企业在追求裸机性能的同时,也希望兼顾云平台的运维一致性。 为满足这一需求,Nutanix 与 Canonical 已将 Ubuntu Pro 服务拓展至裸机环境下运行的 Nutanix Kubernetes 平台 (NKP) 实例,涵盖最新发布的 NKP Metal 解决方案。本次功能拓展基于双方 2025 年达成的合作,彼时搭载安全补丁的 Ubuntu 操作系统可支持虚拟机环境下运行的 NKP 实例。安全补丁服务隶属于 Ubuntu Pro,是 Canonica […]