掌桥专利:专业的专利平台
掌桥专利
首页

一种基于BLE的旋转图案显示方法、系统及指尖陀螺

文献发布时间:2023-06-19 12:14:58


一种基于BLE的旋转图案显示方法、系统及指尖陀螺

技术领域

本申请涉及指尖陀螺的领域,尤其是涉及一种基于BLE的旋转图案显示方法、系统及指尖陀螺。

背景技术

指尖陀螺是新兴的玩具,近年来逐渐在国内盛行。越来越多的人通过指尖陀螺锻炼手指的灵活度,或者排解无聊,缓解心理压力。指尖陀螺对于注意力不足的人或多动症患者培养注意力有很大的推动效果。另外,指尖陀螺对于缓解精神压力以及戒除烟瘾、酒瘾等非生理依赖性疾症有一定的辅助作用。

LED指尖陀螺是在指尖陀螺的基础上设置LED灯带,从而增加指尖陀螺的趣味性和解压效果,比如,可以较为直观地感受到指尖陀螺的旋转,也可以在LED指尖陀螺转动的过程中显示文字或时钟等。

针对上述中的相关技术,发明人认为相关技术中的LED指尖陀螺显示的文字或图形比较单调,弱化了缓解心理压力的效果。

发明内容

为了增强缓解心理压力的效果,本申请提供了一种基于BLE的旋转图案显示方法、系统及指尖陀螺。

第一方面,本申请提供一种基于BLE的旋转图案显示方法,采用如下的技术方案:

一种基于BLE的旋转图案显示方法,包括以下步骤:

搜索控制端;

与所述控制端建立连接;

实时接收所述控制端发送的指令信息;

根据所述指令信息进行旋转图案的显示。

通过采用上述技术方案,指尖陀螺可以在旋转过程中实时动态改变旋转图案,极大地增加了LED指尖陀螺旋转图案的多样性,增强缓解心理压力的效果及趣味性。

可选的,所述与所述控制端建立连接之后,采用握手认证进行安全管理,具体包括以下步骤:

接收所述控制端发送的握手命令;

根据所述握手命令回复一个随机数给所述控制端;

所述控制端按照预设规则对所述随机数进行计算,并将计算结果作为配对命令进行发送;

接收所述配对命令并验证,验证成功则回复握手成功信息并保持连接,验证失败则回复握手失败信息并断开连接。

通过采用上述技术方案,为了提高安全性,成功建立连接后,控制端和指尖陀螺还不能进行数据通信,而是增加了握手认证,在控制端成功连接指尖陀螺后发送握手命令,指尖陀螺收到握手命令会回复随机数;控制端收到随机数后按一定的规则计算回复命令,同时指尖陀螺收到回复后进行验证并给予回复,控制端收到验证回复后方可继续进行;如果两边没有收到对应的回复,都会断开连接。

可选的,所述指令信息包括分包标识信息和多个分包信息;所述分包标识信息包括标识头、数据总包数、旋转数据总字节数和单字节校验;多个所述分包信息包括分包标识头、分包号、分包数据和分包单字节校验。

通过采用上述技术方案,由于采用低功耗的BLE蓝牙通信,数据传送速率较低,而扫描数据量较大,通过将指令信息拆分成多个分包,并且在发送分包之前首先发送分包标识信息,能够提高数据传输的准确性。

可选的,所述控制端采用逐列扫描的方式对所述旋转图案进行扫描,从而获得所述旋转图案的扫描数据。

通过采用上述技术方案,控制端可以采用逐列扫描的方式对待显示的旋转图案进行扫描并存储,扫描精度可以根据LED的个数进行确定。

可选的,所述控制端采用逐列扫描的方式对所述旋转图案进行扫描之后,包括:将每一列的扫描数据拆分为若干个字节段。

可选的,所述每一列的扫描数据包括图片数据和颜色数据。

