一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于Linux的电踏车控制器识别及控制方法与流程

2022-04-06 22:10:59 来源:中国专利 TAG:

一种基于linux的电踏车控制器识别及控制方法
技术领域
1.本发明涉及数据采集分析技术领域,具体涉及一种基于linux的电踏车控制器识别及控制方法。


背景技术:

2.现在国内电踏车的控制器生产厂家大都采用串口的方式进行与仪表之间的信息通讯。由于串口通讯自由度较高,所以各个控制器厂家所使用的协议也是各不相同。而这也导致在仪表软件的制作过程中一款仪表只能适用与一个厂家生产的控制器中,从而使电踏车的仪表不具有通用性。因此仪表类厂商需要花费大量的时间去匹配、调试不同型号的控制器。从而大大地增加了厂商的研发周期。


技术实现要素:

3.本发明提供一种克服上述问题或者至少部分地解决上述问题的基于linux的电踏车控制器识别及控制方法,本发明通过特定的方法,对串口总线,控制器进行试探性操作并观察控制对操作的响应,从而识别出车辆所使用的控制器为哪种类型,再对该控制器所发送来的数据进行解析。以达到同一块仪表机器可以在不同的控制器上重复使用,当两种车上面的控制器不同时无需分别制作两款车的仪表程序。
4.根据本发明的第一方面,提供了一种基于linux的电踏车控制器识别及控制方法,其包括以下步骤:
5.s1:首先在仪表内嵌入各个不同类型或不同厂商的控制器的通讯协议;
6.s2:随机使用嵌入的多个通讯协议之一与控制器进行通讯,检测配置信息查看当前仪表是否已经识别当前的控制器,并等待控制器串口是否有数据响应;
7.s3:若当前仪表成功识别当前控制器的当前通讯协议,则使用该通讯协议进行通讯;若未成功识别当前控制器,则使用另一通讯协议进行通讯识别,并重复至成功识别到当前控制器;
8.s4:识别成功后,从匹配的控制器内解析出车辆参数信息以拱仪表使用;
9.s5:将匹配通讯协议的仪表与控制器进行保存,待下次仪表上电后直接使用;
10.s6:将仪表与非匹配通信协议的控制器连接使用时,通过将仪表的协议复位后重复步骤s2-s5以重新识别当前连接的控制器。
11.在上述技术方案的基础上,本发明还可以作出如下改进。
12.可选的,所述步骤s1在嵌入不同通讯协议后,根据每个控制器使用的通讯协议对控制器进行分类存储。
13.可选的,所述仪表内存储有多种不同的通讯协议,且当仪表开机上电后,优先从存储的控制器分类列表中读取并判断是否存在当前控制器的类型。
14.可选的,若识别到已分类的控制器,则使用该类型控制器对应的通讯协议解析控制器传输的数据信息,若未识别到已分类的控制器,则进行控制器识别,按照步骤s2-s5进
行识别操作。
15.可选的,在控制器识别过程中,每间隔500ms由仪表向控制器发送固定格式的数据,并等待控制器的回应,同时判断控制器回应的数据格式,若与仪表发送的固定格式的数据对应,则识别成功,保存待用。
16.可选的,若在设定周期内未收到控制器的回应或获得的回应中数据格式与仪表向控制器发送的固定格式的数据不对应时,则表明未识别成功,输出提示信息。
17.本发明提供的一种基于linux的电踏车控制器识别及控制方法,具有以下有益效果:可以使一款仪表在不同的控制器上使用,仪表厂商不用针对每种控制器单独制作一套程序,从而节省了开发的成本,大大缩短了研发周期。
附图说明
18.图1为本发明实施例提供的一种基于linux的电踏车控制器识别及控制方法的流程图。
具体实施方式
19.下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
20.图1为本发明实施例提供的一种基于linux的电踏车控制器识别及控制方法的流程图,如图1所示,所述方法包括以下步骤:
21.s1:首先在仪表内嵌入各个不同类型或不同厂商的控制器的通讯协议;
22.s2:随机使用嵌入的多个通讯协议之一与控制器进行通讯,检测配置信息查看当前仪表是否已经识别当前的控制器,并等待控制器串口是否有数据响应;
23.s3:若当前仪表成功识别当前控制器的当前通讯协议,则使用该通讯协议进行通讯;若未成功识别当前控制器,则使用另一通讯协议进行通讯识别,并重复至成功识别到当前控制器;
24.s4:识别成功后,从匹配的控制器内解析出车辆参数信息以拱仪表使用;
25.s5:将匹配通讯协议的仪表与控制器进行保存,待下次仪表上电后直接使用;
26.s6:将仪表与非匹配通信协议的控制器连接使用时,通过将仪表的协议复位后重复步骤s2-s5以重新识别当前连接的控制器。
27.可以理解的是,在本实施例中,通过特定的方法,对串口总线,控制器进行试探性操作并观察控制对操作的响应,从而识别出车辆所使用的控制器为哪种类型,再对该控制器所发送来的数据进行解析。以达到同一块仪表机器可以在不同的控制器上重复使用,当两种车上面的控制器不同时无需分别制作两款车的仪表程序,节省了开发成本和开发周期。
28.在一种可能的实施例方式中,所述步骤s1在嵌入不同通讯协议后,根据每个控制器使用的通讯协议对控制器进行分类存储。
29.可以理解的是,在本实施例中,由于生产厂商不同,或控制器的类型不同,一般采用的通讯协议也是不同的,基于此,先收集多种类型控制器的通讯协议,将其集成在仪表的软件中,且根据不同类型的通讯协议对控制器进行分类,且进行存储。
30.在一种可能的实施例方式中,所述仪表内存储有多种不同的通讯协议,且当仪表开机上电后,优先从存储的控制器分类列表中读取并判断是否存在当前控制器的类型。
31.可以理解的是,为了便于下次进行操作,仪表上电开机后,优先从已存储的信息内读取是否存在与当前连接的控制器匹配或分类一致的通讯协议,若有,则直接调用该通讯协议进行通讯,以此能够进一步节省匹配时间,缩短识别周期。
32.在一种可能的实施例方式中,若识别到已分类的控制器,则使用该类型控制器对应的通讯协议解析控制器传输的数据信息,若未识别到已分类的控制器,则进行控制器识别,按照步骤s2-s5进行识别操作。
33.可以理解的是,在本实施例中,在成功识别的情况下,使用该对应的通讯协议进行数据解析和传输,否则,需要按照未匹配情况,重新识别并保存能够进行规定方式通信的控制器,并匹配其对应的通讯协议。
34.在一种可能的实施例方式中,在控制器识别过程中,每间隔500ms由仪表向控制器发送固定格式的数据,并等待控制器的回应,同时判断控制器回应的数据格式,若与仪表发送的固定格式的数据对应,则识别成功,保存待用。
35.可以理解的是,作为举例的,
36.假设:
37.a类控制器当仪表向控制器发送a1格式的数据时,控制器会回复仪表a2格式的数据。
38.a1格式:’f’ 数据1 数据2 异或调整值 异或校验 回车符(0x0d);
39.a2格式:’f’ 数据1 数据2 数据3 数据4 异或调整值 错误信息 异或校验;
40.例如仪表向控制器发送0x46 0x83 0x65 0x00 0xe6 0x0d;
41.控制器会回复仪表0x46 0x04 0x13 0x02 0xee 0x00 0x00 0xfb。
42.b类控制器当仪表向控制器发送b1格式的数据时,控制器会回复仪表b2格式的数据;
43.b1格式:0x02 id_h id_l len_h len_l data[1]...data[len] crc_h crc_l 0x03;
[0044]
b2格式:0x02 id_h id_l len_h len_l data[1]...data[len] crc_h crc_l 0x03;
[0045]
例如仪表向控制器发送0x02 0x00 0x01 0x00 0x00 0xb3 0xf0 0x03;
[0046]
控制器会回复仪表0x02 0x00 0x01 0x00 0x01 0x0a 0xf5 0xc3 0x03;
[0047]
在一种可能的实施例方式中,若在设定周期内未收到控制器的回应或获得的回应中数据格式与仪表向控制器发送的固定格式的数据不对应时,则表明未识别成功,输出提示信息。
[0048]
可以理解的是,在本实施例中,当仪表开机时会先从存储设备中读取当前控制器的类型。
[0049]
若读取到的类型为a类,则认为控制器类型为a类,使用a类的协议解析控制器传来的数据。
[0050]
若读取到的类型为b类,则认为控制器类型为b类,使用b类的协议解析控制器传来的数据。
[0051]
若读取到的类型为0,则代表仪表还未识别过该控制器,之后仪表将进行控制器的识别:
[0052]
首先仪表会先每500ms发送一次a1格式的数据,而后等待响应:
[0053]
如果收到了控制器的回复并且回复的数据为a2格式,则仪表认为当前连接的控制器为a类控制器。同时仪表会记录当前控制器为a类控制器并存储在存储设备中以便下次重新开机时直接使用。
[0054]
如果等待1.5s后未收到控制器的回复或控制器的回复数据不为a2格式,则认为当前控制器不是a类控制器。之后仪表停止发送a1格式的数据,转而开始每500ms发送一次b1格式的数据,而后等待响应:
[0055]
如果收到了控制器的回复并且回复的数据为b2格式,则认为当前连接的控制器为b类控制器。同时仪表会记录当前控制器为b类控制器并存储在存储设备中以便下次重新开机时直接使用。
[0056]
如果等待1.5s后未收到控制器的回复或控制器的回复数据不为b2格式,则认为当前控制器不是b类控制器。由于仪表中目前只存有a、b类的协议,当a、b类型都匹配不上时,提示车主未识别出当前的控制器类型。
[0057]
需要说明的是,在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详细描述的部分,可以参见其它实施例的相关描述。
[0058]
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
[0059]
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式计算机或者其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0060]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0061]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0062]
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
[0063]
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包括这些改动和变型在内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献