基于安卓系统的遥控器控制方法和装置与流程

文档序号:11139384阅读:687来源:国知局
基于安卓系统的遥控器控制方法和装置与制造工艺

本发明涉及遥控器触控领域,尤其涉及一种基于安卓系统的遥控器控制方法和装置。



背景技术:

随着安卓系统的普及和应用,安卓的无线输入设备也不断增多,比如蓝牙遥控器、蓝牙键盘等。但是,目前市场上的蓝牙触控遥控器的触摸功能只能使用HID的键盘协议,也就必须要求遥控器的CPU耗费大量的时间来进行触摸手势识别,然后将识别出的手势转换成标准的HID键盘值再发送给安卓系统,使得现有的蓝牙触控遥控器不能处理复杂的手势且处理速度慢。



技术实现要素:

本发明的主要目的在于提供一种基于安卓系统的遥控器控制方法和装置,旨在解决现有的蓝牙触控遥控器不能处理复杂的手势且处理速度慢的技术问题。

为实现上述目的,本发明提供的一种基于安卓系统的遥控器控制方法包括以下步骤:

初始化遥控器的触摸板和蓝牙模块,并控制遥控器蓝牙连接被控设备;

实时监测遥控器触摸板的采样数据和计时器的时间值;

将采样数据和时间值封装成蓝牙HID私有协议数据包并通过蓝牙模块发送至被控设备,以供所述被控设备根据所述采样数据和时间值分析用户输入的操作指令。

优选地,所述采样数据包括蓝牙HID私有协议编码、触摸动作编码、触摸动作水平坐标编码和触摸动作垂直坐标编码。

优选地,所述将采样数据和时间值封装成蓝牙HID私有协议数据包并通过蓝牙模块发送至被控设备,以供所述被控设备根据所述采样数据和时间值分析用户输入的操作指令的步骤包括:

根据所述触摸动作编码判断触摸操作是否完成;

若是,将采样数据和时间值封装成蓝牙HID私有协议数据包并存储至蓝牙模块FIFO缓存器内;

所述蓝牙模块将存储的所述蓝牙HID私有协议数据包发送至被控设备,以供所述被控设备根据所述采样数据和时间值分析用户输入的操作指令。

优选地,所述基于安卓系统的遥控器控制方法还包括:

获取遥控器开关键的触摸信息,并判断遥控器开关键是否被长按,若是,则控制遥控器关机。

优选地,所述计时器为32位计时器,时钟周期为1毫秒。

此外,为实现上述目的,本发明还提供一种基于安卓系统的遥控器控制装置包括:

初始化模块,用于初始化遥控器的触摸板和蓝牙模块,并控制遥控器蓝牙连接被控设备;

监测模块,用于实时监测遥控器触摸板的采样数据和计时器的时间值;

发送模块,用于将采样数据和时间值封装成蓝牙HID私有协议数据包并通过蓝牙模块发送至被控设备,以供所述被控设备根据所述采样数据和时间值分析用户输入的操作指令。

优选地,所述采样数据包括蓝牙HID私有协议编码、触摸动作编码、触摸动作水平坐标编码和触摸动作垂直坐标编码。

优选地,所述发送模块包括:

判断单元,用于根据所述触摸动作编码判断触摸操作是否完成;

存储单元,用于当判断有触摸操作完成时,将采样数据和时间值封装成蓝牙HID私有协议数据包并存储至蓝牙模块FIFO缓存器内;

发送单元,用于所述蓝牙模块将存储的所述蓝牙HID私有协议数据包发送至被控设备,以供所述被控设备根据所述采样数据和时间值分析用户输入的操作指令。

优选地,所述基于安卓系统的遥控器控制装置还包括:

关机模块,用于获取遥控器开关键的触摸信息,并当判断遥控器开关键被长按时,控制遥控器关机。

优选地,所述计时器为32位计时器,时钟周期为1毫秒。

