智能汽车安全新媒体
MQTT 协议早已是物联网领域当之无愧的主流协议,其凭借轻巧高效、可靠安全、双向通讯等特性在诸多行业物联网平台搭建中得到了广泛的应用。
那么, MQTT 协议在车联网场景中的应用情况是怎样的呢?
MQTT 消息接入产品与服务,以及当前在数据传输安全、数据集成等方面的最热门技术方案。
MQTT协议适合车联网吗
整个车联网业务架构复杂,涉及多个通信环节,在本文中我们讨论的是车联网平台主要负责的云-端消息接入模块。
MQTT 是基于发布/订阅模式的物联网通信协议,具有简单易实现、支持 QoS、报文紧凑等特点,占据了物联网协议的半壁江山。
在车联网场景中,MQTT 依然能够胜任海量车机系统灵活、快速、安全接入,并保证复杂网络环境下消息实时性、可靠性, 其主要应用优势如下:
1. 开放消息协议,简单易实现。市场上有大量成熟的软件库与硬件模组,可以有效降低车机接入难度和使用成本;
2. 提供灵活的发布订阅和主题设计,能够通过海量的 Topic 进行消息通信,应对各类车联网业务;
3. Payload 格式灵活,报文结构紧凑,可以灵活承载各类业务数据并有效减少车机网络流量;
4. 提供三个可选的 QoS 等级,能够适应车机设备不同的网络环境;
5. 提供在线状态感知与会话保持能力,方便管理车机在线状态并进行离线消息保留。
综上,如果配以具备海量车端连接、软实时、高并发数据吞吐以及多重安全保障能力的消息中间件产品,MQTT 协议无疑将为车联网平台的搭建带来极大便利。
MQTT VS 其他协议
目前为止大多数车联网客户首选的都是 MQTT 协议,我们也遇到过一些客户曾选择其他诸如私有 TCP、HTTP 协议,但从最终结果来看,MQTT 都是车联网场景下的最佳选择。
在没有接触过 MQTT 协议之前,华南某大型主机厂采用了私有化的 TCP 协议(ACP 协议)构建车联网服务平台。经过长周期的协议规范设计和开发,基本实现了车联网平台的主要功能。
但随着车联网业务场景的不断增加和车机数量的不断增长,私有化的 TCP 的弊端逐渐凸显:
协议私有化定义与版本维护困难、所有的协议功能(如保活、断线重连、离线消息等)都需要定制开发,私有的协议也导致终端硬件适配都需要定制开发……
成本高、周期长,更新迭代慢等问题突出。
随着 MQTT 协议生态不断完善和在车联网平台通讯协议选型中被广泛采用,该主机厂在新一代车联网平台的开发中开始采用 MQTT 协议,基于 EMQX 物联网接入平台为其提供的完善MQTT 协议支持,不仅降低了开发成本、缩短了开发周期,同时实现了更多的功能场景和运维手段。
华东某大型主机厂现有一百多万的存量车机,之前的车联网平台采用私有的 TCP 协议构建,
面对百万车机海量的消息通信,私有化的 TCP 协议维护成本高,消息可靠性无保障,日常系统维护和功能扩展开发工作量大。
随着 MQTT 协议在集团内部车联网平台广泛采纳,该主机厂也开始启动 MQTT 协议的改造升级工作,目前针对部分车型已经通过 OTA 升级的方式完成了升级,未来他们计划分阶段逐步完成所有车型的升级改造工作。
还有一个车企客户早期与我们接触过,但考虑到初期业务比较简单以及自身技术选型问题,最终使用了自建 HTTP 服务的形式接入车机。
随着业务发展,传统的请求-响应模式通信已经无法满足新增业务需求,同时随着功能与终端数量增多,整个平台通信量成倍增加,使用 HTTP 接入出现了性能瓶颈。该客户最终还是选择了 MQTT 作为接入协议,使用 EMQX 提供的数据接入方案很好地解决了之前的业务难题。
总体来看,私有协议具有封闭性、排他性等特点。其在制定初期即是为解决特定问题而设计,导致缺乏灵活性,在业务调整后往往难以满足新的需求,企业不得不在协议中加入更多的特性;又或者因为接入量的增多,私有协议 Server 端过早达到了性能和扩展性的瓶颈。
以上种种原因最终导致用户的工作重心从业务开发转移到接入层、中间件的开发,无形中增加了平台项目成本。由此,MQTT 协议顺理成章地成为了最适合车联网领域的主流协议。
常用技术方案
作为消息中间件,EMQX 提供了丰富且灵活的集成能力,且每个功能都提供了不同的技术方案以供用户选择,经过长期使用总结,比较热门的技术方案如下:
安全保障
在传输链路层上我们均推荐用户启用 TLS 加密传输,但是多数云计算提供商的负载均衡产品不支持 TLS 终结,生产部署时需要额外部署 HAProxy 等组件来卸载 TLS 证书。另外有部分客户需要国密算法 TLS 加密传输,我们也专门定制提供了方案。
TBox 接入最常见的是使用证书认证,EMQX 提供可扩展的认证链,支持第三方认证平台扩展(如 PKI 系统),基于用户名/密码的外置数据源和内部数据库认证其次。
此外绝大部分用户都启用了 EMQX 鉴权功能,为不同 TBox 终端分配相应的发布、订阅权限以有效保护数据安全。
数据集成
将流经 EMQX 的海量车联网数据与业务系统连接是客户最重视的能力,EMQX 内置了规则引擎和数据桥接能力,可以将 MQTT 数据流式传输到 Kafka、各类 SQL / NoSQL / 时序数据库中,而实际项目中绝大多数客户都使用 Kafka 作为后端流处理组件。
Kafka 专注于数据的存储和读取,而 EMQX 则侧重于客户端和服务器之间的通信,EMQX 用来快速接收和处理来自大量物联网设备的消息,Kafka 可以收集并存储这些数据并将其发送给后端程序来分析和处理,这个架构是目前应用最广的数据集成方案。
目前汽车电子发展迅速,助推车联网行业技术升级,智能交通及汽车行业未来市场前景可观,可以预见有更多的车主消费者和汽车厂家将从中受益。基于完善的 MQTT 协议和 EMQX 强大的产品能力可以帮助车联网平台开发者快速构建健壮、灵活的车联网平台。
内容来源:
https://mp.weixin.qq.com/s/n-5471cH6VqibgUuH8GdAQ
- THE END -
因文章部分文字及图片涉及到引用,如有侵权,请及时联系17316577586,我们将删除内容以保证您的权益。