基于蓝牙的双向通讯自动锁系统及其方法

文档序号:9548026阅读:361来源:国知局
基于蓝牙的双向通讯自动锁系统及其方法
【技术领域】
[0001]本发明涉及电子锁具技术领域,尤其涉及一种基于蓝牙的双向通讯自动锁系统及其方法。
【背景技术】
[0002]为了去除插钥匙开锁的繁琐操作,很多电子锁控制系统都通过无线传输控制信息。随着蓝牙技术的不断更新换代,功耗控制达到了令人满意的程度,并且智能手机的普及也使得蓝牙移动终端随手可得,因此电子锁与蓝牙技术的结合成为了未来的一大趋势,市面上也出现了多种相关产品。但是蓝牙的特性决定了,其传输数据容易被其他通讯设备截取,开锁信息容易被复制,并且这种复制当事人甚至不知道,危害更甚于机械钥匙。发明专利CN201410087190.5公开了一种蓝牙电子自动锁系统及其开关方法,使用蓝牙地址作为识别依据,解决了识别匹配的问题,但是对于设备而言,蓝牙地址并非不可伪造,因此该方法不能完全杜绝该问题,同时其系统中增设了感应单元,使系统复杂化,增加了系统的功耗。

【发明内容】

[0003]本发明的目的就是解决现有技术中存在的上述问题,提供一种基于蓝牙的双向通讯自动锁系统及其方法,能够有效解决现有蓝牙电子锁通讯过程容易被窃取复制,安全性低,系统结构复杂,操作繁琐的问题。
[0004]为了实现上述目的,本发明的技术解决方案是:基于蓝牙的双向通讯自动锁系统及其方法,其特征在于:由电子锁和钥匙组成,所述的电子锁包括机械结构、执行模块、控制器模块、存储模块、时钟模块、LED指示模块、声音模块、按键模块以及蓝牙模块;所述的钥匙包括具有蓝牙模块的智能手机;所述的执行模块、存储模块、时钟模块、LED指示模块、声音模块以及蓝牙模块均与控制器模块相连,机械结构和执行模块相连;其关键在于:所述的控制器模块通过所述的蓝牙模块和钥匙进行信息交互,根据交互步骤的不同,控制器模块有三种工作状态,分别为待机状态、设置状态以及开锁状态;
[0005]所述的待机状态的交互步骤如下:
[0006]步骤Sll:所述的控制器模块每间隔Tl将本机的锁ID数据生成一条待机信息,并将所述的待机信息通过蓝牙模块广播出去;
[0007]所述的设置状态的交互步骤如下:
[0008]步骤S21:打开钥匙的蓝牙功能和应用软件,钥匙接收到电子锁发出的待机信息后,返回连接请求信息;
[0009]步骤S22:所述的电子锁接收到钥匙发出的连接请求信息后,控制器模块会检测按键模块的状态,如果此时按键模块的连接按键被按下,则控制器模块通过蓝牙模块对钥匙发送登录密码请求信息,如果连接按键没有被按下,则不回应请求;
[0010]步骤S23:所述的钥匙接收到电子锁的登录密码请求信息后,提示用户输入登录密码,用户输入登录密码之后,钥匙将所述的登录密码生成密码信息发送给电子锁;
[0011]步骤S24:所述的电子锁接收到密码信息后,对其进行判断,如果登录密码正确,则返回登录成功信息,否则返回登录失败信息;
[0012]步骤S25:所述的钥匙接收到所述的密码正确信息后,如果用户选择将本钥匙添加到电子锁中,则钥匙会提示用户输入一组开锁密码,并且开锁密码不能和登录密码一致,用户输入完开锁密码之后,钥匙发送添加请求信息给电子锁,所述的添加请求信息的内容包括本机蓝牙地址和开锁密码;
[0013]步骤S26:所述的电子锁接收到添加请求信息后,随机生成一个钥匙ID数据,将添加请求信息中的蓝牙地址和开锁密码以及随机生成的钥匙ID数据分别存储在存储模块中,同时返回一个添加成功信息给钥匙,所述的添加成功信息的内容包括锁ID数据和钥匙ID数据;
[0014]步骤S27:所述的钥匙接收到所述的添加成功信息后,将其中的锁ID数据和钥匙ID数据保存在数据库中,完成添加操作;
[0015]所述的开锁状态的交互步骤如下:
[0016]步骤:31:所述的钥匙接收到所述的待机信息后,判断待机信息的RSSI值,当RSSI值大于设定的开门距离强度Pl时,表示钥匙和锁的距离足够近,判断该人有开锁意图,读取待机信息内容;
[0017]步骤S32:所述的钥匙接收到待机信息里面的锁ID数据后,在数据库中检索,如果该锁ID数据存在,则返回开锁指令A,所述的开锁指令A包含有钥匙蓝牙地址信息;
[0018]步骤S33:所述的电子锁接收到开锁指令A后,检验其蓝牙地址,如果该蓝牙地址已经添加,则返回开锁指令B,所述的开锁指令B中包含有钥匙添加时的开锁密码,如果未添加,则LED指示模块亮红灯,示意开锁失败;
[0019]步骤S34:所述的钥匙接收到开锁指令B后,检验开锁密码的正确性,如果所述的开锁密码正确,则返回开锁指令C,所述的开锁指令C包含有添加过程中电子锁随机生成的钥匙ID数据和当前时间,如果开锁密码错误,则LED指示模块亮红灯,示意开锁失败;
[0020]步骤S35:所述的电子锁接收到开锁指令C后,验证钥匙ID数据的正确性,如果正确,则通过执行模块控制机械接口执行开锁操作,LED指示模块发绿光,声音模块发出开锁提醒,同时读取所述的开锁指令C中的当前时间重新校核电子锁的时钟模块,如果所述的钥匙ID数据错误,则LED指示模块亮红灯,示意开锁失败。
[0021]所述的待机信息、连接请求信息、登录密码请求信息、密码信息、添加请求信息、添加成功信息、开锁指令A、开锁指令B和开锁指令C作为传输信息,在发送端都进行了加密,并由接收端进行解密,当所述的电子锁给所述的钥匙发送信息时,所述的电子锁即为发送端,钥匙为接收端,当所述的钥匙给所述的电子锁发送信息时,所述的钥匙即为发送端,电子锁为接收端;
[0022]所述的加密步骤如下:
[0023]步骤S41:将所述的传输信息按一定的规则打散重组,并填入无用的数据,形成多个信息片段;
[0024]步骤S42:以所述的发送端的当前时间作为随机数种子,生成多个随机数;
[0025]步骤S43:将多个所述的随机数填充进所述的传输信息中,并以随机数为索引,查找随机数加密算法表,使用对应的加密算法加密信息不同的信息片段,并在传输信号末端添加校验数;
[0026]步骤S44:获取所述的发送端的当前时间,对所述的当前时间进行求和,得到一个一位数,以此为索引,查找时间加密算法表中对应的算法,以此算法对所述的传输信息进行加密,得到加密信息,完成加密操作;
[0027]所述的解密步骤如下:
[0028]步骤S51:获取所述的接收端的当前时间,对所述的当前时间进行求和,得到一个一位数,以此为索引,查找时间解密算法表中对应的算法,以此算法对所述的加密信息进行解密;
[0029]步骤S52:校验所述的加密信息末尾校验数的正确性,如果校验失败,则将所述的当前时间增加一分钟,并重复步骤S51,如果再一次校验失败,则将所述的当前时间减一分钟,并重复步骤S51,当两次校验均失败,则判断为该加密数据无效,停止解密;
[0030]步骤S53:获取加密信息中填充的随机数,并以此为索引,查找随机数解密算法表中的解密算法,使用响应的解密算法对响应的信息片段进行解密;
[0031]步骤S54:去除所述的加密信息中的无用数据,并对信息片段进行重组,得到传输信息,完成解密操作。
[0032]所述的随机数加密算法表记录了一系列的加密算法,不同的索引对应不同的加密算法,所述的随机数解密算法表记录了一系列的解密算法,对应相同索引值下随机数加密算法表中加密算法的解密算法。
[0033]所述的时间加密算法表记录了一系列的加密算法,不同的索引对应不同的加密算法,所述的时间解密算法表记录了一系列的解密算法,对应相同索引值下时间加密算法表中加密算法的解密算法。
[0034]所述的待机信息发送间隔为0.5秒。
[0035]所述的开门距离强度为_60dbm,这个强度表示电子锁和钥匙的距离在一米左右。
[0036]所述的按键模块位于在电子锁门内侧,只有门内的人才能按到按键。
[0037]本发明的有益效果在于:以蓝牙扫描信号的强度判断钥匙与电子锁的距离,当钥匙接近电子锁,自动执行开锁操作,简单易用,系统无额外设备,功耗低,允许电池供电;双向通讯双向识别,钥匙无法复制;全部信息使用随机数和时间进行加密,传输内容实时改变,就算复制全部通讯过程,时间一过立即失效,无法窃取,全方位保证安全。
【附图说明】
[0038]图1为本发明的整体结构示意图。
[0039]图2为设置状态的交互步骤图。
[0040]图3为开锁状态的交互步骤图。
[0041]图4为本发明的加密步骤图。
[0042]图5为本发明的解密步骤图。
【具体实施方式】
[0043]下面结合附图和具体实施例对本发明做进一步说明。
[0044]如图1所示,本发明由机械结构1、执行模块2、控制器模块3、存储模块4、时钟模块5、LED指示模块6、声音模块7、按键模块8、蓝牙模块9和钥匙10组成。执行模块2、存储模块4、时钟模块5、LED指示模块6、声音模块7、按键模块8和蓝牙模块9均与控制器模块3连接,机械结构I与执行模块2连接,控制器模块3可以通过执行模块2控制机械结构I进行开锁和上锁操作,时钟模块5可以给控制器模块3提供当前时间,并允许控制器模块3重新设定时间,存储模块4用于存储数据,保证系统重启时,保留原有的运行数据,确保系统不会被初始化。
[0045]本发明的设置状态的交互步骤如图2所示:
[0046]步骤S21:打开钥匙10的蓝牙功能和应用该软件,钥匙10接收到电子锁发出的待机信息后,返回连接请求信息;
[0047]步骤S22:电子锁接收到钥匙10发出的连接请求信息后,控制器模块3会检测按键模块8的状态,如果此时按键模块8的连接按键被按下,则控制器模块2通过蓝牙模块9对钥匙10发送登录密码请求信息,如果连接按键没有被按下,则不回应请求;
[0048]步骤S23:钥匙10接收到电子锁的登录密码请求信息后,提示用户输入登录密码,用户输入登录密码之后,钥匙10将登录密码生成密码信息发送给电子锁;
[0049]步骤S24:电子锁接收到密码信息后,对其进行判断,如果登录密码正确,则返回登录成功信息,否则返回登录失败信息;
[0050]步骤S25:钥匙10接收到密码正确信息后,如果用户选择将本钥匙添加到电子锁中,则钥匙会提示用户输入一组开锁密码,并且
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1