广告

可以将MQTT协议应用于车联网应用吗?

2023-09-12 16:03:09 Gilad David Maayan 阅读:
随着网联汽车数量的增长,人们越来越需要能够有效管理大量数据传输,同时提供低延迟和高可靠性的通信协议,而MQTT就是这样一种协议···

车联网(IoV)是一项能让网联汽车相互之间进行通信,以及与道路基础设施和其他设备进行实时通信的技术。V2X包括V2V、V2I和V2P通信,可实现车辆之间、车辆与基础设施和车辆与行人之间的实时交互。V2X技术旨在提高道路安全、减少交通拥堵、增强驾驶体验以及实现自动驾驶功能。LTEednc

作为更广泛的物联网生态系统的一部分,车联网集成了传感器、GPS系统、云计算平台、数据分析工具和高级网络解决方案等多种技术。这些技术相互协同工作,从各种来源(例如车载诊断系统或外部交通监控服务)收集数据,对其进行处理分析,并在网联汽车之间共享。LTEednc

车联网生态系统的主要组成部分包括:LTEednc

  • 车辆,配备传感器和汽车电控单元(ECU),用于收集有关车辆性能及其环境条件的数据。
  • 部署在车辆或道路基础设施内的传感器和设备,用于收集有关位置(GPS)、交通、路标、天气状况等的信息。
  • 数据处理中心和云平台,使用机器学习技术分析收集到的数据,根据交通状况提供预测性维护警报或动态路线规划建议。
  • 车辆网络和通信协议:实现互联系统内所有组件之间的无缝交换,同时确保传输数据的安全性。

随着网联汽车数量的增长,人们越来越需要能够有效管理大量数据传输,同时提供低延迟和高可靠性的通信协议。MQTT(消息队列遥测传输)就是这样一种协议,它最初是为带宽和电力资源有限的受限环境而设计的,因此非常适用于车联网生态系统。LTEednc

什么是MQTT?

MQTT是一种轻量级消息传输协议,专为资源有限和低带宽环境下的设备而设计。它由IBM在20世纪90年代末开发,旨在通过卫星连接来实现石油管道传感器之间的通信。如今,它已成为机器对机器(M2M)通信和物联网(IoT)应用的行业标准LTEednc

MQTT使用紧凑的二进制格式传输数据,与HTTP等基于文本的协议相比,每条消息所需的信息量更少。这些特性使得MQTT在数据开销和网络使用方面非常高效,适合资源有限或不可靠连线的应用。LTEednc

MQTT的是怎么工作的?

让我们更深入地了解一下MQTT是如何运行的。LTEednc

服务质量(QoS)LTEednc

MQTT提供三个QoS级别,可根据应用需求帮助管理消息传输的可靠性:LTEednc

  • QoS级别0:最多发送一次—消息仅发送一次,无需接收方任何确认。
  • QoS级别1:至少发送一次—消息会重新传输,直到接收方确认为止,但可能会导致重复传输。
  • QoS级别2:精准的发送一次—通过发送方和接收方之间的四步握手过程确保不重复传输。

建立连接LTEednc

首先,MQTT客户端通过特定端口上的TCP或WebSocket与代理建立联系。可以使用安全传输层协议(TLS)来保护连接。连接成功后,客户端发送一个CONNECT数据包,其中包含客户端标识符、用户名/密码凭证(如果需要)等信息,以及其他可选参数(如保持连接的时间间隔)。LTEednc

发布-订阅模型LTEednc

在此模型中,发布者发送消息(PUBLISH数据包),但并不知道谁会收到这些信息,而订阅者仅收听他们感兴趣的特定主题。要订阅一个主题,客户端要发送SUBSCRIBE数据包。然后,客户端会根据他们订阅的主题接收发布的消息。当代理从订阅类似主题的或使用“通配符”方式的多个客户端接收到这些数据包时,它会相应地合并订阅。LTEednc

确认消息保留数据LTEednc

