一种车载信号模拟器的制作方法

文档序号:24791094发布日期:2021-04-23 14:19阅读:159来源:国知局
一种车载信号模拟器的制作方法

1.本发明涉及智能化模拟技术领域,特别是涉及一种车载信号模拟器。


背景技术:

2.模拟器是一种通过软件模拟硬件处理器功能和指令系统程序,使计算机或者掌上电脑、手机等多媒体平台能够运行其它平台上的装置。
3.对于app开发人员而言,开发过程中通常采用模拟器的模拟信号测试app内部的运行逻辑,而在车载app开发中,由于现有的安卓模拟器无法模拟车辆信号,开发人员无法借助原生模拟器进行车载app开发仿真,因此,目前车载app开发人员以及测试人员主要在获取车机硬件或试做车辆后,在车上直接测试相关信号;但车机硬件或试做车辆一般在开发中后期才能提供,且资源紧缺,既降低了开发调试的效率,又极易导致开发调试时间延后。
4.此外,现有的模拟器模拟信号状态变化时,并无法模拟并行或串行操作,只能由开发人员对每个功能逐次手动点击,操作效率低下。


技术实现要素:

5.针对上述技术问题,本发明提供一种车载信号模拟器,所述车载信号模拟器能在通用的个人计算机环境上模拟与汽车相关的信号。
6.第一方面,本发明实施例提供一种车载信号模拟器,包括识别单元、执行单元和传输单元;
7.所述识别单元,用于在用户执行目标操作时,识别所述目标操作对应的目标场景,所述目标场景对应有多个功能指令以及所述多个功能指令分别对应的执行顺序;
8.所述执行单元,用于根据所述执行顺序执行所述多个功能指令,并对应生成多个模拟状态信号;
9.所述传输单元,用于将所述多个模拟状态信号发送至目标终端。
10.在某一个实施例中,所述车载信号模拟器基于原生模拟器的框架进行拓展,所述原生模拟器包括安卓模拟器。
11.在某一个实施例中,所述传输单元还用于通过拓展原生模拟器的通信接口,建立各场景对应的快速模拟器(quick emulator,qemu)通信通道。
12.在某一个实施例中,所述场景根据用户模拟需求进行拓展。
13.在某一个实施例中,所述执行顺序包括场景中多个功能串行和\或并行关联。
14.在某一个实施例中,所述功能指令包括定时器指令和运算指令,所述定时器指令用于根据预设时间依次设置功能状态,所述运算指令用于判断设定的条件逻辑,并按照所述逻辑依次生成信号。
15.在某一个实施例中,所述场景包括车辆状态模拟、车机状态模拟和语音控制指令模拟。
16.第二方面,本发明实施例提供一种车载信号模拟器模拟方法,包括:
17.在用户执行目标操作时,识别所述目标操作对应的目标场景,所述目标场景对应有多个功能指令以及所述多个功能指令分别对应的执行顺序;
18.根据所述执行顺序执行所述多个功能指令,并对应生成多个模拟状态信号;
19.将所述多个模拟状态信号发送至目标终端。
20.本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,实现上述任一个实施例所述的方法。
21.相比现有技术,本发明实施例的有益效果在于:
22.本发明提供的一种车载信号模拟器通过设置识别单元、执行单元和传输单元,实现车辆状态、车机状态和语音控制指令等车辆信号场景模拟;同时配置执行流程,使相关车载功能可被一键化并行或串行执行,减少人工操作,有效提高车载app开发调试效率。
附图说明
23.为了更清楚地说明本发明的技术方案,下面将对实施方式中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
24.图1是本发明实施例提供的车载信号模拟器的结构示意图;
25.图2是本发明实施例提供的车载信号模拟器与app侧的通信流程图;
26.图3是本发明实施例提供的车载信号模拟器模拟方法的流程示意图;
27.图4是本发明实施例提供的车载信号模拟器模拟加油场景的流程图。
具体实施方式
28.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
29.应当理解,文中所使用的步骤编号仅是为了方便描述,不对作为对步骤执行先后顺序的限定。
30.应当理解,在本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
31.术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
32.术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
33.如图1所示,本发明一个实施例提供一种车载信号模拟器,包括识别单元101、执行单元102和传输单元103。
34.所述识别单元101用于在用户执行目标操作时,识别所述目标操作对应的目标场景,所述目标场景对应有多个功能指令以及所述多个功能指令分别对应的执行顺序。
35.在该实施例中,所述场景根据用户模拟需求进行拓展,具体可通过利用qt开发技
术,在所述车载信号模拟器的用户界面上开发车载功能所需要的场景和对应功能控件。
36.具体包括用户图形界面ui设计,即根据开发测试过程中的车身数据需求,对应在模拟器界面上补充模拟场景功能,具体包括挡位功能、座椅功能、空调和发动机等。
37.例如,对于挡位场景,可设置p

r

n

d

s五个挡位,当模拟汽车挡位信号时,该场景功能触发所需的某一挡位信号;对于座椅场景,具体包括了座椅位置调节(前后左右上下)、靠背前后调节、座椅位置记忆、座椅加热等功能需求。
38.所述执行单元102用于根据所述执行顺序执行所述多个功能指令,并对应生成多个模拟状态信号。
39.在该实施例中,所述功能指令包括定时器指令和运算指令,所述定时器指令用于根据预设时间依次设置功能状态,所述运算指令用于判断设定的条件逻辑,并按照所述逻辑依次生成信号。
40.在该实施例中,所述执行顺序包括场景中多个功能串行和\或并行关联。
41.车辆场景的模拟依赖于定时器指令和条件逻辑运算指令实现,当app开发人员按下场景设置界面中的目标按键时,模拟器对应一键化执行该场景对应功能,各功能控件设置为串行或并行关联,因此可根据预设时序依次触发模拟信号。
42.在app开发调试过程中,开发人员无需对模拟器每个功能逐次手动点击,仅需选中目标场景,便可启动该场景模拟流程,目标场景中各功能控件依次执行并更新信号量,对应触发信号,免去了人工点击的繁琐流程。
43.所述传输单元130用于将所述多个模拟状态信号发送至目标终端。
44.在该实施例中,所述传输单元还用于通过拓展原生模拟器的通信接口,建立各场景对应的qemu(quick emulator)快速模拟器通信通道,同时在通信层,依据原生模拟器提供的car

