通过应用编程接口获得汽车数据的方法及系统.pdf

上传人:a3 文档编号:4037376 上传时间:2018-08-12 格式:PDF 页数:15 大小:988.04KB
返回 下载 相关 举报
摘要
申请专利号:

CN201310578535.2

申请日:

2013.11.18

公开号:

CN104657300A

公开日:

2015.05.27

当前法律状态:

实审

有效性:

审中

法律详情:

实质审查的生效IPC(主分类):G06F 13/38申请日:20131118|||公开

IPC分类号:

G06F13/38; G06F17/40; H04L29/06

主分类号:

G06F13/38

申请人:

比亚迪股份有限公司

发明人:

王亚丽; 蒋峰; 陈润设; 刘效飞

地址:

518118广东省深圳市坪山新区比亚迪路3009号

优先权:

专利代理机构:

北京清亦华知识产权代理事务所(普通合伙)11201

代理人:

张大威

PDF下载: PDF下载
内容摘要

本发明提出一种通过应用编程接口API获取汽车数据的方法,包括以下步骤:通过移动终端中的应用程序调用应用编程接口API,以使移动终端与汽车的车载信息站建立无线通信连接;API接收数据请求指令,并将数据请求指令进行加密后发送给车载信息站;车载信息站对加密后的数据请求指令进行解密,并通过与汽车进行CAN通信以获取汽车数据,将汽车数据加密后发送给API;API对加密后的汽车数据进行解密,并将解密后的汽车数据发送给应用程序。该方法可通过移动终端直接获取汽车数据,使得用户了解汽车运行时的各种数据,能够对汽车进行实时保护,保证行车安全,使用方便。本发明还提出一种通过应用编程接口API获取汽车数据的系统。

权利要求书

权利要求书
1.  一种通过应用编程接口API获取汽车数据的方法,其特征在于,包括以下步骤:
通过移动终端中的应用程序调用所述应用编程接口API,以使所述移动终端与汽车的车载信息站建立无线通信连接;
所述API接收数据请求指令,并将所述数据请求指令进行加密后发送给所述车载信息站,其中,所述数据请求指令由所述应用程序触发;
所述车载信息站对加密后的所述数据请求指令进行解密,并根据所述数据请求指令通过与所述汽车进行CAN通信以获取汽车数据,以及将所述汽车数据加密后发送给所述API;以及
所述API对加密后的所述汽车数据进行解密,并将解密后的所述汽车数据发送给所述应用程序。

2.  根据权利要求1所述的通过应用编程接口API获取汽车数据的方法,其特征在于,所述通过移动终端中的应用程序调用所述应用编程接口API,以使所述移动终端与汽车的车载信息站建立无线通信连接,进一步包括:
调用所述API;
所述API创建并执行第一线程,其中,所述第一线程用于建立所述移动终端与所述汽车的车载信息站之间的无线通信连接,其中当无线通信连接成功后,所示API创建第二线程。

3.  根据权利要求1或2所述的通过应用编程接口API获取汽车数据的方法,其特征在于,所述API接收数据请求指令,其中,所述数据请求指令由所述应用程序触发,进一步包括:
所述API接收来自所述应用程序触发的数据请求指令;
所述API执行第二线程,其中,所述第二线程用于向所述车载信息站发送加密后的所述数据请求指令,并接收来自所述车载信息站发送的加密后的汽车数据,以及将解密后的所述汽车数据发送给所述应用程序。

4.  根据权利要求1所述的通过应用编程接口API获取汽车数据的方法,其特征在于,在所述API将加密后的所述数据请求指令发送给所述车载信息站之前,还包括:
所述API将所述数据请求指令转化为预设通信数据格式的请求报文,并对所述请求报文进行加密。

5.  根据权利要求4所述的通过应用编程接口API获取汽车数据的方法,其特征在于,在所述车载信息站根据所述数据请求指令通过与所述汽车进行CAN通信以获取汽车数据之前,还包括:
所述车载信息站对所述请求报文进行解密,并解析解密后的所述请求报文以获得所述数据请求指令。

6.  根据权利要求5所述的通过应用编程接口API获取汽车数据的方法,其特征在于,在所述车载信息站将加密后的所述汽车数据发送给所述API之前,还包括:
所述车载信息站对所述汽车数据进行打包以生成所述预设通信数据格式的应答报文,并对所述应答报文进行加密。