本发明提供的技术方案通过初始化遥控器的触摸板和蓝牙模块,并控制遥控器蓝牙连接被控设备;实时监测遥控器触摸板的采样数据和计时器的时间值;将采样数据和时间值封装成蓝牙HID私有协议数据包并通过蓝牙模块发送至被控设备,以供所述被控设备根据所述采样数据和时间值分析用户输入的操作指令。将获取的遥控器触摸手势数据打包发送至被控设备,使得遥控器不需对触摸数据进行识别再发送,利用被控设备来对触摸手势进行识别,进而减轻了蓝牙遥控器的系统负担,使得蓝牙遥控器对复杂手势也能处理,提高了处理速度。

附图说明

图1为本发明基于安卓系统的遥控器控制方法第一实施例的流程示意图;

图2为本发明基于安卓系统的遥控器控制方法第二实施例中发送蓝牙HID私有协议数据包步骤的细化流程示意图;

图3为本发明基于安卓系统的遥控器控制方法第三实施例的流程示意图;

图4为本发明基于安卓系统的遥控器控制装置第一实施例的功能模块示意图;

图5为本发明基于安卓系统的遥控器控制装置第二实施例中发送模块的细化功能模块示意图;

图6为本发明基于安卓系统的遥控器控制装置第三实施例的功能模块示意图。

本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

应当理解,此处所描述的具体实施例仅仅用于解释本发明,并不用于限定本发明。

本发明提供一种基于安卓系统的遥控器控制方法,参照图1,在一实施例中,该基于安卓系统的遥控器控制方法包括:

S10,初始化遥控器的触摸板和蓝牙模块,并控制遥控器蓝牙连接被控设备;

本实施例中,所述初始化遥控器的触摸板和蓝牙模块,即为将遥控器的触摸板和蓝牙模块还原至初始状态,并通过蓝牙模块控制遥控器与被控设备的蓝牙系统建立蓝牙连接。

S20,实时监测遥控器触摸板的采样数据和计时器的时间值;

优选地,所述计时器为32位计时器,时钟周期为1毫秒,即所述32位计时器的计时单位为1毫秒。也就是说,当所述遥控器的当前时间数据为100时,即为遥控器开机至当前的时间间隔为100毫秒,进而使得所述遥控器能准确记录当前触摸操作下的时间,及触摸操作之间的时间间隔,确保所述遥控器触摸板的触摸信息的准确采集及后续遥控器功能的实现。

本实施例中,所述采样数据包括触摸轨迹和/或触摸距离,结合采集的所述触摸板计时器的时间值,后续即可计算得出触摸速度并对其进行分析。

S30,将采样数据和时间值封装成蓝牙HID私有协议数据包并通过蓝牙模块发送至被控设备,以供所述被控设备根据所述采样数据和时间值分析用户输入的操作指令。

具体地,当判断所述遥控器有触摸操作时,则将遥控器触摸板的采样数据和时间值封装成蓝牙HID私有协议数据包,并通过遥控器的蓝牙模块将上述数据包发送至被控设备的蓝牙系统,用于使得所述被控设备根据接收的数据包对采样数据及时间值进行分析及运算,进而对用户的触摸信息进行识别。

需要说明的是,所述数据包包括采样数据和时间值,其中,所述采样数据包括蓝牙HID私有协议编码、触摸动作编码、触摸动作水平坐标编码和触摸动作垂直坐标编码。所述数据包为一个10个字节的数据包,包括一个字节的蓝牙HID私有协议数据编码,一个字节的触摸动作编码,两个字节的触摸动作水平坐标编码,两个字节的触摸动作垂直坐标编码,以及四个字节的计时器时间值数据;进而使得所述数据包能成功绕开蓝牙HID的标准协议,将蓝牙触控遥控器的采样数据及时间值封装成HID私有协议数据包发送给被控设备,通过被控设备来对采样数据和时间值进行分析运算。也就是说,所述蓝牙触控遥控器只负责对触摸信息进行获取、封装和发送,无需对触摸信息进行分析运算,大大减轻了蓝牙触控遥控器CPU的处理负担,简化了蓝牙触控遥控器的处理步骤,进而也就使得所述蓝牙触控遥控器对复杂的手势也能进行获取和处理,也提高了蓝牙触控遥控器的处理速度。

其中,上述触摸动作编码,可以定义为,1表示按下,2表示滑动,3表示抬起。

