车联网全栈式OTA部署概念——观致汽车车联网设备与技术经理贺思聪在第七届全球汽车高峰论坛的演讲

大家好,我是来自观致汽车车联网技术与设备部门的贺思聪。我从事车联网这一块时间也不长,加起来也是四年左右。这四年我见证了整个中国,甚至是全球的车联网的一个产品从概念性的框架设定到最终落实为产品的过程,这个过程对汽车行业以及互联网行业的启发也是相当之多的。

对于车联网网联车这么一个大的框架概念,如何是由互联网的思维激起的,我找了很久,我很幸运在隔壁的论坛找到了一个切口。隔壁的论坛今天大家有没有看过,是一个糕饼店的高峰论坛,我拿了他们的一个介绍,这个介绍里面的一些东西让我很有兴趣。比如说有一个糕饼烘焙行业的密码,冷链在食品行业的应用,这个和互联网的思维有关。就在隔壁的论坛,它也在推它的互联网思维,有O2O,有最后一公里的衔接。由于互联网的植入, 整个车联网的产品也由此展开。

今天将为大家介绍一个叫全栈式的OTA的部署方案。OTA部署方案大家并不陌生。OTA部署方案实际上源自移动通讯工程项目之中,比如说三大移 动运营商,他们对整个OTA是了解的最为深刻的,他们在卖出SIM以后,需要对SIM进行远程刷写,在整个车联网的产品过程中,您的产品已经部署或者是已 经售出的时候,你的产品需要迭代,观致就是风口浪尖的品牌,一年前我们发行了1.0产品,在今年的上海车展上,我们发行了2.0的产品,未来还将有3.0,对观致来说,我们面临着产品迭代的时机,这需要我们深究OTA的解决方案。

提出全栈式的解决方案是源于我们发现了作为整车厂或者作为整个产品链路中的任何一个环节,对整个车联网的产品进行迭代,不是单一的模块,或者是几条 链路,必须是一个完整的概念。在这个堆栈中,我们有着太多的供应商有着太多的技术堆积在这里,对一个产品进行更新,不是更新它的一个界面,不是更新它的应用,而是更新它的全部。

堆栈这个概念一直被引入全栈式人才的概念,类似Google,facebook大量的招聘全程式的工程师,从硬件嵌入式到OTA无线通讯工程,到最后的云端计算以及到最后的消费者的体验,消费者都明白,你可以说他全而不精,但没有这些人,整个产品的迭代会丢失你所预想不到的那一部分。

现在有一个概念,比如说有一些车厂他们做HTML5,提出的是一个应用上的概念。HTML5是应用式的级别的,当提出嵌入式的时候,更多的是说的硬件物理层的级别,他们的区别是在什么地方,他们中都丢失了一些,前者丢失了应用物理层,后者丢失了未来的一些用户的体验,当大家听到互联网产品从嵌入式走入到 HTML5的时候,发现变的很新潮,很流行,是因为更走向了消费者的体验,更走向了应用层,这个就是全栈的概念,我们要做的就是整条链路全部进行更新迭代。

整条互联网的链路非常的丰富,有可介入的无线ECU的设备,他们需要最终得到类似大数据应用的分析结果。另外,还有一个可以部署人机交互的方式,让用户 可以听到,看到,甚至是摸到,有这么多的OS可以选择,嵌入式的,像Linux,Qnx,安卓,IOS这么系统,再往前看,我们走到了通讯层面,有传 统的2G,有现在被逐渐推广的2G,类似LTE,还有一些更传统的短信的网观和语音。再往上是TCP IP层面,我们要做车联网的服务,逃不过这些网络的连接。

远程的服务端,可以是企业私有云的,也可以是共有云的,或者是混搭的方案,最后是用户体验这一层,这个过程相当之长!放到车厂之上,我们要面对的是所有的这些,我们要更新的是这一条链路上所有组建的更新和变革。下面我有写到如果要做好车联网的产品,车厂会部署一些电子工程设备,传统员工他们精通嵌入式 的,或者是非嵌入式的一些终端的设备开发,还CDMA无线网络接入技术的人员,还需要专业的数据库开发从业人员,包括一些UVI模型,这些都是在我们的堆栈之中,这个问题被抛出来很多。

所有的人都会说,你们做的车载系统远不如苹果手机来的好,打开苹果的手机的导航比你们的导航更有用,当消费者有这么一个疑惑的时候,我们应该知道有一些链路是没有走完的。因为安卓,IOS的体验比我们做的更好,我们花的精力在一些堆栈上,而忽视了另外一些。