为了确保在三种QoS下消息传输的可靠性,MQTT使用了各种确认数据包,例如PUBACK、PUBREC和PUBCOMP。客户端还可以发送PINGREQ数据包,以便在不活动期间保持连接。LTEednc

除了消息确认之外,MQTT还可以通过在发布消息时将消息标记为“保留”来保留数据。代理将每个主题的这些保留消息存储起来,以便新的订阅者在订阅后能立即收到最新信息。LTEednc

关闭连接LTEednc

要正常关闭活动连接,客户端会发送一个DISCONNECT数据包,让代理在终止会话之前清理资源。如果客户端在未发送此数据包的情况下突然断开连接,或者未能在保持连接的间隔内做出响应,则代理可能会强制关闭连接并删除相关的订阅。LTEednc

MQTT协议适合车联网吗?

MQTT是车联网应用的绝佳选择有以下几个原因:LTEednc

  • 轻量高效:MQTT的轻量化设计使其非常适合车联网。它使用的带宽最小并且代码占用空间也很小(在嵌入式设备上小于1KB)。这种高效对于资源有限的车辆通信系统来说是理想的选择。
  • 可扩展性:MQTT的QoS功能可根据需要轻松调整容量,同时为IoV系统中的每个元器件提供所需的可靠性级别。这对于网联汽车的大规模部署至关重要。
  • 可靠性:MQTT的发布-订阅模型可确保车辆网络的可靠性,即使在传输过程中连接暂时丢失或变得不稳定也是如此。当连接恢复时,消息仍将会被传输。
  • 安全:确保车辆通信安全对于防止未经授权的访问以及确保驾驶员、乘客和其他道路使用者的安全至关重要。MQTT支持TLS加密,并为连接到代理的客户端提供用户名/密码身份验证。

MQTT对于IoV应用也有一些关键的局限性:LTEednc

  • 缺乏直接通信:MQTT依赖集中式代理在设备之间route(路由)消息。虽然这简化了网络管理,但也可能引入单点故障,并可能限制车辆之间的直接通信,而这对于某些V2V或V2I交互至关重要。
  • 对高速的支持有限:在需要高速实时通信的场景中,例如在自动驾驶或高安全性应用中,MQTT可能不是最合适的选择。其QoS级别2可确保可靠的传输,但由于需要四步握手过程可能会带来延迟。
  • 持续连接的开销:MQTT在代理和客户端之间保持持续连接,这对于功耗极低的设备或需要进入睡眠模式以节省能源的设备来说可能效率低下。

结论

总之,MQTT协议为更高效、可靠和安全的车与万物通信提供了重要机遇。凭借其轻量化设计,MQTT可以有效地实时处理大量数据,这对于动态的车辆通信领域至关重要。其QoS级别、发布-订阅模型和确认机制确保了不同车联网应用的可靠性和灵活性。LTEednc

不过,认识到MQTT在IoV环境中的潜在局限性也很重要。缺乏直接通信、高速场景中的潜在延迟以及持续连接的开销可能需要针对某些应用采用替代或辅助技术,特别是那些需要直接和超快速车对车交互的应用。LTEednc

总体而言,MQTT的优势在很大程度上满足了日益增长的物联网需求,并将被证明对未来的车辆网络非常有用。尽管如此,与所有其他技术一样,应根据具体情况来评估其适用性,并考虑每个应用的具体需求和限制。随着车联网的不断发展,支持车联网的技术也将不断发展,为更安全、更高效、更互联的道路交通提供动力。LTEednc

(原文刊登于EDN姊妹网站Embedded,参考链接:Applying MQTT for the Internet of Vehicles,由Ricardo Xie编译。)LTEednc

责编:Ricardo
本文为电子技术设计原创文章,未经授权禁止转载。请尊重知识产权,违者本司保留追究责任的权利。
  • 微信扫一扫
    一键转发
  • 最前沿的电子设计资讯
    请关注“电子技术设计微信公众号”
广告
热门推荐
广告
广告
广告
EE直播间
在线研讨会
广告
面包芯语
广告
向右滑动:上一篇 向左滑动:下一篇 我知道了