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

开锁方法、智能锁及智能锁系统与流程

2022-03-23 01:11:57 来源:中国专利 TAG:


1.本发明涉及智能锁控制领域,具体涉及用于智能锁的开锁方法、智能锁及智能锁系统。


背景技术:

2.随着智能锁的普及,电子密码越来越成为了人们解锁开门采用的一种普遍方式,人们不再需要持有实体的钥匙即可完成解锁开门的动作。随着电子密码的普及,出租屋等临时出入场景变得更加便捷,但是也对智能锁的安全性提出了新的要求。为了方便人员临时出入,现有的智能锁设置了临时密码功能,用户可以在智能锁联网的情况下实时设置开锁密码或者动态开锁。但是在很多场景下,由于功耗、安全等原因,智能锁未必实时联网,因此,智能锁厂商配置了离线密码功能。
3.离线密码基于安全性考虑有时效性的要求,用户只能在指定的时间内利用密码进行开锁。现有技术对离线密码的设置是用户在接近门锁或者在门锁联网的情况下手动设置离线密码,但是这样的方式在智能锁离线且用户不在家(即用户不能靠近智能锁)的情况下,不能设置离线密码,同时不能及时更新离线密码,带来使用上的一些不便。


技术实现要素:

4.鉴于以上技术问题,本发明实施例提供的技术方案的目的在于提供一种开锁方法、智能锁及智能锁系统,以便于用户利用离线密码开门。
5.基于本发明的第一目的,本发明实施例提供一种开锁方法,应用于智能锁。包括以下步骤:
6.获取生成第一离线密码的时间点;
7.获取预存在所述智能锁中的第一密钥;
8.基于所述第一密钥和所述时间点,通过预设的加密算法生成第一离线密码;
9.将新生成的第一离线密码替换第一离线密码组中时间点最靠前的第一离线密码,形成新的第一离线密码组;
10.接收第二离线密码,将所述第二离线密码与所述第一离线密码组中的第一离线密码匹配,如匹配成功,则控制所述智能锁开锁。
11.本发明实施例提供的智能锁开锁方法,通过定时更新智能锁的密码,智能锁中的第一离线密码在一定时间内如没有使用,则其将被新的第一离线密码取代,从而失去效力。同时,本技术提供的开锁方法,第一离线密码的生成依赖于智能锁本地的时钟模块确定的时间点,以及预存在智能锁内的第一密钥,按设定的更新频率更新,可以不断地生成具有时效性的第一离线密码。使得第一离线密码的生成和更新不需要联网,也不需要操作人员在智能锁上设置即可实现。本技术实施例提供的智能锁开锁方法在更新第一离线密码时,每次只更新一个密码,可以使得更新第一离线密码组的操作简单,大幅减少计算量,从而使得智能锁的第一离线密码更新速度快,在用户输入第二离线密码时,可以快速将第二离线密
码与第一离线密码组中的第一离线密码匹配,从而提高用户的使用体验。同时,也可以大幅减少智能锁用于更新第一离线密码的能耗,达到节能的目的。
12.进一步地,在智能锁第一次使用或者因为某些原因,如程序更新、修复bug等重置之后,智能锁需要生成第一离线密码组,生成第一离线密码组包括以下步骤:
13.获取生成第一离线密码组的时间点;根据所述时间点,获取n个连续时间点,所述n个连续时间点相互之间的时间间隔等于预设第一时间间隔;n为大于1的正整数;
14.获取预存在所述智能锁中的第一密钥;
15.基于所述第一密钥和所述n个连续时间点,通过预设的加密算法生成n个第一离线密码;所述n个第一离线密码组成所述第一离线密码组。
16.本技术实施例还提供第二种用于智能锁的开锁方法,包括以下步骤:
17.获取生成第一离线密码组的时间点;根据所述时间点,获取n个连续时间点,所述n个连续时间点相互之间的时间间隔等于预设第一时间间隔;n为大于1的正整数;
18.获取预存在所述智能锁中的第一密钥;
19.基于所述n个连续时间点和第一密钥,通过预设的加密算法生成n个第一离线密码,所述n个第一离线密码组合成第一离线密码组;将新生成的第一离线密码组替换智能锁中旧的第一离线密码组;
20.接收第二离线密码,将所述第二离线密码与替换后的所述第一离线密码组中的第一离线密码匹配,如匹配成功,则控制所述智能锁开锁。
21.相对于第一种开锁方法,本技术实施例提供的第二种开锁方法,可以不用每隔一个固定的时间就需要更新一次离线密码组,智能锁不用工作时进入睡眠状态,从而节省电能。当有人需要开启智能锁时,通过接入模块唤醒智能锁,智能锁在被唤醒后立即生成以当前时刻为时间点的一组第一离线密码组替换原来的第一离线密码组,也能达到实时生成具有时效性的第一离线密码,同时第一离线密码的生成也不需要联网或者用户设置,而是智能锁自动获取密钥和时间点后自动生成更新。即保证了智能锁的使用安全也使得智能锁在大部分时间内可用处于睡眠状态,极大节省电能。
22.进一步地,所述第二离线密码由云端通过以下方法生成:
23.接收第二离线密码生成请求,所述第二离线密码生成请求包括需要开启的智能锁的第一识别信息;
24.获取生成第二离线密码的时间点;
25.获取与所述需要开启的智能锁对应的第一密钥匹配的第二密钥;
26.根据所述生成第二离线密码的时间点和所述第二密钥,根据预设的加密算法生成第二离线密码;
27.将所述第二离线密码发送至请求终端。
28.通过上述方法,第二离线密码与第一离线密码的生成因素相同,使用的第一密钥和第二密钥相同或者相匹配,基于相同或者相匹配的算法生成,则可用他们进行匹配验证。即使得第一离线密码和第二离线密码虽然在不同的物理空间内生成,他们生成的过程中也不需要交互即可生成相同或者能相匹配的离线密码。能实现第一离线密码和第二离线密码的匹配验证,从而控制智能锁开锁。
29.进一步通过如下方法获取n个时间点:
30.以智能锁当前时钟模块时刻为生成第一离线密码组的第一离线密码生成时间点;
31.基于所述第一离线密码生成时间点按预设第一时间间隔往回倒数获取包括所述第一离线密码生成时间点的n个时间点。通过该方法生成的第一离线密码的生效时间段在当前时间点前的一段时间内,当用户按预定的时间使用或者按预定的时间延后一段时间使用,都能实现第二离线密码与第一离线密码匹配开锁。
32.获取n个时间点的另一种可实现方法中,以智能锁当前时钟模块时刻为生成第一离线密码组的第一离线密码生成时间点;
33.基于所述第一离线密码生成时间点按预设第一时间间隔往回倒数获取n个连续时间点;基于所述第一离线密码生成时间点按预设第一时间间隔接续获取m个连续时间点,其中,n m=n;
34.将所述n个时间点和m个时间点合并形成n个时间点。
35.虽然第一种获取n个时间点的方法可用满足大部分按预定时间使用或者预定时间后的一段时间内使用第二离线密码进行开锁。虽然大部分人习惯于按预定时间或者稍有延迟使用第二离线密码进行开锁,但对于一些比较守时的用户来说,往往是会提前到达,则通过第二种方式生成的第二时间点,可使得在预设时间点前后一定时间内使用的用户均可使用第二离线密码开锁,方便了用户使用。
36.进一步地,所述第一离线密码按以下步骤生成:
37.将第一离线密码生成时间点与第一密钥进行拼接,得到第一数据;
38.将第一数据进行加密,得到密文;
39.将所述密文分割成预定组数,得到第二数据;
40.对第二数据中的每组数据进行预处理,每组得到一个只有个位数的数字,将所有组得到的数字按分割密文时形成的组的排列顺序进行排序,得到所述第一离线密码;
41.所述第二离线密码按以下步骤生成:
42.将第二离线密码生成时间点与第二密钥进行拼接,得到第三数据;
43.将第三数据进行加密,得到密文;
44.将所述密文分割成预定组数,得到第四数据;
45.对第四数据中的每组数据进行预处理,每组得到一个只有个位数的数字,将所有组得到的数字按分割密文时形成的组的排列顺序进行排序,得到所述第二离线密码。
46.优选地,生成第一离线密码的步骤具体为:
47.将第一离线密码生成时间点按年字段、月字段、日字段、时字段和分字段,得到按顺序排列的5个字节,第一密钥下发8个字节,将得到的13个字节按顺序拼接,在拼接后填充三个字节,得到16字节的第一数据;
48.对第一数据采用aes对称加密算法得到64位密文;
49.将密文按每10位一组分割成6组,冗余的位数丢弃;将分割好的数字每一组按其在密文中的位置顺序排列,得到第二数据;
50.对每一组数字进行异或运算,得到一个数值,并将所述数值对10取余,得到一个个位数;
51.按照第二数据中组的顺序,将每一组获得的个位数进行排列,得到一个六位数的字符串,该字符串即为第一离线密码。
52.基于本发明的第二目的,本技术还提供一种存储介质,所述存储介质上存储有可执行程序,所述可执行程序执行时实现第一发明目的所述的方法。
53.基于本发明的第三目的,本发明提供一种智能锁,包括:
54.锁体,用于在主控模块的控制下实现开锁或者关锁功能;
55.接入模块,用于接收第二离线密码;
56.存储模块,用于预存第一密钥,以及存储可执行程序;
57.时钟模块,用于确定智能锁的时间点;
58.主控模块,用于调用存储模块中的第一密钥和可执行程序,运行所述可执行程序实现上述的开锁方法。
59.基于本发明的第四目的,本技术提供一种智能锁系统,包括:
60.如第三目的提供的智能锁;
61.服务器,所述服务器用于生成第二离线密码;
62.所述服务器运行可执行程序时执行以下方法生成第二离线密码:
63.接收第二离线密码生成请求,所述第二离线密码生成请求包括需要开启的智能锁的第一识别信息;
64.获取生成第二离线密码的时间点;
65.获取与所述需要开启的智能锁对应的第一密钥匹配的第二密钥;
66.根据所述生成第二离线密码的时间点和所述第二密钥,根据预设的加密算法生成第二离线密码;
67.将所述第二离线密码发送至请求终端。
68.本技术提供的存储介质、智能锁和智能锁系统,均可用于实现上述第一发明目的提供的开锁方法,从而解决该开锁方法解决的技术问题,并达到该开锁方法达到的技术效果。
附图说明
69.图1为本技术实施例提供的一种智能锁系统的模块框图;
70.图2为本技术实施例提供的一种智能锁的开锁流程图。
具体实施方式
71.为使本技术的目的、技术方案和优点更加清楚,以下将参照本技术实施例中的附图,通过实施方式清楚、完整地描述本技术的技术方案,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
72.在本发明的描述中,若干的含义是一个以上,多个的含义是两个以上,大于、小于、超过等理解为不包括本数,以上、以下、以内等理解为包括本数。如果有描述到第一、第二只是用于区分技术特征为目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量或者隐含指明所指示的技术特征的先后关系。
73.本发明的描述中,除非另有明确的限定,设置等词语应做广义理解,所属技术领域技术人员可以结合技术方案的具体内容合理确定上述词语在本发明中的具体含义。
74.本发明的描述中,参考术语“一个实施例”、“一些实施例”、“示意性实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
75.需要理解的是,本技术实施例所指的离线主要是指智能锁离线,即智能锁在无联网、或者不利用其联网功能的情况下实现相关功能。离线密码,即指可以在智能锁离线的情况下,用于开启智能锁的密码。
76.如图1所示,本技术实施例涉及到的硬件包括智能锁和服务器,智能锁和服务器整体可构建一套智能锁系统。另外,本技术实施例还可包括终端设备。终端设备包括但不限于可以实现联网功能的手机、平板或电脑等。用户可以通过终端设备与智能锁进行绑定,并可以通过终端设备的联网功能实现与服务器的通信。本技术实施例中的服务器,尤指布置于云端的可用于对智能锁的信息进行保存和对智能锁进行关联的服务器。目前,智能锁生产厂家均会构建自己的智能云端生态系统或者参与到行业智能云端生态系统中,从而实现对智能锁的管理。
77.智能锁包括锁体,锁体可安装在房门、柜门等需要进行安全防护的物体上,并与门、门框或者柜门、柜体等配合实现锁定和开锁的功能。智能锁实现锁定和开锁的部件和结构可采用现有技术,如包括锁舌、驱动机构、传动机构等,在此不做限制。
78.智能锁还包括有接入模块,用于实现人机交互。使用人员可以通过接入模块实现对智能锁的操作,如将密码输入智能锁,或者对智能锁实现唤醒、设置等功能。接入模块可以设置为在智能锁上的用于接收外部输入信号的按键盘、触摸屏、指纹识别模块、人脸识别模块等直接供操作的人机交互装置,也可以是设置在智能锁上的蓝牙、zigbee(紫蜂)、nfc(near field communication,近场通信)等无线通信方式,在此不做限制。智能锁还包括有主控模块,主控模块可加载可执行的程序,从而通过主控模块实现对智能锁的控制。
79.智能锁还可以包括通信模块用于连接服务器,智能锁在出于安全或者节能等方面考虑,大部分时间均保持断开联网的状态,或者处于关闭通信模块的状态。
80.实施例1
81.本技术实施例提供的开锁方法,如图2所示,应用于图1中的智能锁,包括以下步骤:
82.获取生成第一离线密码的时间点;
83.获取预存在所述智能锁中的第一密钥;
84.基于所述第一密钥和所述时间点,通过预设的加密算法生成第一离线密码;
85.更新第一离线密码组,将所述新生成的第一离线密码替换第一离线密码组中时间点最靠前的第一离线密码,形成新的第一离线密码组;本技术实施例中的所述的时间点最靠前,指的是第一离线密码组中的所有第一离线密码的生成时间点最早的时间点,如第一离线密码组中包括20个第一离线密码,这20个第一离线密码的生成时间点分别为10点1分至10点20分,则将10点1分时间点生成的第一离线密码作为时间点最靠前的第一离线密码。
86.接收第二离线密码,将所述第二离线密码与所述第一离线密码组中的第一离线密码匹配,如匹配成功,则控制所述智能锁开启。本技术实施例中接收第二离线密码,具体可
用通过智能锁的接入模块接收,也可以通过蓝牙、nfc模块等连接附近的终端设备,从而通过近距离移动通信的方式接收。这些都是实现本技术实施方式的可选实现技术手段。
87.本实施例中的智能锁设置有低功耗时钟模块,可设置定时更新功能,如每隔1分钟启动一次定时更新功能。设置的时间可以根据实际需要设定,在此不做限制。
88.其中,本技术实施例方案中的生成第一离线密码的时间点,既可以是时钟模块的当前时间点,也可以是以时钟模块的当前时间点为基准,再加上预定的延迟时间作为生成第一离线密码的时间点。如当前时钟模块的时间点为10点20分,则当第一离线密码组中的第一离线密码的生成时间点都是早于当前时钟模块的时间点时,如最近的第一离线密码的生成时间点在10点19分,则以时钟模块的当前时钟点10点20分作为生成第一离线密码的时间点。如果第一离线密码组中的第一离线密码的生成时间点处于的时间段包括了时钟模块的当前时间点,如第一密码组中的第一离线密码的生成时间点在10点至10点39分钟之间,则每次生成新的第一离线密码都是以时钟模块当前时间点延后20分钟作为生成新的第一离线密码的时间点,即以10点40分作为生成第一离线密码的时间点。
89.本技术实施例提供的智能锁开锁方法,通过定时更新智能锁的密码,可以使得智能锁中的第一离线密码组中的密码具有一定时效性,第一离线密码锁中的第一离线密码在一定时间内如没有使用,则其将被新的第一离线密码取代,从而失去效力。同时,本技术提供的开锁方法,第一离线密码的生成依赖于智能锁本地的时钟模块确定的时间点,以及预存在智能锁内的第一密钥,按设定的更新频率更新,即其第一离线密码的生成会由智能锁自动生成,而不需要依赖于云端,也不需要依赖于操作人员在智能锁上设置,可以不断地生成具有时效性的第一离线密码。本技术实施例提供的开锁方法,其设置的更新时间频率与第一离线密码组中的每一个离线密码的时间点的时间间隔保持一致时,可以每一次都只生成一个离线密码,从而使用新生成的第一离线密码替换掉第一离线密码组中距离当前生成时间点最早的时间点对应的第一离线密码,相对于每一次都重新生成一组离线密码的方式,可以使得更新第一离线密码组的操作简单,大幅减少计算量,从而使得智能锁的第一离线密码更新速度快,在用户输入第二离线密码时,可以快速将第二离线密码与第一离线密码组中的第一离线密码匹配,从而提高用户的使用体验。同时,也可以大幅减少智能锁用于更新第一离线密码的能耗,达到节能的目的。
90.本技术实施例提供的开锁方法,在智能锁第一次安装使用时,需要生成第一离线密码组,或者当智能锁经过重置,已经将智能锁内的第一密码组清除之后,也需要重新生成第一离线密码组。智能锁生成第一离线密码组的方法可以通过以下步骤实现:
91.获取生成第一离线密码组的时间点;根据所述时间点,获取n个连续时间点,所述n个连续时间点相互之间的时间间隔等于预设第一时间间隔;n为大于1的正整数;
92.获取预存在所述智能锁中的第一密钥;
93.基于所述第一密钥和所述n个连续时间点,通过预设的加密算法生成n个第一离线密码;所述n个第一离线密码组成所述第一离线密码组。
94.获取生成第一离线密码组的时间点为获取时钟模块设置当前的时间点,如设置第一离线密码组时时钟模块的当前时间为10点20分,则获取此时间点作为生成第一离线密码组的时间点。
95.获取n个连续时间点,所述n个连续时间点相互之间的时间间隔等于预设第一时间
间隔。如可以获取20个连续时间点,如可以以当前的10点20分开始,依次获取10点20分、10点19分、10点18分
……
10点02分、10点01分。
96.其中,所述第二离线密码由云端生成。
97.当用户预计需要使用到临时离线密码时,可以通过预先安装到终端的app发起第二离线密码获取请求。用户在app的对应输入窗口输入一些必要的信息,如需要开启的智能锁的第一识别信息。当用户的终端与智能锁提前绑定的情况下,也可以通过自动获取绑定的智能锁信息的方式自动获取智能锁的第一识别信息。还可以输入预计开锁时间。如早上8点申请第二离线密码,预计需要生成上午10点的第二离线密码,则可以在app对应的时间输入控件中输入10点0分。如果没有在对应的时间输入控件中输入时间信息,则系统默认为按云端接收到第二离线密码生成请求的时间点为生成第二离线密码的时间点。并将第一识别信息、生成第二离线密码时间点信息生成第二离线密码生成请求指令并发送至云端。该请求指令中还携带有终端的第二识别信息,如该终端为手机,第二识别信息可以是手机号或者手机处于的网络的ip号等。其中,第一识别信息在智能锁出厂时或者智能锁第一次与云端联网时即保存在云端,同时保存的还包括与第一识别信息对应的第二密钥。
98.云端接收到第二离线密码生成请求指令后,通过以下方法生成第二离线密码:
99.获取生成第二离线密码的时间点;云端从请求指令中提取指定的时间点作为生成第二离线密码的时间点。当云端不能从请求指令中提取到指定时间点时,系统自动以接收到请求指令的时间点作为生成第二离线密码的时间点。如云端在8点0分接收到终端的请求指令,则云端首先提取请求指令的指定时间点,如请求指令中指定的时间点为10点0分,则以10点0分作为生成第二离线密码的时间点。如果云端没有提取到请求指令中的指定时间点,则以8点0分作为生成第二离线密码的时间点。
100.获取与所述需要开启的智能锁对应的第一密钥匹配的第二密钥;云端通过请求指令中的智能锁第一识别信息,提取预存在云端的与智能锁的第一密钥对应的第二密钥。其中,第二密钥可以是与第一密钥完全相同的密钥,即云端和锁端使用相同的密钥,基于相同的加密方法,会生成基于生成离线密码的时间点的离线密码。此时,在智能锁端验证第一离线密码和第二离线密码时,匹配第一离线密码组中具有与第二离线密码完全相同的一个第一离线密码时,则验证通过,否则验证失败。
101.一种可行的实施方式中,与第一密钥对应的第二密钥可以是不相同的密钥,但是第一密钥与第二密钥之间具有一定的对应匹配关系,云端使用第二密钥生成的第二离线密码与智能锁使用第一密钥生成的第一离线密码之间也具有对应的匹配关系,在进行第一离线密码和第二离线密码验证时,只要第一离线密码组中的某个第一离线密码根据对应的匹配关系能与第二离线密码匹配即可验证成功。这种对应的匹配生成密码和匹配验证密码的方式可以采用现有的密码生成和密码匹配验证方式,在此不予赘述。
102.根据所述生成第二离线密码的时间点和所述第二密钥,根据预设的加密算法生成第二离线密码;
103.通过所述第二识别信息将所述第二离线密码发送至请求终端。
104.下面以第一密钥和第二密钥为完全相同的密钥的情形,提供一种生成第二离线密码的方法。
105.将第二离线密码时间点与所述第二密钥进行拼接,得到第三数据。时间点以数值
表示,该数值由年字段、月字段、日字段、小时字段和分钟字段拼接而成;用5个字节表示,第二密钥下发8个字节,在本步骤中将时间点的5个字节和第二密钥的8个字节拼接后填充三个字节,形成16字节的第三数据。
106.将第三数据进行加密,得到密文。在本实施例中采用aes对称加密算法得到64位的密文。
107.将密文分割为预设组数,得到第四数据。其中预设的组数为需要获取的第二离线密码的位数,如需要获得6位的第二离线密码,则分割为6组。将64位的密文按顺序分割成等分的6组,冗余的位数可以舍弃。如将64位的密文按每10位一组,按顺序分割,共取前60位。剩余的4位则舍弃。该分割好组并按顺序排列的数据构成第四数据。
108.根据对每个第三数据进行预设处理得到个位数值。可以对每组数字进行异或运算,得到一个数值,然后将该数值对10取余数,得到一个个位数。或者,直接对每组数据对10取余数,得到一个个位数。
109.按照各第三数据的顺序将每个第三数据对应的个位数值进行组合得到第二离线密码。即将6个个位数按顺序组合在一起得到最终的第二离线密码。
110.同理,第一离线密码组中的每个第一离线密码也基于相同的生成原理生成,具体为:
111.将第一离线密码时间点与所述第一密钥进行拼接,得到第二数据。时间点以数值表示,该数值由年字段、月字段、日字段、小时字段和分钟字段拼接而成;用5个字节表示,第一密钥下发8个字节,在本步骤中将时间点的5个字节和第二密钥的8个字节拼接后填充三个字节,形成16字节的第一数据。
112.将第一数据进行加密,得到密文。在本实施例中采用aes对称加密算法得到64位的密文。
113.将密文分割为预设组数,得到第二数据。其中预设的组数为需要获取的第一离线密码的位数,如需要获得6位的第一离线密码,则分割为6组。将64位的密文按顺序分割成等分的6组,冗余的位数可以舍弃。如将64位的密文按每10位一组,按顺序分割,共取前60位。剩余的4位则舍弃。该分割好组并按顺序排列的数据构成第二数据。
114.根据对每个第二数据进行预设处理得到个位数值。可以对每组数字进行异或运算,得到一个数值,然后将该数值对10取余数,得到一个个位数。或者,直接对每组数据对10取余数,得到一个个位数。
115.按照各第二数据的顺序将每个第二数据组对应的个位数值进行组合得到第一离线密码。即将6个个位数按顺序组合在一起得到最终的第一离线密码。
116.上述实施例在确定n个时间点时,可采用如下方法:
117.以智能锁当前时钟模块时刻为生成第一离线密码组的第一离线密码生成时间点;
118.基于所述第一离线密码生成时间点按预设第一时间间隔往回倒数获取包括所述第一离线密码生成时间点的n个时间点。
119.具体举例说明如下:智能锁当前时钟模块的时刻为10点,则以10点0分作为生成第一离线密码组中的第一离线密码生成时间点;基于该时间点按1分钟时间间隔倒数一次获取10点0分、9点59分、9点58分
……
9点42分、9点41分共20个时间点作为生成第一离线密码组中的20个第一离线密码的生成时间点。
120.依据上述方式确定的20个第一离线密码生成时间点,则意味着在10点0分时间点更新后的第一离线密码组中,最早的第一离线密码的生成时间点为9点41分。即如果用户预计9点41分到达,而实际到达的时间为10点,此时输入云端按9点41分作为第二离线密码生成时间点生成的第二离线密码,其还能与第一离线密码组中的一个第一离线密码匹配,从而打开智能锁。即按预定时间点或者在预定时间点后一段时间内使用第二离线密码均能匹配成功,打开智能锁。这符合大部分人的习惯,即大部分更倾向于按预定时间到达,或者稍有延时到达。
121.上述确定n个时间点的方式却也有一个缺点,即如果使用人提前到达而要使用智能锁时,将面临第二离线密码不能匹配成功从而不能打开的问题。还是以上面的例子。如当前时间点为10点,用户预计使用第二离线密码进行匹配的时间为10点10分,则此时由于智能锁内第一离线密码组内的所有第一离线密码的生成时间点都不晚于10点,即此时用户输入第二离线密码后将匹配不成功。则只能再等10分钟之后待智能锁更新后使得第一离线密码组中包括生成时间点为10点10分的第一离线密码时,才能匹配成功。即守时的人反而要浪费时间。因此,本技术提供的开锁方法在确定n个生成第一离线密码的时间点时提供一种优选的实施方式如下:
122.以智能锁当前时钟模块时刻为生成第一离线密码组的第一离线密码生成时间点;
123.基于所述第一离线密码生成时间点按预设第一时间间隔往回倒数获取n个连续时间点;基于所述第一离线密码生成时间点按预设第一时间间隔接续获取m个连续时间点,其中,n m=n;
124.具体举例说明如下:若智能锁时钟模块的当前时刻为10点,则基于10点0分,先按1分钟时间间隔往回倒数获取n个连续时间点,如获取9点59分、9点58分
……
9点51分、9地点50分共10个时间点;然后基于10点0分,按每分钟往后连续获取m个时间点,如10点0分、10点01分
……
10点08分、10点09分,共10个时间点。最后再将从9点50分至10点09分中共20个时间点作为生成第一离线密码的时间点。
125.基于上述方法获取到的20个时间点,则在9点51分钟时,10点0分时间点生成的第一离线密码即已生成并更新到第一离线密码组中,一直到10点10分时,10点0分时间点生成的第一离线密码均保留在第一离线密码组中。则预计10点使用第二离线密码开锁,云端生成时间点为10点0分的第二离线密码。则用户在9点51分钟开始到10点10分钟这段时间,使用第二离线密码均能与智能锁第一离线密码组中以10点0分为时间点生成的第一离线密码匹配,都能开锁。从而更多满足客户一般围绕预设时间前后使用第二离线密码的习惯,增加第二离线密码匹配成功的机率。
126.实施例2
127.本技术实施例2提供的开锁方法,应用于智能锁。智能锁的具体结构或者功能模块与实施例1相同,在此不做赘述。包括如下步骤:
128.获取生成第一离线密码组的时间点;根据所述时间点,获取n个连续时间点,所述n个连续时间点相互之间的时间间隔等于预设第一时间间隔;n为大于1的正整数;
129.获取预存在所述智能锁中的第一密钥;
130.基于所述n个连续时间点和第一密钥,通过预设的加密算法生成n个第一离线密码,所述n个第一离线密码组合成第一离线密码组;将新生成的第一离线密码组替换智能锁
中旧的第一离线密码组;
131.接收第二离线密码,将所述第二离线密码与替换后的所述第一离线密码组中的第一离线密码匹配,如匹配成功,则控制所述智能锁开启。
132.本实施例与实施例1中的生成第一离线密码组的步骤类似,不同的是,本实施例每一次更新第一离线密码组中的第一离线密码时都是一次生成一个第一离线密码组,从而用新生成的第一离线密码组将智能锁内的原第一离线密码组整体替换。
133.实施例2与实施例1在更新第一离线密码组内的第一离线密码方面采用了整体替换方式,是根据使用场景的不同做出的改变。实施例1中是通过时钟模块设置更新频率,从而定时更新第一离线密码组内的第一离线密码。其所生成的第一离线密码具有连续性,好处是每次更新一个第一离线密码,更新速度快,操作人员随时输入第二离线密码是都可以实时匹配,匹配验证时间短。而本实施例提供的方案,则不需要按时更新第一离线密码,适用于智能锁开锁关锁比较少的情形。智能锁启动更新第一离线密码的方式可以是接收到触发指令时,如当操作人员想打开智能锁时,智能锁接收到接入模块有唤醒信号时,主控模块被唤醒后第一时间启动第一离线密码更新方法。由于更新不是连续的,两次更新之间可能经过了很长时间,两次第一离线密码组中的第一离线密码已经完全不同,此时采用整体替换的方法能更高效。这个方法可以在不需要使用智能锁开启关闭的时间段内使智能锁大部分功能模块均进入睡眠状态,从而节省电能。当然,这种方法相对于实施例1来说,更新第一离线密码时计算量较大,将第二离线密码和第一离线密码匹配验证花费的时间要更长一些。但综合整体效能,仍具有很好的使用效果。
134.实施例2和实施例1可以作为内置于本技术技术方案中智能锁的两种工作模式,可以根据不同的使用场景选择其中的一种工作模式。
135.实施例2中其他与实施例1相同的部分,可参照实施例1,在此不予赘述。
136.实施例3
137.根据上述实施例1、实施例2的方案,基于相同的发明构思,本实施例提供一种智能锁。智能锁包括锁体、接入模块、存储模块、时钟模块和主控模块。
138.锁体,用于在主控模块的控制下实现开锁或者关锁功能;
139.接入模块,用于接收第二离线密码;
140.存储模块,用于预存第一密钥,以及存储可执行程序;
141.时钟模块,用于确定智能锁的时间点;
142.主控模块,用于调用存储模块中的第一密钥和可执行程序,运行所述可执行程序实现实施例1和/或实施例2提供的开锁方法。本技术实施例3提供的智能锁,可将依据实施例1、实施例2提供的方法获取的可执行程序代码在出厂时烧录到主控模块上,也可以在智能锁第一次联网时通过云端下载保存到存储模块中,并通过主控模块调用,使得智能锁能执行实施例1和/或实施例2的方法,从而使得本技术实施例3提供的智能锁具有离线生成并更新第一离线密码组的功能,并验证用户从云端获取的第二离线密码是否能与第一离线密码组中的第一离线密码匹配的功能。本技术实施例3与实施例1、实施例2相同的部分,在此不予赘述。
143.实施例4
144.本技术实施例4提供一种智能锁系统,包括实施例3提供的智能锁,还包括服务器。
145.所述服务器运行可执行程序时执行以下方法生成第二离线密码:
146.接收第二离线密码生成请求,所述第二离线密码生成请求包括需要开启的智能锁的第一识别信息;
147.获取生成第二离线密码的时间点;
148.获取与所述需要开启的智能锁对应的第一密钥匹配的第二密钥;
149.根据所述生成第二离线密码的时间点和所述第二密钥,根据预设的加密算法生成第二离线密码;
150.将所述第二离线密码发送至请求终端。
151.本发明提供的智能锁系统,用户可用通过终端设备连接到服务器,从而通过服务器获取到第二离线密码,智能锁端基于相同或这对应匹配的密钥,自动生成第一离线密码组,并更新第一离线密码组,使得第一离线密码组内的第一离线密码,可用获得具有时效性的第一离线密码。从而使得用户可自用,也可将第二离线密码发送给其他人使用时,可按预设的时间开启智能锁。提供了安全性的同时,也方便了用户使用。
152.本实施例与其他实施例相同的部分可参见相应的实施例,在此不予赘述。
153.本技术实施例还提供一种存储介质,可用于存储依据实施例1、实施例2编制的可执行程序,从而当将该可执行程序安装到智能锁时或云端时,可用实现实施例1、实施例2的技术方案。
154.本发明还提供一种计算机存储介质,其上存储有计算机程序,本发明的方法如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在该计算机存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机存储介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机存储介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机存储介质不包括电载波信号和电信信号。
155.对本领域的技术人员来说,可根据以上描述的技术方案以及构思,做出其它各种相应的改变以及形变,而所有的这些改变以及形变都应该属于本发明权利要求的保护范围之内。
再多了解一些

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

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

相关文献