这一页显示的是整个OTA的变革,是从SIM卡的远程管理机制,变成了对终端的刷写和更新,终端要和服务器进行互联,最终进行终端的设备更新,往前一 步的话,也就是全栈式OTA目前的一个发展即通过空中协议向车载终端做出异步的差别化的内容更新。由于人机交互的多样性,越来越多的人机交互使得车载终端不再是唯一的窗口,事实上车载终端从一开始就是辅助工具技术的更新,已经存在支持差别化的技术更新手段和算法。现在的OTA的更新方式依然是异步的, 车厂发行的产品,在相当长的一段时间里,多则一年,少数则半年才可以对用户进行更新,通过一系列的商务操作之后,最后进行一个诊断级别的刷写,这种方式可以称之为是部分的OTA。因为有一部分的软件,应用层也好,可以通过3G无线刷写到终端,但是依然是要用户开着车辆去经销商店完成更多的操作。

往前一步就是我们要反思要做的事,通过空中协议向车载终端和其他关联的堆栈做同步的差别化的内容更新,这个目的才是全栈式OTA的最终的目的。首先空中协议的话,我们要求一个高可扩展性的,一个跨各类平台的开发解决方案。当然,这个要求比较高。

第二个车载终端已经是一个辅助方案的话,我们要求这个车载终端支持上述OTA空中协议。必须是遵守这个空中协议。

第三个是其他堆栈,其他的堆栈有CDMA,WCDMA,3G,2G网络,短信网关,所有的堆栈都是在可容纳的范围内,而且他们也必须应用到OTA空中协议之中来。然后是同步的。

同步的指异步要求用户开着他们的车辆来经销商店来做刷写,这是异步的一个表现,同步是通过空中协议直接给他返回结果,并且有一些短期内得不到的目标,可以通过手机和PC进行实现。

最后所谓的差别化是指空中协议是轻量级的,随时可以被替换的,随时可以被迭代的,这是我们的最终目标。

首先说空中协议,大家讨论很多,通过哪一些技术的组合来设计这个空中协议,首先它至少是一个可以把当前互联网产品所有的优秀概念结 合起来的方案,优秀的方案有太多,比如说图片上写的Node js是实现跨平台最佳的解决方案,restful,soap也是在考虑方向之内的。只要这些方案是流行的,并且是相互可兼容的,我们就应该接受它。

第二个是空中协议不能太重,也不能太轻,之前我们的空中协议的方案太重,整个的刷写方案太复杂,下面我们要变得轻量化,只有轻量化才可以替代,才更容易更新换代。

第三个还是要遵守MVC,这个是标准化的方式,无法规避,但是我们未必会选择HTML5的表现方式。

下一步是车载终端在全栈式OTA的要求,它只要遵守空中协议即可,我们一定要做一件事是打破它的技术壁垒,它并不是一个完全规避了其他设备, 其他技术所嫁接的堡垒,它必须开放,对于其他的堆栈,语音网关各种TBP的协议,进行了改造,所有的无线网络,整个无线网络的服 务质量的问题。

同步是指要让用户尽快尽早的得到他们的需求。差别化是允许整个链路中的组建,轻量化,这个轻量化就是它的精髓,它的精髓就是DIY,不要重 复你自己。我们不会一遍又一遍的刷新和迭代自身的模块,我们只会用轻量化的模块的组合,快速的递交给我们的用户,满足他们的需求。

首 先我们对第一堆栈CAN数据进行理解,第二个是OTA协议的数据,第三个把OTA的协议发送到网上。CAN是什么,CAN要做什么,这个就是一个CAN, 一个标准的CAN所有的格式,所有的规范就是这些。它有仲裁场,有控制场,有数据场,包括最后的CRC场,我们要对它进行改造,一个CAN的数据结构如何 放到网上去,这个才是真正的车联网。

我们的OTA的目标就是要把类似CAN这么一个数据包,转移成我们希望它所达到的数据结构的类似,数据结构的方式,这个结构的方式足够的轻量化,足够的流行,通过互联网的数据组建对CAN进行数据处理。

这 里有一些例子,比如是标准的OTA的报文头,将常用的车联网服务信息加载到其中。下一步有了OTA之后,我们准备把它扔上网,又是一个网络TCP的数据格 式,转移成了TCP/IP格式,有IP协议的所有的规范包括下面的GRE,刚才所提到的全栈式的链路,有一些链路就体现在这个GRE头上。GRE是通讯工 程的专家都会告诉你们,这个是基于WCDMA的3G无线网络技术,把这个技术引入到了OTA转移的过程中去。

我们回头看一下全栈式的解决方案,空中协议,车载终端,其他的堆栈同步和差别化的,把CAN的数据转移成OTA,再转移成互联网数据,发上网络,使车子可以联网,同时OTA的设备,可以和用户的手机、PC进行关联。

通过这种方式,我们可以把整条链路给串行起来,并通过轻量化的非常技术化的IT设备进行实现。