sensor通信流程建立本实施例各场景的通信流程。
45.图3提供了本发明所提出的车载信号模拟器与目标app的通信流程图,图中的qt widget为qt软件提供的ui控件,用来绘制ui界面,qt impl用于实时获取外界对ui操作状态,下发ui对应的状态指令,接收其他端对ui状态的控制命令并更新界面ui。virtual device service为虚拟设备服务,运行在模拟器端,用于接收或发送模拟器模块的指令,并进行数据合法性验证,通常每个模块对应一个单独服务;qemud为快速模拟器设备,运行在模拟器端,用于与安卓端进行通信;qemu pipe为抽象的快速模拟器虚拟设备,运行在安卓端,用于与模拟器通信;hal为硬件抽象层,用于验证模拟端发送的数据,并进行校验和上抛给framwork层。customapi为车辆模拟场景自定义接口,customapi

impl为安卓端framwork层customapi代理服务,用于实现customapi的接口功能。
46.通过以上通路,目标app可与所述车载信号模拟器进行信息交互,具体交互过程包括app获取模拟器信息、app设置模拟器状态、app监听模拟器状态变化。
47.在该实施例中,所述车载信号模拟器基于原生模拟器的框架进行拓展,所述原生模拟器包括安卓模拟器。
48.在该实施例中,所述场景包括车辆状态模拟、车机状态模拟和语音控制指令模拟。其中车辆状态类信号模拟包括模拟车轮、仪表、空调、车门、车窗、安全带、发动机、档位、座椅以及app常用车辆状态,app常用车辆状态则包括油量、p档和车速等;车机状态类信号模拟包括模拟车机版本号、按键和仪表背景设置;语音交互类信号模拟包括模拟语音的字符
串命令。
49.app侧收到车载信号模拟器所模拟的场景状态信息后,根据所述信息进行app逻辑调试。
50.本发明上述实施例提出的一种车载信号模拟器通过对原生模拟器进行扩展,使开发人员可灵活设置各种模拟场景的特定接口,实现对车辆状态及指令等信号的模拟,进而借助模拟器进行车载app开发仿真,同时实现一键执行场景操作,使场景中各功能控件可被并行或串行执行,有效提高app开发调试效率。
51.如图3所示,本发明一个实施例还提供一种车载信号模拟器模拟方法,包括:
52.s11:在用户执行目标操作时,识别所述目标操作对应的目标场景,所述目标场景对应有多个功能指令以及所述多个功能指令分别对应的执行顺序。
53.s12:根据所述执行顺序执行所述多个功能指令,并对应生成多个模拟状态信号。
54.s13:将所述多个模拟状态信号发送至目标终端。
55.该实施例以“智慧加油”app为开发测试对象,所述车载信号模拟器中设定智慧加油为目标场景,提供下述流程例子,具体见图4。
56.所述智慧加油场景模拟需求为:设定汽车油量低于20%时,触发警告,同时汽车车速逐渐降低至0km/h,且当前距离加油站小于50米时,挂p挡并拉手刹,同时触发“智慧加油”app弹窗。
57.在本发明提出的车载信号模拟器中,首先根据该需求对应增加场景功能ui控件,具体控件包括车速、油量、经纬度、挡位和手刹;并设置各控件对应的定时器和条件逻辑指令。
58.其中,对于油量控件,设定模拟油量初始值为x1l,下降速度为x2l/200ms,条件逻辑为判断当前油量是否≤20%;对于车速控件,设定模拟车速初始值为y1km/h,下降速度为(y2km/h)/200ms,条件逻辑为判断当前车速是否等于0km/h。
59.x1,x2,y1,y2为参数,可根据开发需求进行预设配置,一种参数配置举例为:x1=50,x2=1,y1=100,y2=5。
60.开发人员点击界面上的“智慧加油”场景启动一键执行,各功能控件的定时器开始计时并初始化,计时过程中根据预设的调整速度运行各控件,直至条件逻辑判断成立,此时当汽车油量低于20%时,触发警告;当车速降低至0km/h时,挡位切换为p挡,手刹置为on;再改变经纬度信息,设置经纬度离最近的加油站的距离≤50米,过程中各控件信号按照预定时序依次触发,并通过智慧加油场景对应qemu通信通道将信号发送至“智慧加油”app端,触发app弹窗,实现场景模拟。
61.因此,app开发人员在开发初期可提前在所述车载信号模拟器上进行开发调试,具体包括获取车辆油量、档位、座椅状态、车机的背景、版本状态等,再进一步测试app的响应逻辑,以便提前发现问题。在实车阶段,app开发人员和车企测试人员仅需在车机硬件、试做车辆上做二次验证即可,有效缩短了app开发时间、提升开发效率。
62.本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时,实现如上述任一个实施例所述的方法。
63.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于计算机可监听存储介质
中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(read

only memory,rom)或随机存储记忆体(random access memory,ram)等。
64.以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1