通过采用上述技术方案,将颜色数据与图片数据结合进行合并扫描,提高待显示旋转图案的扫描速度。

可选的,所述扫描数据采用低位在前高位在后的顺序进行取模。

通过采用上述技术方案,采用低位在前高位在后的顺序对扫描数据进行取模,具有取模方便等优点,能够提高待显示旋转图案的扫描速度。

可选的,所述搜索控制端,具体包括:采用过滤服务UUID进行扫描搜索所述控制端。

通过采用上述技术方案,UUID是对应不同服务或特性的一个唯一的编号,用于区分不同的服务及服务特性的个体,服务与特性都有一个唯一对应的UUID,每个特性有read、write、notification等属性,采用过滤服务UUID进行扫描搜索,能够在保证准确建立连接的前提下节约能耗,提高续航能力。

第二方面,本申请提供一种基于BLE的旋转图案显示系统,采用如下的技术方案:

一种基于BLE的旋转图案显示系统,包括:

搜索模块,用于搜索控制端;

连接建立模块,用于与所述控制端建立连接;

指令接收模块,用于实时接收所述控制端发送的指令信息;

显示控制模块,用于根据所述指令信息进行旋转图案的显示。

通过采用上述技术方案,显示控制模块可以在旋转过程中实时根据指令接收模块接收的指令信息动态改变旋转图案,极大地增加了LED指尖陀螺旋转图案的多样性,增强缓解心理压力的效果及趣味性。

第三方面,本申请提供一种指尖陀螺,采用如下的技术方案:

一种指尖陀螺,采用上述基于BLE的旋转图案显示方法对所述指尖陀螺上的LED灯带进行控制。

通过采用上述技术方案,指尖陀螺可以在旋转过程中实时动态改变旋转图案,极大地增加了LED指尖陀螺旋转图案的多样性,增强缓解心理压力的效果及趣味性。

综上所述,本申请的指尖陀螺可以在旋转过程中实时动态改变旋转图案,极大地增加了LED指尖陀螺旋转图案的多样性,增强缓解心理压力的效果及趣味性。

附图说明

图1是本申请旋转图案显示方法的流程示意图。

图2是本申请实施例中用于获取扫描数据的待显示旋转图案示意图。

图3是本申请实施例中分包标识信息的结构示意图。

图4是本申请实施例中分包信息的结构示意图。

图5是本申请旋转图案显示系统的结构示意图。

附图标记说明:1、搜索模块;2、连接建立模块;3、指令接收模块;4、显示控制模块。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图1-5及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。

本申请实施例中,LED指尖陀螺包括陀螺本体,陀螺本体包括若干个陀叶,其中一陀叶上设置有一组LED灯带,陀螺本体上还设置有控制模块和蓝牙模块,其中,蓝牙模块可以采用BLE,BLE用于与控制端进行通讯连接,控制端可以是手机、平板等智能设备,在指尖陀螺旋转过程中,控制模块根据BLE接收到的指令信息控制LED灯带的显示。

参照图1,本申请实施例公开一种基于BLE的旋转图案显示方法,应用于LED指尖陀螺,包括以下步骤:

S01:搜索控制端;

具体来说,系统开机后,BLE可以采用过滤服务UUID进行扫描搜索控制端;也可以是控制端采用约定好的过滤服务UUID进行扫描搜索指尖陀螺,在搜索到指尖陀螺后,发出建立连接请求。

S02:与控制端建立连接;

作为增加设备安全性的一种实施方式,该步骤中,控制端和指尖陀螺只能建立连接,但还不能进行通信,在控制端和指尖陀螺建立连接之后,可以采用握手认证进行安全管理,具体包括以下步骤:

成功建立连接后,控制端发送握手命令;

指尖陀螺接收控制端发送的握手命令,并根据握手命令回复一个随机数给控制端;

