分享

车联网平台搭建从入门到精通 01|车联网场景中的 MQTT 协议

 刘振东 2022-03-28

车联网是物联网技术在交通系统领域的典型应用,车联网行业所涉及的相关技术领域的融合布局与协同发展,在某种程度上与物联网一脉相通。

作为一家开源物联网数据基础设施软件供应商,EMQ 多年来也为车联网领域的众多客户提供了云边端协同的物联基础设施软件,实现对人、车、路、云的统一连接,为整车制造商、T1 供应商、后市场服务商、出行服务公司等打造智能网联、自动驾驶和 V2X 等场景解决方案。

在本专题系列文章中,我们将根据 EMQ 在车联网领域的实践经验,从协议选择等理论知识,到平台架构设计等实战操作,与大家分享如何搭建一个可靠、高效、符合行业场景需求的车联网平台。

前言
MQTT 协议适合车联网吗?

整个车联网业务架构复杂,涉及多个通信环节,在本文中我们讨论的是车联网平台主要负责的云-端消息接入模块

MQTT 是基于发布/订阅模式的物联网通信协议,具有简单易实现、支持 QoS、报文小等特点,占据了物联网协议的半壁江山。

在车联网场景中,MQTT 依然能够胜任海量车机系统灵活、快速、安全接入,并保证复杂网络环境下消息实时性、可靠性, 其主要应用优势如下:

  1. 开放消息协议,简单易实现。市场上有大量成熟的软件库与硬件模组,可以有效降低车机接入难度和使用成本;

  2. 提供灵活的发布订阅和主题设计,能够通过海量的 Topic 进行消息通信,应对各类车联网业务;

  3. Payload 格式灵活,报文结构紧凑,可以灵活承载各类业务数据并有效减少车机网络流量;

  4. 提供三个可选的 QoS 等级,能够适应车机设备不同的网络环境;

  5. 提供在线状态感知与会话保持能力,方便管理车机在线状态并进行离线消息保留。

综上,如果配以具备海量车端连接、软实时、高并发数据吞吐以及多重安全保障能力的消息中间件产品,MQTT 协议无疑将为车联网平台的搭建带来极大便利。

相比于 MQTT,其他协议差在哪里?

目前为止大多数车联网客户首选的都是 MQTT 协议,我们也遇到过一些客户曾选择其他诸如私有 TCP、HTTP 协议,但从最终结果来看,MQTT 都是车联网场景下的最佳选择。

在没有接触过 MQTT 协议之前,华南某大型主机厂采用了私有化的 TCP 协议(ACP 协议)构建车联网服务平台。经过长周期的协议规范设计和开发,基本实现了车联网平台的主要功能。

但随着车联网业务场景的不断增加和车机数量的不断增长,私有化的 TCP 的弊端逐渐凸显:协议私有化定义与版本维护困难、所有的协议功能(如保活、断线重连、离线消息等)都需要定制开发,私有的协议也导致终端硬件适配都需要定制开发……成本高、周期长,更新迭代慢等问题突出

随着 MQTT 协议生态不断完善和在车联网平台通讯协议选型中被广泛采用,该主机厂在新一代车联网平台的开发中开始采用 MQTT 协议,基于 EMQ X 物联网接入平台为其提供的完善 MQTT 协议支持,不仅降低了开发成本、缩短了开发周期,同时实现了更多的功能场景和运维手段。

图片

华东某大型主机厂现有一百多万的存量车机,之前的车联网平台采用私有的 TCP 协议构建,面对百万车机海量的消息通信,私有化的 TCP 协议维护成本高,消息可靠性无保障,日常系统维护和功能扩展开发工作量大

随着 MQTT 协议在集团内部车联网平台广泛采纳,该主机厂也开始启动 MQTT 协议的改造升级工作,目前针对部分车型已经通过 OTA 升级的方式完成了升级,未来他们计划分阶段逐步完成所有车型的升级改造工作。