7.  根据权利要求6所述的通过应用编程接口API获取汽车数据的方法,其特征在于,在所述API将解密后的所述汽车数据发送给所述应用程序之前,还包括:
所述API对所述应答报文进行解密,并解析解密后的所述应答报文以获得所述汽车数据。

8.  一种通过应用编程接口API获取汽车数据的系统,其特征在于,包括:移动终端和车载信息站,所述车载信息站位于汽车上,所述车载信息站与所述汽车进行CAN通信,所述移动终端中安装有应用程序,且所述移动终端具有应用编程接口API,其中,
所述应用程序用于调用所述应用编程接口API,以使所述移动终端与所述车载信息站建立无线通信连接,并且所述应用程序接收来自所述API发送的解密后的汽车数据;
所述API用于接收由所述应用程序触发的数据请求指令,并将所述数据请求指令进行加密后发送给所述车载信息站,以及接收所述车载信息站发送的加密后汽车数据,并对加密后的所述汽车数据进行解密后发送给所述应用程序;
所述车载信息站对加密后的所述数据请求指令进行解密,并根据所述数据请求指令通过与所述汽车进行CAN通信以获取汽车数据,并将所述汽车数据加密后发送给所述API。

9.  根据权利要求8所述的通过应用编程接口API获取汽车数据的系统,其特征在于,所述API在被所述应用程序调用后,用于创建并执行第一线程,其中,所述第一线程用于建立所述移动终端与所述汽车的车载信息站之间的无线通信连接,并当无线通信连接成功后,所述API创建第二线程。

10.  根据权利要求8或9所述的通过应用编程接口API获取汽车数据的系统,其特征在于,所述API还用于在接收到所述应用程序触发的数据请求指令后,执行第二线程,所述第二线程用于向所述车载信息站发送加密后的所述数据请求指令,并接收来自所述车载信息站 发送的加密后的汽车数据,以及将解密后的所述汽车数据发送给所述应用程序。

11.  根据权利要求8所述的通过应用编程接口API获取汽车数据的系统,其特征在于,所述API在将加密后的所述数据请求指令发送给所述车载信息站之前还用于将所述数据请求指令转化为预设通信数据格式的请求报文,并对所述请求报文进行加密;所述车载信息站在根据所述数据请求指令通过与所述汽车进行CAN通信以获取汽车数据之前,对所述请求报文进行解密,并解析解密后的所述请求报文以获得所述数据请求指令。

12.  根据权利要求11所述的通过应用编程接口API获取汽车数据的系统,其特征在于,所述车载信息站在将加密后的所述汽车数据发送给所述API之前对所述汽车数据进行打包以生成所述预设通信数据格式的应答报文,并对所述应答报文进行加密,所述API在将解密后的所述汽车数据发送给所述应用程序之前对所述应答报文进行解密,并解析解密后的所述应答报文以获得所述汽车数据。

说明书

