当前位置: 首页 > 科技观察

车联网场景下的MQTT协议

时间:2023-03-20 17:17:46 科技观察

前言MQTT协议一直以来都是物联网领域当之无愧的主流协议。以其轻便、高效、可靠、安全、双向通信等特点,被广泛应用于众多行业的物联网平台建设中。那么MQTT协议在车联网场景中有哪些应用呢?本文将从EMQ车联网行业用户的实际案例体验出发,比较不同物联网通信协议在车联网平台应用中的优缺点,分享企业应如何选择合适的MQTT报文根据自身条件以及现状获取产品和服务。数据传输安全、数据集成等最热门的技术解决方案。MQTT协议适用于车联网吗?整个车联网业务结构复杂,涉及多个通信环节。本文主要讨论车联网平台主要负责的云端消息接入模块。MQTT是一种基于发布/订阅模型的物联网通信协议。简单易实现,支持QoS,报文小。它占据了物联网协议的半壁江山。在车联网场景下,MQTT依然能够灵活、快速、安全地接入海量车机系统,保证复杂网络环境下消息的实时性和可靠性。其主要应用优点如下:开放的消息协议,简单易实现。市场上有大量成熟的软件库和硬件模块,可以有效降低车机接入的难度和成本;提供灵活的发布订阅和主题设计,可通过大量主题进行消息交流,应对各种车联网服务;Payload格式灵活,消息结构紧凑,可以灵活承载各种业务数据,有效降低车机网络流量;提供三种可选的QoS等级,可适应车机设备不同的网络环境;提供在线状态感知和会话维护能力,方便管理车辆在线状态和离线消息的保留。综上所述,如果配备海量车端连接、软实时、高并发数据吞吐和多重安全保障能力的消息中间件产品,MQTT协议无疑将为车联网平台建设带来便利.与MQTT相比,其他协议有什么区别?到目前为止,大多数车联网客户更喜欢MQTT协议。我们也遇到过一些客户选择了私有TCP、HTTP等其他协议,但从最终的结果来看,车联网场景下MQTT是最好的选择。在接触MQTT协议之前,华南某大型整车厂采用私有化的TCP协议(ACP协议)搭建车联网服务平台。经过长时间的协议规范设计和制定,车联网平台的主要功能已经基本实现。但随着车联网业务场景的不断增加和车辆保有量的不断增长,私有化TCP的弊端也逐渐凸显:协议私有化定义和版本维护困难,所有协议功能(如keepalive、disconnection)重连、离线消息等)都需要定制开发,专有协议还需要针对终端硬件适配进行定制开发,存在成本高、周期长、更新迭代慢等突出问题。随着MQTT协议生态的不断完善及其在车联网平台通信协议选择中的广泛采用,主机厂开始在新一代车联网平台的开发中采用MQTT协议。MQTT协议支持,不仅降低了开发成本,缩短了开发周期,还实现了更多的功能场景和运维方式。华东地区某大型整车厂目前库存量超过百万辆。以前的车联网平台是使用专有的TCP协议构建的。面对百万车辆的海量消息通信,私有化的TCP协议维护成本高,消息可靠。性能得不到保证,日常系统维护和功能扩展开发工作量大。随着MQTT协议在集团内部车联网平台的广泛采用,主机厂也开始了对MQTT协议的改造升级。目前部分机型已通过OTA升级方式升级。未来,他们计划分阶段逐步完成所有车型的升级。升级改造工作。还有一个车企客户,早期也接触过我们,但是考虑到一开始业务比较简单,加上自身技术选型的问题,最终还是使用了自建的HTTP服务来访问汽车。随着业务的发展,传统的请求-响应模式通信已经不能满足新业务的需求。同时,随着功能和终端数量的增加,整个平台的通信量成倍增长,使用HTTP访问时出现性能瓶颈。客户最终选择了MQTT作为接入协议,EMQX提供的数据接入方案很好的解决了之前的业务问题。一般来说,私人协议具有封闭性和排他性的特点。它在制定的初期是为了解决具体问题而设计的,因此缺乏灵活性。业务调整后往往难以满足新的需求。企业必须在协议中添加更多内容。或者因为访问量的增加,私有协议的服务器端过早地达到了性能和扩展性的瓶颈。以上原因最终导致用户工作重心从业务开发转移到接入层和中间件的开发上,无形中增加了平台项目的成本。因此,MQTT协议自然成为最适合车联网领域的主流协议。如何选择MQTT消息接入产品/服务?在平台设计中,系统架构设计和产品选型是一个严谨的过程。用户首先要结合应用场景评估产品功能是否满足业务需求,性能和扩展性是否能够支撑平台短期的设计能力和未来可能的增长;产品使用成本也是一个重要的考虑因素,产品本身的成本、IaaS基础设施、开发集成和维护工作都会影响客户的总体拥有成本;此外,还应结合产品全球化能力进行评估。对于有海外业务的项目,产品能否支持全球部署,是否满足各地区的合规性,能否避免云计算提供商锁定,是选择产品的基础。EMQ的车联网客户在选择过程中,往往会与云计算提供商的物联网消息接入SaaS服务进行比较。相比之下,EMQX的优势主要在于私有部署和标准化能力——支持私有部署到任意云平台,无平台锁定,提供标准的MQTT协议,普遍受到车联网客户的重视。避免云计算提供商锁定可以帮助企业用户获得竞争优势,并可以减少企业与云计算提供商之间暂停合作的影响。另一方面,多云支持也可以充分利用不同云计算提供商的技术和商业优势。例如,一些在全球开展业务的公司可以选择国内外不同的云计算提供商。此外,不少客户对EMQX较低的使用成本感兴趣。根本原因在于,由于计费方式不同,业务规模越大,云计算提供商的接入服务成本越高。但是,出于成本考虑,也有例外。此前,部分车企用户在对云商的接入服务和EMQX进行评估后,在综合考虑自身运维成本和风险后,最终放弃了私有部署,选择了云商的接入服务。随着EMQ的全托管MQTT消息服务——EMQXCloud的推出,这个问题也得到了解决。通过EMQXCloud,用户现在可以免除基础设施管理和维护的负担,同时保持与私有部署、跨云、跨平台一致的成本预算清晰可控的优势,进行车联网平台的建设无须担心。任何担心。对于有私有部署需求的客户,EMQX也有其独特的优势。EMQX提供全球商用支持,高产品性能带来海量连接和吞吐能力,规则引擎和数据桥接提供快速集成能力。同时,针对车联网领域,高可靠易扩展的架构能力,以及云端集成的V2X信息交互能力,也让EMQX在同类支持私有部署的产品中脱颖而出。2018年上汽大众在设计研发新一代车联网系统时,SC部门考虑到新车联网大并发、低时延、高吞吐的场景需求,参考主流的新车联网系统架构在国内外,最终采用基于MQTT协议构建新一代车联网平台。在本项目中,利用MQTT的特性和EMQX强大的规则引擎数据集成能力和通用总线能力,有效满足了客户在复杂网络下对消息实时可靠性的要求,解决了项目时间紧、任务重的问题。需要快速开发和对接需求。查看客户成功案例:上汽大众与EMQ联手打造新一代智能车联网系统,你们采用的是什么技术方案?EMQX作为消息中间件,提供了丰富灵活的集成能力,每个功能都提供了不同的技术方案供用户选择。经过长期使用和总结,比较流行的技术方案如下:在传输链路层保证安全建议用户开启TLS加密传输,但大部分云计算提供商的负载均衡产品不支持TLS终结,以及需要部署额外的组件(例如HAProxy)以在生产部署期间卸载TLS证书。另外,部分客户需要国密算法TLS加密传输,我们也提供定制化解决方案。访问TBox最常见的方式是使用证书认证。EMQX提供可扩展的认证链,支持第三方认证平台扩展(如PKI系统),其次是外部数据源和内部数据库基于用户名/密码的认证。此外,大部分用户都开启了EMQX鉴权功能,为不同的TBox终端分配相应的发布订阅权限,有效保障数据安全。数据集成能够将流经EMQX的海量车联网数据与业务系统打通,是客户最重要的能力。EMQX内置规则引擎和数据桥接能力,可以将MQTT数据流式传输到Kafka、各种SQL/NoSQL/时序数据库中。在实际项目中,大部分客户使用Kafka作为后端流处理组件。Kafka专注于数据的存储和读取,而EMQX专注于客户端和服务器之间的通信。EMQX用于快速接收和处理来自大量物联网设备的消息。Kafka可以收集并存储这些数据,并发送给后端程序进行分析和处理,这种架构是目前应用最广泛的数据集成方案。写在最后。当前,汽车电子的快速发展助推了车联网产业的技术升级。智能交通和汽车行业未来市场前景看好。可以预见,更多的车主、消费者和自行车制造商将从中受益。基于完善的MQTT协议和EMQX强大的产品能力,可以帮助车联网平台的开发者快速构建健壮灵活的车联网平台。EMQ也将紧跟行业发展趋势,推动消息传输和边缘计算相关技术的发展和落地,为自动驾驶、车机协同、互联网用户提供更快、更好、更智能的消息服务基础设施车辆。