当前位置: 首页> 交通专利数据库 >详情
原文传递 通过串口读取OBD设备的汽车信息并进行展示的方法
专利名称: 通过串口读取OBD设备的汽车信息并进行展示的方法
摘要: 本发明提供一种通过串口读取OBD设备的汽车信息并进行展示的方法,应用于包括OBD设备、车机系统、安装于车机系统的车机系统应用程序、后台服务器和安装于客户端的客户端小程序的系统中;客户端小程序根据用户输入的指令,向后台服务器发送与用户唯一标识UUID对应的指定汽车信息获取请求;客户端小程序将接收到的指定汽车信息进行界面展示。优点为:(1)能够确保实时采集OBD的信息,对于采集到的OBD设备信息,除了传给后台服务器进行过滤,校验,解析,存储外,还会进行二次数据加工,得到更多的的信息。(2)采用客户端小程序的方式展示数据,只要用户安装客户端,随时可通过客户端小程序查看车辆状况信息,方便用户使用。
专利类型: 发明专利
国家地区组织代码: 北京;11
申请人: 车智互联(北京)科技有限公司
发明人: 肖剑锋
专利状态: 有效
申请日期: 2019-03-01T00:00:00+0800
发布日期: 2019-06-18T00:00:00+0800
申请号: CN201910156742.6
公开号: CN109895712A
代理机构: 北京市盛峰律师事务所
代理人: 席小东
分类号: B60R16/02(2006.01);B;B60;B60R;B60R16
申请人地址: 100080 北京市海淀区丹棱街3号B座11层1110、111室
主权项: 1.一种通过串口读取OBD设备的汽车信息并进行展示的方法,其特征在于,应用于包括OBD设备、车机系统、安装于车机系统的车机系统应用程序、后台服务器和安装于客户端的客户端小程序的系统中; 通过串口读取OBD设备的汽车信息并进行展示的方法包括以下步骤: 步骤1,当汽车发动机启动时,同步触发启动所述车机系统和所述OBD设备;所述OBD设备获取并实时存储汽车信息;其中,所述汽车信息包括汽车故障码信息和汽车运行基本信息; 当所述车机系统启动时,根据预设定的OBD设备的串口名称和串口读写波特率,通过对应的串口与所述OBD设备相连接; 步骤2,所述车机系统启动运行于所述车机系统的车机系统应用程序;所述车机系统应用程序按照所述串口读写波特率,持续通过所述串口向所述OBD设备发送读取指定汽车信息的请求指令;并持续接收所述OBD设备返回的指定汽车信息的响应指令; 步骤3,所述车机系统应用程序对持续接收到的所述OBD设备返回的指定汽车信息的响应指令进行校验和解析,确定该响应指令所对应的请求指令,然后根据所述OBD设备对应的指令协议类型,过滤掉无用的信息,筛选出有效响应指令,再从所述有效响应指令中解析到有效汽车信息; 步骤4,所述车机系统应用程序调用后台服务器提供的服务接口,通过所述服务接口,接收所述后台服务器传递的用于区分不同车机系统的用户唯一标识UUID; 然后,所述车机系统应用程序将携带所述用户唯一标识UUID的有效汽车信息上报给所述后台服务器; 步骤5,所述后台服务器接收到携带所述用户唯一标识UUID的有效汽车信息后,解析出所述用户唯一标识UUID以及所述有效汽车信息,并根据所述用户唯一标识UUID,将属于同一个用户唯一标识UUID的所有有效汽车信息写入到数据库; 步骤6,对于每个已注册的客户端小程序,均通过所述后台服务器的接口获得对应的用户唯一标识UUID;然后,利用所述用户唯一标识UUID生成与指定车机系统对应的二维码图片,并将所述二维码图片传输给对应的车机系统的车机系统应用程序;所述车机系统应用程序本地保存对应的所述二维码图片;并通过界面展示所述二维码图片; 所述客户端扫描所述二维码图片,在扫描过程中,向所述后台服务器发送访问二维码图片的请求;所述后台服务器接收到所述访问二维码图片的请求后,对所述访问二维码图片的请求进行解析,得到对应的用户唯一标识UUID,然后,触发所述客户端运行与所述用户唯一标识UUID对应的所述客户端小程序; 步骤7,所述客户端小程序根据用户输入的指令,向所述后台服务器发送与所述用户唯一标识UUID对应的指定汽车信息获取请求; 所述后台服务器接收到所述指定汽车信息获取请求后,判断是否可直接通过查找所述数据库获取,如果可以,则直接从所述数据库读取到对应的指定汽车信息,并返回给所述客户端小程序; 如果不可以,则所述后台服务器启动服务器端实时计算模块,通过所述服务器端实时计算模块,对所述数据库中的相关信息进行二次加工计算,得到指定汽车信息,并返回给所述客户端小程序; 步骤8,所述客户端小程序将接收到的所述指定汽车信息进行界面展示。 2.根据权利要求1所述的通过串口读取OBD设备的汽车信息并进行展示的方法,其特征在于,步骤1中,所述OBD设备获取并实时存储的汽车信息,包括汽车故障码信息以及汽车运行状态信息。 3.根据权利要求1所述的通过串口读取OBD设备的汽车信息并进行展示的方法,其特征在于,步骤2具体为: 步骤2.1,在所述车机系统应用程序中首先创建一个Service服务进程;在启动运行于所述车机系统的车机系统应用程序时,启动所述Service服务进程;其中,所述Service服务进程和所述车机系统应用程序运行于同一进程,或者,所述Service服务进程为一个独立的进程; 步骤2.2,当所述Service服务进程被启动时,所述Service服务进程根据预设定的OBD设备的串口名称和串口读写波特率,打开OBD设备对应的串口,为读写OBD设备做准备; 所述Service服务进程判断OBD设备对应的串口是否被成功打开,如果串口打开失败,则向所述车机系统返回串口打开失败的提示信息,然后通过重启服务的方式,重新打开串口;如果串口打开成功,执行步骤2.3; 步骤2.3,所述Service服务进程启动后,在后台一直保持运行状态;当所述串口打开成功后,所述Service服务进程同时启动一个无限循环的写串口的指令线程和一个无限循环的读取串口返回指令的线程; 对于所述无限循环的写串口的指令线程,通过以下步骤2.3.1-步骤2.3.5实现持续向OBD设备的串口写入读取指定汽车信息的指令: 步骤2.3.1,写串口的指令线程根据需求设定与获取指定汽车信息对应的指令内容以及指令发送频率; 步骤2.3.2,写串口的指令线程检测当前线程是否被打断,如果被打断,则执行步骤2.3.3;如果没有被打断,则执行步骤2.3.4; 步骤2.3.3,重新启动所述Service服务进程,当所述Service服务进程被重新启动时,重新启动所述写串口的指令线程,再返回执行步骤2.3.1; 步骤2.3.4,写串口的指令线程保持运行状态,根据对应的所述指令发送频率,持续向所述OBD设备的串口写入读取指定汽车信息的指令;其中,在每次向所述OBD设备的串口写入读取指定汽车信息的指令时,监控写入过程是否发生异常;如果发生异常,则返回步骤2.3.3;如果没有发生异常,则执行步骤2.3.5; 步骤2.3.5,在进行一次写入循环后,使所述写串口的指令线程暂停50毫秒,然后再返回步骤2.3.1; 对于所述无限循环的读取串口返回指令的线程通过以下步骤2-3-1-步骤2-3-4实现持续接收OBD设备的串口上报的指定汽车信息; 步骤2-3-1,OBD设备的串口检测读取串口返回指令的线程是否被打断,如果被打断,则执行步骤2-3-2;如果没有被打断,则执行步骤2-3-3; 步骤2-3-2,OBD设备的串口暂停向所述串口返回指令的线程上报指定汽车信息;并重新启动所述Service服务进程,当所述Service服务进程被重新启动时,重新启动所述读取串口返回指令的线程,再返回执行步骤2-3-1; 步骤2-3-3,OBD设备的串口持续向串口返回指令的线程上报指定汽车信息; 步骤2-3-4,串口返回指令的线程持续接收所述OBD设备通过串口上报的指定汽车信息。
所属类别: 发明专利
检索历史
应用推荐