控制端按照预设规则对随机数进行计算,并将计算结果作为配对命令发送到指尖陀螺,其中,指尖陀螺也设置有该预设规则,并根据该预设规则对自身回复的随机数进行计算,以用于与配对命令进行匹配;

指尖陀螺接收配对命令并验证,验证成功则回复握手成功信息并保持连接,有了握手成功信息后,控制端和指尖陀螺就可以进行实时通信,验证失败则回复握手失败信息并断开连接。

举例来说,在本申请实施例中,

控制端发送到指尖陀螺的握手命令格式为:

0xCC,0x00,0x08,0x45,0x45,0x48,0x49,0x50。

指尖陀螺发送到控制端的随机数为xx,并且,在发送的随机数xx之前附带有与握手命令相匹配的预设命令头,作为另一重验证,进一步提高安全性,发送到控制端的随机数xx格式如下:

0xDD,0x00,0x0A,0x45,0x45,0x48,0x49,0x50,xx。

控制端按照预设规则对随机数xx进行计算,并将计算结果作为配对命令发送到指尖陀螺,并且,在发送的计算结果之前附带有与预设命令头相匹配的预设验证头,可以作为另一重验证,进一步提高安全性,配对命令格式如下:

0xCC,0x01,0x0A,0x45,0x45,0x48,0x49,0x50,xx^36。

指尖陀螺接收配对命令并验证,验证成功则回复握手成功信息并保持连接,有了握手成功信息后,控制端和指尖陀螺可以进行实时通信,验证失败则回复握手失败信息并断开连接,握手成功信息或握手失败信息格式如下:

0xDD,0x01,0x09,0x45,0x45,0x48,0x49,0x50, yy。

其中,当设备返回的yy=0,则表示握手成功,当设备返回的yy=1,则表示握手失败,设备非认证设备,断开设备,从而提高通信的安全性。

S03:实时接收控制端发送的指令信息;

本申请实施例中,LED指尖陀螺显示的旋转图案都是以图片的形式扫描而成的,因人眼的视觉暂留而产生连续的画面,所以要显示什么样的内容改变相应的图片数据即可。

由于陀螺本体上只有一组LED灯带,这一组LED灯带由若干个LED灯珠组成,所以控制端采用逐列扫描的方式对待显示的旋转图案进行扫描,从而获得待显示的旋转图案的扫描数据,其中,每一列的扫描数据包括图片数据和颜色数据,扫描数据采用低位在前高位在后的顺序进行取模,具体来说,对若干个LED灯珠从低到高依次编号并排序,在采用低位在前高位灾后的顺序进行取模时,将每一列的扫描数据拆分为若干个字节段;首先选取LED灯珠的低位(例如前8位)作为第一字节,而在第一字节中则采用高位在前低位在后的方式进行取模,例如,第一字节对前8位的取模顺序依次为第8位、第7位、……、第2位、第1位,以此类推,然后依次选取剩余的低位LED灯珠(例如第9至第16位,第17至第24位……),以此类推;其中,如果LED灯珠全部选取完毕后还有剩余位,可以将剩余位作为颜色数据识别位进行扫描获取;如果LED灯珠全部选取完毕后没有剩余位,可以增加一个字节作为颜色数据识别位;颜色数据识别位的数据容量越大,可以显示越多颜色。当颜色数据识别位的数据容量足够大时,也可以精确控制每一列的每一个LED灯珠的颜色;举例来说,假设LED灯珠为8颗(8位),颜色数据识别位的数据容量为24位,则总的扫描数据为4字节,其中1字节表示LED灯珠的亮灭,3字节表示每个LED灯珠的颜色;在3字节(24位)的颜色数据识别位中,每3位表示其中一个LED灯珠的颜色。

具体来说,本申请实施例中,采用12个LED灯珠构成LED灯带,此时,12个LED灯珠决定了待显示的旋转图案的像素高度固定为12位,为了取模方便,每一列的扫描数据用2个字节(16位)表示。前12位表示对应的灯珠的亮灭(例如:1为亮,0为灭),后4位的数据表示每一列灯亮的颜色(例如:0为红,1为白,2为黄,3为绿,4为蓝,5为靛,6为紫等)。

举例来说,参照图2,将12个灯珠由低位到高位进行编号(例如编号为1,2,……,12),且设置有4位(假设为第13至16位)用于表示颜色数据,为了取模方便,采用低位在前高位在后的顺序进行取模,即:将第1至第8位作为第一字节,将第9至第12位的灯珠显示数据和第13至16位的颜色数据作为第二字节,从而采用2个字节表示,每一列的扫描数据包括12位图片数据和4位颜色数据。

例如,继续参照图2,第一列的扫描数据用2个字节表示为{0x3B,0x0F},其中,3表示的是编号为8,7,6,5的灯珠的亮灭(将3转化为二进制,并且1为亮,0为灭),B表示的是编号为4,3,2,1的灯珠的亮灭(将B转化为二进制,并且1为亮,0为灭),0为颜色数据,表示的是第一列的12个灯珠的显示颜色,F表示的是编号为12,11,10,9的灯珠的亮灭(将F转化为二进制,并且1为亮,0为灭);具体来说,3(对应的二进制为0011)表示的是编号8的灯珠为灭,编号7的灯珠为灭,编号6的灯珠为亮,编号5的灯珠为亮;B(对应的二进制为1011)表示的是编号4的灯珠为亮,编号3的灯珠为灭,编号2的灯珠为亮,编号1的灯珠为亮;0表示第一列的12个灯珠的显示颜色为红色;F(对应的二进制为1111)表示的是编号12的灯珠为亮,编号11的灯珠为亮,编号10的灯珠为亮,编号9的灯珠为亮。

再如,继续参照图2,第二列的扫描数据用2个字节表示为{0xC4,0x40},其中,C表示的是编号为8,7,6,5的灯珠的亮灭(将C转化为二进制,并且1为亮,0为灭),0xC4中的4表示的是编号为4,3,2,1的灯珠的亮灭(将4转化为二进制,并且1为亮,0为灭),0x40中的4为颜色数据,表示的是第二列的12个灯珠的显示颜色,0表示的是编号为12,11,10,9的灯珠的亮灭(将0转化为二进制,并且1为亮,0为灭);具体来说,C(对应的二进制为1100)表示的是编号8的灯珠为亮,编号7的灯珠为亮,编号6的灯珠为灭,编号5的灯珠为灭;0xC4中的4(对应的二进制为0100)表示的是编号4的灯珠为灭,编号3的灯珠为亮,编号2的灯珠为灭,编号1的灯珠为灭;0x40中的4表示第二列的12个灯珠的显示颜色为蓝色;0(对应的二进制为0000)表示的是编号12的灯珠为灭,编号11的灯珠为灭,编号10的灯珠为灭,编号9的灯珠为灭。

以此类推,获得待显示旋转图案的所有扫描数据,例如,如果待显示旋转图案的所有扫描数据长度为256列,则所有扫描数据的总数据长度为2*256=512字节。由于扫描数据的总数据长度比较大,为了保证数据的准确传输,可以采用将扫描数据拆分为多个分包信息进行分包发送,并且在发送扫描数据之前首先发送扫描数据总字节数和总包数等分包标识信息。

具体来说,指令信息包括分包标识信息和多个分包信息。

参照图3,分包标识信息包括标识头、数据总包数、扫描数据总字节数和单字节校验,其中,标识头采用1字节,且固定为0x99,用于识别分包标识信息数据;数据总包数采用1字节,用于表示扫描数据分包发送的总包数;扫描数据总字节数采用2字节或多字节,扫描数据总字节数等于这2个字节数据或多个字节数据的数值之和,比如扫描数据总字节数是160,则这2字节分别是0x50(对应十进制80),0x50(对应十进制80);单字节校验采用1字节,表示的是数据总包数和扫描数据总字节数的单字节和,用于校验分包标识信息的准确性。