需要说明的是,本实施例中所述基于安卓系统的被控设备包括BlueDroid进程和Input进程,所述BlueDroid进程包括BlueDroid、EventThread和触摸点环形缓冲区,所述Input进程包括EventHub和InputReader。当所述蓝牙触控遥控器发送所述数据包至被控设备,所述BlueDroid接收所述数据包,并把所述数据包存入触摸点环形缓冲区内,与此同时,所述、EventThread读取所述数据包,并将读取的点按照时间先后顺序还原成手指滑动曲线,从矢量速度和运动轨迹的角度分析并计算出触摸轨迹,识别触摸手势,然后将触摸手势转换成安卓系统标准的Input Key值,把Input Key值写入Input设备节点,则Input进程会立即读取,并广播发送给对应的APP进行处理。

本发明提供的技术方案通过初始化遥控器的触摸板和蓝牙模块,并控制遥控器蓝牙连接被控设备;实时监测遥控器触摸板的采样数据和计时器的时间值;将采样数据和时间值封装成蓝牙HID私有协议数据包并通过蓝牙模块发送至被控设备,以供所述被控设备根据所述采样数据和时间值分析用户输入的操作指令。将获取的遥控器触摸手势数据打包发送至被控设备,使得遥控器不需对触摸数据进行识别再发送,利用被控设备来对触摸手势进行识别,进而减轻了蓝牙遥控器的系统负担,使得蓝牙遥控器对复杂手势也能处理,提高了处理速度。

进一步地,参照图2,基于上述实施例,在本实施例中,上述步骤S30还包括:

S31,根据所述触摸动作编码判断触摸操作是否完成;

S32,若是,将采样数据和时间值封装成蓝牙HID私有协议数据包并存储至蓝牙模块FIFO缓存器内;

S33,所述蓝牙模块将存储的所述蓝牙HID私有协议数据包发送至被控设备,以供所述被控设备根据所述采样数据和时间值分析用户输入的操作指令。

具体地,根据监测的采样数据中的触摸动作编码判断触摸操作是否完成,也即通过触摸动作编码判断是否有抬起的触摸动作;若是,则判断触摸操作完成,将监测获取的采样数据和时间值封装成蓝牙HID私有协议数据包并存储至蓝牙模块FIFO缓存器内。需要进一步说明的是,所述触摸动作是在预设的时间内进行判断,也即在计时器预设的计时时长内判断是否有抬起的触摸动作,在该预设时长内获取的是单次抬起触摸动作还是两次抬起触摸动作,进而可以判断是单击操作还是双击操作,用以实现不同的操作功能。

所述FIFO缓存器是一种先进先出的缓存器,也即按顺序写入数据,按顺序读出数据,例如,第一个写入的数据第一个被读出。本实施例中,所述FIFO缓存器能对连续的数据进行缓存,防止在进行存储操作时丢失数据,同时可避免频繁的总线操作,减轻了遥控器CPU处理负担,并且允许遥控器系统进行DMA操作,大大提高了数据的传输速度。

所述遥控器的蓝牙模块将存储的蓝牙HID私有协议数据包发送至被控设备,以供所述被控设备对数据包进行解码,根据接收的所述采样数据和时间值分析用户输入的操作指令。

需要说明的是,当根据触控板的采样数据判定无触摸操作时,也即未获取相应的触摸动作编码,则丢弃已经获取的采样数据和时间值,重新监测遥控器触摸板的采样数据和计时器的时间值,直至根据重新获取的触摸动作编码判断有触摸操作,则将采样数据和时间值封装成蓝牙HID私有协议数据包并存储至蓝牙模块FIFO缓存器内,以确保后续操作功能的实现。

本实施例中,进一步提出了根据采样数据中触摸动作编码判断是否有触摸操作时的具体实施步骤,也就是说,所述基于安卓系统的遥控器控制方法通过一次或者多次获取遥控器触摸板的采样数据和计时器的时间值,直至判断有触摸操作,将采样数据和时间值封装成HID私有协议数据包发送至被控设备,用于使得所述安卓系统的被控设备根据接收的数据包对采样数据及时间值进行分析及运算,进而对触摸信息进行识别,保证用户手指触摸的有效操作。

