智能开锁方法和智能锁
技术领域
本发明涉及安防技术领域,具体而言,本发明涉及一种智能开锁方法和智能锁。
背景技术
随着大规模集成电路技术的发展,出现了带有微处理器的智能密码锁,它除具有电子密码锁的功能外,还引入了智能化控制的功能,从而使密码锁具有很高的安全性、可靠性,应用日益广泛。
传统的智能锁,需要用户在锁端通过指纹识别、虹膜识别、密码输入等开锁操作才能完成开锁,这种开锁方式存在着浪费时间的缺点,便利性不高;而通过带有集成电路的解锁工具(例如集成电路卡)完成开锁,虽然节约了开锁操作的时间,然而由于需要额外携带解锁工具,给用户带来一定的不便,便利性较差。
发明内容
本发明的目的旨在至少能解决上述的技术缺陷之一,特别是使用便利性不高的技术缺陷。
本发明提供一种智能开锁方法,应用于锁端,包括如下步骤:
判断锁端工作状态;
当所述锁端的工作状态为正常状态时,通过蓝牙信任通信接口接收移动终端发送的第一开锁指令;
获取蓝牙信号强度,并判断蓝牙信号强度是否满足预设条件;
当满足预设条件时,获取第一开锁指令中的终端信息并验证;
当所述终端信息验证成功时,响应第一开锁指令进行开锁操作。
本发明中,所述终端信息包括所述移动终端的唯一标识信息或授权账号信息。
本发明中,所述授权账号信息包括由锁端直接授权的授权账号或由具有授权权限的移动终端间接授权的临时授权账号。
本发明中,通过预存的信任用户信息对终端信息进行验证。
本发明中,所述预存的信任用户信息包括多于一组的信任用户信息,不同组的用户之间具有不同的用户权限。
本发明中,所述预存的信任用户信息的预存方法包括:
建立与移动终端的信任连接;
获取移动终端提供的用户信息;
赋予所述用户信息的用户相应的用户权限并存储为信任用户信息。
本发明中,所述建立与移动终端的信任连接包括:
建立与移动终端的蓝牙信任连接;
或
通过展示二维码以供移动终端扫描并建立信任连接。
本发明中,当工作状态为正常状态时,还执行如下步骤:
通过蓝牙信任通信接口接收蓝牙中继终端发送的第二开锁指令;
获取第二开锁指令中的终端信息并验证;
当所述终端信息验证成功时,响应第二开锁指令进行开锁操作;
其中,所述蓝牙中继终端用于接收移动终端发送的远程开锁指令,并根据所述远程开锁指令生成蓝牙数据形式的第二开锁指令。
本发明中,所述蓝牙中继终端用于接收本地路由器转发的远程开锁指令,并根据所述远程开锁指令生成蓝牙数据形式的第二开锁指令;其中,所述远程开锁指令由移动终端通过远程通信通道发送给所述本地路由器。
本发明中,所述远程通信通道包括移动数据网络或WiFi网络。
本发明中,当工作状态为保护状态时,拒绝响应所述第一开锁指令。
本发明中,所述第一开锁指令为所述移动终端在验证指纹信息成功后发送。
本发明中,所述第一开锁指令为所述移动终端在识别出预设输入事件后发送。
本发明中,所述开锁操作包括锁端直接开锁或锁端提供手动开锁的允许。
本发明中,所述开锁操作为开启第一锁;
当所述终端信息验证成功时,响应第一开锁指令进行开锁操作之后,还包括步骤:识别并验证指纹信息,并在验证成功后开启第二锁。
本发明中,所述终端信息与所述指纹信息相互关联。
本发明中,若所述指纹信息为锁端的室外指纹信息识别模块识别,则在所述识别并验证指纹信息,并在验证成功后开启第二锁的步骤之后,进入不再响应所述移动终端的第一开锁指令的状态,而在锁端的室内指纹信息识别模块重新识别并验证指纹信息成功后开启所述第一锁和第二锁。
本发明中,在锁端的室内指纹信息识别模块重新识别并验证指纹信息成功后开启所述第一锁和第二锁后,退出不再响应所述移动终端的第一开锁指令的状态。
本发明中,当同时接收到多于一个移动终端发送的第一开锁指令时,若所述指纹信息为锁端的室外指纹信息识别模块识别,则在所述识别并验证指纹信息,并在验证成功后开启第二锁的步骤之后,进入不再响应所述多于一个移动终端中任一移动终端的第一开锁指令的状态,而在锁端的室内指纹信息识别模块重新识别并验证与所述多于一个移动终端中任一移动终端相关联的指纹信息成功后开启所述第一锁和第二锁。
本发明还提供一种智能锁,包括:
判断模块,用于判断所述锁端的工作状态;
接收模块,用于通过蓝牙信任通信接口接收移动终端发送的第一开锁指令;
监测模块,用于获取蓝牙信号强度,并判断蓝牙信号强度是否满足预设条件;
验证模块,当满足预设条件时,用于获取第一开锁指令中的终端信息并验证;及
执行模块,当所述终端信息验证成功时,用于响应第一开锁指令进行开锁操作。
本发明中,所述终端信息包括所述移动终端的唯一标识信息或授权账号信息。
本发明中,所述授权账号信息由锁端直接授权的授权账号或由具有授权权限的移动终端间接授权的临时授权账号。
本发明中,还包括用于预存信任用户信息的预存模块,所述验证模块通过预存的信任用户信息对终端信息进行验证。
本发明中,所述预存的信任用户信息包括多于一组的信任用户信息,不同组的用户之间具有不同的用户权限。
本发明中,所述预存模块用于:
建立与移动终端的信任连接;
获取移动终端提供的用户信息;
赋予所述用户信息的用户相应的用户权限并存储为信任用户信息。
本发明中,所述建立与移动终端的信任连接包括:
建立与移动终端的蓝牙信任连接;
或
通过展示二维码以供移动终端扫描并建立信任连接。
本发明中,当工作状态为正常状态时:
接收模块还用于通过蓝牙信任通信接口接收蓝牙中继终端发送的第二开锁指令;
验证模块还用于获取第二开锁指令中的终端信息并验证;
当所述终端信息验证成功时,执行模块还用于响应第二开锁指令进行开锁操作;
其中,所述蓝牙中继终端用于接收移动终端发送的远程开锁指令,并根据所述远程开锁指令生成蓝牙数据形式的第二开锁指令。
本发明中,所述蓝牙中继终端用于接收本地路由器转发的远程开锁指令,并根据所述远程开锁指令生成蓝牙数据形式的第二开锁指令;其中,所述远程开锁指令由移动终端通过远程通信通道发送给所述本地路由器。
本发明中,所述远程通信通道包括移动数据网络或WiFi网络。
本发明中,当工作状态为保护状态时,所述执行模块拒绝响应所述第一开锁指令。
本发明中,所述第一开锁指令为所述移动终端在验证指纹信息成功后发送。
本发明中,所述第一开锁指令为所述移动终端在识别出预设输入事件后发送。
本发明中,所述开锁操作包括锁端直接开锁或锁端提供手动开锁的允许。
本发明中,所述智能锁包括第一锁和第二锁,还包括指纹信息识别模块;
所述开锁操作为开启第一锁;
当所述终端信息验证成功时,响应第一开锁指令进行开锁操作之后,所述指纹信息识别模块识别并验证指纹信息,所述执行模块在验证成功后开启第二锁。
本发明中,所述终端信息与所述指纹信息相互关联。
本发明中,所述指纹信息识别模块包括室外指纹信息识别模块和室内指纹信息识别模块;
若所述指纹信息为所述室外指纹信息识别模块识别,则在所述室外指纹信息识别模块识别并验证指纹信息且所述执行模块在验证成功后开启第二锁之后,所述执行模块进入不再响应所述移动终端的第一开锁指令的状态,而在所述室内指纹信息识别模块重新识别并验证指纹信息成功后开启所述第一锁和第二锁。
本发明中,在所述室内指纹信息识别模块重新识别并验证指纹信息成功后开启所述第一锁和第二锁后,所述执行模块退出不再响应所述移动终端的第一开锁指令的状态。
本发明中,当所述接收模块同时接收到多于一个移动终端发送的第一开锁指令时,若所述指纹信息为所述室外指纹信息识别模块识别,则在所述室外指纹信息识别模块识别并验证指纹信息且所述执行模块在验证成功后开启第二锁之后,所述执行模块进入不再响应所述多于一个移动终端中任一移动终端的第一开锁指令的状态,而在所述室内指纹信息识别模块重新识别并验证与所述多于一个移动终端中任一移动终端相关联的指纹信息成功后开启所述第一锁和第二锁。
上述的智能开锁方法和智能锁,通过蓝牙信任通信接口接收移动终端发送的第一开锁指令;获取蓝牙信号强度,并判断蓝牙信号强度是否满足预设条件;当满足预设条件时,获取第一开锁指令中的终端信息并验证;当所述终端信息验证成功时,响应第一开锁指令进行开锁操作;利用移动终端的蓝牙模块传输开锁指令去开锁,可以省去开锁操作,节约时间,便利性较佳;而且仅仅利用随身携带的移动终端即可实现开锁,不需要使用额外的解锁工具,便利性进一步提高。
本发明附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为一个实施例的智能开锁方法示意图;
图2为一个实施例的在正常状态下智能开锁方法示意图;
图3为一个实施例的智能锁模块示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
本技术领域技术人员可以理解,这里所使用的“终端”、“终端设备”既包括无线信号接收器的设备,其仅具备无发射能力的无线信号接收器的设备,又包括接收和发射硬件的设备,其具有能够在双向通信链路上,执行双向通信的接收和发射硬件的设备。这种设备可以包括:蜂窝或其他通信设备,其具有单线路显示器或多线路显示器或没有多线路显示器的蜂窝或其他通信设备;PCS(Personal Communications Service,个人通信系统),其可以组合语音、数据处理、传真和/或数据通信能力;PDA(Personal Digital Assistant,个人数字助理),其可以包括射频接收器、寻呼机、互联网/内联网访问、网络浏览器、记事本、日历和/或GPS(Global Positioning System,全球定位系统)接收器;常规膝上型和/或掌上型计算机或其他设备,其具有和/或包括射频接收器的常规膝上型和/或掌上型计算机或其他设备。这里所使用的“终端”、“终端设备”可以是便携式、可运输、安装在交通工具(航空、海运和/或陆地)中的,或者适合于和/或配置为在本地运行,和/或以分布形式,运行在地球和/或空间的任何其他位置运行。这里所使用的“终端”、“终端设备”还可以是通信终端、上网终端、音乐/视频播放终端,例如可以是PDA、MID(Mobile Internet Device,移动互联网设备)和/或具有音乐/视频播放功能的移动电话,也可以是智能电视、机顶盒等设备。
本技术领域技术人员可以理解,这里所使用的远端网络设备,其包括但不限于计算机、网络主机、单个网络服务器、多个网络服务器集或多个服务器构成的云。在此,云由基于云计算(Cloud Computing)的大量计算机或网络服务器构成,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个超级虚拟计算机。本发明的实施例中,远端网络设备、终端设备与WNS服务器之间可通过任何通信方式实现通信,包括但不限于,基于3GPP、LTE、WIMAX的移动通信、基于TCP/IP、UDP协议的计算机网络通信以及基于蓝牙、红外传输标准的近距无线传输方式。
图1为一个实施例的智能开锁方法示意图。
本发明提供一种智能开锁方法,应用于锁端,包括如下步骤:
步骤S100:判断锁端的工作状态。
锁端可以预设有多种工作状态。这里的工作状态,为锁端的工作状态,可以包括多种预定义的或者用户自定义的工作状态,例如可以包括正常状态、保护状态、设置模式状态等等。在以下说明中,主要描述锁端在工作时的正常状态和保护状态,以及锁端在用户设置参数或用户信息时的设置模式状态。可以理解,工作状态还可以包括其他自由定义的工作状态。
正常状态,被定义为锁端在正常使用的时候所处的状态,在该状态下,锁端的所有解锁功能都能够被使用。而保护状态,则被定义为锁端在保护模式下所处的状态,在该状态下,锁端的部分解锁功能被拒绝使用。被拒绝使用的部分解锁功能可以是由用户自行设置的,也可以是产品出厂时预设的。例如,当家里有儿童而成人无法随时监护时,需要考虑到安全因素而将部分容易被儿童使用的解锁功能禁用,这类解锁功能例如包括通过移动终端蓝牙开锁的功能、通过集成电路卡开锁的功能或仅仅通过密码就能开锁的功能。
因此,需要对锁端的工作状态进行判断,当锁端工作在正常状态时,进行步骤S110;当锁端工作在保护状态时,执行步骤S112。步骤S112:当工作状态为保护状态时,锁端拒绝响应第一开锁指令。也即当工作状态为保护状态时,锁端即使接收到第一开锁指令或者下面将要描述到的第二开锁指令,都不会进行响应。
步骤S110:通过蓝牙信任通信接口接收移动终端发送的第一开锁指令。移动终端可以为智能手机、智能手表、平板电脑等等便携式设备。
蓝牙信任通信接口,可以理解为锁端已经预先和移动终端进行过蓝牙配对而形成的通信接口。例如,锁端和移动终端到了用户手中用户再将其蓝牙配对。经过一次蓝牙配对的锁端和移动终端,就相当于预建立了蓝牙信任通信接口,这样锁端和移动终端在下一次进行蓝牙连接时可以直接建立信任连接,不再进行蓝牙配对。
因此,第一开锁指令是基于蓝牙协议的数据包。为了降低能耗,可以采用蓝牙低能耗(BLE)技术。BLE技术采用可变连接时间间隔,这个间隔根据具体应用可以设置为几毫秒到几秒不等。另外,因为BLE技术采用非常快速的连接方式,因此平时可以处于“非连接”状态(Standby,待机状态)以降低能耗,此时链路两端相互间只是知晓对方,只有在必要时才开启链路,然后在尽可能短的时间内关闭链路。因此,移动终端在不需要发送第一开锁指令的时候可以处于待机状态,在需要发送第一开锁指令的时候时(例如识别出相应的输入事件后),移动终端从待机状态切换到广播状态以发送广播信息。移动终端在发送广播信息期间,通常是在预设的广播时长内周期性发送广播信息。
第一开锁指令包括开锁代码和终端信息。终端信息包括移动终端的唯一标识信息或授权账号信息。在本实施例中,授权账号信息包括由锁端直接授权的授权账号或由具有授权权限的移动终端间接授权的临时授权账号。
移动终端的唯一标识信息用于唯一标识移动终端,可以是移动终端的物理地址(MAC),也可以是移动终端的IMEI。当终端信息包括移动终端的唯一标识信息时,锁端验证的移动终端的唯一标识信息,并在验证成功后才开锁,换言之锁端只要识别出移动终端即可开锁。
授权账号信息可以分为两种,第一种为由锁端直接授权的授权账号,第二种为由具有授权权限的移动终端间接授权的授权账号。第一种可以是锁端与移动终端建立数据连接的时候锁端直接赋予移动终端的授权账号,该授权账号由锁端存储在白名单中,属于永久有效的账号;第二种可以是由已经被锁端直接授权的移动终端再给其他移动终端赋予的临时授权账号,这里的临时授权账号可以是移动终端根据授权账号和预设的生成规则(算法)生成的,该临时授权账号由于与授权账号具有映射联系,可以被锁端识别,属于短期有效的账号或者一次性账号(只能使用一次或数次)。
例如,对于移动终端1,锁端直接赋予移动终端1永久有效的授权账号A,移动终端1可以使用授权账号A进行开锁;移动终端1还可以根据授权账号A和预设的生成算法K生成临时授权账号a,并将临时授权账号a发送给移动终端2,移动终端2再使用临时授权账号a开锁,锁端在收到临时授权账号a后,利用生成算法K识别出为授权账号A间接授权的账号,从而锁端开锁,使得移动终端2可以利用临时授权账号a进行开锁。临时授权账号a为短期有效的账号或者一次性账号,例如只能在5分钟内有效或者只能使用一次或数次。
当临时授权账号a为短期有效的账号时,移动终端1需要将授权账号a的生成时刻T发送个移动终端2,因此锁端和移动终端1需要具有同步的时间,这个可以预先设置好同步时间。例如在某个时刻T,移动终端1根据授权账号A、生成算法K和生成时刻T生成临时授权账号a,锁端获取临时授权账号a后利用生成算法K识别出授权账号A和生成时刻T,从而可以利用生成时刻T推断临时授权账号a的有效时间。
第一开锁指令可以采用BLE广播信息的模式发送。
在BLE技术中,通常广播信息具有以下的数据结构:
Preamble |
Access Address |
PDU |
CRC |
1(字节) |
4(字节) |
2-39(字节) |
3(字节) |
0x25 |
|
|
|
Preamble为前同步码,Access Address为访问地址,PDU为有效载荷数据,CRC为校验码。
PDU数据具有以下的数据结构:
其中Header为数据头,Payload为载荷数据。Payload分为两部分,AdvA为广播地址,AdvData为广播数据。Header通常包括广播类型信息,例如:
ADV_IND:可连接无定向广播
ADV_DIRECT_IND:可连接定向广播
ADV_NONCONN_IND:不可连接无定向广播
ADV_SCAN_IND:可扫描无定向广播
因此,移动终端的物理地址(MAC)可以放置于AdvA,而开锁代码和/或终端信息(例如授权账号信息)可以放置于AdvData。
本实施例中,第一开锁指令可以为移动终端在验证指纹信息成功后发送。也即在发送第一开锁指令(步骤S110)前,移动终端可以要求获取用户的指纹信息并验证,通过指纹验证后才发送第一开锁指令。第一开锁指令可以为移动终端在识别出预设输入事件后发送,即用户在移动终端进行相应的输入操作后才发送第一开锁指令。第一开锁指令也可以是在移动终端检测到锁端的时候就开始自行发送。
以上仅对第一开锁指令进行举例说明,事实上第一开锁指令可以是其他的数据形式,只要符合蓝牙协议即可。步骤S110后,执行步骤S120。
步骤S120:获取蓝牙信号强度,并判断蓝牙信号强度是否满足预设条件。蓝牙信号强度可以用RSSI值表示,锁端获取到第一开锁指令后,即可获取蓝牙信号强度值,并判断蓝牙信号强度是否满足预设条件。获取蓝牙信号强度的技术属于常用技术,在此不再赘述。蓝牙信号强度的大小与相隔距离有密切联系,通过判断蓝牙信号强度的大小可以判断移动终端与锁端之间的距离;如果移动终端与锁端之间的距离较小(例如小于10cm),表明用户已经将移动终端靠近锁端打算开锁。当移动终端与锁端之间的距离较小时才认为用户打算开锁,可以有效避免误开锁的现象,毕竟蓝牙信号的有效距离是较大的(十几米甚至几十米)。
当蓝牙信号强度满足预设条件时,表明移动终端与锁端的距离已经小于预设距离(例如10cm),表明用户已经将移动终端靠近锁端打算开锁,此时可以执行步骤S130。
步骤S130:当满足预设条件时,获取第一开锁指令中的终端信息并验证。锁端可以通过预存的信任用户信息对终端信息进行验证,预存的信任用户信息包括多于一组的信任用户信息,不同组的用户之间具有不同的用户权限。例如,预存的信任用户信息可以包括管理员、成员两组。管理员组的管理员具有开锁权限、赋予其他移动终端临时授权账号的权限和管理锁端的权限,而成员组的成员仅仅具有开锁权限。
通过验证上述终端信息中的移动终端的唯一标识信息或授权账号信息是否存在于预存的信任用户信息中,来判断移动终端用户是否具有开锁权限。存在于哪一组,用户则具有该组对应的用户权限。例如上述的授权账号A属于管理员组的信任用户,因此授权账号A具有赋予其他移动终端临时授权账号的权限。
预存的信任用户信息可以利用以下的预存方法实现:首先建立与移动终端的信任连接,然后获取移动终端提供的用户信息,最后赋予用户信息的用户相应的用户权限并存储为信任用户信息。本实施例中,建立与移动终端的信任连接,可以是:建立与移动终端的蓝牙信任连接;或可以是:通过展示二维码以供移动终端扫描并建立信任连接。
简而言之,锁端在存储信任用户信息过程中的数据连接,可以通过蓝牙通信的方式与移动终端建立蓝牙信任连接来实现,当锁端与移动终端配对后,移动终端将其终端信息发送给锁端以形成信任用户信息;又或者,移动终端可以通过扫描锁端所展示的二维码信息(隐含有锁端的唯一标识信息)来实现与锁端的连接和绑定,并将其终端信息发送给锁端以形成信任用户信息。
步骤S130后,可以执行步骤S140。
步骤S140:当终端信息验证成功时,响应第一开锁指令进行开锁操作。开锁操作包括锁端直接开锁或锁端提供手动开锁的允许。直接开锁可以是直接开启锁端从而使得门打开;锁端提供手动开锁的允许是表示锁端在开锁操作后需经过手动开锁才能使得门打开,锁端在开锁操作之前无法通过手动开锁。
为了提高锁端的安全性,锁端可以包括第一锁和第二锁,并且包括指纹信息识别模块。开锁操作在一些实施例中可以为开启第一锁。步骤S140之后,还可以包括步骤:识别并验证指纹信息,并在验证成功后开启第二锁。
通过验证终端信息开启第一锁,通过验证指纹信息开启第二锁,因此终端信息与指纹信息可以是相互关联的,即终端信息与指纹信息具有映射关系。
当蓝牙信号强度满足预设条件时,表明移动终端与锁端的距离已经小于预设距离,表明用户已经将移动终端靠近锁端打算开锁,上述的预设距离可以是十分近的距离,例如10cm;也可以是较近的距离,例如1~2米。因此,如果预设距离为较近的距离时,移动终端可以不需要贴近锁端,而在移动终端离锁端1~2米的距离时锁端即可以自动响应终端信息开锁,更加方便。然而,如果用户携带移动终端进入室内,此时如果在室内经过锁端,则较为容易发生误开锁或移动终端误提示的情况。
因此,指纹信息识别模块可以包括室外指纹信息识别模块和室内指纹信息识别模块,并通过以下方式避免上述误开锁或移动终端误提示的情况:
若指纹信息为锁端的室外指纹信息识别模块识别,则在步骤S140之后,进入不再响应移动终端的第一开锁指令的状态,而在锁端的室内指纹信息识别模块重新识别并验证指纹信息成功后开启第一锁和第二锁。
在上述方式下,用户携带移动终端开锁进入室内后,即使用户携带移动终端在室内经过锁端附近,锁端也不会响应移动终端发出的第一开锁指令而自动开锁;如果用户外出,即使不携带移动终端,用户也可以在室内通过指纹而在室内实现开锁。如果用户携带移动终端通过指纹开锁外出,则需要退出不再响应所述移动终端的第一开锁指令的状态,以方便用户下次回来开锁。因此,在锁端的室内指纹信息识别模块重新识别并验证指纹信息成功后开启第一锁和第二锁后,退出不再响应所述移动终端的第一开锁指令的状态。
在上述方式下,还应该考虑多个用户携带可用于开锁的移动设备的情况。当同时接收到多于一个移动终端发送的第一开锁指令时,若指纹信息为锁端的室外指纹信息识别模块识别,则在步骤S140之后,进入不再响应多于一个移动终端中任一移动终端的第一开锁指令的状态,而在锁端的室内指纹信息识别模块重新识别并验证与多于一个移动终端中任一移动终端相关联的指纹信息成功后开启第一锁和第二锁。
例如,用户A携带可用于开锁的终端1(用户A的指纹信息与终端1的终端信息关联),用户B携带可用于开锁的终端2(用户B的指纹信息与终端2的终端信息关联),并同时靠近锁端;锁端收到终端1和终端2的第一开锁指令后开启第一锁,室外指纹信息识别模块识别到用户A和用户B其中一个的指纹信息(假设是用户A的指纹信息)后,锁端即可以开启第二锁;之后,锁端默认用户A和用户B都进入室内,因此锁端不再响应终端1和终端2的第一开锁指令;而用户A或用户B外出时,锁端的室内指纹信息识别模块重新识别并验证用户A或用户B的指纹信息成功后开启第一锁和第二锁。由于终端信息和指纹信息相关联,因此通过指纹信息判断用户A或用户B外出后,锁端退出不再响应终端1或终端2的第一开锁指令的状态。
移动终端可能需要在远程实现直接开锁,因此可以赋予移动终端以远程直接开锁的功能。锁端出于安全考虑,不应具备与移动终端远程通信的功能。因此,可以利用与锁端能够蓝牙连接的蓝牙中继终端来实现该功能,而蓝牙中继终端需要同时具备蓝牙数据连接和远程通信的能力,即蓝牙中继终端可以接收移动终端发送的远程开锁指令,并根据远程开锁指令生成蓝牙数据形式的第二开锁指令。在现在的智能家电中,许多家电产品可以担任蓝牙中继终端的角色,又或者可以为锁端单独配置的蓝牙中继终端,其使用时可以放置于靠近锁端的地方。因此,在此不对蓝牙中继终端作过多描述。
在一些实施例中,蓝牙中继终端可以无需具备远程通信的能力,而是具备连接WiFi网络的能力,例如连接WiFi路由器的能力。即蓝牙中继终端用于接收本地路由器转发的远程开锁指令,并根据远程开锁指令生成蓝牙数据形式的第二开锁指令;其中,远程开锁指令由移动终端通过远程通信通道发送给本地路由器。远程通信通道可以包括移动数据网络或WiFi网络,即移动终端可以通过移动数据网络或者WiFi网络与本地路由器实现连接;然后,本地路由器将从移动终端接收的远程开锁指令转发给蓝牙中继终端以生成第二开锁指令。
实现远程开锁的功能究根到底还是需要应用到蓝牙功能,因而如果锁端的工作状态具备保护状态和正常状态,远程开锁功能只能在工作状态为正常状态可用。
因此,当锁端的工作状态为正常状态时,锁端还可以执行如下步骤,图2为一个实施例的在正常状态下智能开锁方法示意图,请结合图2。
步骤S210:通过蓝牙信任通信接口接收蓝牙中继终端发送的第二开锁指令。第二开锁指令与第一开锁指令类似,同为基于蓝牙协议的蓝牙数据包,包括开锁代码和终端信息,终端信息可以包括蓝牙中继终端的唯一标识信息,锁端在识别出是蓝牙中继终端发送的第二开锁指令后,无需经过判断蓝牙信号强度(即进行步骤S220)的验证。其中,蓝牙中继终端用于接收移动终端发送的远程开锁指令,并根据远程开锁指令生成蓝牙数据形式的第二开锁指令。
步骤S220:获取第二开锁指令中的终端信息并验证。验证过程与上述步骤S130类似,锁端可以通过预存的信任用户信息(包含蓝牙中继终端的唯一标识信息)对终端信息进行验证,在此不再赘述。
步骤S230:当终端信息验证成功时,响应第二开锁指令进行开锁操作。同样,开锁操作包括锁端直接开锁或锁端提供手动开锁的允许。直接开锁可以是直接开启锁端从而使得门打开;锁端提供手动开锁的允许是表示锁端在开锁操作后需经过手动开锁才能使得门打开,锁端在开锁操作之前无法通过手动开锁。
图3为一个实施例的智能锁模块示意图。
基于上述的智能开锁方法,以下还提供一种相应的智能锁,其包括:预存模块100、接收模块200、监测模块300、验证模块400、执行模块500和判断模块600。
预存模块100用于预存信任用户信息;接收模块200用于通过蓝牙信任通信接口接收移动终端发送的第一开锁指令;监测模块300用于获取蓝牙信号强度,并判断蓝牙信号强度是否满足预设条件;验证模块400用于当满足预设条件时,获取第一开锁指令中的终端信息并验证;执行模块500,用于当终端信息验证成功时,响应第一开锁指令进行开锁操作;判断模块600用于在接收模块200通过蓝牙信任通信接口接收移动终端发送的第一开锁指令之前判断锁端的工作状态。
判断模块600用于判断锁端的工作状态。
锁端可以预设有多种工作状态。这里的工作状态,为锁端的工作状态,可以包括多种预定义的或者用户自定义的工作状态,例如可以包括正常状态、保护状态、设置模式状态等等。在以下说明中,主要描述锁端在工作时的正常状态和保护状态,以及锁端在用户设置参数或用户信息时的设置模式状态。可以理解,工作状态还可以包括其他自由定义的工作状态。
正常状态,被定义为锁端在正常使用的时候所处的状态,在该状态下,锁端的所有解锁功能都能够被使用。而保护状态,则被定义为锁端在保护模式下所处的状态,在该状态下,锁端的部分解锁功能被拒绝使用。被拒绝使用的部分解锁功能可以是由用户自行设置的,也可以是产品出厂时预设的。例如,当家里有儿童而成人无法随时监护时,需要考虑到安全因素而将部分容易被儿童使用的解锁功能禁用,这类解锁功能例如包括通过移动终端蓝牙开锁的功能、通过集成电路卡开锁的功能或仅仅通过密码就能开锁的功能。
因此,判断模块600需要对锁端的工作状态进行判断,当锁端工作在正常状态时,接收模块200通过蓝牙信任通信接口接收移动终端发送的第一开锁指令;当锁端工作在保护状态时,执行模块500拒绝响应第一开锁指令。也即当工作状态为保护状态时,执行模块500即使接收到第一开锁指令或者下面将要描述到的第二开锁指令,都不会进行响应。
当锁端工作在正常状态时,接收模块200通过蓝牙信任通信接口接收移动终端发送的第一开锁指令。移动终端可以为智能手机、智能手表、平板电脑等等便携式设备。
蓝牙信任通信接口,可以理解为锁端已经预先和移动终端进行过蓝牙配对而形成的通信接口。例如,锁端和移动终端到了用户手中用户再将其蓝牙配对。经过一次蓝牙配对的锁端和移动终端,就相当于预建立了蓝牙信任通信接口,这样锁端和移动终端在下一次进行蓝牙连接时可以直接建立信任连接,不再进行蓝牙配对。
因此,第一开锁指令是基于蓝牙协议的数据包。为了降低能耗,可以采用蓝牙低能耗(BLE)技术。BLE技术采用可变连接时间间隔,这个间隔根据具体应用可以设置为几毫秒到几秒不等。另外,因为BLE技术采用非常快速的连接方式,因此平时可以处于“非连接”状态(Standby,待机状态)以降低能耗,此时链路两端相互间只是知晓对方,只有在必要时才开启链路,然后在尽可能短的时间内关闭链路。因此,移动终端在不需要发送第一开锁指令的时候可以处于待机状态,在需要发送第一开锁指令的时候时(例如识别出相应的输入事件后),移动终端从待机状态切换到广播状态以发送广播信息。移动终端在发送广播信息期间,通常是在预设的广播时长内周期性发送广播信息。
第一开锁指令包括开锁代码和终端信息。终端信息包括移动终端的唯一标识信息或授权账号信息。在本实施例中,授权账号信息包括由锁端直接授权的授权账号或由具有授权权限的移动终端间接授权的临时授权账号。
移动终端的唯一标识信息用于唯一标识移动终端,可以是移动终端的物理地址(MAC),也可以是移动终端的IMEI。当终端信息包括移动终端的唯一标识信息时,验证模块400验证的移动终端的唯一标识信息,并在验证成功后才开锁,换言之锁端只要识别出移动终端即可开锁。
授权账号信息可以分为两种,第一种为由锁端直接授权的授权账号,第二种为由具有授权权限的移动终端间接授权的授权账号。第一种可以是锁端与移动终端建立数据连接的时候锁端直接赋予移动终端的授权账号,该授权账号由锁端存储在白名单中,属于永久有效的账号;第二种可以是由已经被锁端直接授权的移动终端再给其他移动终端赋予的临时授权账号,这里的临时授权账号可以是移动终端根据授权账号和预设的生成规则(算法)生成的,该临时授权账号由于与授权账号具有映射联系,可以被锁端识别,属于短期有效的账号或者一次性账号(只能使用一次或数次)。
例如,对于移动终端1,锁端直接赋予移动终端1永久有效的授权账号A,移动终端1可以使用授权账号A进行开锁;移动终端1还可以根据授权账号A和预设的生成算法K生成临时授权账号a,并将临时授权账号a发送给移动终端2,移动终端2再使用临时授权账号a开锁,锁端在收到临时授权账号a后,利用生成算法K识别出为授权账号A间接授权的账号,从而锁端开锁,使得移动终端2可以利用临时授权账号a进行开锁。临时授权账号a为短期有效的账号或者一次性账号,例如只能在5分钟内有效或者只能使用一次或数次。
当临时授权账号a为短期有效的账号时,移动终端1需要将授权账号a的生成时刻T发送个移动终端2,因此锁端和移动终端1需要具有同步的时间,这个可以预先设置好同步时间。例如在某个时刻T,移动终端1根据授权账号A、生成算法K和生成时刻T生成临时授权账号a,锁端获取临时授权账号a后利用生成算法K识别出授权账号A和生成时刻T,从而可以利用生成时刻T推断临时授权账号a的有效时间。
第一开锁指令可以采用BLE广播信息的模式发送。
在BLE技术中,通常广播信息具有以下的数据结构:
Preamble |
Access Address |
PDU |
CRC |
1(字节) |
4(字节) |
2-39(字节) |
3(字节) |
0x25 |
|
|
|
Preamble为前同步码,Access Address为访问地址,PDU为有效载荷数据,CRC为校验码。
PDU数据具有以下的数据结构:
其中Header为数据头,Payload为载荷数据。Payload分为两部分,AdvA为广播地址,AdvData为广播数据。Header通常包括广播类型信息,例如:
ADV_IND:可连接无定向广播
ADV_DIRECT_IND:可连接定向广播
ADV_NONCONN_IND:不可连接无定向广播
ADV_SCAN_IND:可扫描无定向广播
因此,移动终端的物理地址(MAC)可以放置于AdvA,而开锁代码和/或终端信息(例如授权账号信息)可以放置于AdvData。
本实施例中,第一开锁指令可以为移动终端的验证模块400在验证指纹信息成功后发送。也即在发送第一开锁指令前,验证模块400可以要求获取用户的指纹信息并验证,通过指纹验证后才发送第一开锁指令。第一开锁指令可以为移动终端在识别出预设输入事件后发送,即用户在移动终端进行相应的输入操作后才发送第一开锁指令。第一开锁指令也可以是在移动终端检测到锁端的时候就开始自行发送。
以上仅对第一开锁指令进行举例说明,事实上第一开锁指令可以是其他的数据形式,只要符合蓝牙协议即可。
接收模块200收到第一开锁指令后,监测模块300获取蓝牙信号强度,并判断蓝牙信号强度是否满足预设条件。蓝牙信号强度可以用RSSI值表示,接收模块200获取到第一开锁指令后,即可获取蓝牙信号强度值,并判断蓝牙信号强度是否满足预设条件。获取蓝牙信号强度的技术属于常用技术,在此不再赘述。蓝牙信号强度的大小与相隔距离有密切联系,通过判断蓝牙信号强度的大小可以判断移动终端与锁端之间的距离;如果移动终端与锁端之间的距离较小(例如小于10cm),表明用户已经将移动终端靠近锁端打算开锁。当移动终端与锁端之间的距离较小时才认为用户打算开锁,可以有效避免误开锁的现象,毕竟蓝牙信号的有效距离是较大的(十几米甚至几十米)。
当蓝牙信号强度满足预设条件时,表明移动终端与锁端的距离已经小于预设距离(例如10cm),表明用户已经将移动终端靠近锁端打算开锁,此时,验证模块400获取第一开锁指令中的终端信息并验证。验证模块400可以通过预存的信任用户信息对终端信息进行验证,预存的信任用户信息包括多于一组的信任用户信息,不同组的用户之间具有不同的用户权限。例如,预存的信任用户信息可以包括管理员、成员两组。管理员组的管理员具有开锁权限、赋予其他移动终端临时授权账号的权限和管理锁端的权限,而成员组的成员仅仅具有开锁权限。
验证模块400通过验证上述终端信息中的移动终端的唯一标识信息或授权账号信息是否存在于预存的信任用户信息中,来判断移动终端用户是否具有开锁权限。存在于哪一组,用户则具有该组对应的用户权限。例如上述的授权账号A属于管理员组的信任用户,因此授权账号A具有赋予其他移动终端临时授权账号的权限。
预存的信任用户信息,预存模块100可以利用以下的预存方法实现:首先建立与移动终端的信任连接,然后获取移动终端提供的用户信息,最后赋予用户信息的用户相应的用户权限并存储为信任用户信息。本实施例中,建立与移动终端的信任连接,可以是:建立与移动终端的蓝牙信任连接;或可以是:通过展示二维码以供移动终端扫描并建立信任连接。
简而言之,锁端在存储信任用户信息过程中的数据连接,可以通过蓝牙通信的方式与移动终端建立蓝牙信任连接来实现,当锁端与移动终端配对后,移动终端将其终端信息发送给锁端以形成信任用户信息;又或者,移动终端可以通过扫描锁端所展示的二维码信息(隐含有锁端的唯一标识信息)来实现与锁端的连接和绑定,并将其终端信息发送给锁端以形成信任用户信息。
当终端信息验证成功时,执行模块500响应第一开锁指令进行开锁操作。开锁操作包括锁端直接开锁或锁端提供手动开锁的允许。直接开锁可以是直接开启锁端从而使得门打开;锁端提供手动开锁的允许是表示锁端在开锁操作后需经过手动开锁才能使得门打开,锁端在开锁操作之前无法通过手动开锁。
为了提高锁端的安全性,智能锁可以包括第一锁和第二锁,并且包括指纹信息识别模块(图未示)。开锁操作在一些实施例中可以为开启第一锁。当终端信息验证成功时,执行模块500响应第一开锁指令进行开锁操作之后,指纹信息识别模块还识别并验证指纹信息,并在验证成功后开启第二锁。
通过验证终端信息开启第一锁,通过验证指纹信息开启第二锁,因此终端信息与指纹信息可以是相互关联的,即终端信息与指纹信息具有映射关系。
当蓝牙信号强度满足预设条件时,表明移动终端与锁端的距离已经小于预设距离,表明用户已经将移动终端靠近锁端打算开锁,上述的预设距离可以是十分近的距离,例如10cm;也可以是较近的距离,例如1~2米。因此,如果预设距离为较近的距离时,移动终端可以不需要贴近锁端,而在移动终端离锁端1~2米的距离时锁端即可以自动响应终端信息开锁,更加方便。然而,如果用户携带移动终端进入室内,此时如果在室内经过锁端,则较为容易发生误开锁或移动终端误提示的情况。
因此,指纹信息识别模块可以包括室外指纹信息识别模块和室内指纹信息识别模块,并通过以下方式避免上述误开锁或移动终端误提示的情况:
若指纹信息为室外指纹信息识别模块识别,则在室外指纹信息识别模块识别并验证指纹信息且执行模块500在验证成功后开启第二锁之后,执行模块500进入不再响应移动终端的第一开锁指令的状态,而在室内指纹信息识别模块重新识别并验证指纹信息成功后开启第一锁和第二锁。
在上述方式下,用户携带移动终端开锁进入室内后,即使用户携带移动终端在室内经过锁端附近,智能锁也不会响应移动终端发出的第一开锁指令而自动开锁;如果用户外出,即使不携带移动终端,用户也可以在室内通过指纹而在室内实现开锁。如果用户携带移动终端通过指纹开锁外出,则需要退出不再响应所述移动终端的第一开锁指令的状态,以方便用户下次回来开锁。因此,在锁端的室内指纹信息识别模块重新识别并验证指纹信息成功后开启第一锁和第二锁后,退出不再响应该移动终端的第一开锁指令的状态。
在上述方式下,还应该考虑多个用户携带可用于开锁的移动设备的情况。当同时接收到多于一个移动终端发送的第一开锁指令时,若指纹信息为室外指纹信息识别模块识别,则在室外指纹信息识别模块识别并验证指纹信息且执行模块500在验证成功后开启第二锁之后,执行模块500进入不再响应多于一个移动终端中任一移动终端的第一开锁指令的状态,而在室内指纹信息识别模块重新识别并验证与多于一个移动终端中任一移动终端相关联的指纹信息成功后开启第一锁和第二锁。
例如,用户A携带可用于开锁的终端1(用户A的指纹信息与终端1的终端信息关联),用户B携带可用于开锁的终端2(用户B的指纹信息与终端2的终端信息关联),并同时靠近智能锁;智能锁收到终端1和终端2的第一开锁指令后开启第一锁,室外指纹信息识别模块识别到用户A和用户B其中一个的指纹信息(假设是用户A的指纹信息)后,智能锁即可以开启第二锁;之后,智能锁默认用户A和用户B都进入室内,因此智能锁不再响应终端1和终端2的第一开锁指令;而用户A或用户B外出时,智能锁的室内指纹信息识别模块重新识别并验证用户A或用户B的指纹信息成功后开启第一锁和第二锁。由于终端信息和指纹信息相关联,因此通过指纹信息判断用户A或用户B外出后,智能锁退出不再响应终端1或终端2的第一开锁指令的状态。
移动终端可能需要在远程实现直接开锁,因此可以赋予移动终端以远程直接开锁的功能。锁端出于安全考虑,不应具备与移动终端远程通信的功能。因此,可以利用与锁端能够蓝牙连接的蓝牙中继终端来实现该功能,而蓝牙中继终端需要同时具备蓝牙数据连接和远程通信的能力,即蓝牙中继终端可以接收移动终端发送的远程开锁指令,并根据远程开锁指令生成蓝牙数据形式的第二开锁指令。在现在的智能家电中,许多家电产品可以担任蓝牙中继终端的角色,又或者可以为锁端单独配置的蓝牙中继终端,其使用时可以放置于靠近锁端的地方。因此,在此不对蓝牙中继终端作过多描述。
在一些实施例中,蓝牙中继终端可以无需具备远程通信的能力,而是具备连接WiFi网络的能力,例如连接WiFi路由器的能力。即蓝牙中继终端用于接收本地路由器转发的远程开锁指令,并根据远程开锁指令生成蓝牙数据形式的第二开锁指令;其中,远程开锁指令由移动终端通过远程通信通道发送给本地路由器。远程通信通道可以包括移动数据网络或WiFi网络,即移动终端可以通过移动数据网络或者WiFi网络与本地路由器实现连接;然后,本地路由器将从移动终端接收的远程开锁指令转发给蓝牙中继终端以生成第二开锁指令。
实现远程开锁的功能究根到底还是需要应用到蓝牙功能,因而如果锁端的工作状态具备保护状态和正常状态,远程开锁功能只能在工作状态为正常状态可用。
因此,当锁端的工作状态为正常状态时,接收模块200还用于通过蓝牙信任通信接口接收蓝牙中继终端发送的第二开锁指令;验证模块400还用于获取第二开锁指令中的终端信息并验证;当所述终端信息验证成功时,执行模块500还用于响应第二开锁指令进行开锁操作。具体过程如下:
接收模块200通过蓝牙信任通信接口接收蓝牙中继终端发送的第二开锁指令。第二开锁指令与第一开锁指令类似,同为基于蓝牙协议的蓝牙数据包,包括开锁代码和终端信息,终端信息可以包括蓝牙中继终端的唯一标识信息,锁端在识别出是蓝牙中继终端发送的第二开锁指令后,无需经过判断蓝牙信号强度验证。其中,蓝牙中继终端用于接收移动终端发送的远程开锁指令,并根据远程开锁指令生成蓝牙数据形式的第二开锁指令。
验证模块400获取第二开锁指令中的终端信息并验证。验证过程与上述步骤S130类似,验证模块400可以通过预存的信任用户信息(包含蓝牙中继终端的唯一标识信息)对终端信息进行验证,在此不再赘述。
当终端信息验证成功时,执行模块500响应第二开锁指令进行开锁操作。同样,开锁操作包括锁端直接开锁或锁端提供手动开锁的允许。直接开锁可以是直接开启锁端从而使得门打开;锁端提供手动开锁的允许是表示锁端在开锁操作后需经过手动开锁才能使得门打开,锁端在开锁操作之前无法通过手动开锁。
可以理解,上述的智能锁,还可以具备指纹识别、虹膜识别、密码输入以及集成电路卡开锁等常用的功能,在此不再赘述。
上述的智能开锁方法和智能锁,通过蓝牙信任通信接口接收移动终端发送的第一开锁指令;获取蓝牙信号强度,并判断蓝牙信号强度是否满足预设条件;当满足预设条件时,获取第一开锁指令中的终端信息并验证;当终端信息验证成功时,响应第一开锁指令进行开锁操作;利用移动终端的蓝牙模块传输开锁指令去开锁,可以省去开锁操作,节约时间,便利性较佳;而且仅仅利用随身携带的移动终端即可实现开锁,不需要使用额外的解锁工具,便利性进一步提高。
应该理解的是,虽然图1、2的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,图1、2中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
以上所述仅是本发明的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。