技术

|

08 Jan 2022

MQTT Anywhere 数据和低功耗物联网效率

u-blox 服务开发主管 Bruce Jackson 验证了 u-blox MQTT Anywhere 的低功耗物联网说法,揭示了低功耗物联网的“真正”含义。
low-power IoT device test rig

通过 LPWA(低功耗广域)网络,低功耗物联网设备能够以最低的功耗成本在远距离内高效地连接和通信。该网络设计用于发送小型有效负载,包括来自传感器的信息、警报和状态更新。对于许多远程设备而言,低功耗对于延长续航时间至关重要,并且随着设备数量的呈指数增长,用户还需要考虑对环境的影响。

低功耗物联网通信 – 简介

MQTT Anywhere 是由 u-blox 提供的物联网通信服务,旨在通过各种蜂窝通信网络技术和载体使用行业标准 MQTT-SN 协议(传感器网络 MQTT)为低功耗物联网设备提供通信。此服务由 Thingstream 技术平台提供和管理。

与其他端到端通信系统一样,u-blox 的低功耗物联网通信解决方案建立在从蜂窝无线接入网络到数据传输协议的一系列层之上。下图显示了这种分层:

MQTT Anywhere IoT network layers

MQTT Anywhere 使用的协议和嵌入式网络集成可提供针对电源和数据效率进行高度优化的安全服务。

用户提出的一个常见问题是,MQTT Anywhere 与其他使用替代协议或在蜂窝通信网络中以不同方式实施协议的低功耗物联网通信供应商相比如何。本文提供了一些对比以下项目的并排测试结果:

  • 基于 USSD 的 MQTT Anywhere(适用于 2G 网络)
  • 基于 LTE Cat-1 的 MQTT Anywhere(适用于 LTE 网络)
  • 基于 LTE Cat-1 的 HTTP
  • 基于 LTE Cat-1 的 HTTPS

HTTP/HTTPS 的通信层如下所示:

Network layers HTTP and HTTPS IoT

对于下述所有测试案例,我们将同时考虑功耗(执行典型操作所需的功率)和数据效率(发送给定消息负载时会产生多少开销)。

测试设置和方法

在设计测试时,我们尝试对案例进行建模,旨在既反映我们在客户处看到的实际使用情况,又能反映不同技术之间的可比较方案。

硬件

我们使用了相同的硬件技术平台执行所有测试,如下所示:

low-power IoT device test rig

“Frankenbutton”是基于 NXP LPC824 微控制器的定制硬件技术平台。

选择该硬件是因为其支持我们编写“接近本质”运行的测试 – Frankenbutton 硬件无操作系统或任务计划程序,因此利用代码可以完全控制硬件。此外,与调制解调器相比,标准化微控制单元使用的电源更为简单。

测试所用的蜂窝通信调制解调器是一个 u-blox LARA-R211 模块。该模块支持我们控制用于测试的无线接入技术,并相对轻松地从同一软件库交换协议。

测量

我们通过连接到 PC 的 Keithley 2280S 捕获数据,以进行整个系统的功率测量,同时结合使用 nginx 和 tshark 监控和测量网络流量。

测试

如前所述,该测试是围绕我们在现实世界中的客户遇到的最常见情况构建的,即一种向远程系统发送少量数据负载的设备。因此,所有测试都使用针对每种协议正确编码的相同样本有效负载(在本例中为 12 字节字符串“Hello World!”),如下表所示:

载体/协议传输方法
MQTT Anywhere 2G/USSDMQTT-SN 发布,QoS -1*
MQTT Anywhere LTE Cat-1/UDPMQTT-SN 发布,QoS -1*
HTTP/LTE Cat-1HTTP 发布
HTTPS/LTE Cat-1HTTPS 发布

* QoS -1 = MQTT-SN QoS(服务质量)1 级,即发即弃。

很明显,我们可以选择其他协议与 MQTT Anywhere 进行对比,包括基于 LTE Cat-1 的 MQTT。但是,根据 HTTP 测试可以推断出,此种对比与我们执行的测试关系不大。

此外,应该注意的是,HTTP/LTE Cat-1 测试并非严格意义上的同比测试。u-blox 通过在网络核心层进行集成来提供端到端安全模型。设备由 SIM 卡进行身份验证,并且数据不会暴露在安全加密专用网络之外的任何位置。HTTP 测试不会执行此操作:该测试会发布原始数据,不会对设备进行任何形式的身份验证或执行数据加密。

结果

功率/电流测试

对于功率测试,我们测量了测试硬件(Frankenbutton 和外部调制解调器模块)在一定时间内消耗的电流。在此期间,测试软件执行了以下操作:

  • 执行启动顺序以设置硬件和 UART 接口配置
  • 接通调制解调器电源并连接到网络
  • 使用选定的协议和载体发送消息
  • 关闭调制解调器

测试结果如下图所示:

low-power IoT device current draw test

从图中,我们可以清晰地看到,两个 MQTT Anywhere 测试案例(黄线和红线)消耗的电流均比基于 HTTP 案例要小,而且,基于 USSD 的 MQTT Anywhere 也仅在较短的时间内发送信号。

在下图中,我们对一段时间内的电流消耗数据进行求和,然后针对最低值(在本例中,最低值为基于 USSD 的 MQTT Anywhere)对其进行归一化,以获得单个消息传输的相对结果:

IoT protocol current consumption

下表以数字形式显示了上述相同数据:

载体/协议相对功耗
MQTT Anywhere 2G/USSD1.0
MQTT Anywhere LTE Cat-1/UDP1.21
HTTP/LTE Cat-11.81
HTTPS/LTE Cat-12.05

数据测试

测试的第二个因素是将消息从设备发送到远程系统时给定协议的效率。换言之,效率是指,为执行所需任务,协议“填充”了多少消息有效负载。

效率之所以重要,有两个原因:

  • 给定协议产生的开销将影响发送消息的功耗
  • 对于蜂窝通信,典型的数据套餐是给定价格的数据限额(举例来说,1 欧元可以发送 10Mb 数据)。如果协议的填充率很高,那么数据限额将由开销而不是有效负载(实际值所在)占用

下图显示了设备和远程系统之间通过蜂窝通信网络传输“Hello World!”测试消息有效负载所占用的总字节数:

IoT protocols relative data usage

下表以数字形式显示了上述相同数据:

载体/协议有效负载(字节)传输的总字节数填充率
MQTT Anywhere 2G/USSD12262.17
MQTT Anywhere LTE Cat-1/UDP12342.83
HTTP/LTE Cat-112103486.17
HTTPS/LTE Cat-1125676473

MQTT Anywhere 低功耗物联网结论

在实际场景中,MQTT Anywhere 在功耗、效率/成本方面都显著优于其他低功耗物联网解决方案。

MQTT Anywhere 的功耗不到 HTTPS 的一半(HTTPS 虽然安全,但会产生其他管理开销),并且无线传输的效率提高了多个数量级。

虽然基于 USSD 的 MQTT Anywhere 的功耗低于 UDP,但差别不大。我们的客户端 SDK 将根据功率和覆盖范围自动选择最佳载体,因此客户可以选择一个功率和性能均有所优化且能够覆盖所有 2G、3G 和 LTE 网络的解决方案,从而保证技术投资顺应未来的发展。

若要深入了解 u-blox 低功耗物联网通信即服务如何为您的企业带来价值,请联系我们

Bruce Jackson

开发总监

You might also be interested in