进一步地,参照图3,基于上述实施例,在本实施例中,所述基于安卓系统的遥控器控制方法还包括:

S40,获取遥控器开关键的触摸信息,并判断遥控器开关键是否被长按,若是,则控制遥控器关机。

具体地,当所述蓝牙触控遥控器完成数据包的发送,则判断遥控器开关键是否被长按,当判定所述遥控器开关键被长按时,则控制遥控器关机。通过控制遥控器及时关机,能避免误触遥控器而发生的误操作,也能节省所述遥控器的运行功耗。

可以理解的是,所述遥控器的开关键可为物理按键或是触摸键,且所述开关键与遥控器的电池电连接。

本实施例中,通过获取遥控器开关键的长按信息,可以控制遥控器关机;应当说明的是,所述遥控器的开关键可以但不限于只实现遥控器的关机,通过获取开关键的不同触摸信息,可以控制遥控器实现不同的功能。例如,获取开关键的双击信息,用于控制遥控器进入睡眠状态或是解除睡眠状态。

或者,通过获取开关键的不同触摸信息,可以通过遥控器控制被控设备实现不同的功能。例如,在一种实施方式中,通过获取开关键的单击信息,可以通过遥控器控制被控设备实现暂停功能或解除暂停功能;在另一种实施方式中,通过获取开关键的双击信息,可以通过遥控器控制被控设备实现确定当前操作的功能。

需要说明的是,当判断遥控器开关键未被长按时,则回到实时监测遥控器触摸板的采样数据和计时器的时间值的步骤,将采样数据和时间值封装成蓝牙HID私有协议数据包并通过蓝牙模块发送至被控设备,再次判断遥控器开关键是否被长按;直至判断遥控器开关键被长按时,则控制遥控器关机。

可以理解的是,通过判断遥控器开关键是否被长按,来控制遥控器是否关机;通过获取遥控器开关键的触摸信息,来判断用户的操作意图,进而执行不同的动作,实现不同功能。本实施例中,长按开关键定义为控制遥控器关机,也即只有当采集到用户长按开关键的触摸操作,遥控器才会关机,当未采集到长按开关键的触摸操作,即可认为用户没有关闭遥控器的意图,进而继续获取遥控器触摸板的采样数据和计时器的时间值,执行相应的实施步骤,确保用户的手势触摸操作能被及时识别,提高手势触摸操作识别的准确性,使得所述基于安卓系统的遥控器控制方法更加智能化。

本发明还提供一种基于安卓系统的遥控器控制装置,参照图4,在一实施例中,本发明提供的基于安卓系统的遥控器控制装置包括:

初始化模块10,用于初始化遥控器的触摸板和蓝牙模块,并控制遥控器蓝牙连接被控设备;

本实施例中,所述初始化遥控器的触摸板和蓝牙模块,即为将遥控器的触摸板和蓝牙模块还原至初始状态,并通过蓝牙模块控制遥控器与被控设备的蓝牙系统建立蓝牙连接。

监测模块20,用于实时监测遥控器触摸板的采样数据和计时器的时间值;

优选地,所述计时器为32位计时器,时钟周期为1毫秒,即所述32位计时器的计时单位为1毫秒。也就是说,当所述遥控器的当前时间数据为100时,即为遥控器开机至当前的时间间隔为100毫秒,进而使得所述遥控器能准确记录当前触摸操作下的时间,及触摸操作之间的时间间隔,确保所述遥控器触摸板的触摸信息的准确采集及后续遥控器功能的实现。

本实施例中,所述采样数据包括触摸轨迹和/或触摸距离,结合采集的所述触摸板计时器的时间值,后续即可计算得出触摸速度并对其进行分析。

发送模块30,用于将采样数据和时间值封装成蓝牙HID私有协议数据包并通过蓝牙模块发送至被控设备,以供所述被控设备根据所述采样数据和时间值分析用户输入的操作指令。

