您的位置:首页 > 移动开发

App开发智能车载应用之概述篇

2017-03-20 10:05 120 查看


App开发智能车载应用之概述篇


Apple CarPlay Vs Android Auto



苹果和谷歌都先后公布了自己的智能车载解决方案Apple CarPlay和Android Auto。
两家采用了类似的系统构架。总体思路是将车载娱乐中控显示屏作为智能手机的扩展屏,App实际是运行在智能手机端,通过某种方式”投射”到车载信息娱乐系统中控屏,概念上有些类似与AirPlay和GoogleCast。



实际操作中,两者都需要通过USB线来连接手机和车载信息娱乐系统。
通过这种物理连接方式,一方面可以避免多部智能手机同时尝试对车载系统进行控制而引起的混乱,另外一方面还可以给手机充电。
对于第三方开发着支持方面,Android Auto仍处于测试阶段,API和SDK已经提供给开发,目前只有Audio和message的支持,不过开发者可以将应用运行在模拟器上做一些原型设计。而Apple CarPlay延续苹果一贯作风,目前开放给第三方开发者的资料很少。


智能车载系统和智能电话系统区别

智能概念已经从手机领域扩展到其他很多领域,比如手表,电视等。对于车载系统来说,他和智能电话系统的发展周期存在一定的差异。



美国道路上行驶车辆的平均年龄是11.4年,而美国市面上使用手机的平均年龄是1.6年,两个系统的迭代周期是很不一样。
当手机实现从功能机到智能机转变,处理能力飞速发展的同时,车载娱乐系统基本很少更新换代。
在这种情况下,将车载系统信息娱乐接口做成概念上的投影终端机是一个不错的折中选择。


车载操作系统



无论是Android Auto还是Apple CarPlay都不是一个独立的操作系统,而是在现有的车载操作系统中嵌入自己的运行环境。下面我们来看看市面上主流车载操作系统都有哪些。 
微软的Window Embedded Automotive和黑莓QNX在车载操作系统中占主导地位,
从趋势上来看Window Embedded Automotive系统在走下坡路,标志性事件是14年底,福特宣布放弃微软,选择QNX车载平台。Linux和原生Android车载操作系统市场份额比较低,处于一个上升阶段。
这里要提一句BlackBerry的QNX,一个为嵌入式设备设计的类Unix的操作系统,占据了车载信息娱乐系统的很大份额,汽车制造商会为自家的车辆定制QNX系统。因为QNX兼容Java, HTML5, OpenGL ES和android开发库,很容易进行App开发。
在这样的一个现有格局下,Google和Apple都没有选择直接与QNX操作系统展开直接竞争,而是将Android Auto和Apple CarPlay运行是QNX系统之上。
还要来说一句原生Android和Android Auto的区别,原生android是指车载系统上运行的操作系统将是Android(可能是定制的tablet版本), 而Android Auto是一个执行环境,可以运行在其他操作系统之上。


安卓车载构架示意图



安卓车载系统逻辑上分为三个层次, 
底层的安卓框架提供一些平台支持,比如蓝牙协议,多Channel音频和快速启动等特性。
车载系统的扩展层,在安卓系统原有功能的基础上,添加了对车辆接口,车辆数据以及一些其他车载系统特有的功能。
车载应用层主要对车载系统友好的应用程序。


安卓车载协议示意图



基于USB连接的安卓车载协议可以理解为带有优先级的多通道复用协议,不同的通道用于不同的功能需求。有传输音频数据,显示数据,传感器数据,用户输入,GPS信息和车轮转速等的通道,这些通道中的数据被赋予一定的优先级,通过USB进行多路复用传输。目前上来说是基于USB的协议,以后可能会扩展到Wi-Fi Direct链接。


欢迎订阅App开发日报




2015-03-08  (加长版 5条)
iOS 开发知识与能力体系
如何检测一个APP:从解密到批量获取他人信息
Material Design风格安卓对话框
NativeScript构建原生应用
Android性能优化典范
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: