技术领域
[0001] 示意性
实施例总体上涉及一种用于车辆和移动装置之间的软件实现的设备和方法。
背景技术
[0002] 第7516201号美国
专利公开了一种具有计算管理器单元的用于在一个或更多个通信网络中运行多媒体应用的通信装置和软件,其中,所述计算管理器单元用于在所述一个或更多个通信网络中基于与一个或更多个通信装置的通信来管理和提供多媒体应用,借此所述计算管理器单元对装置发现管理器单元、服务发现管理器单元和虚拟装置管理器单元进行控制,其中,装置发现管理器单元用于检测一个或更多个装置和/或一个或更多个通信网络的可用性,服务发现管理器单元用于从所述一个或更多个通信网络提供可用服务并且/或者为所述一个或更多个通信网络提供可用服务,虚拟装置管理器单元提供用于对装置和/或所述一个或更多个通信网络的服务进行控制的图形
用户界面。
[0003] WO 2013/039763公开了用于结合车辆的头部单元使用
移动电话的系统、软件和方法。运行在移动电话上的用户应用程序的用户界面被扩展以使用头部单元的通用显示屏幕,使得可避免定制头部单元软件或对头部单元软件的每个应用进行开发。优选地,手机应用代理(HAP)软件应用安装在移动电话中,并可在移动电话中运行;头部单元代理(HUP)
软件组件可在头部单元上运行。HAP和HUP在头部单元和移动电话之间进行消息通信。优选地,HAP包括与用户应用相关联的脚本语言组件,并具有模板消息翻译器组件。
发明内容
[0004] 第一示意性实施例包括一种被配置为与移动装置进行通信的车辆
计算机系统(VCS),其中,所述VCS包括:无线收发器,被配置为与所述移动装置进行通信。所述VCS还包括:VCS软件栈,被配置为与移动装置软件栈交互;处理器,被配置为通过无线收发器从所述移动装置接收指示所述移动装置软件栈的版本的消息。所述处理器还被配置为:至少基于所述移动装置软件栈的版本来确定所述VCS是否需要对VCS软件栈的更新;从非车载
服务器下载对VCS软件栈的更新;对所述VCS进行更新以使所述VCS包括更新后的VCS软件栈;使用更新后的VCS软件栈与所述移动装置进行通信。
[0005] 第二示意性实施例包括一种被配置为与一个或更多个移动装置进行通信的车辆计算机系统(VCS),其中,所述VCS包括:无线收发器,被配置为与移动装置进行通信。所述VCS还包括:VCS蓝牙配置文件,被配置为与移动装置蓝牙配置文件交互;处理器,被配置为通过无线收发器从移动装置接收指示所述移动装置蓝牙配置文件的版本的消息。所述处理器还被配置为:至少基于所述移动装置蓝牙配置文件的版本来确定所述VCS是否需要对VCS蓝牙配置文件的更新;确定是否有足够的存储空间能够用于下载并安装对VCS蓝牙配置文件的更新;从非车载服务器下载对VCS蓝牙配置文件的软件更新,其中,所述软件更新包括针对移动装置的附加功能;对所述VCS进行更新以使所述VCS包括所述软件更新;使用更新后的VCS蓝牙配置文件与移动装置进行通信。
[0006] 所述处理器还可被配置为在没有足够的存储空间能够用于下载并安装对VCS蓝牙配置文件的更新时,输出插入外部存储装置的通知。
[0007] 通过无线收发器从所述移动装置接收到的所述消息可包括关于所述移动装置的制造商或所述移动装置的
操作系统的信息。
[0008] 第三示意性实施例包括一种车辆计算机系统(VCS)与移动装置(MD)进行通信的方法,其中,所述方法包括:从所述MD接收指示MD软件栈的版本的消息;至少基于所述MD软件栈的版本来确定VCS软件栈是否需要更新;从非车载服务器下载并安装对所述VCS软件栈的更新;使用更新后的VCS软件栈与所述MD进行通信。
[0009] 所述VCS软件栈可位于HCI层。
[0010] 所述VCS软件栈可促进蓝牙配置文件和
人机界面层之间的通信。
[0011] 所述消息可包括关于所述MD的制造商或所述MD的操作系统的信息。
[0012] 所述方法还可包括以下步骤:当没有足够的存储空间能够用于下载并安装对VCS蓝牙配置文件的更新时,输出插入外部存储装置的通知。
[0013] 所述方法还可包括以下步骤:当没有连接可用于下载所述更新时,输出存在网络连接错误的通知。
[0014] 所述方法还可包括以下步骤:下载并安装对VCS蓝牙配置文件的更新。
附图说明
[0015] 图1示出车辆的基于车辆的计算系统(VCS)的示例
块拓扑;
[0016] 图2示出在软件更新期间基于车辆的计算系统、服务器和移动装置彼此交互的示例
流程图;
[0017] 图3示出基于车辆的计算系统、服务器和移动装置彼此交互的示例流程图。
具体实施方式
[0018] 根据需要,在此公开本发明的详细实施例;然而,将理解的是,所公开的实施例仅仅是本发明的示例,本发明可以以各种可替代形式实施。附图无需按比例绘制;可夸大或最小化一些特征以示出特定组件的细节。因此,在此公开的具体结构和功能细节不应该被解释为限制,而仅仅作为用于教导本领域技术人员以各种方式利用本发明的代表性
基础。
[0019] 图1示出车辆31的基于车辆的计算系统(VCS)1的示例块拓扑。这种基于车辆的计算系统1的示例是由福特
汽车公司制造的SYNC系统。设置有基于车辆的计算系统的车辆可包含位于车辆中的可视前端界面4。如果设置有例如触敏屏幕,则用户还能够与所述界面交互。在另一示意性实施例中,通过按钮按压、具有自动
语音识别的口语
对话系统和语音合成来进行交互。
[0020] 在图1中所示的示意性实施例1中,处理器3控制基于车辆的计算系统的操作中的至少某部分。设置在车辆内的处理器允许对命令和程序的车载处理。此外,处理器连接到非永久性
存储器5和永久性存储器7两者。在该示意性实施例中,非永久性存储器是
随机存取存储器(RAM),而永久性存储器是
硬盘驱动器(HDD)或闪存。通常,永久性(非暂时性)存储器可包括在计算机或其他装置断电时保持数据的所有形式的存储器。这些存储器包括但不限于HDD、CD、DVD、磁带、固态驱动器、便携式USB驱动器以及任何其他适当形式的永久性存储器。
[0021] 处理器还设置有允许用户与处理器进行交互的多个不同的输入。在该示意性实施例中,麦克
风29、辅助输入25(用于输入33)、USB输入23、GPS输入24、可作为
触摸屏显示器的屏幕4和蓝牙输入15均被提供。还设置有输入选择器51,以允许用户在各种输入之间进行交换。在对麦克风和辅助连接器两者的输入被传送到处理器之前,通过转换器27将所述输入从模拟转换为数字。虽然未示出,但是与VCS进行通信的很多车辆组件和辅助组件可使用车辆网络(诸如,但不限于CAN总线)以向VCS(或其组件)传送数据并传送来自于VCS(或其组件)的数据。
[0022] 对系统的输出可包括但不限于可视显示器4以及扬声器13或立体声系统输出。扬声器连接到
放大器11并通过
数模转换器9从处理器3接收其
信号。还可分别沿19和21所示的双向数据流进行到远程蓝牙装置(诸如,个人导航装置(PND)54)或USB装置(诸如,车辆导航装置60)的输出。
[0023] 在一示意性实施例中,系统1使用蓝牙收发器15与用户的移动装置53(例如,蜂窝电话、智能电话、PDA或具有无线远程网络连接能
力的任何其它装置)进行通信17。移动装置随后可用于通过例如与蜂窝塔57的通信55来与车辆31外部的网络61进行通信59。在一些实施例中,蜂窝塔57可以是WiFi接入点。
[0024] 移动装置和蓝牙收发器之间的示例性通信由信号14表示。
[0025] 可通过按钮52或相似输入来指示对移动装置53与蓝牙收发器15进行
配对。因此,CPU被指示:车载蓝牙收发器将与移动装置中的蓝牙收发器进行配对。
[0026] 可利
用例如与移动装置53关联的数据计划、话上数据或DTMF
音调在CPU3和网络61之间传送数据。可选择地,可期望包括具有天线18的车载
调制解调器63以便在CPU 3和网络61之间通过语音频带进行数据通信16。移动装置53随后可用于通过例如与蜂窝塔57的通信
55来与车辆31外部的网络61进行通信59。在一些实施例中,调制解调器63可与蜂窝塔57建立通信20,以与网络61进行通信。作为非限制性示例,调制解调器63可以是USB蜂窝调制解调器,并且通信20可以是蜂窝通信。
[0027] 在一示意性实施例中,处理器设置有包括与调制解调器
应用软件进行通信的API的操作系统。调制解调器应用软件可
访问蓝牙收发器上的嵌入式模块或
固件,以完成与(诸如设置在移动装置里的)远程蓝牙收发器的无线通信。蓝牙是IEEE 802PAN(个域网)协议的子集。IEEE 802LAN(局域网)协议包括WiFi并且与IEEE 802PAN具有相当多的交叉功能。两者都适合于车辆内的无线通信。可以在本领域使用的另一通信方式是自由空间光通信(诸如,IrDA)和非标准化消费者红外(IR)协议。
[0028] 在另一实施例中,移动装置53包括用于语音频带或宽带数据通信的调制解调器。在话上数据的实施例中,当移动装置的拥有者能够在数据正被传送的同时通过装置说话时,可实现已知为频分复用的技术。在其它时间,当拥有者没有使用装置时,数据传送可使用整个带宽(在一示例中是300Hz至3.4kHz)。虽然频分复用对于车辆与互联网之间的模拟蜂窝通信而言可能是常见的并且仍在使用,但其已经很大程度上被用于数字蜂窝通信的码分多址(CDMA)、时分多址(TDMA)、空分多址(SDMA)的混合体所替代。这些都是ITU IMT-2000(3G)兼容的标准,并且为静止或者行走的用户提供高达2mbs的
数据速率以及为移动的车辆中的用户提供385kbs的数据速率。3G标准现在正被IMT-Advanced(4G)所替代,其中,IMT-Advanced(4G)为车辆中的用户提供100mbs的数据速率以及为静止的用户提供1gbs的数据速率。如果用户拥有与移动装置关联的数据计划,则所述数据计划可允许宽带传输且系统可使用宽得多的带宽(
加速数据传送)。在另一实施例中,移动装置53被安装到车辆31的蜂窝通信装置(未示出)所替代。在另一实施例中,ND 53可以是能够通过例如(而不限于)
802.11g网络(即,WiFi)或WiMax网络进行通信的无线局域网(LAN)装置。
[0029] 在一实施例中,传入数据可经由话上数据或数据计划通过移动装置、通过车载蓝牙收发器并进入车辆的内部处理器3。例如,在某些临时数据的情况下,数据可被存储在HDD或其它存储介质7上,直至不再需要所述数据的时候为止。
[0030] 其它可与车辆
接口连接的源包括:具有例如USB连接56和/或天线58的个人导航装置54、具有USB 62或其它连接的车辆导航装置60、车载GPS装置24、或者具有与网络61的连TM接性的远程
导航系统(未示出)。USB是一类串行联网协议中的一种。IEEE 1394(FireWire(苹果))、i.LINKTM(索尼)、LynxTM(德州仪器))、EIA(
电子工业协会)串行协议、IEEE 1284(Centronics端口)、S/PDIF(索尼/飞利浦数字互连格式)和USB-IF(USB应用者论坛)形成了装置-装置串行标准的骨干。多数协议可被实施为用于电通信或光通信。
[0031] 此外,CPU能与各种其它的辅助装置65进行通信。这些装置可通过无线连接67或有线连接69来连接。辅助装置65可包括但不限于个人媒体播放器、无线医疗装置、便携式计算机等。
[0032] 此外或可选择地,CPU可使用例如WiFi(IEEE 803.11)收发器71而连接到基于车辆的无线路由器73。这可允许CPU在本地路由器73的范围内连接到远程网络。
[0033] 除了具有通过位于车辆中的车辆计算系统执行的示例性处理之外,在某些实施例中,还可以通过与车辆计算系统进行通信的计算系统来执行示例性处理。这样的系统可包括但不限于:无线装置(例如,但不限于移动电话)或者通过无线装置连接的远程计算系统(例如,但不限于服务器)。总体上,这些系统可被称为车辆相关计算系统(VACS)。在某些实施例中,VACS的特定组件可根据系统的特定实施方式而执行处理的特定部分。通过示例而并非限制的方式,如果处理具有与配对的无线装置发送或者接收信息的步骤,则很可能由于无线装置不会与自身进行信息的“发送和接收”,因此无线装置不执行该处理。本领域的普通技术人员将理解何时不适合对给定解决方案应用特定的VACS。在所有解决方案中,预期至少位于车辆自身内的车辆计算系统(VCS)能够执行示例性处理。
[0034] 图2示出基于车辆的计算系统、服务器和移动装置彼此交互的示例流程图。尽管该图示出车辆或车辆计算机系统VCS 203与服务器201进行通信,但移动电话或音频网关205也可与服务器201进行通信。车辆203可配备有包括有线或无线收发器的VCS,以与移动电话205进行通信。
[0035] VCS 203可能正在收听音频网关装置或移动电话207以开始配对处理。在其他实施例中,VCS还可设法发现正在收听的移动电话,以从装置得到消息。在从装置接收到配对
请求时,VCS和移动电话可开始配对处理(209)。对于移动电话的每个特定的操作系统,配对处理可以是独特的。例如,Android、iOS、RIM和Windows可各自具有独特的与装置进行通信的配对处理。因此,VCS或移动电话上的软件更新可提高两个装置之间的
互操作性。另外,VCS可能需要软件更新来提高装置之间的互操作性。
[0036] 在配对处理期间,移动电话可请求VCS指示正在VCS上运行的软件栈的软件版本。移动装置可将指示运行在VCS上的软件(例如,蓝牙软件栈)是旧的的消息发送到VCS。软件栈可指这样的软件,其中,所述软件是对蓝牙协议栈的实现。栈可用于通用目的实现以强调功能丰富性和灵活性,或者可用于
嵌入式系统实现以意图在资源有限并且需求较低的装置(诸如,蓝牙外围装置)中使用。蓝牙软件栈可促进HMI层和特定的蓝牙配置文件(例如,HFP、A2DP、PBAP等)之间的通信。软件栈可位于主机
控制器接口(HCI)层,以进行蓝牙实现。
[0037] VCS或移动电话能够确定软件版本是否是最新的软件栈。例如,移动电话可告知可与VCS工作得最好的Android应答栈的版本。可选地,移动装置或音频网关装置可发送表示移动装置运行的软件的版本的数据或信息。另外,移动装置可发送指示与运行在移动装置上的软件相关的其他信息的消息。例如,消息可包括版本号、操作系统、电话制造商、蓝牙配置文件版本信息等。
[0038] 在确定VCS需要新软件时,VCS可指示移动电话下载新软件(211)或者VCS可使用嵌入式蜂窝收发器与服务器201进行通信来下载软件。VCS可将更新的软件栈或者新的软件栈下载到VCS或移动电话上。在某些情形下,VCS可能不具有下载所述栈所需的存储容量或空间。VCS可检查以确定是否存在足够的存储容量。VCS可从移动电话或非车载(off-board)服务器接收指示下载和安装需要多少存储容量的数据。
[0039] 如果不存在足够的存储容量,则系统可使用VCS用音频或视觉警告通知用户,以指示需要提供存储容量以便进行更新。另外,VCS还可要求用户使用将被用于保存更新的额外的闪存驱动器、外部存储装置或移动电话。
[0040] 如果VCS或移动电话检测到在下载周期期间发生的错误,则VCS可将错误消息输出到显示器上以向用户通知该错误。系统可再次自动尝试下载更新的栈。另外,如果该错误出现在多种场合,则VCS可尝试安装不同的软件栈更新而不是最初期望的软件栈更新。例如,VCS可能运行软件栈或配置文件的1.0版本。移动电话可请求VCS更新到3.0版本。如果VCS不能够下载3.0版本,则VCS可更新一个中间版本作为代替,诸如2.9或2.8版本。
[0041] 在下载了更新时,系统可运行可执行文件或者运行应用,以对软件栈进行更新。另外,系统可在运行软件更新时安装各种
插件(213)。软件更新可初始化到HMI的回调函数(213),其中,HMI被优化以与移动电话进行协作。如果电话下载了更新,则移动装置还可开始对在蓝牙
芯片组级别上可执行的文件进行流传输。系统可随后根据
说明书中的处理开始将移动装置与VCS进行配对(215)。
[0042] 另外的实施例可包括相似配置,然而,可确定:更新或另外的蓝牙配置文件需要被下载并安装到VCS和/或移动装置。因此,VCS可确定蓝牙配置文件的新版本必须被下载到移动装置或VCS。因此,VCS可实现与针对更新VCS的蓝牙配置文件或移动装置的蓝牙配置文件的先前实施例相似的配置。所述实施例可包括对软件栈、蓝牙配置文件或软件栈和蓝牙配置文件两者进行更新的版本。
[0043] 图3是基于车辆的计算系统、服务器和移动装置彼此交互的流程图的示例。VCS可包括人机界面(HMI)301以允许用户控制系统的各个方面。HMI可包括手动输入界面或语音界面。VCS 303和HMI 301可彼此交互。VCS 303可包括有线或无线收发器(诸如,USB端口或蓝牙收发器),以与移动装置或音频网关装置305交互。
[0044] 移动装置可请求或指示VCS:它需要使用VCS或HMI。例如,移动装置可经由蓝牙接收文本消息并将SMS通知发送到车辆计算机系统(307)。其他请求可包括电话呼叫通知、更新电话簿(例如,经由PBAP)的请求、对音频文件进行流传输的请求、发送音频内容的请求等。车辆计算机系统可向HMI层通知调用与通知相关的API(309),诸如,HMI_SMS_Notify接口(HMI_SMS_Notify interface)。用于在HMI 301和VCS 303之间通信的命令可以是在某些实施例中设置的固定的消息。API将允许HMI与移动装置交互来显示特定信息。每个配置文件可具有基于移动电话的情境而调用的特定函数。例如,电话呼叫可使用某一函数,文本消息可使用另一函数,
音频流传输可使用另一函数等。每个函数可使用设置的用于与装置进行交互的预定消息。
[0045] HMI将进行更新(311)以经由界面向用户呈现信息。所述界面可以是显示器或语音界面。此外,HMI或VCS可经由蓝牙将消息发送到移动装置。所述消息可包含用于使移动装置执行功能(诸如,拨号)的指令或命令。可对来自于HMI侧的命令进行翻译,以允许移动装置执行操作。例如,可将HMI的“API Dial_Number”命令313转换为针对移动电话的“ATD Number”命令315。
[0046] 在接收到来自于HMI的不同的消息或请求时,移动装置可对这些消息进行响应(317)。例如,在拨打电话之后,移动装置可将“回调呼叫状态”请求发送到HMI(319)。再者,VCS可使用API或蓝牙栈将来自于移动装置的消息翻译为来自于界面的消息。
[0047] 在另一实施例中,VCS可包括将与移动装置进行通信的预定义HMI。移动装置可在与VCS连接时,从非车载服务器下载新的软件栈。VCS可下载该新的软件栈并运行软件更新以安装该新的软件栈。可将新的软件栈安装在电话或移动装置上。VCS HMI可与新的软件栈交互,以提高移动装置和VCS之间的互操作性。
[0048] 另外,VCS可确认用于促进HMI、蓝牙软件栈和移动电话之间的交互的消息集。移动装置可通过将预定义的消息发送到服务器/制造商来确认用于促进通信的消息集。因此,移动装置可使用最新的软件来促进通信。另外,VCS还能够将具有移动装置制造商或软件的标识的预定义消息集或另一消息发送到的服务器。在服务器确定了用于交互的软件栈时,VCS可下载软件栈以进行更新。
[0049] 另外,移动装置可向VCS的HMI请求将被实现的特有功能。移动装置可请求VCS下载移动装置或制造商特有的另外的软件功能。例如,移动装置制造商可请求VCS的特有功能,以使用户体验不同于其他系统的用户体验。因此,移动装置可请求VCS下载专
门针对这一特定的移动装置实现的另外的软件栈或消息集。
[0050] 尽管以上描述了示例性实施例,但这些实施例并不意在描述本发明的所有可能的形式。相反,说明书中使用的文字是描述性的文字而不是限制性的文字,并且应理解在不脱离本发明的精神和范围的情况下可进行各种改变。另外,可将各种实现的实施例的特征组合以形成本发明的进一步的实施例。