具体地,当判断所述遥控器有触摸操作时,则将遥控器触摸板的采样数据和时间值封装成蓝牙HID私有协议数据包,并通过遥控器的蓝牙模块将上述数据包发送至被控设备的蓝牙系统,用于使得所述被控设备根据接收的数据包对采样数据及时间值进行分析及运算,进而对用户的触摸信息进行识别。

需要说明的是,所述数据包包括采样数据和时间值,其中,所述采样数据包括蓝牙HID私有协议编码、触摸动作编码、触摸动作水平坐标编码和触摸动作垂直坐标编码。所述数据包为一个10个字节的数据包,包括一个字节的蓝牙HID私有协议数据编码,一个字节的触摸动作编码,两个字节的触摸动作水平坐标编码,两个字节的触摸动作垂直坐标编码,以及四个字节的计时器时间值数据;进而使得所述数据包能成功绕开蓝牙HID的标准协议,将蓝牙触控遥控器的采样数据及时间值封装成HID私有协议数据包发送给被控设备,通过被控设备来对采样数据和时间值进行分析运算。也就是说,所述蓝牙触控遥控器只负责对触摸信息进行获取、封装和发送,无需对触摸信息进行分析运算,大大减轻了蓝牙触控遥控器CPU的处理负担,简化了蓝牙触控遥控器的处理步骤,进而也就使得所述蓝牙触控遥控器对复杂的手势也能进行获取和处理,也提高了蓝牙触控遥控器的处理速度。

其中,上述触摸动作编码,可以定义为,1表示按下,2表示滑动,3表示抬起。

需要说明的是,本实施例中所述基于安卓系统的被控设备包括BlueDroid进程和Input进程,所述BlueDroid进程包括BlueDroid、EventThread和触摸点环形缓冲区,所述Input进程包括EventHub和InputReader。当所述蓝牙触控遥控器发送所述数据包至被控设备,所述BlueDroid接收所述数据包,并把所述数据包存入触摸点环形缓冲区内,与此同时,所述、EventThread读取所述数据包,并将读取的点按照时间先后顺序还原成手指滑动曲线,从矢量速度和运动轨迹的角度分析并计算出触摸轨迹,识别触摸手势,然后将触摸手势转换成安卓系统标准的Input Key值,把Input Key值写入Input设备节点,则Input进程会立即读取,并广播发送给对应的APP进行处理。

本发明提供的技术方案通过初始化遥控器的触摸板和蓝牙模块,并控制遥控器蓝牙连接被控设备;实时监测遥控器触摸板的采样数据和计时器的时间值;将采样数据和时间值封装成蓝牙HID私有协议数据包并通过蓝牙模块发送至被控设备,以供所述被控设备根据所述采样数据和时间值分析用户输入的操作指令。将获取的遥控器触摸手势数据打包发送至被控设备,使得遥控器不需对触摸数据进行识别再发送,利用被控设备来对触摸手势进行识别,进而减轻了蓝牙遥控器的系统负担,使得蓝牙遥控器对复杂手势也能处理,提高了处理速度。

进一步地,请参照图5,基于上述实施例,在本实施例中,所述发送模块30包括:

判断单元31,用于根据所述触摸动作编码判断是否有触摸操作;

存储单元32,用于当判断有触摸操作时,将采样数据和时间值封装成蓝牙HID私有协议数据包并存储至蓝牙模块FIFO缓存器内;

发送单元33,用于所述蓝牙模块将存储的所述蓝牙HID私有协议数据包发送至被控设备,以供所述被控设备根据所述采样数据和时间值分析用户输入的操作指令。

具体地,根据监测的采样数据中的触摸动作编码判断触摸操作是否完成,也即通过触摸动作编码判断是否有抬起的触摸动作;若是,则判断触摸操作完成,将监测获取的采样数据和时间值封装成蓝牙HID私有协议数据包并存储至蓝牙模块FIFO缓存器内。需要进一步说明的是,所述触摸动作是在预设的时间内进行判断,也即在计时器预设的计时时长内判断是否有抬起的触摸动作,在该预设时长内获取的是单次抬起触摸动作还是两次抬起触摸动作,进而可以判断是单击操作还是双击操作,用以实现不同的操作功能。