说明书通过应用编程接口获得汽车数据的方法及系统
技术领域
本发明涉及汽车领域,尤其涉及一种通过应用编程接口API获取汽车数据的方法以及一种通过应用编程接口API获取汽车数据的系统。
背景技术
随着汽车技术的不断更新发展,汽车的结构和数据系统也变得越来越复杂。为了对汽车进行各种保护,保证行车安全,常需要采集汽车上的CAN(Controller Area Network,控制器局域网)总线数据,以获取车辆在不同运行状态下的各种数据。
而目前大多数采集汽车上CAN总线数据的方法为使用CAN诊断仪等工具来获取数据。但是,该方法存在如下缺点:使用该方法需要购买CAN诊断仪器,而CAN诊断仪器的价格成本普遍较高;另外,还需要了解汽车的具体车型协议才能读懂CAN诊断仪器获取到的数据,而一般的外界人员获取不到车型的协议,实施难度大,成本高,用户体验差。
发明内容
本发明旨在至少解决上述技术问题之一。
为此,本发明的一个目的在于提出一种通过应用编程接口API获取汽车数据的方法。该方法可通过移动终端直接获取汽车数据,使得用户了解汽车运行时的各种数据,能够对汽车进行实时保护,保证行车安全,并且使用方便。
本发明的另一个目的在于提出一种通过应用编程接口API获取汽车数据的系统。
为了实现上述目的,本发明第一方面的实施例提供的一种通过应用编程接口API获取汽车数据的方法,包括以下步骤:通过移动终端中的应用程序调用所述应用编程接口API,以使所述移动终端与汽车的车载信息站建立无线通信连接;所述API接收数据请求指令,并将所述数据请求指令进行加密后发送给所述车载信息站,其中,所述数据请求指令由所述应用程序触发;所述车载信息站对加密后的所述数据请求指令进行解密,并根据所述数据请求指令通过与所述汽车进行CAN通信以获取汽车数据,以及将所述汽车数据加密后发送给所述 API;以及所述API对加密后的所述汽车数据进行解密,并将解密后的所述汽车数据发送给所述应用程序。
根据本发明实施例的通过应用编程接口API获取汽车数据的方法,可通过API提供获取汽车数据的接口,与汽车的车载信息站建立无线通信连接后便可获得车辆的CAN网络数据信息,不需要购买CAN读写工具例如CAN诊断仪,例如直接通过蓝牙就可以获得汽车的数据,方便快捷,开发者不需要了解具体的汽车数据协议,只需要知道获取的命令代号就可以获取到直观的数据,实时性高,成本较低,提升了用户体验。并且该方法使得用户能够实时了解汽车运行时的各种数据,从而能够对汽车进行实时保护,保证行车安全。同时,在API和车载信息站之间进行传输的数据均需要加密处理,大大提高数据传输的安全性。
本发明第二方面的实施例提供的一种通过应用编程接口API获取汽车数据的系统,包括:移动终端和车载信息站,所述车载信息站位于汽车上,所述车载信息站与所述汽车进行CAN通信,所述移动终端中安装有应用程序,且所述移动终端具有应用编程接口API,其中,所述应用程序用于调用所述应用编程接口API,以使所述移动终端与所述车载信息站建立无线通信连接,并且所述应用程序接收来自所述API发送的解密后的汽车数据;所述API用于接收由所述应用程序触发的数据请求指令,并将所述数据请求指令进行加密后发送给所述车载信息站,以及接收所述车载信息站发送的加密后汽车数据,并对加密后的所述汽车数据进行解密后发送给所述应用程序;所述车载信息站对加密后的所述数据请求指令进行解密,并根据所述数据请求指令通过与所述汽车进行CAN通信以获取汽车数据,并将所述汽车数据加密后发送给所述API。
根据本发明实施例的通过应用编程接口API获取汽车数据的系统,可通过API提供获取汽车数据的接口,与汽车的车载信息站建立无线通信连接后便可获得车辆的CAN网络数据信息,不需要购买CAN读写工具例如CAN诊断仪,例如直接通过蓝牙就可以获得汽车的数据,方便快捷,开发者不需要了解具体的汽车数据协议,只需要知道获取的命令代号就可以获取到直观的数据,实时性高,成本较低,提升了用户体验。并且该系统使得用户能够实时了解汽车运行时的各种数据,从而能够对汽车进行实时保护,保证行车安全。同时,在API和车载信息站之间进行传输的数据均需要加密处理,大大提高数据传输的安全性。
本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中,
图1是根据本发明实施例的通过应用编程接口API获取汽车数据的方法的流程图;
图2是根据本发明一个实施例的通过应用编程接口API获取汽车数据的模块图;
图3是根据本发明一个实施例的通过应用编程接口API获取汽车数据的数据流向示意图;
图4是据本发明一个具体示例的通过应用编程接口API获取汽车车速的数据流向示意图;以及
图5是据本发明实施例的通过应用编程接口API获取汽车数据的系统的方框示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。相反,本发明的实施例包括落入所附加权利要求书的精神和内涵范围内的所有变化、修改和等同物。
在本发明的描述中,需要理解的是,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。此外,在本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
以下结合附图描述根据本发明实施例的通过应用编程接口API获取汽车数据的方法及系统。其中,API(Application Programming Interface,应用编程接口)其实就是操作系统留给应用程序的一个调用接口,应用程序通过调用操作系统的API而使操作系统去执行应用程序的命令(动作)。
图1是根据本发明实施例的通过应用编程接口API获取汽车数据的方法的流程图。如图1所示,该通过应用编程接口API获取汽车数据的方法包括以下步骤:
步骤S101:通过移动终端中的应用程序调用应用编程接口API,以使移动终端与汽车的车载信息站建立无线通信连接。例如,将该应用编程接口API应用在汽车蓝牙跟例如具有android操作系统的移动终端之间的通信使用,使得移动终端和车载信息站建立蓝牙通信。
具体而言,通过移动终端中的应用程序调用应用编程接口API,以使移动终端与汽车的车载信息站建立无线通信连接,可通过但不限于如下方式实现:
S11:调用API。
S12:API创建并执行第一线程,其中,第一线程用于建立移动终端与汽车的车载信息站之间的无线通信连接,其中当无线通信连接成功后,所示API创建第二线程。
步骤S102:API接收数据请求指令,并将数据请求指令进行加密后发送给车载信息站,其中,数据请求指令由应用程序触发。
具体而言,可通过但不限于以下方式实现:
S21:API接收来自应用程序触发的数据请求指令。
S22:API执行第二线程,其中,第二线程用于向车载信息站发送加密后的数据请求指令,并接收来自车载信息站发送的加密后的汽车数据,以及将解密后的汽车数据发送给应用程序。
步骤S103:车载信息站对加密后的数据请求指令进行解密,并根据数据请求指令通过与汽车进行CAN通信以获取汽车数据,以及将汽车数据加密后发送给API。
步骤S104:API对加密后的汽车数据进行解密,并将解密后的汽车数据发送给应用程序。
也就是说,所述API在发送数据请求指令之前或者所述车载信息站在发送汽车数据之前都要对相应的数据进行加密;所述API在发送汽车数据之前或者所述车载信息站根据所述数据请求指令获取汽车数据之前都要对相应的数据进行解密。这样,在API和车载信息站之间进行传输的数据均需要加密处理,大大提高数据传输的安全性。
在本发明的一个实施例中,如图2所示,移动终端510主要包括第一蓝牙模块512、API和应用模块/HMI(Human Machine Interface,人机接口)513。车载信息站520包括第二蓝牙模块521、代码模块522和CAN通信模块523。
首先,当通过应用模块/HMI启动应用程序,该应用程序请求API进行蓝牙连接,蓝牙连接成功后即第一蓝牙模块512和第二蓝牙模块521之间建立蓝牙通信后,API接收到应用程序的数据请求指令,并将该数据请求指令转化为蓝牙通信数据格式,对蓝牙通信数据格式 的数据请求指令进行加密后以通过第一蓝牙模块512发送加密后的该数据请求指令。也就是说,在API将加密后的数据请求指令发送给车载信息站之前,还包括:API将数据请求指令转化为预设通信数据格式例如蓝牙通信数据格式的请求报文,并对该请求报文进行加密。
其次,车载信息站520通过第二蓝牙模块521接收API发送的加密后的请求报文,代码模块522对该请求报文进行解密,并对解密后的请求报文进行解析以获得数据请求指令。也就是说,在车载信息站根据数据请求指令通过与汽车进行CAN通信以获取汽车数据之前,还包括:车载信息站对所述请求报文进行解密,并解析解密后的请求报文以获得数据请求指令。因此,如果API发送的请求报文为加密的信息,则对请求报文进行解密,然后解析。
其中,车载信息站520中的CAN通信模块523与汽车进行CAN通信以采集汽车各种运行时的数据,车载信息站520根据数据请求指令,通过CAN通信模块523与汽车进行CAN通信,获得与数据请求指令相对应的汽车数据,并通过代码模块522把该汽车数据打包成蓝牙通信数据格式的应答报文,然后对该应答报文进行加密后通过第二蓝牙模块523与第一蓝牙模块512之间的蓝牙通信把加密后的应答报文发送到API。也就是说,在车载信息站将加密后的汽车数据发送给API之前,还包括:车载信息站对汽车数据进行打包以生成预设通信数据格式例如蓝牙通信数据格式的应答报文,并对该应答报文进行加密。
并且,API在通过第一蓝牙模块512接收到车载信息站520发送的加密的应答报文后,首先对该加密后的应答报文进行解密,然后按照蓝牙通信数据格式,把该解密后的应答报文解析成对应的请求信息的结果即与数据请求指令相对应的汽车数据,并将其反馈给应用程序。即言,在API将解密后的汽车数据发送给应用程序之前,还包括:所述API对所述应答报文进行解密,并解析解密后的应答报文以获得汽车数据。因此,如果车载信息站发送的所述汽车数据为加密的,则API对汽车数据进行解密,然后解析。
当然,可以理解的是,作为另外一种通过应用编程接口API获取汽车数据的方法,所述API在发送数据请求指令之前或者所述车载信息站在发送汽车数据之前对相应的数据不进行加密;所述API在发送汽车数据之前或者所述车载信息站根据所述数据请求指令获取汽车数据之前对相应的数据不进行解密。那么如果API发送的请求报文为不加密的信息,则对请求报文直接解析;如果所述汽车数据为不加密的信息,则对汽车数据直接解析。
在本发明的一个具体实施例中,如图3所示,当启动移动终端中的应用程序时,应用程序请求调用API进行蓝牙连接,API返回蓝牙连接的结果;当蓝牙连接成功时,应用程序调用API来发送数据请求指令,并且API把该数据请求指令转化为请求报文,通过蓝牙发送到车载信息站;当车载信息站接收到请求报文后,解析该请求报文以获得数据请求指令,然 后根据数据请求指令通过与汽车进行CAN通信而获得与数据请求指令对应的汽车数据,并将其打包成应答报文,并通过蓝牙发送回API;API接收到应答报文后,解析该应答报文以获得与数据请求指令对应的汽车数据;把解析好的与数据请求指令对应的汽车数据发送回应用程序。在本实施例中,所述API在发送数据请求指令之前或者所述车载信息站在发送汽车数据之前对相应的数据不进行加密;则所述API在发送汽车数据之前或者所述车载信息站根据所述数据请求指令获取汽车数据之前对相应的数据不进行解密。
因此说,在本发明的实施例中,使用蓝牙便可获得汽车的CAN网络数据信息,使得用户可以了解汽车的各种运行时数据,方便对汽车进行各种保护,行车更加安全,并且使用方便。
根据本发明的一个示例,如图4所示,以获取汽车的车速为例来描述本发明实施例的通过应用编程接口API获取汽车数据的方法。
当应用程序需要请求获取汽车的车速时,启动移动终端中的应用程序,应用程序请求调用API进行蓝牙连接,API返回蓝牙连接的结果;当蓝牙连接成功时,参考API的文档找到请求获取汽车的车速的数据请求指令,例如为001,则调用API的发送数据请求指令的方法,并传入001参数;API接收到该参数时,调用JNI的方法将该001指令对象打包成API和蓝牙的通信包的方式(该通信方式可以选择加密)的数据包,例如打包后的结果为[XX XX XX XX XX],API将该结果报文即请求报文通过蓝牙发送到车载信息站,其中,可以根据需要定义数据包的格式,并且可以在JIN中加密该请求报文;车载信息站通过API和蓝牙的通信协议解析出来该数据请求指令,知道该指令要请求获取汽车的车速;车载信息站从汽车CAN网络获得汽车的车速信息后,例如汽车的车速信息为[0x000x000x000x000x000x000x000x00],把该汽车数据打包为应答报文,其中,可以选择对应答报文进行加密,也可以根据需要定义数据包的格式,例如将该汽车数据打包成API和蓝牙的通信协议数据的形式,可以为[XX XX XX XX XX XX XX XX XX XX XX XX],通过蓝牙发送到API;API根据协议调用JNI解析报文以得到结果为0,即解析出该车速,例如为0,把车速为0的信息对象放入Message队列中,应用程序通过该Message队列就可以获得车速信息。
本示例的通过应用编程接口API获取汽车数据的方法,使用蓝牙通信,方便快捷,实时性高,并且成本较低。
可以理解的是,在本发明的其他实施例中,还可以用其他通信方式替代,例如3G无线网络、WiFi等,在此就不再一一赘述。
根据本发明实施例的通过应用编程接口API获取汽车数据的方法,可通过API提供获 取汽车数据的接口,与汽车的车载信息站建立无线通信连接后便可获得车辆的CAN网络数据信息,不需要购买CAN读写工具例如CAN诊断仪,例如直接通过蓝牙就可以获得汽车的数据,方便快捷,开发者不需要了解具体的汽车数据协议,只需要知道获取的命令代号就可以获取到直观的数据,实时性高,成本较低,提升了用户体验。并且该方法使得用户能够实时了解汽车运行时的各种数据,从而能够对汽车进行实时保护,保证行车安全。同时,在API和车载信息站之间进行传输的数据均需要加密处理,大大提高数据传输的安全性。
本发明的进一步实施例提供了一种通过应用编程接口API获取汽车数据的系统。如图5所示,该通过应用编程接口API获取汽车数据的系统500包括:移动终端510和车载信息站520,车载信息站520位于汽车上,车载信息站520与汽车530进行CAN通信,移动终端510中安装有应用程序511,且移动终端510具有应用编程接口API。
其中,应用程序511用于调用应用编程接口API,以使移动终端510与车载信息站520建立无线通信连接,并且应用程序511接收来自API发送的解密后的汽车数据;API用于接收由应用程序511触发的数据请求指令,并将数据请求指令进行加密后发送给车载信息站520,以及接收车载信息站520发送的加密后的汽车数据,并对加密后的汽车数据进行解密后发送给应用程序511;车载信息站520对加密后的所述数据请求指令进行解密,并根据数据请求指令通过与汽车530进行CAN通信以获取汽车数据,并将汽车数据加密后发送给API。
因此,所述API在发送数据请求指令之前或者所述车载信息站在发送汽车数据之前对相应的数据进行加密;所述API在发送汽车数据之前或者所述车载信息站根据所述数据请求指令获取汽车数据之前对相应的数据进行解密。
具体地说,将该应用编程接口API应用在汽车蓝牙跟例如具有android操作系统的移动终端510之间的通信使用,使得移动终端510和车载信息站520建立蓝牙通信。即位于汽车上的车载信息站520可以连接到汽车的通信总线上,如CAN总线,通过与汽车530进行CAN通信获取汽车的大量数据信息(即汽车数据)。
移动终端510中的应用程序511调用应用编程接口API,以使移动终端510与汽车的车载信息站520建立无线通信连接,可通过但不限于如下方式实现:API在被应用程序511调用后,用于创建并执行第一线程,其中,第一线程用于建立移动终端510与汽车的车载信息站520之间的无线通信连接,并当无线通信连接成功后,所述API创建第二线程。
API还用于在接收来自应用程序511触发的数据请求指令后,执行第二线程,第二线程用于向车载信息站520发送加密后的数据请求指令,并接收来自车载信息站520发送的加密 后的汽车数据,以及将解密后的汽车数据发送给应用程序511。
在本发明的一个实施例中,如图2所示,移动终端510还包括第一蓝牙模块512。车载信息站包括第二蓝牙模块521、代码模块522和CAN通信模块523。
首先,当通过启动应用程序511,该应用程序511请求API进行蓝牙连接,蓝牙连接成功后即第一蓝牙模块512和第二蓝牙模块521之间建立蓝牙通信后,API接收到应用程序511的数据请求指令,并将该数据请求指令转化为蓝牙通信数据格式,然后将蓝牙通信数据格式的数据请求指令加密后以通过第一蓝牙模块512发送该加密后的数据请求指令。也就是说,API在将加密后的数据请求指令发送给车载信息站520之前还用于将该数据请求指令转化为预设通信数据格式的请求报文,并对该请求报文进行加密。
其次,车载信息站520通过第二蓝牙模块521接收API发送的加密后的请求报文,代码模块522对该请求报文进行加密后,然后对该解密后的请求报文进行解析以获得数据请求指令。也就是说,车载信息站520在根据所述数据请求指令通过与汽车530进行CAN通信以获取汽车数据之前,对请求报文进行解密,并解析解密后的所述请求报文以获得所述数据请求指令。因此,如果API发送的请求报文为加密的信息,则对请求报文进行解密,然后解析。
其中,车载信息站520中的CAN通信模块523与汽车530进行CAN通信以采集汽车各种运行时的数据,车载信息站520根据数据请求指令,通过CAN通信模块523与汽车530进行CAN通信,获得与数据请求指令相对应的汽车数据,并通过代码模块522把该汽车数据打包成蓝牙通信数据格式的应答报文,然后进行加密,通过第二蓝牙模块521与第一蓝牙模块512之间的蓝牙通信把加密后的应答报文发送到API。也就是说,车载信息站520在将加密后的所述汽车数据发送给所述API之前对所述汽车数据进行打包以生成所述预设通信数据格式的应答报文,并对该应答报文进行加密。
并且,API在通过第一蓝牙模块512接收到车载信息站520发送的加密后的应答报文后,首先该该加密后的应答报文进行解密,然后按照蓝牙通信数据格式,把该解密后的应答报文解析成对应的请求信息的结果即与数据请求指令相对应的汽车数据,并将其反馈给应用程序511。即言,API在将解密后的所述汽车数据发送给应用程序511之前对所述应答报文进行解密,然后解析解密后的所述应答报文以获得所述汽车数据。因此,如果车载信息站发送的所述汽车数据为加密的,则对还汽车数据进行解密,然后解析。
当然,可以理解的是,在本发明的其他实施例中,所述API在发送数据请求指令之前或者所述车载信息站在发送汽车数据之前对相应的数据不进行加密;所述API在发送汽车数据之前或者所述车载信息站根据所述数据请求指令获取汽车数据之前对相应的数据不进行解 密。那么如果API发送的请求报文为不加密的信息,则对请求报文直接解析;如果所述汽车数据为不加密的信息,则对汽车数据直接解析。
在本发明的一个具体实施例中,如图3所示,当启动移动终端中的应用程序时,应用程序请求调用API进行蓝牙连接,API返回蓝牙连接的结果;当蓝牙连接成功时,启动第二线程监听车载信息站发送的数据,并提供发送数据的方法,应用程序调用API来发送数据请求指令,并且API把该数据请求指令转化为请求报文,调用第二线程的数据发送方法,通过蓝牙发送到车载信息站;当车载信息站接收到请求报文后,解析该请求报文以获得数据请求指令,然后根据数据请求指令通过与汽车进行CAN通信而获得与数据请求指令对应的汽车数据,并将其打包成应答报文,并通过蓝牙发送回API;API接收到应答报文后,解析该应答报文以获得与数据请求指令对应的汽车数据;把解析好的与数据请求指令对应的汽车数据发送回应用程序。在本实施例中,所述API在发送数据请求指令之前或者所述车载信息站在发送汽车数据之前对相应的数据不进行加密;则所述API在发送汽车数据之前或者所述车载信息站根据所述数据请求指令获取汽车数据之前对相应的数据不进行解密。
因此说,在本发明的实施例中,使用蓝牙便可获得汽车的CAN网络数据信息,使得用户可以了解汽车的各种运行时数据,方便对汽车进行各种保护,行车更加安全,并且使用方便。
根据本发明实施例的通过应用编程接口API获取汽车数据的系统,可通过API提供获取汽车数据的接口,与汽车的车载信息站建立无线通信连接后便可获得车辆的CAN网络数据信息,不需要购买CAN读写工具例如CAN诊断仪,例如直接通过蓝牙就可以获得汽车的数据,方便快捷,开发者不需要了解具体的汽车数据协议,只需要知道获取的命令代号就可以获取到直观的数据,实时性高,成本较低,提升了用户体验。并且该系统使得用户能够实时了解汽车运行时的各种数据,从而能够对汽车进行实时保护,保证行车安全。同时,在API和车载信息站之间进行传输的数据均需要加密处理,大大提高数据传输的安全性。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、 或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同物限定。

通过应用编程接口获得汽车数据的方法及系统.pdf_第1页
第1页 / 共15页
通过应用编程接口获得汽车数据的方法及系统.pdf_第2页
第2页 / 共15页
通过应用编程接口获得汽车数据的方法及系统.pdf_第3页
第3页 / 共15页
点击查看更多>>
资源描述

《通过应用编程接口获得汽车数据的方法及系统.pdf》由会员分享,可在线阅读,更多相关《通过应用编程接口获得汽车数据的方法及系统.pdf(15页珍藏版)》请在专利查询网上搜索。

本发明提出一种通过应用编程接口API获取汽车数据的方法,包括以下步骤:通过移动终端中的应用程序调用应用编程接口API,以使移动终端与汽车的车载信息站建立无线通信连接;API接收数据请求指令,并将数据请求指令进行加密后发送给车载信息站;车载信息站对加密后的数据请求指令进行解密,并通过与汽车进行CAN通信以获取汽车数据,将汽车数据加密后发送给API;API对加密后的汽车数据进行解密,并将解密后的汽车数。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1