参照图4,多个分包信息包括分包标识头、分包号、分包数据和分包单字节校验,其中,分包标识头采用1字节,且固定为0xAA,用于识别分包信息数据;分包号采用1字节,表示扫描数据分包后的序号,例如,0表示第1个分包,1表示第2个分包,2表示第3个分包,N表示第N+1个分包,FF表示最后1个分包;分包数据为扫描数据拆分后的数据,采用1-17字节;分包单字节校验为分包号和分包数据的单字节和,采用1字节,用于校验分包信息的准确性。

举例来说,对于总数据长度为2*256=512字节的扫描数据,可以按照每16字节放入一个分包的形式拆分为32个分包,则,数据总包数采用1字节的十六进制表示为:0x20;扫描数据总字节数为512,可以采用2字节表示为:{0x00,0x00}(假设0为特殊数值,在表示扫描数据总字节述时指代512),由于512字节及以上超过了2字节表示的范围,也可以采用3字节表示为{0xFF,0xFF,0x02};单字节校验采用1字节,本实施例中采用2字节表示扫描数据总字节数时表示为0x20(=0x20+0x00),采用3字节表示扫描数据总字节数时可以表示为0x22(=0x20+0x02),其中,如果相加后结果超过1字节,则把超过1字节的部分舍去;分包号取值为1-32;分包数据采用16字节用于存储每个分包的具体数据;分包单字节校验采用单字节,具体数值为当前分包对应的分包号和具体分包数据的最后一个字节之和,其中,如果相加后结果超过1字节,则把超过1字节的部分舍去。

在本申请实施例中,为了增加LED指尖陀螺在使用过程中的趣味性,LED指尖陀螺还包括速度检测器,速度检测器用于检测指尖陀螺的当前旋转速度并发送给控制模块,只有在当前旋转速度不为0时,BLE才会和控制端建立连接并进行数据通信,从而提高续航,并且,只有在当前旋转速度不为0时,BLE才会接收控制端的指令信息,并根据指令信息实时改变旋转图案,进一步提高续航并增强指尖陀螺的解压效果。

并且,控制模块还可以根据当前旋转速度,向控制端发送分辨率信息,由于不同的旋转速度所需要的图片分辨率不同,而分辨率越高,所需传送的扫描数据量越大,所需传送时间越长,因此,在不需要较高分辨率的情况下,主动告知控制端可以采集较低分辨率的扫描数据并发送,从而提高系统性能;其中,不同旋转速度对应的图片分辨率可以预设在控制端,也可以预设在指尖陀螺端,当预设在控制端时,指尖陀螺发送的是旋转速度信息。

S04:根据指令信息进行旋转图案的显示。

LED指尖陀螺接收到控制端发送的指令信息,实时根据相应的指令信息显示对应的旋转图案。

参照图5,本申请实施例还公开一种基于BLE的旋转图案显示系统,包括:

搜索模块1,用于搜索控制端;

连接建立模块2,用于与所述控制端建立连接;

指令接收模块3,用于实时接收所述控制端发送的指令信息;

显示控制模块4,用于根据所述指令信息进行旋转图案的显示。

本申请实施例还公开一种指尖陀螺,采用上述基于BLE的旋转图案显示方法对所述指尖陀螺上的LED灯带进行控制。

以上均为本申请的较佳实施例,并非依此限制本申请的保护范围,本说明书(包括摘要和附图)中公开的任一特征,除非特别叙述,均可被其他等效或者具有类似目的的替代特征加以替换。即,除非特别叙述,每个特征只是一系列等效或类似特征中的一个例子而已。

相关技术
  • 一种基于BLE的旋转图案显示方法、系统及指尖陀螺
  • 一种基于无线修改文字和图案的电子指尖陀螺
技术分类

06120113227250