所述FIFO缓存器是一种先进先出的缓存器,也即按顺序写入数据,按顺序读出数据,例如,第一个写入的数据第一个被读出。本实施例中,所述FIFO缓存器能对连续的数据进行缓存,防止在进行存储操作时丢失数据,同时可避免频繁的总线操作,减轻了遥控器CPU处理负担,并且允许遥控器系统进行DMA操作,大大提高了数据的传输速度。

所述遥控器的蓝牙模块将存储的蓝牙HID私有协议数据包发送至被控设备,以供所述被控设备对数据包进行解码,根据接收的所述采样数据和时间值分析用户输入的操作指令。

需要说明的是,当判断单元31根据触控板的采样数据判定无触摸操作时,也即未获取相应的触摸动作编码,则丢弃已经获取的采样数据和时间值,所述基于安卓系统的遥控器控制装置重新执行监测模块20的功能,直至根据重新获取的触摸动作编码判断有触摸操作,则将采样数据和时间值封装成蓝牙HID私有协议数据包并存储至蓝牙模块FIFO缓存器内,以确保后续操作功能的实现。

本实施例中,进一步提出了根据采样数据中触摸动作编码判断是否有触摸操作时的具体实施步骤,也就是说,所述基于安卓系统的遥控器控制装置通过一次或者多次获取遥控器触摸板的采样数据和计时器的时间值,直至判断有触摸操作,将采样数据和时间值封装成HID私有协议数据包发送至被控设备,用于使得所述安卓系统的被控设备根据接收的数据包对采样数据及时间值进行分析及运算,进而对触摸信息进行识别,保证用户手指触摸的有效操作。

进一步地,进一步地,请参照图6,基于上述实施例,在本实施例中,所述基于安卓系统的遥控器控制装置还包括:

关机模块40,用于获取遥控器开关键的触摸信息,并当判断遥控器开关键被长按时,控制遥控器关机。

具体地,当所述蓝牙触控遥控器完成数据包的发送,则判断遥控器开关键是否被长按,当判定所述遥控器开关键被长按时,则控制遥控器关机。通过控制遥控器及时关机,能避免误触遥控器而发生的误操作,也能节省所述遥控器的运行功耗。

可以理解的是,所述遥控器的开关键可为物理按键或是触摸键,且所述开关键与遥控器的电池电连接。

本实施例中,通过获取遥控器开关键的长按信息,可以控制遥控器关机;应当说明的是,所述遥控器的开关键可以但不限于只实现遥控器的关机,通过获取开关键的不同触摸信息,可以控制遥控器实现不同的功能。例如,获取开关键的双击信息,用于控制遥控器进入睡眠状态或是解除睡眠状态。

或者,通过获取开关键的不同触摸信息,可以通过遥控器控制被控设备实现不同的功能。例如,在一种实施方式中,通过获取开关键的单击信息,可以通过遥控器控制被控设备实现暂停功能或解除暂停功能;在另一种实施方式中,通过获取开关键的双击信息,可以通过遥控器控制被控设备实现确定当前操作的功能。

需要说明的是,当判断遥控器开关键未被长按时,则回到实时监测遥控器触摸板的采样数据和计时器的时间值的步骤,将采样数据和时间值封装成蓝牙HID私有协议数据包并通过蓝牙模块发送至被控设备,再次判断遥控器开关键是否被长按;直至判断遥控器开关键被长按时,则控制遥控器关机。

可以理解的是,通过判断遥控器开关键是否被长按,来控制遥控器是否关机;通过获取遥控器开关键的触摸信息,来判断用户的操作意图,进而执行不同的动作,实现不同功能。本实施例中,长按开关键定义为控制遥控器关机,也即只有当采集到用户长按开关键的触摸操作,遥控器才会关机,当未采集到长按开关键的触摸操作,即可认为用户没有关闭遥控器的意图,进而继续获取遥控器触摸板的采样数据和计时器的时间值,执行相应的实施步骤,确保用户的手势触摸操作能被及时识别,提高手势触摸操作识别的准确性,使得所述基于安卓系统的遥控器控制装置更加智能化。

以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1