还有一个车企客户早期与我们接触过,但考虑到初期业务比较简单以及自身技术选型问题,最终使用了自建 HTTP 服务的形式接入车机。

随着业务发展,传统的请求-响应模式通信已经无法满足新增业务需求,同时随着功能与终端数量增多,整个平台通信量成倍增加,使用 HTTP 接入出现了性能瓶颈。该客户最终还是选择了 MQTT 作为接入协议,使用 EMQ X 提供的数据接入方案很好地解决了之前的业务难题。

图片

总体来看,私有协议具有封闭性、排他性等特点。其在制定初期即是为解决特定问题而设计,导致缺乏灵活性,在业务调整后往往难以满足新的需求,企业不得不在协议中加入更多的特性;又或者因为接入量的增多,私有协议 Server 端过早达到了性能和扩展性的瓶颈。

以上种种原因最终导致用户的工作重心从业务开发转移到接入层、中间件的开发,无形中增加了平台项目成本。由此, MQTT 协议顺理成章地成为了最适合车联网领域的主流协议。

如何选择 MQTT 消息接入产品/服务?

平台设计中,系统架构设计与产品选型是一个严谨的过程。用户首先要结合应用场景,评估产品功能是否满足业务需求,性能与可扩展性能否能够支撑平台短期的设计容量以及未来可能的增长;产品使用成本也是一个重要的考量,产品本身的成本、IaaS 基础设施、开发集成和维护工作这些都会影响客户的总体拥有成本;此外还应当结合产品全球化能力进行评估,对于有海外业务的项目,产品能否支持全球部署、是否满足各个地区的合规性、能否避免云计算提供商锁定这些都是选择产品的依据。

图片

EMQ 的车联网客户在选型过程中经常会与云计算提供商的物联网消息接入 SaaS 服务进行对比。相比之下 EMQ X 的优势主要在于私有部署和标准化能力 —— 支持私有部署到任意云平台,无平台锁定,提供标准 MQTT 协议,这也是车联网客户普遍看重的一点。

避免云计算供应商锁定有助于企业用户获得竞价优势,可以减少企业与云计算供应商中止合作关系而带来的影响。另一方面多云支持也可以充分使用不同云计算提供商的技术与商业优势,比如一些全球运营的企业可以在国内和海外选择不同的云计算提供商。

此外还有相当一部分客户看中 EMQ X 较低的使用成本,根本原因是由于计费方式不同,往往业务规模越大,云计算提供商的接入服务成本越高。

不过从成本考量也有例外。之前曾有车企用户评估了云提供商的接入服务和 EMQ X 后,考虑到自身的运维成本和风险后最终放弃私有部署,选择了云提供商的接入服务。

随着 EMQ X 的全托管 MQTT 消息服务 EMQ X Cloud 的上线,这个问题也已得到解决。通过 EMQ X Cloud,现在用户可以在免除基础设施管理维护负担的同时,保持了同私有部署一致的成本预算清晰可控、跨云跨平台等优势,没有后顾之忧地开展车联网平台建设。

对于有私有部署需求的客户,EMQ X 也有其独有的优势。EMQ X 提供全球性的商业支持,较高的产品性能可带来海量连接和吞吐能力,规则引擎与数据桥接则提供快速集成能力。同时针对车联网领域,高可靠和易扩展架构能力以及云边一体的 V2X 信息交互能力也让 EMQ X 在支持私有部署的同类产品中脱颖而出。

图片

2018 年上汽大众在设计研发新一代车联网系统时,SC 部门考虑到新型车联网大并发、低时延、高吞吐的场景需求,参考了国内外主流新型车联网系统架构,最终采用了基于 MQTT 协议建设新一代车联网平台。

该项目中,MQTT 的特性与 EMQ X 强大规则引擎数据集成能力和通用型总线能力有效满足了客户对复杂网络下消息实时性可靠性的要求,并解决了项目时间紧、任务重,需要快速开发对接的需求。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多