WO2022002146A1 - 一种智能设备控制方法和系统 - Google Patents

一种智能设备控制方法和系统 Download PDF

Info

Publication number
WO2022002146A1
WO2022002146A1 PCT/CN2021/103621 CN2021103621W WO2022002146A1 WO 2022002146 A1 WO2022002146 A1 WO 2022002146A1 CN 2021103621 W CN2021103621 W CN 2021103621W WO 2022002146 A1 WO2022002146 A1 WO 2022002146A1
Authority
WO
WIPO (PCT)
Prior art keywords
control
password
terminal device
key
lock
Prior art date
Application number
PCT/CN2021/103621
Other languages
English (en)
French (fr)
Inventor
彭炳辉
潘嘉明
李涛
吕彦朋
刘楠城
史旸旸
李文锋
李先仓
Original Assignee
云丁网络技术(北京)有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from CN202010617589.5A external-priority patent/CN113873513A/zh
Priority claimed from CN202010999569.9A external-priority patent/CN114299637B/zh
Priority claimed from CN202010998858.7A external-priority patent/CN114299636B/zh
Priority claimed from CN202022386092.5U external-priority patent/CN214311848U/zh
Priority claimed from CN202022748649.5U external-priority patent/CN213690749U/zh
Priority claimed from CN202011328475.5A external-priority patent/CN112598821A/zh
Application filed by 云丁网络技术(北京)有限公司 filed Critical 云丁网络技术(北京)有限公司
Priority to EP21831982.0A priority Critical patent/EP4161033A4/en
Publication of WO2022002146A1 publication Critical patent/WO2022002146A1/zh
Priority to US18/146,986 priority patent/US20230140203A1/en

Links

Images

Classifications

    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07CTIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
    • G07C9/00Individual registration on entry or exit
    • G07C9/00174Electronically operated locks; Circuits therefor; Nonmechanical keys therefor, e.g. passive or active electrical keys or other data carriers without mechanical keys
    • G07C9/00309Electronically operated locks; Circuits therefor; Nonmechanical keys therefor, e.g. passive or active electrical keys or other data carriers without mechanical keys operated with bidirectional data transmission between data carrier and locks
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B15/00Systems controlled by a computer
    • G05B15/02Systems controlled by a computer electric
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07CTIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
    • G07C9/00Individual registration on entry or exit
    • G07C9/00174Electronically operated locks; Circuits therefor; Nonmechanical keys therefor, e.g. passive or active electrical keys or other data carriers without mechanical keys
    • G07C9/00571Electronically operated locks; Circuits therefor; Nonmechanical keys therefor, e.g. passive or active electrical keys or other data carriers without mechanical keys operated by interacting with a central unit
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07CTIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
    • G07C9/00Individual registration on entry or exit
    • G07C9/00174Electronically operated locks; Circuits therefor; Nonmechanical keys therefor, e.g. passive or active electrical keys or other data carriers without mechanical keys
    • G07C9/00944Details of construction or manufacture
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3263Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07CTIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
    • G07C9/00Individual registration on entry or exit
    • G07C9/00174Electronically operated locks; Circuits therefor; Nonmechanical keys therefor, e.g. passive or active electrical keys or other data carriers without mechanical keys
    • G07C9/00309Electronically operated locks; Circuits therefor; Nonmechanical keys therefor, e.g. passive or active electrical keys or other data carriers without mechanical keys operated with bidirectional data transmission between data carrier and locks
    • G07C2009/00412Electronically operated locks; Circuits therefor; Nonmechanical keys therefor, e.g. passive or active electrical keys or other data carriers without mechanical keys operated with bidirectional data transmission between data carrier and locks the transmitted data signal being encrypted
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07CTIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
    • G07C2209/00Indexing scheme relating to groups G07C9/00 - G07C9/38
    • G07C2209/60Indexing scheme relating to groups G07C9/00174 - G07C9/00944
    • G07C2209/62Comprising means for indicating the status of the lock

Abstract

一种智能设备控制方法和系统。所述智能设备控制方法包括获取控制指令,所述控制指令用于指示所述智能设备进行目标操作;判断所述控制指令是否满足预设条件;以及在所述控制指令满足所述预设条件的情况下,控制所述智能设备进行所述目标操作。

Description

一种智能设备控制方法和系统
优先权信息
本申请要求2020年06月30日提交的中国申请号202010617589.5的优先权;2020年09月22日提交的中国申请号202010998858.7的优先权;2020年09月22日提交的中国申请号202010999569.9的优先权;2020年10月23日提交的中国申请号202022386092.5的优先权;2020年11月24日提交的中国申请号202011328475.5的优先权;2020年11月24日提交的中国申请号202022748649.5的优先权,其全部内容通过引用的方式被合并在本文中。
技术领域
本申请涉及智能设备技术领域,尤其涉及一种智能设备控制方法和系统。
背景技术
随着互联网和通信技术的不断发展,智能设备(例如,涉及智能锁、闸机、保险箱、智能电器等多个领域)已进入大众的日常生活。随着人们对人身和财产安全有越来越高的要求,具有多个安防功能(例如,身份验证、密码验证、状态监测、异常报警、信息上报等)且操作便捷的智能设备更容易受到用户的青睐。
因此,期望提供一种操作更便捷、安全性较高的智能设备控制方法和系统。
发明内容
本申请实施例之一提供一种智能设备控制系统。所述系统包括至少一个存储设备用于存储指令以及至少一个处理器配置为与所述至少一个存储设备通信。当执行所述指令时,所述至少一个处理器用于指示所述系统执行操作。所述操作包括获取控制指令,所述控制指令用于指示所述智能设备进行目标操作;判断所述控制指令是否满足预设条件;以及在所述控制指令满足所述预设条件的情况下,控制所述智能设备进行所述目标操作。
在一些实施例中,所述智能设备包括智能锁。所述智能锁包括锁体和设置于所述锁体中的一个或多个锁体传感器。所述一个或多个锁体传感器用于采集传感信号。所述目标操作包括解锁操作。所述至少一个处理器还用于指示所述系统根据所述传感信号,获得解锁检测结果,所述解锁检测结果至少表征所述锁体是否解锁成功;在所述解锁检测结果表征所述锁体解锁成功的情况下,监测上锁信号,所述上锁信号用于指示所述锁体进行上锁操作;在监测到所述上锁信号的情况下,控制所述锁体进行所述上锁操作;以及根据所述传感信号,获得上锁检测结果,所述上锁检测结果至少表征所述锁体是否上锁成功。
在一些实施例中,所述智能锁包括设置在所述锁体中的电机和锁舌。所述控制所述锁体进行解锁操作包括控制所述电机动作,以带动所述锁舌进行运动,使得所述锁体进行所述解锁操作。在所述解锁检测结果表征所述锁体解锁成功的情况下,所述至少一个处理器还用于指示所述系统控制所述电机复位。
在一些实施例中,所述智能锁包括电机驱动电路。所述电机驱动电路设置于所述锁体中。所述控制所述电机动作包括通过所述驱动电路控制所述电机动作。
在一些实施例中,所述解锁检测结果还表征所述电机是否异常。所述解锁检测结果所表征的所述电机异常至少包括所述解锁检测结果表征所述锁体解锁失败,和/或所述电机动作的持续时长超过动作时长阈值和/或所述电机的负载电流超过电流阈值。
在一些实施例中,在所述解锁检测结果表征所述电机异常的情况下,所述至少一个处理器还用于指示所述系统:控制所述电机复位,并重新控制所述锁体进行所述解锁 操作,直到所述电机异常的次数超过次数阈值。
在一些实施例中,所述控制所述锁体进行所述上锁操作包括控制所述电机动作,以带动所述锁舌进行运动,使得所述锁体进行所述上锁操作。在所述开锁检测结果表征所述锁体开锁成功的情况下,所述至少一个处理器还用于指示所述系统控制所述电机复位。
在一些实施例中,在所述解锁检测结果表征所述锁体解锁成功的情况下,所述至少一个处理器还用于指示所述系统至少根据所述传感信号,获得异常检测结果,所述异常检测结果表征所述智能锁是否处于异常状态;以及在所述异常检测结果表征所述智能锁没有处于异常状态的情况下,开始记录解锁时长,在所述解锁时长超过解锁时长阈值的情况下,生成所述上锁信号,以控制所述锁体进行所述上锁操作。
在一些实施例中,所述上锁检测结果还表征所述电机是否异常。所述上锁检测结果所表征的所述电机异常至少包括所述上锁检测结果表征所述锁体上锁失败,和/或所述电机动作的持续时长超过动作时长阈值和/或所述电机的负载电流超过电流阈值。
在一些实施例中,所述至少一个处理器还用于指示所述系统在所述上锁检测结果表征所述电机异常的情况下,控制所述电机复位,重新控制所述锁体进行所述上锁操作,直到所述电机异常的次数超过次数阈值。
在一些实施例中,所述智能锁包括设置在所述锁体中的检测件和第一锁舌。所述第一锁舌为能够在外力作用下被压缩且撤去外力作用后能够弹出的锁舌。所述一个或多个锁体传感器包括与所述检测件配合设置的检测件传感器和与所述第一锁舌配合设置的锁定块传感器。所述监测上锁信号包括监测所述检测件传感器是否检测到所述检测件的动作信息;检测所述监测锁定块传感器是否检测到所述第一锁舌的动作信息;以及在所述检测件传感器检测到所述检测件的动作信息且所述锁定块传感器检测到所述第一锁舌的动作信息的情况下,表征监测到所述上锁信号。
在一些实施例中,所述至少一个处理器包括一个或多个主控芯片。所述一个或多个主控芯片中的至少一个主控芯片设置于所述锁体中。
在一些实施例中,所述一个或多个主控芯片包括第一主控芯片和第二主控芯片。所述第二主控芯片设置于所述锁体中。
在一些实施例中,所述获取所述控制指令包括通过所述第一主控芯片接收预设解锁信息后,通过第二主控芯片获取所述第一主控芯片发送的所述控制指令。
在一些实施例中,所述获取控制指令包括获取加密指令,所述加密指令包括加密的控制密钥;以及解密所述加密指令得到所述控制指令。
在一些实施例中,所述加密指令由所述控制密钥和所述智能设备传输的加密参数进行加密得到,所述预设条件为所述控制密钥为预设密钥和所述加密参数为预设加密参数。
在一些实施例中,所述加密指令通过终端设备获得。所述解密所述加密指令得到所述控制指令包括获取所述终端设备生成的公私钥对中的公钥;根据所述智能设备生成的公私钥对中的私钥和获取到的公钥,生成会话密钥;以及通过所述会话密钥对所述加密指令进行解密,得到所述控制指令。
在一些实施例中,在获得所述加密指令前,所述至少一个处理器还用于指示所述系统获取所述终端设备生成的验证数据和所述终端设备生成的公私钥对中的公钥;根据所述智能设备生成的公私钥对中的私钥和获取到的公钥,生成所述会话密钥;通过所述会话密钥对所述验证数据进行解密,得到所述终端设备的签名、终端设备的第一数据和所述终端设备的证书,对所述终端设备的签名和所述终端设备的证书进行验证,得到验证结果;若所述验证结果表明所述终端设备的签名和所述终端设备的证书合法,生成所述控制密钥,并通过所述会话密钥对所述控制密钥和所述终端设备的第一数据进行加密, 得到控制数据;以及发送所述控制数据至所述终端设备以使得所述终端设备解密所述控制数据得到所述控制密钥。
在一些实施例中,所述根据所述智能设备生成的公私钥对中的私钥和获取到的公钥,生成会话密钥包括根据所述智能设备生成的公私钥对中的私钥和所述获取到的公钥,生成共享密钥;
根据所述共享密钥和所述终端设备的身份标识,生成所述会话密钥,所述终端设备的身份标识通过设备选取请求得到。
在一些实施例中,所述对所述终端设备的签名和所述终端设备的证书进行验证,得到验证结果包括获取所述终端设备的证书对应的证书摘要以及证书签名;以及通过所述终端设备的证书的公钥,对所述证书摘要和所述证书签名进行验证,以及通过所述智能设备获取到的公钥对终端设备的签名进行验证,得到所述验证结果。
在一些实施例中,所述控制密钥包括离线密码值。所述离线密码值对应唯一密码标识。所述预设条件为第一密码池中存在与所述离线密码值相匹配的目标密码值,且所述目标密码值第一次被使用。
在一些实施例中,所述第一密码池包括多个离线密码值。所述控制密钥对应的离线密码值为所述多个离线密码值中的一个。所述多个离线密码值通过以下操作生成获得第一时间信息,所述第一时间信息为根据预设规则得到的时间数据信息;至少对所述第一时间信息进行处理,得到目标字符串,所述目标字符串中包含多个字符;将所述目标字符串中的字符进行分组,得到多个字符组合,每个所述字符组合中包含至少一个字符;以及分别对每个所述字符组合中的字符进行处理,以得到每个所述字符组合对应的离线密码值。
在一些实施例中,所述多个离线密码值中的每个密码值对应各自的密码标识。所述每个密码值的各自对应的密码标识通过以下操作生成获得第二时间信息,所述第二时间信息与所述第一时间信息相关;以及至少根据每个所述离线密码值对应的密码次序和所述第二时间信息,获得每个所述离线密码值各自对应的密码标识。
在一些实施例中,所述第一时间信息所表征的当前时刻点的颗粒度与所述智能设备的密码配置信息相关,所述密码配置信息基于预先的配置操作生成。
在一些实施例中,所述至少一个处理器还用于指示所述系统在所述离线密码值满足所述预设条件时,在所述密码锁与服务器建立有数据连接的情况下,将所述离线密码值对应的所述唯一密码标识传输给所述服务器,以使得所述服务器至少根据所述唯一密码标识确定从所述服务器获取所述离线密码值的终端设备对应的目标用户。
在一些实施例中,所述控制密钥包括在线密码值。所述预设条件为所述在线密码值满足在线密码的使用限制条件。
在一些实施例中,所述智能设备包括控制信号电路和被控设备。所述控制信号电路具备至少一个供电接口端,以接收电源触发信号。所述至少一个处理器的控制信号输出端与所述被控设备的电源控制端连接,以控制所述被控设备的通电状态。
在一些实施例中,所述控制信号电路的电平输出端与所述至少一个处理器的第一信号输入端连接,并通过所述第一信号输入端向所述至少一个处理器输出重启控制信号。
在一些实施例中,所述重启控制信号为高电平信号或低电平信号。
在一些实施例中,所述供电接口端为USB供电接口端。
在一些实施例中,所述被控设备包括无线通信模块、触控模块、指纹模块、功放模块、频射识别模块、语音模块和显示模块中的至少一个。
本申请实施例之一提供一种智能设备控制方法。所述方法包括获取控制指令,所述控制指令用于指示所述智能设备进行目标操作;判断所述控制指令是否满足预设条件;以及在所述控制指令满足所述预设条件的情况下,控制所述智能设备进行所述目标操作。
本申请实施例之一提供一种智能设备控制系统。所述系统包括通信模块、处理模块和控制模块。所述通信模块用于获取控制指令,所述控制指令用于指示所述智能设备进行目标操作。所述处理模块用于判断所述控制指令是否满足预设条件。所述控制模块用于在所述控制指令满足所述预设条件的情况下,控制所述智能设备进行所述目标操作。
本申请实施例之一提供一种计算机可读存储介质,所述存储介质存储计算机指令,当计算机读取存储介质中的计算机指令后,计算机执行一种设备控制方法。所述设备控制方法包括获取控制指令,所述控制指令用于指示所述智能设备进行目标操作;判断所述控制指令是否满足预设条件;以及在所述控制指令满足所述预设条件的情况下,控制所述智能设备进行所述目标操作。
本申请实施例之一提供一种用于处理控制密钥的方法,应用于终端设备中,所述方法包括:获取安防设备生成的公私钥对中的公钥,根据所述终端设备生成的公私钥对中的私钥和获取到的公钥,生成会话密钥;通过所述会话密钥对所述终端设备的签名、终端设备的第一数据和所述终端设备的证书进行加密,得到验证数据;发送所述验证数据和所述终端设备生成的公私钥对中的公钥至所述安防设备;获取所述安防设备生成的控制数据,通过所述会话密钥对所述控制数据进行解密,得到控制密钥和所述控制数据对应的第二数据;根据所述控制数据对应的第二数据,确定所述控制密钥是否用于对所述安防设备进行与所述控制密钥相对应的控制。
在一些实施例中,所述根据所述终端设备生成的公私钥对中的私钥和获取到的公钥,生成会话密钥包括:根据所述终端设备生成的公私钥对中的私钥和获取到的公钥,生成共享密钥;根据所述共享密钥和所述终端设备的身份标识,生成所述会话密钥。
在一些实施例中,所述终端设备的签名根据所述终端设备生成的公私钥对和所述终端设备的身份标识生成。
在一些实施例中,所述终端设备的签名根据所述终端设备生成的公私钥对和所述终端设备的身份标识生成包括:根据终端设备生成的公私钥对中的公钥和终端设备的身份标识,生成哈希值;根据所述哈希值和所述终端设备生成的公私钥对中的私钥,生成所述终端设备的签名。
在一些实施例中,所述方法还包括:若所述控制数据对应的第二数据与所述终端设备的第一数据相同,保存所述控制密钥。
本申请实施例之一提供一种用于处理控制密钥的方法,应用于安防设备的处理器中,所述方法包括:获取所述终端设备生成的验证数据和所述终端设备生成的公私钥对中的公钥,根据所述安防设备生成的公私钥对中的私钥和获取到的公钥,生成会话密钥;通过所述会话密钥对所述验证数据进行解密,得到所述终端设备的签名、终端设备的第一数据和所述终端设备的证书,对所述终端设备的签名和所述终端设备的证书进行验证,得到验证结果;若所述验证结果表明所述终端设备的签名和所述终端设备的证书合法,生成控制密钥,并通过所述会话密钥对所述控制密钥和所述终端设备的第一数据进行加密,得到控制数据;发送所述控制数据至所述终端设备。
在一些实施例中,所述对所述终端设备的签名和所述终端设备的证书进行验证,得到验证结果包括:获取所述终端设备的证书对应的证书摘要以及证书签名;通过所述终端设备的证书的公钥,对所述证书摘要和所述证书签名进行验证、以及通过所述获取到的公钥对终端设备的签名进行验证,得到所述验证结果。
在一些实施例中,所述根据所述安防设备生成的公私钥对中的私钥和获取到的公钥,生成会话密钥包括:根据所述安防设备生成的公私钥对中的私钥和所述获取到的公钥,生成共享密钥;根据所述共享密钥和所述终端设备的身份标识,生成所述会话密钥,所述终端设备的身份标识通过设备选取请求得到。
本申请实施例之一提供一种用于处理控制密钥的装置,应用于终端设备中,所述 装置包括:第一获取单元,被配置成获取安防设备生成的公私钥对中的公钥,根据所述终端设备生成的公私钥对中的私钥和获取到的公钥,生成会话密钥;加密单元,被配置成通过所述会话密钥对所述终端设备的签名、终端设备的第一数据和所述终端设备的证书进行加密,得到验证数据;发送单元,被配置成发送所述验证数据和所述终端设备生成的公私钥对中的公钥至所述安防设备;第二获取单元,被配置成获取所述安防设备生成的控制数据,通过所述会话密钥对所述控制数据进行解密,得到控制密钥和所述控制数据对应的第二数据;确定单元,被配置成根据所述控制数据对应的第二数据,确定所述控制密钥是否用于对所述安防设备进行与所述控制密钥相对应的控制。
本申请实施例之一提供一种用于处理控制密钥的装置,应用于安防设备的处理器中,所述装置包括:密钥获取单元,被配置成获取所述终端设备生成的验证数据和所述终端设备生成的公私钥对中的公钥,根据所述安防设备生成的公私钥对中的私钥和获取到的公钥,生成会话密钥;解密单元,被配置成通过所述会话密钥对所述验证数据进行解密,得到所述终端设备的签名、终端设备的第一数据和所述终端设备的证书;验证单元,被配置成对所述终端设备的签名和所述终端设备的证书进行验证,得到验证结果;密钥生成单元,被配置成若所述验证结果表明所述终端设备的签名和所述终端设备的证书合法,生成控制密钥;加密单元,被配置成通过所述会话密钥对所述控制密钥和所述终端设备的第一数据进行加密,得到控制数据;发送单元,被配置成发送所述控制数据至所述终端设备。
本申请实施例之一提供一种用于处理控制密钥的系统,所述系统包括:终端设备和安防设备;所述终端设备,被配置成获取安防设备生成的公私钥对中的公钥,根据所述终端设备生成的公私钥对中的私钥和获取到的公钥,生成会话密钥;通过所述会话密钥对所述终端设备的签名、终端设备的第一数据和所述终端设备的证书进行加密,得到验证数据;发送所述验证数据和所述终端设备生成的公私钥对中的公钥至所述安防设备;获取所述安防设备生成的控制数据,通过所述会话密钥对所述控制数据进行解密,得到控制密钥和所述控制数据对应的第二数据;根据所述控制数据对应的第二数据,确定所述控制密钥是否用于对所述安防设备进行与所述控制密钥相对应的控制;所述安防设备,被配置成获取所述终端设备生成的验证数据和所述终端设备生成的公私钥对中的公钥,根据所述安防设备生成的公私钥对中的私钥和获取到的公钥,生成会话密钥;通过所述会话密钥对所述验证数据进行解密,得到所述终端设备的签名、终端设备的第一数据和所述终端设备的证书,对所述终端设备的签名和所述终端设备的证书进行验证,得到验证结果;若所述验证结果表明所述终端设备的签名和所述终端设备的证书合法,生成控制密钥,并通过所述会话密钥对所述控制密钥和所述终端设备的第一数据进行加密,得到控制数据;发送所述控制数据至所述终端设备。
本申请实施例之一提供一种用于处理设备离线密码的方法,所述方法包括:获取设备的多个离线密码值;获取每个所述离线密码值各自对应的密码标识;其中,所述密码标识唯一,以使得在所述离线密码值被终端获取并使用的情况下,所述离线密码值对应的密码标识与所述终端对应的目标用户相对应。
在一些实施例中,获得设备的多个离线密码值,包括:获得第一时间信息,所述第一时间信息为根据预设规则得到的时间数据信息;至少对所述第一时间信息进行处理,得到目标字符串,所述目标字符串中包含多个字符;将所述目标字符串中的字符进行分组,得到多个字符组合,每个所述字符组合中包含至少一个字符;分别对每个所述字符组合中的字符进行处理,以得到每个所述字符组合对应的离线密码值。
在一些实施例中,获得每个所述离线密码值各自对应的密码标识,包括:获得第二时间信息,所述第二时间信息与所述第一时间信息相关;至少根据每个所述离线密码值对应的密码次序和所述第二时间信息,获得每个所述离线密码值各自对应的密码标识。
在一些实施例中,至少根据每个所述离线密码值对应的密码次序和所述第二时间信息,获得每个所述离线密码值各自对应的密码标识,包括:利用I=((D-1)*24+T)*4+Index,获得每个所述离线密码值各自对应的密码标识;其中,I为所述第一时间信息对应的多个离线密码值中第Index个离线密码值对应的密码标识,D为从1月1日到当前时刻点的天数,T为所述第一时间信息所表征的当前时刻点的颗粒度下的时刻值,以使得所述密码标识在当前的一年内唯一。
在一些实施例中,至少根据每个所述离线密码值对应的密码次序和所述第二时间信息,获得每个所述离线密码值各自对应的密码标识,包括:利用I=((D-1)*24+T)*4+Index,获得每个所述离线密码值各自对应的初始标识;其中,I为所述第一时间信息对应的多个离线密码值中第Index个离线密码值对应的初始标识,D为从1月1日到当前时刻点的天数,T为所述第一时间信息所表征的当前时刻点的颗粒度下的时刻值;利用当前年份信息,对每个所述初始标识进行处理,以使得所得到的每个密码标识在所述设备的生命周期内唯一。
在一些实施例中,所述第一时间信息所表征的当前时刻点的颗粒度与设备的密码配置信息相关,所述密码配置信息基于预先的配置操作生成。
本申请实施例之一提供一种用于处理设备离线密码的方法,所述方法包括:接收目标用户的密码输入操作,所述密码输入操作中包含输入字符串,所述输入字符串中包含至少一个输入字符;根据第一密码池中的多个离线密码值,对所述输入字符串是否满足离线密码校验规则进行密码校验,所述第一密码池中的每个所述离线密码值具有各自对应的密码标识,且所述密码标识唯一;所述离线密码校验规则包括:所述第一密码池中存在与所述输入字符串相匹配的目标密码值且所述目标密码值第一次被使用;在所述输入字符串满足所述离线密码校验规则的情况下,将目标信息在所述设备与服务器建立有数据连接的情况下传输给所述服务器,所述目标信息中包含有所述目标密码值对应的目标标识,以使得所述服务器至少根据所述目标信息中的目标标识确定从所述服务器上获取所述目标密码值的终端对应的目标用户。
本申请实施例之一提供一种用于处理设备离线密码的方法,所述方法包括:接收终端传输的密码获取请求,所述密码获取请求对应于所述终端对应的目标用户;在第二密码池中的多个离线密码值中,获取满足离线密码分配规则的目标密码值;所述离线密码分配规则包括:所述目标密码值第一次被使用;所述第二密码池中的每个所述离线密码值具有各自对应的密码标识,且所述密码标识唯一;将所述目标密码值传输给所述终端,并生成授权信息,所述授权信息包含:所述目标密码值对应的密码标识与所述目标用户相对应的信息;在获取到所述设备在与所述服务器建立有数据连接时传输的目标信息的情况下,至少根据所述目标信息中的目标标识和所述授权信息,确定所述目标信息对应的目标用户。
本申请实施例之一提供一种用于处理设备离线密码的装置,所述方法包括:密码获得单元,用于获取门锁的多个离线密码值;标识获得单元,用于获取每个所述离线密码值各自对应的密码标识;其中,所述密码标识唯一,以使得在所述离线密码值被终端获取并使用的情况下,所述离线密码值对应的密码标识与所述终端对应的目标用户相对应。
本申请实施例之一提供一种用于处理设备离线密码的装置,所述装置包括:操作接收单元,用于接收目标用户的密码输入操作,所述密码输入操作中包含输入字符串,所述输入字符串中包含至少一个输入字符;密码校验单元,用于根据第一密码池中的多个离线密码值,对所述输入字符串是否满足离线密码校验规则进行密码校验,所述第一密码池中的每个所述离线密码值具有各自对应的密码标识,且所述密码标识唯一;所述离线密码校验规则包括:所述第一密码池中存在与所述输入字符串相匹配的目标密码值 且所述目标密码值第一次被使用;信息传输单元,用于在所述输入字符串满足所述离线密码校验规则的情况下,将目标信息在所述设备与服务器建立有数据连接的情况下传输给所述服务器,所述目标信息中包含有所述目标密码值对应的目标标识,以使得所述服务器至少根据所述目标信息中的目标标识确定从所述服务器上获取所述目标密码值的终端对应的目标用户。
本申请实施例之一提供一种用于处理设备离线密码的装置,所述装置包括:请求接收单元,用于接收终端传输的密码获取请求,所述密码获取请求对应于所述终端对应的目标用户;密码获取单元,用于在第二密码池中的多个离线密码值中,获取满足离线密码分配规则的目标密码值;所述离线密码分配规则包括:所述目标密码值第一次被使用;所述第二密码池中的每个所述离线密码值具有各自对应的密码标识,且所述密码标识唯一;信息传输单元,用于将所述目标密码值传输给所述终端;信息生成单元,用于生成授权信息,所述授权信息包含:所述目标密码值对应的密码标识与所述目标用户相对应的信息;用户确定单元,用于在所述信息传输单元获取到所述设备在与所述服务器建立有数据连接时传输的目标信息的情况下,至少根据所述目标信息中的目标标识和所述授权信息,确定所述目标信息对应的目标用户。
本申请实施例之一提供一种计算机可读介质,其上存储有计算机程序,其中,所述程序被处理器执行时实现用于处理设备离线密码的方法。
本申请实施例之一提供一种处理器,所述处理器用于运行程序,其中,所述程序运行时实现用于处理设备离线密码的方法。
本申请实施例之一提供一种设备,包括:一个或多个处理器;存储装置,其上存储有一个或多个程序;当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现用于处理设备离线密码的方法。
本申请实施例之一提供一种服务器,包括:一个或多个处理器;存储装置,其上存储有一个或多个程序;当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现用于处理设备离线密码的方法。
本申请实施例之一提供一种用于控制电子锁的方法,应用于电子锁,所述电子锁至少包括锁体,所述锁体上设置有一个或多个锁体传感器,所述锁体传感器用于采集传感信号,所述方法包括:接收控制指令,所述控制指令用于指示所述锁体进行解锁处理;判断所述控制指令是否满足解锁条件;在所述控制指令满足所述解锁条件的情况下,控制所述锁体进行解锁,并根据所述传感信号,获得解锁检测结果,所述解锁检测结果至少表征所述锁体是否解锁成功;在所述解锁检测结果表征所述锁体解锁成功的情况下,监测上锁信号,所述上锁信号用于指示所述锁体进行上锁处理;在监测到所述上锁信号的情况下,控制所述锁体进行上锁,并根据所述传感信号,获得上锁检测结果,所述上锁检测结果至少表征所述锁体是否上锁成功。
在一些实施例中,所述解锁检测结果表征所述锁体解锁成功,至少包括:基于解锁到位传感器采集到的传感信号获得解锁完成的检测结果,所述解锁到位传感器为与所述锁体中的第一锁舌配合设置的传感器,所述第一锁舌为能够在外力作用下被压缩且撤去外力作用后能够弹出的锁舌。
在一些实施例中,所述上锁检测结果表征所述锁体上锁成功,至少包括:基于上锁到位传感器采集到的传感信号获得上锁到位的检测结果,所述上锁到位传感器为与到所述锁体中的第二锁舌配合设置的传感器,所述第二锁舌为预设锁定位置上的锁舌。
在一些实施例中,所述控制指令由所述锁体对所述电子锁的面板传输的加密指令进行解密得到,而所述加密指令由所述面板利用所述锁体传输的加密参数和所述面板所接收到的输入密码进行加密得到。
在一些实施例中,控制所述锁体进行解锁,包括:控制所述锁体中的电机进行转 动,以带动所述锁体中的锁舌进行运动,使得所述锁体进行解锁;其中,在所述解锁检测结果表征所述锁体解锁成功的情况下,所述方法还包括:控制所述电机复位。
在一些实施例中,控制所述锁体中的电机进行转动,包括:控制所述锁体中的电机按照缓启动机制进行转动;其中,所述缓启动机制包括:所述电机以脉冲电信号进行转动,所述脉冲电信号具有初始占空比,且随着所述电机的转动,所述脉冲电信号的占空比在所述初始占空比的基础上递增。
在一些实施例中,在根据所述传感信号,获得解锁检测结果之后,所述方法还包括:在所述解锁检测结果表征所述锁体的电机异常的情况下,控制所述电机复位,并重新执行所述步骤:控制所述锁体进行解锁,直到所述电机异常的次数超过次数阈值;其中,所述解锁检测结果表征所述锁体的电机异常,至少包括:所述解锁检测结果表征所述锁体解锁失败,和/或,所述电机转动的持续时长超过转动时长阈值和/或所述电机的负载电流超过电流阈值。
在一些实施例中,在所述解锁检测结果表征所述锁体解锁成功的情况下,所述方法还包括:输出第一提示信息,所述第一提示信息用于提示进行开门动作。
在一些实施例中,在所述解锁检测结果表征所述锁体解锁成功的情况下,所述方法还包括:至少根据所述传感信号,获得异常检测结果;在所述异常检测结果表征所述电子锁处于异常状态的情况下,输出第二提示信息,所述第二提示信息用于提示所述电子锁出现异常;其中,所述异常检测结果表征所述电子锁处于异常状态,至少包括:基于检测舌传感器采集到的传感信号获得检测舌伸出的检测结果,且,基于解锁到位传感器采集到的传感信号获得解锁完成的检测结果;所述检测舌传感器为与所述锁体中的检测舌配合设置的传感器,所述解锁到位传感器为与所述锁体中的第一锁舌配合设置的传感器,所述第一锁舌为能够在外力作用下被压缩且撤去外力作用后能够弹出的锁舌。
在一些实施例中,在所述异常检测结果表征所述电子锁没有处于异常状态的情况下,所述方法还包括:输出第三提示信息,所述第三提示信息用于提示所述电子锁处于解锁状态。
在一些实施例中,在所述异常检测结果表征所述电子锁没有处于异常状态的情况下,所述方法还包括:当所述异常检测结果表征所述电子锁没有处于异常状态时,开始记录解锁时长,在所述解锁时长超过解锁时长阈值的情况下,生成上锁信号,以控制所述锁体进行上锁。
在一些实施例中,所述方法还包括:在所述解锁检测结果表征所述锁体解锁失败的情况下,输出第五提示信息,所述第五提示信息用于提示所述电子锁解锁失败。
在一些实施例中,监测上锁信号,包括:监测检测舌传感器是否检测到所述锁体中的检测舌的动作信息,并监测锁定块传感器是否检测到所述锁体中的第一锁舌的动作信息;其中,所述检测舌传感器为与所述锁体中的检测舌配合设置的传感器,所述锁定块传感器为与所述第一锁舌配合设置的传感器,所述第一锁舌为能够在外力作用下被压缩且撤去外力作用后能够弹出的锁舌;在所述检测舌传感器检测到所述锁体中的检测舌的动作信息且所述锁定块传感器检测到所述锁体中的第一锁舌的动作信息的情况下,表征监测到上锁信号。
在一些实施例中,在根据所述传感信号,获得上锁检测结果之后,所述方法还包括:在所述上锁检测结果表征所述锁体的电机异常的情况下,控制所述电机复位,并重新执行所述步骤:控制所述锁体进行上锁,直到所述电机异常的次数超过次数阈值;其中,所述上锁检测结果表征所述锁体的电机异常,至少包括:基于上锁到位传感器采集到的传感信号获得上锁失败的检测结果,和/或,所述电机转动的持续时长超过转动时长阈值和/或所述电机的负载电流超过电流阈值;所述上锁到位传感器为与所述锁体中的第二锁舌配合设置的传感器,所述第二锁舌为预设锁定位置上的锁舌。
在一些实施例中,所述方法还包括:在所述上锁检测结果表征所述锁体上锁失败的情况下,输出第四提示信息,所述第四提示信息用于提示所述电子锁上锁失败。
在一些实施例中,所述第四提示信息以预设的输出方式输出,所述预设的输出方式表征所述锁体上锁失败的危险程度。
在一些实施例中,在所述上锁检测结果表征所述锁体的电机异常的情况下,还包括:输出异常提示信息。
在一些实施例中,所述方法还包括:在所述锁体传感器输出的传感信号为空的情况下,输出传感器损坏的提示信息。
本申请实施例之一提供一种用于控制电子锁的装置,应用于电子锁,所述电子锁至少包括锁体,所述锁体上设置有一个或多个锁体传感器,所述锁体传感器用于采集传感信号,所述装置包括:指令接收单元,用于接收控制指令,所述控制指令用于指示所述锁体进行解锁处理;解锁判断单元,用于判断所述控制指令是否满足解锁条件;解锁控制单元,用于在所述控制指令满足所述解锁条件的情况下,控制所述锁体进行解锁,并根据所述传感信号,获得解锁检测结果,所述解锁检测结果至少表征所述锁体是否解锁成功;信号监测单元,用于在所述解锁检测结果表征所述锁体解锁成功的情况下,监测上锁信号,所述上锁信号用于指示所述锁体进行上锁处理;上锁控制单元,用于在监测到所述上锁信号的情况下,控制所述锁体进行上锁,并根据所述传感信号,获得上锁检测结果,所述上锁检测结果至少表征所述锁体是否上锁成功。
本申请实施例之一提供一种计算机可读介质,其上存储有计算机程序,其中,所述程序被处理器执行时实现用于控制电子锁的方法。
本申请实施例之一提供一种处理器,所述处理器用于运行程序,其中,所述程序运行时实现用于控制电子锁的方法。
本申请实施例之一提供一种电子锁,所述电子锁至少包括锁体,所述锁体上设置有一个或多个锁体传感器,所述锁体传感器用于采集传感信号,所述电子锁还包括:一个或多个处理器;存储装置,其上存储有一个或多个程序;当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现用于控制电子锁的方法。
本申请实施例之一提供一种电子锁系统,包括:控制信号电路、系统控制器和被控设备;所述控制信号电路具备至少一个供电接口端,以接收电源触发信号;所述控制信号电路的电平输出端与所述系统控制器的第一信号输入端连接,并通过所述第一信号输入端向所述系统控制器输出重启控制信号;所述系统控制器的控制信号输出端与所述被控设备的电源控制端连接,以控制所述被控设备的通电状态。
在一些实施例中,所述控制信号电路包括:第一电阻、第二电阻、第三电阻、第一电容和第一三极管;所述第一电阻的第一端为所述供电接口端;所述第二电阻的第一端、所述第一电容的第一端和所述第一三极管的发射极均为接地端;所述第二电阻的第二端、所述第一电容的第二端和所述第一三极管的基极均与所述第一电阻的第二端连接;所述第一三极管的集电极与所述第三电阻的第一端连接,所述第一三极管的集电极为所述控制信号电路的电平输出端;所述第三电阻的第二端为所述控制信号电路的电压输入端。
在一些实施例中,当所述供电接口端与外部电源连通时,所述第一三极管导通,使得所述第一三极管的集电极由高电平变为低电平,所述低电平为所述重启控制信号。
在一些实施例中,所述电子锁系统还包括:复位电路;所述复位电路的电平输出端与所述系统控制器的第二信号输入端连接;所述复位电路具备至少一个电压输入端。
在一些实施例中,所述复位电路包括:第四电阻、第五电阻、复位开关和第二电容;所述第四电阻的第一端为所述复位电路的电压输入端,所述第四电阻的第二端与所述第五电阻的第一端连接,所述第五电阻的第二端与所述复位开关的一端连接,所述复 位开关的另一端为接地端;所述第二电容的第一端与所述第四电阻的第二端连接,所述第二电容的第一端为所述复位电路的电平输出端,所述第二电容的第二端为接地端。
在一些实施例中,所述供电接口端为USB供电接口端。
在一些实施例中,所述被控设备包括无线通信模块、触控模块、指纹模块、功放模块、频射识别模块、语音模块和显示模块中的至少一个。
在一些实施例中,所述电子锁系统还包括具备无线通信单元的锁体,所述被控设备包括无线通信模块;所述锁体与所述无线通信模块通信连接。
在一些实施例中,所述电子锁系统还包括:报警模块;所述报警模块与所述系统控制器通信连接,以获得所述系统控制器输出的报警指令并响应。
在一些实施例中,所述电子锁系统还包括:检测模块和防撬装置;所述检测模块与所述防撬装置通信连接,以获得所述防撬装置的状态信息;所述检测模块与所述系统控制器通信连接,以向所述系统控制器发送所述防撬装置的状态信息,以使所述系统控制器根据所述防撬装置的状态信息向所述报警模块输出报警信息。
在一些实施例中,所述电子锁系统还包括:监控模块;所述监控模块的信号输入端与所述被控设备的通电状态端连接,以获得所述被控设备在第一时间范围内的通电状态;所述监控模块的信号输出端与所述被控设备的电源控制端连接,以控制所述被控设备的通电状态。
本申请实施例之一提供一种智能锁,包括:设置在智能锁内的第一主控芯片和锁体,所述锁体的壳体空腔内设置有所述锁体的锁体机械结构以及与所述锁体机械结构连接的电机;所述锁体的壳体空腔内还设置有第二主控芯片和电机驱动电路,所述第一主控芯片和所述第二主控芯片通过通信接口连接;所述第二主控芯片通过所述电机驱动电路与所述电机连接、并通过所述电机驱动电路控制所述电机动作;所述第一主控芯片在接收到预设开锁信息的情况下,通过所述通信接口发送开锁指令至所述第二主控芯片,以使所述第二主控芯片通过所述电机驱动电路控制所述电机执行开锁动作。
在一些实施例中,所述锁体的壳体空腔内还设置有对所述第一主控芯片进行身份校验的安全芯片;所述安全芯片与所述第二主控芯片连接。
在一些实施例中,所述通信接口包括UART接口、IIC接口或SPI接口。
在一些实施例中,所述锁体还设置有至少一个传感器,所述传感器分别与所述第二主控芯片、所述锁体机械结构连接。
在一些实施例中,所述传感器分别与所述第二主控芯片、所述锁体机械结构直接连接或间接连接。
在一些实施例中,所述传感器包括检测开关。
在一些实施例中,所述第一主控芯片设置在所述智能锁的门锁面板的壳体空腔内。
在一些实施例中,所述第一主控芯片和所述第二主控芯片通过无线通信方式通信。
在一些实施例中,所述第一主控芯片和所述第二主控芯片通过有线通信方式通信。
本申请实施例之一提供一种应用于智能锁的控制方法,应用于智能锁中的第一主控芯片,所述控制方法包括:接收预设开锁信息;通过所述通信接口发送开锁指令至所述第二主控芯片,以使所述第二主控芯片通过所述电机驱动电路控制所述电机执行开锁动作。
在一些实施例中,通过所述通信接口发送开锁指令至所述第二主控芯片,以使所述第二主控芯片通过所述电机驱动电路控制所述电机执行开锁动作,包括:发送身份校验请求至所述第二主控芯片;接收所述第二主控芯片反馈的与所述身份校验请求对应的校验参数信息,对所述校验参数信息进行加密得到加密数据,并将所述加密数据发送至所述第二主控芯片;在接收到所述第二主控芯片对所述加密数据进行身份校验通过后反馈的身份校验通过信息之后,发送开锁指令至所述第二主控芯片,以使所述第二控制芯 片通过所述电机驱动电路控制所述电机执行开锁动作。
在一些实施例中,在所述通过所述通信接口发送开锁指令至所述第二主控芯片,以使所述第二主控芯片通过所述电机驱动电路控制所述电机执行开锁动作之后,还包括:在所述第二控制芯片成功控制所述电机执行开锁动作后,接收所述第二控制芯片发送的开锁成功信息。
在一些实施例中,所述控制方法还包括:获取所述第二主控芯片的升级包数据;通过所述通信接口发送所述升级包数据至所述第二主控芯片,以使所述第二主控芯片使用所述升级包数据进行升级操作;接收所述第二主控芯片在升级操作完成后返回的成功升级信息,并输出所述成功升级信息至预设终端。
本申请实施例之一提供一种应用于智能锁的控制方法,应用于智能锁中的第二主控芯片,所述控制方法包括:通过所述通信接口接收所述第一主控芯片在接收到预设开锁信息时发送的开锁指令,响应于接收到的所述开锁指令,通过所述电机驱动控制电路控制所述电机执行开锁动作。
在一些实施例中,通过所述通信接口接收所述第一主控芯片在接收到预设开锁信息时发送的开锁指令,响应于接收到的所述开锁指令,通过所述电机驱动控制电路控制所述电机执行开锁动作,包括:接收所述第一主控芯片在接收到预设开锁信息时发送的身份校验请求,获取与所述身份校验请求对应的校验参数信息,并将所述校验参数信息发送至所述第一主控芯片;接收所述第一主控芯片对所述校验参数信息进行加密得到的加密数据,并对所述加密数据进行身份校验操作,在身份校验通过后,发送身份校验通过信息至所述第一主控芯片;接收所述第一主控芯片发送的开锁指令,响应于接收到的所述开锁指令,通过所述电机驱动控制电路控制所述电机执行开锁动作。
在一些实施例中,在通过所述电机驱动控制电路控制所述电机执行开锁动作之后,还包括:在成功控制所述电机执行开锁动作后,发送开锁成功信息至所述第一主控芯片。
在一些实施例中,所述锁体的壳体空腔内还设置有对所述第一主控芯片进行身份校验的安全芯片;接收所述第一主控芯片在接收到预设开锁信息时发送的身份校验请求,获取与所述身份校验请求对应的校验参数信息,并将所述校验参数信息发送至所述第一主控芯片,包括:接收所述第一主控芯片在接收到预设开锁信息时发送的身份校验请求,并将所述身份校验请求发送至所述安全芯片,以使所述安全芯片获取与所述身份校验请求对应的校验参数信息,并将所述校验参数信息通过所述第二主控芯片发送至所述第一主控芯片;接收所述第一主控芯片对所述校验参数信息进行加密得到的加密数据,并对所述加密数据进行身份校验操作,在身份校验通过后,发送身份校验通过信息至所述第一主控芯片,包括:接收所述第一主控芯片对所述校验参数信息进行加密得到的加密数据,并将所述加密数据发送至所述安全芯片,以使所述安全芯片对所述加密数据进行身份校验操作,在身份校验通过后,通过所述第二主控芯片发送身份校验通过信息至所述第一主控芯片。
在一些实施例中,所述控制方法还包括:通过所述通信接口接收所述第一主控芯片发送的所述第二主控芯片的升级包数据;使用所述升级包数据进行升级操作;在升级操作完成后返回成功升级信息至所述第一主控芯片,以使所述第一主控芯片输出所述成功升级信息至预设终端。
在一些实施例中,所述锁体还设置有至少一个传感器,所述传感器分别与所述第二主控芯片、所述锁体机械结构连接,响应于接收到的所述开锁指令,通过所述电机驱动控制电路控制所述电机执行开锁动作,包括:响应于接收到的所述开锁指令,通过所述传感器检测所述锁体机械结构的当前锁体状态;在所述当前锁体状态为上锁的情况下,通过所述电机驱动电路控制所述电机执行开锁动作。
在一些实施例中,所述控制方法还包括:在通过所述传感器检测到锁体预设锁舌 处于挤压状态的情况下,通过所述电机驱动电路控制所述电机执行上锁动作。
附图说明
本申请将以示例性实施例的方式进一步说明,这些示例性实施例将通过附图进行详细描述。这些实施例并非限制性的,在这些实施例中,相同的编号表示相同的结构,其中:
图1示出了根据本申请一些实施例所示的一种智能设备控制的应用场景示意图;
图2是根据本申请一些实施例所示的智能设备控制系统的示例性硬件和/或软件的示意图;
图3是根据本申请一些实施例所示的计算设备的示例性硬件和/或软件的示意图;
图4示出了根据本申请一些实施例所示的一种智能设备控制方法的示例性流程图;
图5是本申请的一些实施例提供的示例性系统架构图;
图6是根据本申请的用于处理控制密钥的方法的一个实施例的流程图;
图7是根据本申请的用于处理控制密钥的方法的又一个实施例的流程图;
图8是根据本申请的用于处理控制密钥的方法的一个实施例的时序图;
图9是根据本申请的用于处理控制密钥的装置的一个实施例的结构示意图;
图10是根据本申请的用于处理控制密钥的装置的又一个实施例的结构示意图;
图11是根据本申请的用于处理控制密钥的终端设备的结构示意图;
图12是本申请的一些实施例提供的示例性系统架构图;
图13是本申请的用于处理设备离线密码的方法的一个实施例的流程图;
图14是本申请的获取设备的多个离线密码值方法的一个实施例的流程图;
图15是本申请的获取每个离线密码值各自对应的密码标识方法的一个实施例的流程图;
图16是本申请的用于处理设备离线密码的方法的另一个实施例的流程图;
图17是本申请的用于处理设备离线密码的方法的又一个实施例的流程图;
图18是本申请提供的一种用于处理设备离线密码的装置的一个实施例的结构示意图;
图19是本申请提供的一种用于处理设备离线密码的装置的另一个实施例的结果示意图;
图20是本申请提供的一种用于处理设备离线密码的装置的又一个实施例的结果示意图;
图21是本申请提供的一种服务器的一个实施例的结果示意图;
图22是本申请提供的一种动态密码的生成算法参考示意图;
图23是根据本申请一些实施例所示的示例性智能锁的结构示意图;
图24是根据本申请一些实施例所示的用于控制智能锁的方法的一个实施例的流程图;
图25是根据本申请另一些实施例所示的用于控制智能锁的方法的示例性流程图;
图26是根据本申请另一些实施例所示的用于控制智能锁的方法的示例性流程图;
图27根据本申请另一些实施例所示的控制智能锁的方法的示例性流程图;
图28是根据本申请另一些实施例所示的智能设备控制系统控制智能锁的方法的示例性流程图;
图29是根据本申请另一些实施例所示的控制智能锁的方法的示例性流程图;
图30是根据本申请另一些实施例所示的智能设备控制系统控制智能锁的方法的示例性流程图;
图31是根据本申请另一些实施例所示的智能设备控制系统控制智能锁的方法的示例性流程图;
图32是根据本申请另一些实施例所示的智能设备控制系统控制智能锁的方法的示例性流程图;
图33是根据本申请一些实施例所示的用于控制智能锁的装置的结构示意图;
图34是根据本申请一些实施例所示的控制智能锁解锁的示例性流程图;
图35A和35B是根据本申请一些实施例所示的智能锁的结构示意图;
图36是根据本申请一些实施例所示的获取开锁指令的示例性流程图;
图37是本申请一些实施例所示的控制智能锁上锁的示例性流程图;
图38是本申请一些实施例所示的用于控制智能锁的方法在适用于智能门锁时的门锁状态检测示意图;
图39是根据本申请一些实施例所示的示例性智能锁的结构示意图;
图40是根据本申请一些实施例所示的示例性智能锁的结构示意图;
图41和图42是根据本申请一些实施例所示的示例性智能锁的结构示意图;
图43是根据本申请一些实施例所示的控制智能锁的方法的示例性流程图;
图44是根据本申请另一些实施例所示的控制智能锁的方法的示例性流程图;
图45是根据本申请一些实施例所示的智能锁系统的示例性结构图;
图46是根据本申请另一些实施例所示的智能锁系统的示例性结构图;
图47是根据本申请另一些实施例所示的智能锁系统的示例性结构图;
图48是根据本申请另一些实施例所示的智能锁系统的示例性结构图;
图49是根据本申请另一些实施例所示的智能锁系统的示例性结构图;
图50是根据本申请另一些实施例所示的智能锁系统的示例性结构图;
图51是根据本申请另一些实施例所示的智能锁系统的示例性结构图。
具体实施方式
为了更清楚地说明本申请实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单的介绍。显而易见地,下面描述中的附图仅仅是本申请的一些示例或实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图将本申请应用于其它类似情景。除非从语言环境中显而易见或另做说明,图中相同标号代表相同结构或操作。
应当理解,本文使用的“系统”、“装置”、“单元”和/或“模块”是用于区分不同级别的不同组件、元件、部件、部分或装配的一种方法。然而,如果其他词语可实现相同的目的,则可通过其他表达来替换所述词语。
如本申请和权利要求书中所示,除非上下文明确提示例外情形,“一”、“一个”、“一种”和/或“该”等词并非特指单数,也可包括复数。一般说来,术语“包括”与“包含”仅提示包括已明确标识的步骤和元素,而这些步骤和元素不构成一个排它性的罗列,方法或者设备也可能包含其它的步骤或元素。
其中,在本申请实施例的描述中,除非另有说明,“/”表示或的意思,例如,
A/B可以表示A或B;本文中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,在本申请实施例的描述中,“多个”是指两个或多于两个。
以下,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。
本申请中使用了流程图用来说明根据本申请的实施例的系统所执行的操作。应当理解的是,前面或后面操作不一定按照顺序来精确地执行。相反,可以按照倒序或同时处理各个步骤。同时,也可以将其他操作添加到这些过程中,或从这些过程移除某一步或数步操作。
图1示出了根据本申请一些实施例所示的一种智能设备控制系统的应用场景示意图。
智能设备控制场景100(以下简称控制场景100)可以广泛应用于居民住宅、办公楼、厂区、仓库、商场、学校、医院、酒店、银行、出租房屋、机场、火车站、地铁站等各类生产、生活领域。如图1所示,控制场景100可以包括:服务器110、网络120、智能设备130和终端设备140。
控制场景100可以获取用于指示智能设备130进行相应的操作的控制指令,并判断所述控制指令是否满足预设条件,在控制指令满足预设条件的情况下,控制智能设备130进行相应的操作(例如,状态切换操作)。例如,控制场景100可以接受智能设备130用户的操作输入,并对操作输入进行安全验证(例如身份验证、密码识别等),确认安全验证通过后对智能设备130执行相应的操作(例如,解锁(也可以称为开锁)、上锁(也可以成为闭锁或关索)、提醒操作、切换模式等)。在一些实施例中,操作输入可以包括控制指令和/或操作信息。在一些实施例中,操作输入可以是离线输入或在线输入。例如,用户可以直接在智能设备130的用户界面(例如,面板)进行操作输入。又例如,用户可以通过终端设备140进行操作输入。
在一些实施例中,控制场景100可以应用于各种不同的场景。例如,控制场景100可以应用于门禁设备(例如,门锁、闸机)。根据用户的控制指令和/或操作信息可以进行安全验证(例如,是否满足预设条件),以判断是否许可该用户通过该门禁设备。进一步的,如果安全验证通过(例如,预设条件满足),则判断许可该用户通过该门禁设备,控制场景100可以控制该门禁设备开锁。又例如,控制场景100可以应用于需要用户身份鉴权的物品保管设备(例如,保险箱、便携式保管柜、枪柜、lockbox(例如,银行存款箱)、智能快递柜、行李箱等)。根据用户的控制指令和/或操作信息可以进行安全验证,以判断该用户是否有权限打开该物品保管设备。进一步的,如果该用户有权限打开物品保管设备,智能设备控制系统可以控制该物品保管设备打开,从而该用户可以使用该物品保管设备来进行物品存放或取出。又例如,控制场景100可以应用于考勤设备(例如,考勤机)。根据用户的控制指令和/或操作信息可以进行安全验证以判断该用户的身份信息是否存在于考勤设备所对应的数据库中。进一步的,如果该用户的身份信息存在于考勤设备所对应的数据库中,控制场景100可以记录当前时刻将其作为用户的考勤信息。又例如,控制场景100可以应用于交通设备(例如,自行车、电动车、汽车等)。该交通设备可以是私人的交通设备(如,私家车)也可以是共享交通设备(如,共享汽车、共享单车)。根据用户的控制指令和/或操作信息可以进行安全验证,以判断该用户是否是该交通设备的主人或当前租赁者,进而确定是否打开该交通设备的锁。又例如,控制场景100可以是用于互联网服务的线上服务平台,如需要身份鉴权的线上支付平台(如,网上购物平台)、网上银行、网上叫车平台、网上订餐平台等。根据用户的控制指令和/或操作信息,控制场景100可以搜索并关联平台中的相关账户以进行安全验证,以判断是否许可用户的服务请求。又例如,控制场景100还可以应用于需要进行身份鉴权的电子设备(例如,手机、笔记本电脑、平板电脑)。根据用户的控制指令和/或操作信息,控制场景100可以进行安全验证,以判断是否许可该电子设备本身的开关机、进入系统、下载软件等操作请求以及其中应用程序的使用权限。又例如,控制场景100还可以应用于电器设备或智能电器设备(例如,洗衣机、冰箱、空调、空气净化器、电视机、供暖设备)。根据用户的控制指令和/或操作信息可以进行安全验证,以判断该用户是否是该电器设备的主人或合法使用者,进而确定是否切换该电器设备的状态(例如,打开该电器设备的开关锁、切换该电器设备至不同模式等)。需要注意的是,控制场景100还可以应用在其它需要进行安全验证的设备、场景和应用程序中,在此不作限定,任何可以使用本申请所包含的控制方法的设备、场景和/或应用程序都在本申请的保护范围内。
用户可以使用终端设备140通过网络120与服务器110交互,以接收或发送消息(例如,发送离线密码获取请求或接受离线密码)等。终端设备140上可以安装有各种客户端应用,例如远程遥控类应用等。在一些实施例中,网络120可以是有线网络或无线网络中的任意一种,或其组合。仅仅作为示例,网络120可以包括电缆网络、有线网络、光纤网络、远端通信网络、内联网、互联网、局域网(LAN)、广域网(WAN)、无线局域网(WLAN)、城域网(MAN)、广域网(WAN)、公共开关电话网络(PSTN)、蓝牙网络、ZigBee网络、近场通信(NFC)网络等或上述举例的任意组合。智能设备130与服务器110之间可以直接通过网络120通信,也可以通过物联网网关(图中未示出)连接。例如,智能设备130与该物联网网关之间可以基于Zigbee协议通信,该物联网网关与服务器110之间可以基于蜂窝移动网络或Wi-Fi网络通信。智能设备130与终端设备140之间还可以基于短距离无线通信,包括但不限于蓝牙协议通信、近场通信(NFC)、红外通信等。
终端设备140可以是硬件,也可以是软件。当终端设备140为硬件时,可以是各种具有显示屏的电子设备,包括但不限于智能手机140-1、平板电脑140-2、膝上型便携计算机140-3、台式计算机、可穿戴设备等等。在一些实施例中,终端设备140可以是基于NFC技术的门禁卡、电子钥匙等。当终端设备140为软件时,可以安装在上述所列举的电子设备中。其可以实现成多个软件或软件模块(例如用来提供分布式服务),也可以实现成单个软件或软件模块。在此不做具体限定。
智能设备130可以获取安全控制信息和用户的控制指令和/或操作信息,并根据安全控制信息对用户的控制指令和/或操作信息进行安全验证。安全验证通过(例如,预设条件满足)后可以根据用户的控制指令和/或操作信息进行相应操作(如,解锁操作、上锁操作、模式切换操作等)。在一些实施例中,智能设备130可以包括门锁装置130-1、考勤装置130-2、闸机装置130-3、交通装置130-4、通信装置130-5。例如,当智能设备130为门锁装置130-1(例如,智能锁)时,根据用户的控制指令和/或操作信息可以判断是否许可用户打开该门锁装置130-1。用户的控制指令和/或操作信息通过安全验证后,门锁装置130-1进行自动解锁或提醒用户进行机械解锁。例如,机械解锁可以包括用户通过下压把手以解锁、用户通过旋钮、按键、钥匙等其他机械方式进行解锁等。该门锁装置130-1可以应用于门体、车位地锁、物品保管设备(例如,保险箱、便携式保管柜、枪柜、lockbox(例如,银行存款箱)、智能快递柜、行李箱等)等。在一些实施例中,按类别来区分,门锁装置130-1可以包括按键式门锁、拨盘式门锁、电子钥匙式门锁、触摸式门锁、密码识别式门锁、遥控式门锁、卡片识别式门锁(如磁卡、IC卡、NFC卡)、生物识别式门锁(例如,指纹、指静脉、掌纹、面容、声音、虹膜、视网膜)等中的一种,或其任意组合。又例如,当智能设备130为考勤装置130-2时,根据用户的控制指令和/或操作信息可以判断该用户的身份信息是否存在于考勤装置130-2所对应的存储设备中。进一步的,如果该用户的身份信息存在于考勤设备所对应的存储设备中,考勤装置130-2可以记录该用户的身份信息及当前时刻将其作为用户的考勤信息(例如,用户的姓名、工号、考勤时间、地理位置)。在一些实施例中,考勤装置130-2可以包括生物识别考勤装置、移动考勤装置。在一些实施例中,生物识别考勤装置可以包括指纹考勤装置、指静脉考勤装置、掌纹考勤装置、面容考勤装置、声音考勤装置、虹膜考勤装置、视网膜考勤装置等,或其任意组合。在一些实施例中,移动考勤装置可以是指通过安装有相应考勤客户端(例如软件、手机APP等)完成考勤的移动终端(例如,手机、电脑、可穿戴设备(例如,智能手表)等)。又例如,当智能设备130为闸机装置130-3时,根据用户的控制指令和/或操作信息进行安全验证,可以判断是否许可用户通过该闸机装置130-3。进一步的,如果判断结果为许可该用户通过该闸机装置130-3,则闸机装置130-3进行开锁并对用户放行;反之,则闸机装置130-3不开锁。闸机装置130-3可以应用于机场、地铁站、轻轨站、汽车客运站、火车站、办公楼、居住区等需要对用户身份进行确定的入口或出 口。在一些实施例中,闸机装置130-3可以包括摆闸装置、翼闸装置、三辊闸装置、旋转闸装置、平移闸装置等,或其任意组合。又例如,当智能设备130为交通装置130-4(如,自行车、电动车、汽车等)时,该交通装置130-4可以是私人的交通设备(如,私家车)也可以是共享交通设备(如,共享汽车、共享单车)。根据用户的控制指令和/或操作信息进行安全验证,可以判断该用户是否是该交通设备的主人或当前租赁者,进而确定是否打开该交通设备的锁。当交通装置130-4对用户的控制指令和/或操作信息通过安全验证后,交通装置130-4可以进行开锁或启动。当智能设备130为通信装置130-5时,根据用户的控制指令和/或操作信息进行安全验证,通信装置130-5可以判断是否许可该电子设备本身的模式切换(例如,开关机、进入系统)、下载软件等操作请求以及其中应用程序(如,线上支付平台)的使用权限。关于通信装置130-5的具体形式可以参考本申请中终端设备140的相关描述。
需要注意的是,智能设备130并不限于图1中所示的门锁装置130-1、考勤装置130-2、闸机装置130-3、交通装置130-4和通信装置130-5,还可以应用在其它需要通过控制指令来进行状态切换(例如,解锁、上锁等)的设备,在此不作限定,任何可以使用本申请所包含的智能设备控制方法的设备都在本申请的保护范围内。为便于理解,本说明书实施例中,主要以智能设备130为应用于门锁装置的智能锁为例进行说明,关于智能锁的更多描述可以参见本申请的其他地方(例如,图23、图35、图39-图42和图45-图51等)。值得注意的是,本说明书中智能锁应用于门锁装置的实施例仅作为示例,并非对本说明书的限制,例如所述智能锁也可以用于闸机装置、交通装置、通信装置等。
服务器110可以用于处理与智能设备130控制相关的信息和/或数据,以执行本申请中描述的一个或以上功能。例如,服务器110可以响应于接收到终端设备140发送的控制指令,对该控制指令进行分析等处理,得到控制请求,并将该控制请求发送至智能设备130,以令用户实现对智能设备130的控制。又例如,服务器110可以响应于接收终端设备发送控制指令,并将该控制指令发送至智能设备,智能设备130对该控制指令进行分析处理,得到控制请求以实现用户对智能设备130的控制。又例如,服务器110可以响应于接收到终端设备140发送的离线密码请求,将离线密码发送给终端设备140,用户可以通过该离线密码输入智能设备130以实现对智能设备130的控制。又例如,服务器110可以接收终端设备140发送的控制指令和/或操作信息信号,向智能设备130发送控制指令。又例如,服务器110可以获取智能设备130对控制指令和/或操作信息的执行情况,并将所述执行情况发送至终端设备140,或者根据所述执行情况进行后续操作(如,根据解锁操作执行情况对智能设备130执行上锁操作)。需要说明的是,服务器110可以是硬件,也可以是软件。当服务器110为硬件时,可以实现成多个服务器组成的分布式服务器集群,也可以实现成单个服务器。当服务器110为软件时,可以实现成多个软件或软件模块(例如用来提供分布式服务),也可以实现成单个软件或软件模块。在此不做具体限定。
需要说明的是,本申请实施例所提供的应用于智能设备130的智能设备控制方法一般由智能设备130(例如,智能设备130中的一个或多个主控芯片)执行,相应地,应用于智能设备控制装置一般设置于智能设备130中。本申请实施例所提供的应用于服务器的智能设备控制方法一般由服务器110执行,相应地,应用于服务器的智能设备控制装置一般设置于服务器110中。在一些实施例中,服务器110可以位于智能锁130内部,智能锁130和服务器110通过内部有线网络连接。在一些实施例中,服务器110还可以位于云端,通过无线网络与智能设备130连接。智能设备130中部分模块的部分或全部操作可以由服务器110完成。
在一些实施例中,控制场景100还可以包括控制设备。控制设备是能够发出指令以控制智能设备130执行相应操作的设备或装置等。在一些实施例中,控制设备与终端设备可以是相同的设备。例如,智能手机、智能手持终端、智能可穿戴设备、笔记本电脑、 台式计算机等。在一些实施例中,控制设备可以与智能设备130建立绑定关系,并向智能设备130发送控制指令,以控制智能设备130进行诸如开锁、闭锁等操作。
在一些实施例中,控制场景100还可以包括输入设备。输入设备是接收一种或多种输入信息的设备或装置。例如,密码键盘、图像获取装置、语音采集装置、生物特征采集装置、蓝牙设备、NFC设备等。在一些实施例中,输入设备与终端设备可以是相同的设备。输入设备可以接收各种输入信息,并发送给智能设备130。各种输入信息可以包括但不限于文本输入信息、图像输入信息、语音输入信息、生物特征输入信息、网络数据输入信息等。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。在一些实施例中,控制场景100还可以包括一个或多个其他设备。例如,控制场景100还可以包括存储设备。存储设备可以存储资料(例如,安全控制信息)和/或指令(例如,开/关锁指令、报警指令)。在一些实施例中,存储设备可以存储从智能设备130和/或终端设备140获取的资料。在一些实施例中,存储设备可以存储供服务器110执行或使用的信息和/或指令,以执行本申请中描述的示例性方法。在一些实施例中,存储设备可以包括大容量存储器、可移动存储器、挥发性读写存储器(例如,随机存取存储器RAM)、只读存储器(ROM)等或以上任意组合。在一些实施例中,存储设备可以在云平台上实现。例如,该云平台可以包括私有云、公共云、混合云、社区云、分散式云、内部云等或以上任意组合。
图2是根据本申请一些实施例所示的智能设备控制系统的示例性硬件和/或软件的示意图。
如图2所示,智能设备控制系统(以下简称控制系统)200可以包括通信模块210、安全模块220、处理模块230(也被称为处理器)、控制模块240、存储模块250、输入/输出模块260等等。在一些实施例中,智能设备控制设备还可以包括驱动模块270、机械结构280、检测模块290等等。需要注意的是,本申请中提到的模块、单元、子单元可以通过硬件、软件或者软件和硬件的结合的方式来实现。其中,硬件的实现方式可以包括利用实体部件组成的电路或结构来实现;软件的实现方式可以包括将模块、单元、子单元对应的操作以代码的形式存储在存储器中,由适当的硬件例如,微处理器来执行。在本文提到的模块、单元、子单元执行其操作时,如果没有特殊说明,既可以指包含该功能的软件代码被执行,也可以指具有该功能的硬件被使用。同时,本文中所提到的模块、单元、子单元在对应硬件的时候并不限定其对应硬件的结构,只要能实现其功能的硬件都在本申请保护范围内。例如,本文中所提到的不同模块、单元、子单元可以对应同一个硬件结构。又例如,本文中所提到的同一个模块、单元、子单元也可以对应多个独立的硬件结构。
通信模块210可以用于信息或数据的交换。在一些实施例中,通信模块210可以用于控制系统200的各组件(例如,安全模块220、处理模块230、控制模块240、存储模块250、输入/输出模块260、驱动模块270等等)之间的数据传输。例如,处理模块230可以通过通信模块210将提示信息(例如,解锁/上锁成功、解锁/上锁失败、设备异常、报警等信息)发送给输入/输出模块260进行输出。又例如,控制模块240可以通过通信模块210将控制信息发送给驱动模块270执行相应的操作。在一些实施例中,通信模块210也可以用于控制场景100的各组件(例如,智能设备130、网络120、控制设备、输入设备、存储设备、服务器110)之间的数据传输。例如,控制设备可以通过通信模块210将控制指令发送至网络120。又例如,智能设备130可以通过通信模块210从网络120获取数据或信息(例如,控制指令或操作信息)。在一些实施例中,通信模块210可以用于通过安全连接获取安全控制信息。例如,通信模块210可以从网络120获取服务器110发送的身份验证信息。通信模块210可以采用有线、无线以及有线/无线混合技术。有 线技术可以基于诸如金属电缆、混合电缆、光缆等一种或多种光缆组合的方式。无线技术可以包括蓝牙(Bluetooth)、无线网(Wi-Fi)、紫蜂(ZigBee)、近场通信(Near Field Communication,NFC)、射频识别技术(Radio Frequency Identification,RFID)、蜂窝网络(包括GSM、CDMA、3G、4G、5G等)、基于蜂窝的窄带物联网(Narrow Band Internet of Things,NBIoT)等。在一些实施例中,通信模块210可以采用一种或多种编码方式对传输的信息进行编码处理,例如,编码方式可以包括相位编码、不归零制码、差分曼彻斯特码等。在一些实施例中,通信模块210可以根据需要传输的数据类型或网络类型,选择不同的传输和编码方式。在一些实施例中,通信模块210可以包括一个或多个通信接口,用于不同的通信方式。在一些实施例中,控制场景100的各个组件(智能设备130、网络120、控制设备、输入设备、存储设备、服务器110)可以是分散在多个设备上的,在这种情况下,各个模块可以分别包括一个或多个通信模块210,来进行模块间的信息传输。在一些实施例中,通信模块210可以包括一个接收器和一个发送器。在另一些实施例中,通信模块210可以是一个收发器。
在本申请的一些实施例中,具有接收(获得)或发送信息和/或数据功能的单元或模块均可以认为是通信模块210或其子模块。例如,指令接收单元、请求接收单元、操作接收单元、信息传输单元、发送单元、第一获取单元、第二获取单元、密钥获取单元、无线通信模块等等。
安全模块220可以用于对数据进行安全处理(例如,数据加密、数据解密、安全验证等)。在一些实施例中,安全模块220可以对控制系统200中部分其它模块(例如,通信模块210、输入/输出模块260等等)中的信息或数据进行安全处理。在一些实施例中,安全模块220可以对控制场景100中各组件的数据交换进行安全处理。例如,安全模块220可以对网络120中传输的数据进行加密,使得数据传输安全性更高。在一些实施例中,安全模块220可以用于基于安全控制信息以及操作输入进行安全验证。例如,安全模块220可以基于安全控制信息对控制场景100中的操作信息和/或控制指令进行安全验证。
在本申请的一些实施例中,具有数据加密、数据解密或安全验证功能的单元或模块均可以认为是安全模块220或其子模块。例如,加密单元、解密单元、解密模块、验证单元、密码校验单元等等。
处理模块230可以处理来自控制系统200的各组件(例如,通信模块210、安全模块220、控制模块240、存储模块250、输入/输出模块260、检测模块290等等)的数据。例如,处理模块230可以处理来自安全模块220的安全验证信息。又例如,处理模块230可以处理来自输入/输出模块260的操作信息或控制指令。在一些实施例中,处理后的数据可以存储到存储器或硬盘中。在一些实施例中,处理模块230可以将其处理后的数据可以通过通信模块210或网络120传送至控制场景100中的一个或者多个组件中。例如,处理模块230可以将控制指令的判断结果发送给控制模块240,控制模块240可以根据判断结果执行后续的操作或指令。例如,当控制指令和/或操作信息的判断结果为成功通过后,控制模块240可以发送指令给驱动模块270以控制智能设备130解锁。又例如,处理模块230可以将检测模块290的监测结果发送给控制模块,控制模块可以根据检测结果执行后续的操作或指令。例如,当检测到上锁信号时,控制模块可以发送指令给驱动模块270以控制智能设备130上锁。在一些实施例中,处理模块230可以用于与网络建立安全连接。例如,处理模块230可以建立智能设备130与网络120之间的安全连接。又例如,处理模块230可以建立服务器110与网络120之间的安全连接。
本申请的一些实施例中,具有数据处理(例如,数据生成、结果判断等)功能的单元或模块均可以认为是处理模块230或其子模块。例如,解锁判断单元、用户确定单元、信息生成单元、密码获得单元、密码获取单元、标识获得单元、密钥生成单元、确定单元、信号监测单元、射频识别模块等等。
控制模块240可以用于管理数据的处理过程及控制设备的运行状态。控制模块240可以与控制系统200中其它模块相关联。在一些实施例中,控制模块240可以控制控制系统200中的部分其它模块(例如,通信模块210、安全模块220、存储模块250、输入/输出模块260、驱动模块270等等)的运行状态。例如,控制模块240可以控制驱动模块270启动或停止。又例如,控制模块240可以管理通信模块210中的数据获取或发送过程。又例如,控制模块240可以控制通信模块210传输提示信息(例如,解锁/上锁成功、解锁/上锁失败、设备异常、报警等信息)给输入/输出模块260或终端设备140以提醒用户。在一些实施例中,控制模块240可以用于当安全验证通过(例如,预设条件满足)时基于操作输入进行相应的操作。例如,控制模块240可以在用户的身份验证通过后,控制智能设备130执行开锁操作。
在本申请的一些实施例中,具有管理数据的处理过程及控制设备的运行状态功能的模块或单元均可以认为是控制模块240或其子模块。例如,解锁控制单元、上锁控制单元、系统控制器等等。
存储模块250可以用于存储控制系统200的各模块(例如,检测模块290、处理模块230)的指令和/或数据。例如,存储模块250可以存储智能设备130的状态信息(例如,解锁时间、上锁时间、解锁对应的用户信息等)。在一些实施例中,存储模块250可以包括大容量储存器、可移动储存器、易失性读写存储器、只读存储器(ROM)等,或其任意组合。示例性大容量存储器可以包括磁盘、光盘、固态磁盘等。示例性可移动存储器可以包括快闪驱动器、软盘、光盘、记忆卡、压缩盘、磁带等。示例性易失性读写存储器可以包括随机存取存储器(RAM)。示例性随机存取存取器可以包括动态随机存取存储器(DRAM)、双倍速率同步动态随机存取存储器(DDRSDRAM)、静态随机存储存取器(SRAM)、晶闸管随机存取存取器(T-RAM)、零电容随机存取存取器(Z-RAM)等。示例性只读存储器可以包括光罩式只读存储器(MROM)、可编程只读存储器(PROM)、可擦除可编程只读存储器(EPROM)、电子可擦除可编程只读存储器(EEPROM)、压缩盘只读存储器(CD-ROM)、数字通用磁盘只读存储器等。在一些实施例中,存储模块250可以在云平台上实现。仅仅举个例子,所述云平台可以包括私有云、公共云、混合云、社区云、分布云、互联云、多云等,或其任意组合。
输入/输出模块260可以获取、传输和发送信号。控制系统200中的其他模块可以通过输入/输出模块260实现连接或通信。输入/输出模块260也可以与控制场景100中的其他组件进行连接或通信。在一些实施例中,输入/输出模块260可以用于获取操作输入(例如,控制指令和/或操作信息)。在一些实施例中,输入/输出模块260可以是位于智能设备130现场的模块,用于在智能设备130现场进行数据输入或输出。在一些实施例中,从现场进行数据输入的方式可以包括但不限于:触摸输入、扫描输入、语音输入、近距离通信输入等。例如,通过现场的键盘输入输入数据。又例如,通过扫描用户的生物特征输入数据。又例如,通过蓝牙装置等输入数据。在一些实施例中,输入/输出模块260可以通过智能设备130上的输出装置(例如,显示装置、麦克风等)在现场进行数据输出。例如,智能设备130的显示装置可以显示智能设备130是否开锁成功的信息。在一些实施例中,输入/输出模块260也可以是远程的模块,用于通过网络120远程地进行数据输入或输出。例如,输入/输出模块260可以通过网络120从远程设备(例如,控制设备、服务器110)获取数据(例如,控制指令),并通过通信模块210将获取到的数据传输至控制系统200的其它模块中。又例如,输入/输出模块260可以将控制模块240的控制结果输出至远程设备(例如,控制设备)中。所述输入/输出模块260可以是有线的USB接口、串行通信接口、并行通信口,或是无线的蓝牙、红外、无线射频识别(Radio-frequency identification,RFID)、无线局域网鉴别与保密基础结构(Wlan Authentication and Privacy Infrastructure,WAPI)、通用分组无线业务(General Packet Radio Service,GPRS)、码分 多址(Code Division Multiple Access,CDMA)等,或其任意组合。在一些实施例中,输入/输出模块260可以包括VCC、GND、RS-232、RS-485(例如,RS485-A,RS485-B)和通用网络接口等,或其任意组合。在一些实施例中,输入/输出模块260可以将获取到的操作信息,通过网络120传送给安全模块220。在一些实施例中,输入/输出模块260可以采用一种或多种编码方式对传输的信号进行编码处理。所述编码方式可以包括相位编码、不归零制码、差分曼彻斯特码等,或其任意组合。
在本申请的一些实施例中,具有输入/输出功能的模块或单元均可以认为是输入/输出模块260或其子模块。例如,触控模块、指纹模块、语音模块、显示模块等等。
驱动模块270可以用于驱动机械结构280执行相应的动作或操作。驱动模块270可以在控制模块240的控制下进行运转。在一些实施例中,驱动模块270可以包括一个或多个驱动力源或驱动不见。在一些实施例中,驱动力源可以包括采用电力驱动的驱动电机(例如,通过驱动电路驱动的电机)。在一些实施例中,驱动电机可以是直流电机、交流感应电机、永磁电机和开关磁阻电机等中的一种或几种的组合。在一些实施例中,驱动模块270可以包括一个或多个驱动电机。驱动模块270的驱动源根据电信号内容进行相应配置(如驱动模块270中的电机通过驱动电路相应以每分钟特定的转速转动特定的时间),驱动电机的转动带动与之相连的机械结构280状态的改变(如开锁、关锁、启动)。
机械结构280可以用于执行动作或操作。机械结构280可以与驱动模块270相连,并在驱动模块270的驱动力下执行动作或操作。例如,智能设备130应用于门锁装置(例如,门锁装置130-1)时,用户身份确认成功后,驱动模块270可以带动与之相连的机械结构280(例如,锁舌)完成开锁。又例如,智能设备130应用于闸机装置(例如,闸机装置130-3)时,用户身份确认成功后,驱动模块270带动与之相连的机械结构280(例如,辊轴、门),为用户提供可以通过的通道。又例如,智能设备130应用于交通装置(例如,交通装置130-4)时,用户身份确认成功后,驱动模块270带动与之相连的机械结构280(例如,锁具)完成开锁。又或者驱动模块270带动与之相连的机械结构280(例如,发动机)进行启动。较为具体的,机械结构280可以包括组成智能锁实体结构的机械组件,例如锁具外壳(例如,面板)、锁体(例如,锁芯、锁舌、锁定块、检测舌等)、把手等,机械结构280还可以包括任意机械传动件,例如弹簧、齿轮系统等。
检测模块290可以用于检测其他模块的工作状态。检测模块290可以包括各种传感器,各种传感器可以包括但不限于力传感器、红外传感器、可见光传感器、位移传感器、声学传感器、时间传感器等等。例如,检测模块290可以包括锁体检测传感器(例如,检测舌传感器、锁定块传感器等),锁体检测传感器可以检测锁舌的位置,从而确定锁体处于开锁状态或闭锁状态。又例如,检测模块290可以检测智能锁的开锁时间或闭锁时间,并将时间信息发送至控制模块240以确定是否需要对智能门锁执行自动上锁操作。在一些实施例中,检测模块290可以与机械结构280连接,用于检测机械结构280的工作状态(例如,开锁状态、闭锁状态等)。在一些实施例中,检测模块290可以与驱动模块270连接,用于检测驱动模块270的工作状态(例如,是否启动、是否异常等)。在一些实施例中,检测模块290可以将检测信息通过通信模块210发送给控制模块240。在一些实施例中,检测模块290还可以对待检测的模块(例如,智能锁的锁舌)的工作状态进行记录,并将记录信息通过通信模块210发送至其他模块(例如控制模块240)。
需要注意的是,控制系统200中还可以包括维持其运行的其他模块。例如,供电模块,用于为控制系统200中的其他模块(例如,通信模块210、安全模块220、处理模块230、控制模块240、存储模块250、输入/输出模块260、驱动模块270、机械结构280、检测模块290)提供电力。例如,供电模块可以包括内部电源例如电池、法拉电容、备用电源等。又例如,供电模块可以包括供电接口(USB供电接口)。供电模块在紧急情况(如供电模块电量为0)下,通过将供电接口与外部电源(例如,用户的随身携带的电子 设备(如,手机、平板电脑等)、充电宝等)连接对供电模块进行临时充电。在一些实施例中,供电接口可以与智能设备130中的一个或多个被控设备(如无线通信模块、触控模块、指纹模块、功放模块、频射识别模块、语音模块和显示模块等)的电源控制端连接,当被控设备异常,可以通过将供电接口与外部电源连接可以直接实现对被控设备的重启操作。更多关于控制被控设备重启操作的描述可以参见图45-48的说明。
需要注意的是,控制系统200中的各模块可以应用于控制场景100中的各个组件中。控制系统200可以在服务器110中实现,也可以在控制设备中实现,还可以在智能设备130中实现。例如,控制模块240可以是服务器110中的一个功能模块,也可以是控制设备中的一个功能模块,还可以是智能设备130中的一个功能模块。又例如,安全模块220可以在服务器110中实现,也可以在控制设备中实现,还可以在智能设备130中实现。又例如,处理模块230可以在服务器110中实现,也可以在控制设备中实现,还可以在智能设备130中实现。
应当理解,图2所示的系统及其模块可以利用各种方式来实现。例如,在一些实施例中,系统及其模块可以通过硬件、软件或者软件和硬件的结合来实现。其中,硬件部分可以利用专用逻辑来实现;软件部分则可以存储在存储器中,由适当的指令执行系统,例如微处理器或者专用设计硬件来执行。本领域技术人员可以理解上述的方法和系统可以使用计算机可执行指令和/或包含在处理器控制代码中来实现,例如在诸如磁盘、CD或DVD-ROM的载体介质、诸如只读存储器(固件)的可编程的存储器或者诸如光学或电子信号载体的数据载体上提供了这样的代码。本说明书的一个或多个实施例的系统及其模块不仅可以有诸如超大规模集成电路或门阵列、诸如逻辑芯片、晶体管等的半导体、或者诸如现场可编程门阵列、可编程逻辑设备等的可编程硬件设备的硬件电路实现,也可以用例如由各种类型的处理器所执行的软件实现,还可以由上述硬件电路和软件的结合(例如,固件)来实现。
需要注意的是,以上对于控制系统200及其模块的描述,仅为描述方便,并不能把本说明书的一个或多个实施例限制在所举实施例范围之内。可以理解,对于本领域的技术人员来说,在了解该系统的原理后,可能在不背离这一原理的情况下,对各个模块进行任意组合,或者构成子系统与其他模块连接,或者对其中的一个或多个模块进行省略。在一些实施例中,图2披露的通信模块210、安全模块220、处理模块230、控制模块240、存储模块250和输入/输出模块260可以是一个系统中的不同模块,也可以是一个模块实现上述的两个或两个以上模块的功能。例如,通信模块210、安全模块220和处理模块230可以是三个模块,也可以是一个模块同时具有通信模块210、安全模块220和处理模块230的功能。例如一个处理器可以执行安全模块220和处理模块230的功能。在一些实施例中,存储模块250可以包括多个存储单元,各个存储单元分别用于存储不同模块的数据。诸如此类的变形,均在本说明书的一个或多个实施例的保护范围之内。
图3是根据本申请一些实施例所示的计算设备的示例性硬件和/或软件的示意图。在一些实施例中,服务器110、智能设备130和/或终端设备140可以在计算设备300上实现。如图3所示,计算设备300可以包括内部通信总线310、处理器320、只读存储器330、随机存取存储器340、通信端口350、输入/输出接口360、硬盘370以及用户界面380。
内部通信总线310可以实现计算设备300中各组件间的数据通信。例如,处理器320可以通过内部通信总线310将数据发送到存储器或输入/输出端口360等其它硬件中。在一些实施例中,内部通信总线310可以为工业标准(ISA)总线、扩展工业标准(EISA)总线、视频电子标准(VESA)总线、外部部件互联标准(PCI)总线等。在一些实施例中,内部通信总线310可以用于连接图1所示的控制系统200中的各个模块(例如,检测模块290、处理模块230、控制模块240、通信模块210、输入/输出模块260、驱动模块 270)。
处理器320可以执行计算指令(程序代码)并执行本申请描述的控制方法的功能。所述计算指令可以包括程序、对象、组件、数据结构、过程、模块和功能(所述功能指本申请中描述的特定功能)。例如,处理器320可以处理从智能设备130或/和终端设备140中获取的控制指令,并根据控制指令是否满足预设要求以确定是否对智能设备130执行相应操作(如,开锁操作、闭锁操作或提醒操作)。在一些实施例中,处理器320可以包括微控制器、微处理器、精简指令集计算机(RISC)、专用集成电路(ASIC)、应用特定指令集处理器(ASIP)、中央处理器(CPU)、图形处理单元(GPU)、物理处理单元(PPU)、微控制器单元、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、高级精简指令集计算机(ARM)、可编程逻辑器件以及能够执行一个或多个功能的任何电路和处理器等,或其任意组合。仅为了说明,图3中的计算设备300只描述了一个处理器,但需要注意的是,本申请中的计算设备300还可以包括多个处理器。
计算设备300的存储器(例如,只读存储器(ROM)330、随机存取存储器(RAM)340、硬盘370等)可以存储从控制场景100的任何其他组件中获取的数据/信息。在一些实施例中,计算设备300的存储器可以位于智能设备130中,也可以位于服务器110中。示例性的ROM可以包括掩模ROM(MROM)、可编程ROM(PROM)、可擦除可编程ROM(PEROM)、电可擦除可编程ROM(EEPROM)、光盘ROM(CD-ROM)和数字通用盘ROM等。示例性的RAM可以包括动态RAM(DRAM)、双倍速率同步动态RAM(DDR SDRAM)、静态RAM(SRAM)、晶闸管RAM(T-RAM)和零电容(Z-RAM)等。
输入/输出接口360可以用于输入或输出信号、数据或信息。在一些实施例中,输入/输出接口360可以使用户与控制场景100进行交互。例如,输入/输出接口360可以包括通信模块210,以实现控制场景100的通信和提示功能。在一些实施例中,输入/输出接口360可以包括输入装置和输出装置。示例性输入装置可以包括键盘、鼠标、触摸屏和麦克风等,或其任意组合。示例性输出装置可以包括显示设备、扬声器、打印机、投影仪等或其任意组合。示例性显示装置可以包括液晶显示器(LCD)、基于发光二极管(LED)的显示器、平板显示器、曲面显示器、电视设备、阴极射线管(CRT)等或其任意组合。通信端口350可以连接到网络以便数据通信。所述连接可以是有线连接、无线连接或两者的组合。有线连接可以包括电缆、光缆或电话线等或其任意组合。无线连接可以包括蓝牙、Wi-Fi、WiMax、WLAN、ZigBee、移动网络(例如,3G、4G或5G等)等或其任意组合。在一些实施例中,通信端口350可以是标准化端口,如RS232、RS485等。在一些实施例中,通信端口350可以是专门设计的端口。
硬盘370可以用于存储服务器110所产生的或从服务器110所接收到的信息及数据。例如,硬盘370可以储存用户的操作输入。在一些实施例中,硬盘370可以包括机械硬盘(HDD)、固态硬盘(SSD)或混合硬盘(HHD)等。在一些实施例中,硬盘370可以设置于服务器110中或智能设备130中。用户界面380可以实现计算设备300和用户之间的交互和信息交换。在一些实施例中,用户界面380可以用于将控制场景100生成的信息、数据呈现给用户。例如,用户界面380可以将控制场景100的操作检测结果(例如,解锁成功/失败、上锁成功/失败、设备异常等)呈现给用户。在一些实施例中,用户界面380可以包括一个物理显示器,如带扬声器的显示器、LCD显示器、LED显示器、OLED显示器、电子墨水显示器(E-Ink)等。
图4示出了根据本申请一些实施例所示的一种智能设备控制方法的示例性流程图。可以在一些实施例中,流程400可以通过处理逻辑来执行,该处理逻辑可以包括硬件(例如,电路、专用逻辑、可编程逻辑、微代码等)、软件(运行在处理设备上以执行硬件模拟的指令)等,或其任意组合。流程400可以通过图2所示的控制系统200实现。例如, 流程400可以以指令的形式存储在存储设备(例如,存储模块250)中,并由图2所示的模块调用和/或执行。流程400可以通过图1所示的应用场景100的各组件实现。例如,流程400可以由智能设备130(例如,智能设备130中的一个或多个处理器)和/或服务器110来执行。
如图4所示,在一些实施例中,流程400可以包括以下步骤:
步骤410,获取控制指令。在一些实施例中,步骤410可以由控制系统200中的一个或多个模块(例如,通信模块210,安全模块220,处理模块230,和/或输入/输出模块260)实现。在一些实施例中,步骤410可以由智能设备130或服务器110来实现。
在一些实施例中,控制指令用于指示智能设备(例如,智能设备130)进行目标操作。目标操作包括切换智能设备的状态。以智能设备130为,智能锁为例,目标操作可以包括解锁操作、上锁操作、解锁检测操作(例如,检测是否解锁成功)、上锁检测操作(例如,检测是否上锁成功)、异常检测操作等。以智能设备130为电子设备为例,目标操作可以包括开机、关机、进入系统、下载软件等操作请求、登录应用程序(例如,线上支付平台)等。以智能设备130为智能电器(例如,智能电视)为例,目标操作可以包括启动、关闭、换台、切换模式(例如,睡眠模式、节电模式等)等。为便于理解,以下以智能设备130包括智能锁(也称为电子锁)为例、目标操作为解锁操作为例展开说明。可以理解的是,智能设备130可以是除智能锁外的其他智能设备,目标操作也可以是除解锁操作之外的其他操作,此处不做限制。这里所说的智能锁可以是图23、图35、图39-图42和图45-图51描述的智能锁,或是其他任何结构的智能锁,在此不做限制。
在一些实施例中,智能锁可以获取加密指令,并解密加密指令得到控制指令。加密指令包括加密的控制密钥。例如,在用户需要解锁智能锁时,用户可以通过控制设备(例如,终端设备140或智能锁的面板)输入控制密钥(例如,离线密码),控制设备接收到控制秘钥的同时向智能锁请求加密参数(例如,挑战码),由此,控制设备可以通过加密算法(例如,对称加密算法或非对称加密算法)对控制密钥和加密参数进行加密得到加密指令,并将加密指令传输给智能锁,从而智能锁利用解密算法对加密指令进行解密得到控制指令。又例如,终端设备140和智能锁预先约定了公钥和私钥,终端设备140利用存储的私钥对控制密钥和/或加密参数进行加密得到加密指令,智能锁使用存储的私钥进对加密指令进行解密得到控制指令。又例如,终端设备140(例如,NFC卡)根据生成的公私钥对中的私钥和智能锁生成的公私钥对生成会话密钥(例如,第一会话密钥),通过第一会话密钥对控制密钥进行加密并将加密指令和终端设备140生成的公私钥对中的公钥发送给智能锁,智能锁根据生成的公私钥对中的私钥和获取到的公钥生成会话密钥(例如,第二会话密钥),并通过第二会话密钥解密加密指令得到控制指令。又例如,用户可以通过终端设备140向服务器110发送控制密钥(例如,在线密码),服务器110接收到控制密钥后进行加密得到加密指令并将加密指令传输给智能锁,智能锁解密加密指令得到控制指令,这种情况下,需要智能锁处于在线状态(例如,可以与服务器110进行通信)。这里所述的控制密钥可以包括多种类型,例如字符(例如,数字、文字、符号等)类型、语音类型(例如,语音密码)、生物特征(例如,指纹、人脸图像、虹膜信息等)类型、图形密码类型、蓝牙开锁密码或NFC密码类型等。根据控制密钥的类别,用户输入控制密钥的方式不限于键盘、语音采集装置、生物特征采集装置、图像获取装置、蓝牙设备、NFC设备等。关于获取控制指令的更多描述可以参见图24的操作2401的说明。
在一些实施例中,控制密钥可以包括离线密码。例如,离线密码可以是对应唯一的密码标识的离线密码值,以使得在离线密码值被终端设备140获取并使用的情况下,离线密码值对应的密码标识与终端设备140对应的用户相对应,以实现对使用离线密码值的终端用户进行区分。例如,智能锁和/或服务器110可以分别根据相同的离线密码生成算 法生成多个离线密码值。用户可以通过终端设备140像服务器110传输密码获取请求,服务器110从多个离线密码值中确定目标密码值传输给终端设备140,用户将目标密码值作为控制密钥输入智能锁以指示智能锁进行对应的操作。关于离线密码值和对应的密码标识的更多描述可以参见图13-图15的说明。
在一些实施例中,控制密钥通过加解密算法由智能锁生成。例如,在获得加密指令之前,终端设备140获取智能锁生成的公私钥对中的公钥,根据获取的公钥和终端设备140生成的公私钥对中的私钥生成第一会话密钥,并通过第一会话密钥对终端设备140的签名、第一数据和证书进行加密得到验证数据,终端设备140将验证数据和终端设备140生成的公私钥对中的公钥发送给智能锁。智能锁根据生成的公私钥对中的私钥和获得的公钥生成第二会话密钥,并通过第二会话密钥对验证数据进行解密以得到终端设备的签名、第一数据(例如,随机数)和证书,智能锁对解密得到的签名和证书进行验证得到验证结果,若所述验证结果表明签名和证书合法,智能锁生成控制密钥,并通过会话密钥对控制密钥和第一数据加密得到控制数据,并将控制数据发送至终端设备140。终端设备140通过第一会话密钥对控制数据进行解密得到控制密钥和第二数据,比对第一数据和第二数据,若第一数据和第二数据一致,则终端设备140可以通过解密的控制密钥对智能锁进行与控制密钥相对应的操作。通过密钥对控制密钥的加密和解密,提高了安全性。关于通过会话密钥对控制密钥的加密和解密的更多描述可以参见图6-图8的说明。
步骤420,判断所述控制指令是否满足预设条件。在一些实施例中,步骤420可以由处理模块230实现。在一些实施例中,步骤420可以由智能设备130或服务器110来实现。
在一些实施例中,根据控制密钥的类型不同、加密方式不同、目标操作不同等因素,可以有不同的预设条件。判断预设条件的过程可以包括确定身份鉴权是否通过的过程。例如,当加密指令是通过对控制密钥和加密参数加密得到的情况下,预设条件可能为控制密钥为预设密钥和加密参数为预设加密参数。即,当同时满足控制密钥为预设密钥和加密参数为预设加密参数的情况下,可以判断控制指令满足预设条件,也就是身份鉴权通过。又例如,当控制密钥为对应唯一的密码标识的离线密码值时,预设条件可以为智能锁中的第一密码池中是否存在和控制密钥对应的离线密码值相匹配的目标密码值,且目标密码值第一次被使用。即,当满足第一密码池中有匹配的目标密码值且目标密码值为第一次被使用的情况下,可以判断控制指令满足预设条件,也就是身份鉴权通过。又例如,控制密钥为在线密码(例如,在线密码值)时,预设条件可以为在线密码值满足在线密码值的使用限制条件。在线密码值的使用限制条件可以包括使用次数(例如,超过使用次数在线密码值失效)、生效时间段(例如,超过生效时间段在线密码值失效)、是否被冻结(例如,被冻结在线密码值失效)等。在一些实施例中,以目标操作是解锁操作为例,预设条件包括解锁条件。解锁条件还可以包括智能锁是处于上锁状态。即,还需要满足智能锁处于上锁状态的情况下,可以判断控制指令满足预设条件。类似的,以目标操作为上锁操作为例,预设条件可以包括上锁条件。上锁条件还可以包括智能锁处于解锁状态(例如,通过一个或多个锁体传感器)。即,还需要满足智能锁处于解锁状态的情况下,可以判断控制指令满足预设条件。关于预设条件(例如,解锁条件)和身份鉴权的更多描述可以参见图24-图31中操作2402和图45的说明。
在一些实施例中,在控制指令满足预设条件的情况下,执行步骤430;在控制指令不满足预设条件的情况下,执行步骤410或步骤440。
步骤430,控制所述智能设备进行所述目标操作。在一些实施例中,步骤430可以由控制模块240实现。在一些实施例中,步骤430可以由智能设备130和/或服务器110实现。
在一些实施例中,当预设条件满足时,控制模块240可以控制智能设备130执行 目标操作(例如,解锁操作、开锁操作等)。在一些实施例中,在步骤430之后,可以执行一个或多个后续步骤。例如,可以检测目标操作结果,并基于目标操作的检测结果控制智能设备130进行一个或多个后续操作。以智能锁的解锁操作为例,智能锁可以检测解锁操作的完成情况,记录并上报解锁操作相关信息(例如,解锁时间、解锁是否成功、发出解锁操作控制指令的用户信息等),智能锁还可以在解锁成功后执行自动上锁操作。更多关于一个或多个后续步骤和/或后续操作的描述可以参见图24-图31的说明。
步骤440,输出提示信息以提示预设条件不满足。在一些实施例中,步骤440可以由输入/输出模块260实现。在一些实施例中,步骤440可以由智能设备130和/或服务器110实现。
在一些实施例中,提示信息可以通过例如语音、文字、图片等形式通过智能设备130(例如,智能锁的面板)和/或与用户相关的终端设备140呈现给用户。例如,提示信息可以是提示密码错误的语音或文字,也可以是灯光提示(例如,特定颜色的灯光闪烁)等。在一些实施例中,根据用户对智能设备130的设置,在预设条件不满足的情况下还可以通过调用能够与智能锁联动的摄像装置(例如,摄像头或者智能猫眼)来实时记录现场情况。智能设备130可以根据摄像装置摄像范围内的画面监测现场是否有异常行(例如,蓄意遮挡面部、长时间徘徊、在门口做标记等存在偷窃可能性的行为;或乱写乱画、暴力砸门、撬门等恶意实施破坏的行为)。智能设备130在检测到异常行为后,可以记录下异常行为发生的时间,保存相关图像,并上传至服务器110以通知智能设备130的管理者异常情况,以便管理者可以远程采取适当的应对措施。
应当注意的是,上述有关流程400的描述仅仅是为了示例和说明,而不限定本说明书的适用范围。对于本领域技术人员来说,在本说明书的指导下可以对流程400进行各种修正和改变。然而,这些修正和改变仍在本说明书的范围之内。在一些实施例中,步骤440可以省略,即在判断不满足预设条件时,可以不发送提醒信息。
目前安防设备可通过控制密钥进行控制,其中控制密钥可以由安防设备生成并发送至使用该安防设备的终端设备中,如终端设备可以是电子钥匙或门禁卡等,这样用户通过终端设备对安防设备进行控制时可将控制密钥发送给安防设备,实现通过控制密钥对安防设备的控制。
安防设备和终端设备之间可通过非对称加密算法对控制密钥进行加密,但是非对称加密算法会导致对控制密钥进行加密的公钥公开,降低安全性。
在本申请实施例中,本申请的发明人经研究发现:通过非对称加密算法对控制密钥进行加密方式会导致公钥公开,其他用户可以使用该公钥伪造对控制密钥进行加密,从而降低安全性。发明人进一步研究发现,现有技术通过引入证书方式解决这一问题。而本申请解决这一问题采用的技术方案是:
通过终端设备生成公私钥对和安防设备生成公私钥对,在终端设备侧和安防设备侧根据获取到的公钥和自身生成的公私钥对中的私钥生成会话密钥,在终端设备侧通过会话密钥得到验证数据并通过会话密钥对控制数据进行解密得到控制密钥,在安防设备侧通过会话密钥对验证数据进行解密并通过会话密钥对控制密钥进行加密以生成控制数据,实现了通过会话密钥对控制密钥的加密和解密。虽然终端设备侧和安防设备侧的公钥会被公开,但是对于控制密钥进行加密和解密的会话密钥是根据自身的私钥和另一方的公钥生成,这样即便公开公钥,获取到会话密钥的几率也很小,从而在实现通过会话密钥加密和解密控制密钥的同时提高安全性。
安防设备可以是智能设备(例如,智能设备130),例如,安防设备可以是智能锁、门禁设备和需要进行身份认证的设备等等,终端设备可以是门禁卡、电子钥匙和身份认证输入设备等等,门禁卡和电子钥匙可以是基于NFC(Near Field Communication,近场通信)技术与安防设备通信。例如终端设备可以是基于NFC技术的门禁卡,安防设 备可以是智能锁,通过基于NFC技术的门禁卡应用本申请实施例提供的用于处理控制密钥的方法对智能锁进行开锁控制。
在一些实施例中,安防设备可以为本申请一些实施例(如图23-图39)提供的电子锁以及本申请的另一些实施例(如图47-图51)提供的智能锁。在一些实施例中,可以通过本申请实施例提供的用于处理控制密钥的方法,对本申请一些实施例(如图23-图38)提供的电子锁以及本申请的另一些实施例(如图47-图51)提供的智能锁进行开锁控制。
在一些实施例中,本申请实施例提供的用于处理控制密钥的方法还可以在密码识别的过程(包括在线密码生成方法、以及离线密码生成方法)中进行运用。
以下是对本申请实施例提供的用于处理控制密钥的方法进行详细说明。
图5示出了可以应用本申请的用于处理控制密钥的方法或用于处理控制密钥的装置的一些实施例的示例性系统架构500。在一些实施例中,系统架构500可以是图1所示应用场景的一个实施例。
如图5所示,系统架构500可以包括终端设备501、网络502和安防设备的处理器503。网络502用以在终端设备501和安防设备的处理器503之间提供通信链路的介质。网络502可以包括各种无线连接类型,例如蓝牙、近场通信或者射频通信等等。
用户可以使用终端设备501通过网络502与安防设备的处理器503交互,以接收或发送消息等。终端设备501上可以安装有各种客户端应用,例如门锁控制应用等。
终端设备501可以是硬件,也可以是软件。当终端设备501为硬件时,可以是各种电子设备,包括但不限于智能手机、平板电脑、可穿戴设备、增强现实(augmented reality,AR)/虚拟现实(virtual reality,VR)设备、电子钥匙、门禁卡和网关等终端设备,例如基于NFC技术的门禁卡和电子钥匙。当终端设备501为软件时,可以安装在上述所列举的电子设备中。其可以实现成多个软件或软件模块,也可以实现成单个软件或软件模块。本申请实施例对终端设备的具体类型不作任何限制。关于终端设备501的更多描述可以参见图1中关于终端设备130的相关说明。
安防设备的处理器503可以响应于接收到终端设备501发送的公钥和验证数据,根据公钥生成的会话密钥对验证数据进行验证,得到验证结果,若验证结果表明合法,生成控制密钥,并通过会话密钥进行加密发送给终端设备。关于安防设备的处理器503的更多描述可以参见图2关于控制系统200、图3关于处理器320、图39-40关于主控芯片以及图45-图47关于系统控制器的相关说明。
需要说明的是,本申请实施例所提供的用于处理控制密钥的方法可以能够分别由终端设备501和由安防设备的处理器503执行,由终端设备501和安防设备的处理器503执行的处理控制密钥的方法稍有不同,后续详细说明,相应地,用于处理控制密钥的装置分别设置于终端设备501和安防设备的处理器503中,设置于终端设备501和安防设备的处理器503中的处理控制密钥的装置稍有不同,后续详细说明。
应该理解,图5中的终端设备、网络和安防设备的处理器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和安防设备中的处理器。
图6示出了根据本申请的用于处理控制密钥的方法的一个实施例的流程600。该用于处理控制密钥的方法应用于终端设备(例如,终端设备501)中。流程600包括以下步骤:
步骤601,终端设备获取安防设备生成的公私钥对中的公钥,根据终端设备生成的公私钥对中的私钥和获取到的公钥,生成会话密钥。
步骤602,终端设备通过会话密钥对终端设备的签名、终端设备的第一数据和终端设备的证书进行加密,得到验证数据,第一数据作为终端设备中用于进行验证的数据,其一种表现形式可以是终端设备生成的随机数,其用于对安防设备返回的控制数据进行验证,验证过程请参见下述说明。
步骤603,终端设备发送验证数据和终端设备生成的公私钥对中的公钥至安防设备。
步骤604,终端设备获取安防设备生成的控制数据,通过会话密钥对控制数据进行解密,得到控制密钥和控制数据对应的第二数据。
步骤605,终端设备根据控制数据对应的第二数据,确定控制密钥是否用于对安防设备进行与控制密钥相对应的控制(例如,进行与控制密钥对应的目标操作)。例如安防设备为智能锁,控制密钥指示对智能锁进行开锁操作,则终端设备根据控制数据对应的第二数据,确定控制密钥是否用于对智能锁进行开锁。若安防设备为需要进行身份认证的手机,控制密钥可以指示对手机的屏幕从第一状态切换到第二状态(如开屏),则终端设备根据控制数据对应的第二数据,确定控制密钥是否用于对手机的屏幕进行状态切换。
在一些实施例中,第二数据也是终端设备中的一个用于进行验证的数据,其也可以以随机数表现,但是与作为第一数据的随机数不同的是:作为第二数据的随机数是对控制数据解密得到的,与控制数据相关,而作为第一数据的随机数与其他数据无关。
图7示出了根据本申请的用于处理控制密钥的方法的又一个实施例的流程700。该用于处理控制密钥的方法应用于安防设备的处理器(例如,处理器502等)中。流程700包括以下步骤:
步骤701,安防设备的处理器获取终端设备生成的验证数据和终端设备生成的公私钥对中的公钥,根据安防设备生成的公私钥对中的私钥和获取到的公钥,生成会话密钥。
步骤702,安防设备的处理器通过会话密钥对验证数据进行解密,得到终端设备的签名、终端设备的第一数据和终端设备的证书,对终端设备的签名和终端设备的证书进行验证,得到验证结果。
步骤703,安防设备的处理器若验证结果表明终端设备的签名和终端设备的证书合法,生成控制密钥,并通过会话密钥对控制密钥和终端设备的第一数据进行加密,得到控制数据。
步骤704,安防设备的处理器发送控制数据至终端设备。
为了更好地理解本申请实施例提供的上述用于处理控制密钥的方法,图8从终端设备和安防设备的处理器之间的交互对上述用于处理控制密钥的方法进行说明,图8可以包括以下步骤:
步骤801,终端设备生成公私钥对:公钥Card_Puk_T和私钥Card_Prk_T。其中公钥Card_Puk_T可以被公开,私钥Card_Prk_T由终端设备保留使用,终端设备可通过现有算法生成公私钥对,如终端设备通过ECC(椭圆加密算法)生成,并且公私钥对可以是终端设备通过ECC生成的一个临时公私钥对。
所谓临时公私钥对表明终端设备生成的公私钥对是有时间要求的,其在一定时间内有效。例如从终端设备生成公私钥对的时间开始的一定时间内(如预先设置一个有效时间)有效,若从终端设备生成公私钥对的时间开始超过该一定时间,则终端设备再次生成一个临时公私钥对,之前生成的公私钥对无效(即作废)。
步骤802,安防设备的处理器生成公私钥对:公钥Device_Puk_T和私钥Device_Prk_T。同样的对于安防设备的处理器来说,公钥Device_Puk_T可以被公开,私钥Device_Prk_T由安防设备的处理器保留使用,安防设备的处理器通过现有算法生成,对此本实施例不再阐述。安防设备的处理器生成的公私钥对也可以是一个临时公私钥对,其说明请参阅步骤801,对此本实施例不再阐述。
步骤803,安防设备的处理器将公私钥对中的公钥Device_Puk_T发送给终端设备。
在一些实施例中,安防设备的处理器和终端设备之间进行数据交互时遵循双方约 定协议来传输数据,因此安防设备的处理器向终端设备发送公钥Device_Puk_T时以双方约定协议来传输公钥Device_Puk_T。例如安防设备的处理器和终端设备遵循近场通信协议,则安防设备向终端设备发送公钥Device_Puk_T,安防设备的处理器以近场通信协议的要求封装公钥Device_Puk_T进行发送。
这里需要说明的一点是:步骤801和步骤802可以同时执行,也可以先执行步骤802再执行步骤801,在此执行顺序下,步骤803和步骤801可以同时执行。
步骤804,终端设备根据私钥Card_Prk_T和公钥Device_Puk_T,生成会话密钥SessionKey。
步骤805,终端设备通过会话密钥SessionKey对终端设备的签名Sign、终端设备的随机数Random_Card和终端设备的证书CERT进行加密,得到验证数据Encrypted_data,随机数Random_Card为第一数据的一种方式。
从步骤804和步骤805可知,虽然终端设备生成公钥Card_Puk_T和私钥Card_Prk_T,但是终端设备加密时采用是根据私钥Card_Prk_T和安防设备的处理器生成的公钥Device_Puk_T生成的会话密钥SessionKey,这样即便终端设备和安防设备的处理器各自生成的公钥被公开,会话密钥被获取的几率也很低。退一步说就算其他设备获取到终端设备和安防设备的处理器各自生成的私钥,但是生成会话密钥SessionKey的方式很多,其他设备需要依次尝试才能够生成会话密钥SessionKey,因此终端设备用于加密的会话密钥SessionKey被获取的几率非常低。
例如终端设备可通过但不限于通过ECDH(Elliptic Curves Diffie-Hellman,密钥协商)算法和消息摘要算法中的任意一种生成会话密钥SessionKey,如终端设备通过HAMC(Hash Message Authentication Code,散列消息鉴别码)算法生成会话密钥SessionKey。
在一些实施例中,终端设备的证书CERT是在终端设备出厂时写入到终端设备中的,终端设备的证书CERT是由证书中心机构颁发且唯一的(所谓唯一是不同终端设备的证书CERT不同);终端设备的签名Sign和终端设备的随机数Random_Card是由终端设备生成且用于辅助进行身份验证的数据。
终端设备在得到证书、签名和随机数之后,终端设备可以采用对称加密算法进行加密,之所以采用对称加密算法是因为终端设备生成的公私钥对中的私钥是用来生成会话密钥,通过会话密钥进行加密,而非直接采用私钥进行加密,这就意味着终端设备和安防设备的处理器之间不是采用终端设备生成的公私钥对进行加密和解密,说明非对称加密算法不适用于会话密钥,所以本实施例中终端设备采用对称加密算法进行加密,如终端设备可以采用但不限于采用AES(Advanced Encryption Standard,高级加密标准)算法和DES(Data Encryption Standard,数据加密标准)算法进行加密,如验证数据Encrypted_data=AES(SessionKey,Sign+CERT+Random_Card)。
相对于现有非对称加密算法而言,终端设备采用对称加密算法时,其采用的会话密钥SessionKey的位数会小于终端设备采用非对称加密算法采用的密钥,那么终端设备在计算和保存会话密钥SessionKey时可以使用较少资源,使得本申请适用于资源有限的终端设备。
步骤806,终端设备发送验证数据Encrypted_data和公钥Card_Puk_T到安防设备的处理器。同样的,终端设备在向安防设备的处理器发送验证数据Encrypted_data和公钥Card_Puk_T也需要遵循双方约定协议传输。
步骤807,安防设备的处理器在接收到验证数据Encrypted_data和公钥Card_Puk_T后,根据私钥Device_Prk_T和公钥Card_Puk_T,生成会话密钥SessionKey。
在一些实施例中,安防设备的处理器可通过现有密钥生成算法生成会话密钥SessionKey,如安防设备的处理器可通过但不限于通过ECDH算法和消息摘要算法中的任 意一种生成会话密钥SessionKey,如安防设备的处理器通过HAMC算法生成会话密钥SessionKey。
步骤808,安防设备的处理器通过安防设备的处理器的会话密钥SessionKey对验证数据Encrypted_data进行解密,得到终端设备的签名Sign、终端设备的随机数Random_Card和终端设备的证书CERT。
在一些实施例中,终端设备采用何种算法进行加密终端设备的签名Sign、终端设备的随机数Random_Card和终端设备的证书CERT,安防设备的处理器采用相同的算法对验证数据Encrypted_data进行解密。由上述分析可知,本实施例中终端设备采用对称加密算法进行加密,相对应的安防设备的处理器采用对称加密算法进行解密。如终端设备采用AES进行加密,则安防设备的处理器采用AES算法进行解密,如Sign+CERT+Random_Card=AES(SessionKey,Encrypted_data)。
同样的,对于安防设备来说,虽然安防设备的处理器生成公钥Device_Puk_T和私钥Device_Prk_T,但是安防设备的处理器加密时采用是根据私钥Device_Prk_T和终端设备生成的公钥Card_Puk_T生成的会话密钥SessionKey,这样即便安防设备的处理器和终端设备各自生成的公钥被公开,会话密钥被获取的几率也很低。退一步说就算其他设备获取到安防设备的处理器和终端设备各自生成的私钥,但是生成会话密钥SessionKey的方式很多,其他设备需要依次尝试才能够生成会话密钥SessionKey,因此安防设备的处理器用于加密的会话密钥SessionKey被获取的几率非常低。
步骤809,安防设备的处理器对终端设备的签名Sign和终端设备的证书CERT进行验证,得到验证结果,以通过对终端设备的签名Sign和终端设备的证书CERT的双重验证来提高安全性。
步骤810,若验证结果表明终端设备的签名Sign和终端设备的证书CERT合法,安防设备的处理器生成控制密钥AuthKey。
其中若验证结果表明终端设备的签名Sign和终端设备的证书CERT合法,说明安防设备的处理器通过解密得到的终端设备的签名Sign和终端设备的证书CERT属于终端设备,此时安防设备的处理器可以生成控制密钥AuthKey。
在一些实施例中,安防设备的处理器生成控制密钥AuthKey的一种方式是:获取终端设备的身份标识CID和安防设备的处理器的真随机数MK,根据终端设备的身份标识CID和安防设备的处理器的真随机数MK生成控制密钥AuthKey,如通过现有密钥生成算法生成控制密钥AuthKey,例如控制密钥AuthKey=HAMC(MK,CID)。
在这里需要说明的一点是:安防设备的处理器仅有一个真随机数MK,且不同安防设备的处理器的真随机数MK不同,而对于上述终端设备的随机数Random_Card而言,终端设备可以有多个随机数Random_Card,且不同终端设备之间的随机数Random_Card可能相同。
步骤811,安防设备的处理器通过安防设备的处理器的会话密钥SessionKey对控制密钥AuthKey和终端设备的随机数Random_Card进行加密,得到控制数据。
在一些实施例中,安防设备的处理器同样采用对称加密算法对控制密钥AuthKey和终端设备的随机数Random_Card进行加密,安防设备的处理器为何采用对称加密算法请参见上述说明。如控制数据=AES(SessionKey,AuthKey+Random_Card)。
步骤812,安防设备的处理器将控制数据发送给终端设备。
步骤813,终端设备对通过终端设备的会话密钥SessionKey对控制数据进行解密,得到控制密钥AuthKey和控制数据对应的随机数,控制数据对应的随机数为第二数据的一种方式。
同样的,安防设备的处理器采用何种算法加密得到控制数据,终端设备采用相同算法解密,如安防设备的处理器采用AES算法,控制数据=AES(SessionKey,AuthKey+ Random_Card),则终端设备同样采用AES算法进行解密,AuthKey+Random_Card=AES(SessionKey,控制数据),注意终端设备解密时的SessionKey是终端设备的。
步骤814,终端设备根据控制数据对应的随机数,确定控制密钥是否用于对安防设备进行与控制密钥相对应的控制。其中终端设备确定控制密钥是否用于对安防设备进行与控制密钥相对应的控制的一种方式是:将控制数据对应的第二数据和终端设备生成的第一数据,如将控制数据对应的随机数和终端设备生成的随机数进行比对,若两个数据一致,说明控制数据对应的第二数据就是终端设备生成的第一数据,意味着终端设备能够通过控制密钥对安防设备进行与控制密钥相对应的控制。此外本申请提供的用于处理控制密钥的方法还可以包括:若控制数据对应的第二数据与终端设备的第一数据相同,保存控制密钥。
在终端设备确定控制密钥用于对安防设备进行与控制密钥相对应的控制时,终端设备可以进一步向安防设备发送成功指令,该成功指令指示控制密钥有效/终端设备能够采用控制密钥对安防设备进行与控制密钥相对应的控制,安防设备则将终端设备的身份标识保存,如将终端设备的身份标识加入白名单中,这样后续终端设备针对安防设备触发与控制密钥相对应的控制操作后,安防设备执行与控制密钥相对应的控制动作。
若终端设备确定控制密钥不能用于对安防设备进行与控制密钥相对应的控制,终端设备放弃控制密钥,此时终端设备向安防设备发送失败指令,安防设备将终端设备的身份标识加入黑名单中。
在一些实施例中,上述终端设备生成会话密钥的一种可选的实施方式是:终端设备根据终端设备生成的公私钥对中的私钥和获取到的公钥,生成共享密钥;终端设备表根据共享密钥和终端设备的身份标识,生成会话密钥。其中终端设备生成共享密钥和会话密钥采用的密钥生成算法本实施例不加以限定,例如终端设备生成共享密钥的一种可选的实施方式是:终端设备的共享密钥ShareKey=ECDH(Device_Puk_T,Card_Prk_T);终端设备的会话密钥SessionKey=HMAC(ShareKey+CID)。
同样的对于安防设备,安防设备的处理器生成会话密钥的方式与终端设备相类似,不同之处在于安防设备的处理器生成会话密钥基于的数据与终端设备生成会话密钥基于的数据不同,如安防设备的处理器生成会话密钥的一种可选的实施方式是:
安防设备的处理器根据安防设备的处理器生成的公私钥对中的私钥和获取到的公钥,生成共享密钥;安防设备的处理器根据共享密钥和终端设备的身份标识,生成会话密钥,终端设备的身份标识通过设备选取请求得到,即安防设备的处理器向终端设备发送设备选取请求,终端设备向安防设备的处理器反馈终端设备的身份标识。
由上述终端设备生成会话密钥和安防设备的处理器生成会话密钥的过程可知:终端设备和安防设备的处理器是根据自身生成的私钥、对方生成的公钥和终端设备的身份标识,生成会话密钥,至于终端设备和安防设备的处理器生成会话密钥时采用的密钥生成算法本申请不加以限定。
在一些实施例中,终端设备生成签名的一种可选的实施方式是:终端设备根据终端设备生成的公私钥对和终端设备的身份标识生成签名。一种可选方式是:终端设备根据终端设备生成的公私钥对中的公钥和终端设备的身份标识,生成哈希值,如哈希值HASH=SHA256(Card_Puk_T+CID),SHA为现有安全散列算法中生成256为哈希值的安全散列算法;终端设备再根据哈希值和终端设备生成的公私钥对中的私钥生成终端设备的签名,如终端设备采用现有签名算法生成签名,如签名Sign=ECDSA(Card_Prk_LT,HASH),ECDSA为现有签名算法中的椭圆曲线数字签名算法。
在一些实施例中,安防设备的处理器对终端设备的签名和终端设备的证书进行验证以得到验证结果的一种可选的实施方式是:
安防设备的处理器获取终端设备的证书对应的证书摘要以及证书签名;安防设备 的处理器通过终端设备的证书的公钥,对证书摘要和证书签名进行验证、以及通过获取到的公钥对终端设备的签名进行验证,得到验证结果。
其中终端设备的证书包括:证书的公钥、证书的私钥、证书摘要、证书签名、终端设备的身份标识和剩余数据,剩余数据是证书中心机构按照EMV(Europay Master Card Visa)标准定义的证书规范所引入的可以理解为一种特殊字段的组合。证书摘要可通过剩余数据和终端设备生成的公私钥对中的公钥获得,证书签名则可以通过证书摘要和证书的私钥获得,其过程如下:
证书摘要Cert_HASH=SHA256(Card_Puk_LT+剩余数据);
证书签名CERT_Sign=Sign(CA_PRK,Cert_HASH),CA_PRK,为证书的私钥。
终端设备在获得证书摘要以及证书签名之后,终端设备可通过现有签名算法进行验证,如验证过程为Verify=ECDSA(CA_PUK,CERT_Sign,Cert_HASH)。同样的终端设备也可通过现有签名算法对在终端设备的签名进行验证,其验证过程为Verify=ECDSA(Card_Puk_LT,Sign,HASH),其中HASH=SHA256(Card_Puk_T+CID),当然HASH也可以采用其他方式获取,对此本实施例不做限定。
从上述技术方案可知,本申请实施例提供的用于处理控制密钥的方法,通过终端设备生成公私钥对和安防设备生成公私钥对,在终端设备侧和安防设备侧根据获取到的公钥和自身生成的公私钥对中的私钥生成会话密钥,在终端设备侧通过会话密钥得到验证数据并通过会话密钥对控制数据进行解密得到控制密钥,在安防设备侧通过会话密钥对验证数据进行解密并通过会话密钥对控制密钥进行加密以生成控制数据,实现了通过会话密钥对控制密钥的加密和解密,并且对于终端设备侧和安防设备侧来说,双方交互的数据除控制数据之外还包括双方的公钥和验证数据,公钥的作用是用于得到会话密钥,验证数据则是用于安防设备进行验证,因此虽然控制数据、双方的公钥和验证数据被公开,但是通过这些数据无法获知加密和解密对应的会话密钥,从而提高安全性。
在研究本申请提供的用于处理控制密钥的方法时,本申请的发明人发现安防设备和终端设备之间采用最多的通信方式是短距离的射频通信,在这种通信方式下安防设备和终端设备容易受到中间人攻击、重放/洪范攻击和字典攻击。
为此在本申请中,安防设备的处理器和终端设备为控制密钥生成一对安全的会话密钥,对于其他设备来说,安防设备的处理器和终端设备公开有限的空口包数据,如上述安防设备的处理器和终端设备各自的公钥、验证数据和控制数据,但是会话密钥是没有公开且安全的,从而提高安全性。并且针对中间人攻击、重放/洪范攻击和字典攻击,本申请采用如下方式解决:
中间人攻击:终端设备的签名由终端设备的公私钥对参与,在安防设备端通过终端设备的证书和终端设备的签名的双重验证来抵御中间人攻击;
重放/洪范攻击:安防设备的处理器和终端设备生成的公私钥对可以是一个临时公私钥对,再通过终端设备生成的随机数来抵御重放/洪范攻击;
字典攻击:通过终端设备生成的随机数,以及在安防设备端通过终端设备的证书和终端设备的签名的双重验证来抵御字典攻击。
下面结合应用场景对本申请提供的用于处理控制密钥的方法进行说明,例如安防设备可以是一个智能锁,终端设备可以是基于NFC技术的门禁卡,门禁卡和智能锁之间通过NFC协议进行通信,且门禁卡中存储有控制智能锁开锁的控制密钥,当门禁卡与智能锁相接触时通过控制密钥可以控制智能锁开锁,相对应的智能锁和门禁卡应用本申请提供的用于处理控制密钥的方法生成控制密钥以及控制智能锁进行开锁的过程如下:
智能锁和门禁卡都各自生成公私密钥对,并将各自生成的公私密钥对中的公钥发送给对方;门禁卡根据自身生成的私钥和智能锁的公钥生成一个会话密钥,然后通过会 话密钥对门禁卡的签名、门禁卡生成的随机数和门禁卡的证书进行加密以得到一个验证数据,验证数据可以随门禁卡的公钥一起发送给智能锁。
智能锁在接收到验证数据和门禁卡的公钥的情况下,智能锁根据自身生成的私钥和门禁卡的公钥也生成一个会话密钥,利用自身生成的会话密钥对验证数据进行解密,以得到门禁卡的签名、门禁卡生成的随机数和门禁卡的证书。若智能锁验证出门禁卡的签名和门禁卡的证书合法,会生成一个控制密钥,将控制密钥和门禁卡生成的随机数加密生成控制数据,并将控制数据发送给门禁卡。
门禁卡在得到控制数据之后,通过门禁卡的会话密钥对控制数据进行解密,得到控制密钥和控制数据对应的随机数,若控制数据对应的随机数和门禁卡生成的随机数相同,则说明门禁卡具有对智能锁进行开锁的权限,此时智能锁开锁。
门禁卡再次控制智能锁开锁时可直接使用控制密钥,如门禁卡基于NFC技术与智能锁通信,将门禁卡和智能锁之前验证过的控制数据发送给门禁卡,由门禁卡验证控制数据对应的随机数,以在验证与门禁卡生成的随机数相同时可控制智能锁开锁。又或者,门禁卡在通过控制密钥对智能锁进行开锁之后,智能锁保存门禁卡的身份标识;当门禁卡再次控制智能锁开锁时,智能锁验证门禁卡的身份标识是否保存在智能锁中,如果保存在智能锁中,则可以控制智能锁开锁。
本申请提供的用于处理控制密钥的方法除应用到上述智能锁和基于NFC技术的门禁卡之后,还可以应用到其他设备中,例如安防设备可以是一个需要进行身份认证的设备,如需要进行身份认证的家居设备(简称设备1,如电视),终端设备可以是一个身份认证输入设备,(简称设备2,如话筒),通过话筒采集用户的声音数据进行身份认证,设备1可参照上述智能锁的流程生成控制数据,设备2可参照上述门禁卡的流程对控制数据进行解密,若解密出的随机数与设备2生成的随机数相同,则通过解密出的控制密钥控制设备1进行状态切换,如状态切换可以是预先设置的一种切换,例如控制设备1进行换台或者关机等等,状态切换可根据用户需求变化。设备1在进行状态切换过程中,还可以保存设备2的身份标识(如设备2对应的用户的声音数据),设备2再次控制设备1进行这种状态切换时,设备1可以验证设备2的身份标识是否保存在设备1中,若保存在设备1中可以控制设备1进行状态切换。
在一些实施例中,本申请还提供一种通过一张NFC(Near Field Communication)卡对多个安防设备进行离线开锁的方法。这里所说的离线开锁是指开锁过程中,安防设备可以处于离线状态(即与服务器无法通信)。便于描述,以电子锁为例进行说明,该方法可以包括以下几个阶段:
工厂制卡阶段:工厂制造NFC卡时,向NFC卡写入服务器的公钥、卡片的公私钥对以及对应的证书。
电子锁制造阶段:电子锁制造出厂前,向电子锁写入服务器的公钥和电子锁的公私钥对。
电子锁绑定阶段:服务器将电子锁所属的组号及项目号下发给电子锁。
权限录入阶段:在使用制造好的NFC卡开门之前,需要在录入器上将该NFC卡对应的电子锁开锁权限写入NFC卡,其中,权限信息可以包括:权限有效期、NFC卡对应的电子锁的项目号和组号列表。
数据安全通讯阶段:将权限信息在服务器上采用服务器私钥加密后,依托录入器写入NFC卡,NFC卡采用服务器的公钥即可解密出权限信息。
激活开门阶段:将NFC卡贴近电子锁读卡区域,先完成NFC卡校验及电子锁校验,并实现通讯秘钥的交换;NFC卡将自己的权限信息通过通讯秘钥加密之后,传递给电子锁。例如,将NFC卡贴近电子锁读卡区域时,NFC卡获取电子锁的公钥,NFC卡根据NFC卡的私钥和电子锁的公钥生成第一会话密钥对NFC卡的证书和NFC卡生成的第 一随机数进行加密后和NFC卡的私钥一起传递给电子锁,电子锁通过电子锁的私钥和接收到的NFC卡的公钥生成会第二话密钥解密得到NFC卡的证书和NFC卡生成的随机数,电子锁验证通过NFC卡的证书后生成控制密钥,并对控制密钥和NFC卡的随机数进行加密得到控制数据,NFC卡根据第二会话密钥解密控制数据得到控制密钥和第二随机数,在判断第一随机数和第二随机数一致后完成NFC卡校验和电子锁校验,继而,NFC卡将解密的权限信息通过第一会话密钥进行加密传送给电子锁,电子锁通过第二会话密钥解密得到NFC卡的权限信息。进一步,电子锁从获取到的权限信息中判断自己的组号是否在组号列表中,项目号是否相同,权限是否在有效期内,如果都匹配则直接开门;否则,提示开门失败。
NFC卡删除阶段:服务器将电子锁对应的待删除的卡片的ID及对应的有效期远程下发给电子锁,电子锁将此ID维护在本地的黑名单中,下次NFC片开锁时,先校验NFC卡ID是否存在黑名单中,黑名单中的NFC卡不允许对该电子锁进行开门。
在一些实施例中,电子锁依托服务器下发的有效期信息,自动维护黑名单中的NFC卡ID,当超过有效期时,自动将NFC卡ID移除黑名单。
通过上述方法可以实现通过一张NFC卡对多个电子锁进行解锁的效果,以便工作人员通过一张NFC卡可以灵活对多个电子锁进行管理。
图9,作为对以上一些图所示方法的实现,提供了一种用于处理控制密钥的装置的一个实施例,该装置实施例与图6所示的方法实施例相对应,该装置具体可以应用于各种终端设备中。
如图9所示,本实施例的用于处理控制密钥的装置900包括:第一获取单元901、加密单元902、发送单元903、第二获取单元904和确定单元905。在一些实施例中,第一获取单元901、发送单元903和第二获取单元904可以是图2所示的通信模块210的一部分。在一些实施例中,加密单元902可以图2所示的安全模块220的一部分。在一些实施例中,确定单元905可以是图2所示的处理模块230的一部分。
第一获取单元901,被配置成获取安防设备生成的公私钥对中的公钥,根据终端设备生成的公私钥对中的私钥和获取到的公钥,生成会话密钥。
加密单元902,被配置成通过会话密钥对终端设备的签名、终端设备的第一数据和终端设备的证书进行加密,得到验证数据。
发送单元903,被配置成发送验证数据和终端设备生成的公私钥对中的公钥至安防设备。
第二获取单元904,被配置成获取安防设备生成的控制数据,通过会话密钥对控制数据进行解密,得到控制密钥和控制数据对应的第二数据。
确定单元905,被配置成根据控制数据对应的第二数据,确定控制密钥是否用于对安防设备进行与控制密钥相对应的控制。
在一些实施例中,第一获取单元901、加密单元902、发送单元903、第二获取单元904和确定单元905的具体处理及其带来的技术效果可分别参考图6对应实施例中步骤601至步骤605的实施例的相关说明,以及参考图8对应实施例中步骤的相关说明,在此不再赘述。
在本实施例的一些可选的实现方式中,第一获取单元901,具体被配置成根据终端设备生成的公私钥对中的私钥和获取到的公钥,生成共享密钥;根据共享密钥和终端设备的身份标识,生成会话密钥。
加密单元902中需要加密的终端设备的签名,根据终端设备生成的公私钥对和终端设备的身份标识生成。如终端设备的签名根据终端设备生成的公私钥对和终端设备的身份标识生成包括:根据终端设备生成的公私钥对中的公钥和终端设备的身份标识,生成哈希值;根据哈希值和终端设备生成的公私钥对中的私钥,生成终端设备的签名。
在本实施例的一些可选的实施方式中,用于处理控制密钥的装置900还包括:保存单元,被配置成若控制数据对应的第二数据与终端设备的第一数据相同,保存控制密钥,说明请参见上述方法实施例,在此不再赘述。
图10,作为对以上一些图所示方法的实现,提供了一种用于处理控制密钥的装置的一个实施例,该装置实施例与图7所示的方法实施例相对应,该装置具体可以应用于各种安防设备的处理器中。
如图10所示,本实施例的用于处理控制密钥的装置1000包括:密钥获取单元1001、解密单元1002、验证单元1003、密钥生成单元1004、加密单元1005和发送单元1006。在一些实施例中,密钥获取单元1001和发送单元1006可以是图2所示的通信模块210的一部分。在一些实施例中,解密单元1002、验证单元1003和加密单元1005可以图2所示的安全模块220的一部分。在一些实施例中,密钥生成单元1004可以是图2所示的处理模块230的一部分。
密钥获取单元1001,被配置成获取终端设备生成的验证数据和终端设备生成的公私钥对中的公钥,根据安防设备生成的公私钥对中的私钥和获取到的公钥,生成会话密钥。
解密单元1002,被配置成通过会话密钥对验证数据进行解密,得到终端设备的签名、终端设备的第一数据和终端设备的证书。
验证单元1003,被配置成对终端设备的签名和终端设备的证书进行验证,得到验证结果。
密钥生成单元1004,被配置成若验证结果表明终端设备的签名和终端设备的证书合法,生成控制密钥。
加密单元1005,被配置成通过会话密钥对控制密钥和终端设备的第一数据进行加密,得到控制数据。
发送单元1006,被配置成发送控制数据至终端设备。
在一些实施例中,密钥获取单元1001、解密单元1002、验证单元1003、密钥生成单元1004、加密单元1005和发送单元1006的具体处理及其带来的技术效果可分别参考图7对应实施例中步骤701至步骤704的实施例的相关说明,以及参考图8对应实施例中步骤的相关说明,在此不再赘述。
在本实施例的一些可选的实现方式中,验证单元1003,具体被配置成获取终端设备的证书对应的证书摘要以及证书签名;通过终端设备的证书的公钥,对证书摘要和证书签名进行验证、以及通过获取到的公钥对终端设备的签名进行验证,得到验证结果。
在本实施例的一些可选的实现方式中,密钥生成单元1004,具体被配置成根据安防设备生成的公私钥对中的私钥和获取到的公钥,生成共享密钥;根据共享密钥和终端设备的身份标识,生成会话密钥,终端设备的身份标识通过设备选取请求得到。
需要说明的是,用于处理控制密钥的装置900和用于处理控制密钥的装置1000中的至少一种装置可以是芯片,组件或模块,用于处理控制密钥的装置900可包括处理器和存储器,第一获取单元901、加密单元902、发送单元903、第二获取单元904和确定单元905等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
处理器中可以包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或多个,通过调整内核参数来提高安全性。存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。
同样的,用于处理控制密钥的装置1000可包括处理器和存储器,密钥获取单元1001、解密单元1002、验证单元1003、密钥生成单元1004、加密单元1005和发送单元 1006等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
处理器中可以包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或多个,通过调整内核参数来提高安全性。存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。
本申请的上述实施例提供的用于处理控制密钥的装置,通过终端设备生成公私钥对和安防设备生成公私钥对,在终端设备侧和安防设备侧根据获取到的公钥和自身生成的公私钥对中的私钥生成会话密钥,在终端设备侧通过会话密钥得到验证数据并通过会话密钥对控制数据进行解密得到控制密钥,在安防设备侧通过会话密钥对验证数据进行解密并通过会话密钥对控制密钥进行加密以生成控制数据,实现了通过会话密钥对控制密钥的加密和解密,并且对于终端设备侧和安防设备侧来说,双方交互的数据除控制数据之外还包括双方的公钥和验证数据,公钥的作用是用于得到会话密钥,验证数据则是用于安防设备进行验证,因此虽然控制数据、双方的公钥和验证数据被公开,但是通过这些数据无法获知加密和解密对应的会话密钥,实现了提高安全性的目的。
进一步,本申请示出了用于处理控制密钥的系统,用于处理控制密钥的系统包括:终端设备和安防设备,如图5所示,图5中以终端设备501和安防设备的处理器503为例进行说明。
终端设备,被配置成获取安防设备生成的公私钥对中的公钥,根据终端设备生成的公私钥对中的私钥和获取到的公钥,生成会话密钥;通过会话密钥对终端设备的签名、终端设备的第一数据和终端设备的证书进行加密,得到验证数据;发送验证数据和终端设备生成的公私钥对中的公钥至安防设备;获取安防设备生成的控制数据,通过会话密钥对控制数据进行解密,得到控制密钥和控制数据对应的第二数据;根据控制数据对应的第二数据,确定控制密钥是否用于对安防设备进行与控制密钥相对应的控制。
安防设备,被配置成获取终端设备生成的验证数据和终端设备生成的公私钥对中的公钥,根据安防设备生成的公私钥对中的私钥和获取到的公钥,生成会话密钥;通过会话密钥对验证数据进行解密,得到终端设备的签名、终端设备的第一数据和终端设备的证书,对终端设备的签名和终端设备的证书进行验证,得到验证结果;若验证结果表明终端设备的签名和终端设备的证书合法,生成控制密钥,并通过会话密钥对控制密钥和终端设备的第一数据进行加密,得到控制数据;发送控制数据至终端设备。
对于终端设备和安防设备的时序图可参照上述图4所示,此处不再赘述。
图11示出了适于用来实现本申请一些实施例的终端设备1100的结构示意图。图11示出的终端设备仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。图11所示的终端设备1100可以是图5所示的终端设备501和/或图1所示的终端设备140的一个具体实施例。
如图11所示,终端设备1100可以包括处理器1101、存储器1102、通信接口1103、输入单元1104、输出单元1105和通信总线1106。其中,处理器1101和存储器1102通过通信总线1106彼此相连。通信接口1103、输入单元1104和输出单元1105也连接至通信总线1106。
通信接口1103可以为通信模块的接口,如GSM模块的接口。通信接口1103可以用于发送验证数据和终端设备生成的公私钥对中的公钥至安防设备,通信接口1103还用于接收安防设备生成的控制数据。关于通信接口1103的更多描述可以参见图3中关于通信端口350的相关说明。
在本申请实施例中,处理器1101,可以为中央处理器(Central Processing Unit,CPU)、特定应用集成电路(application-specific integrated circuit,ASIC)、数字信号处理器 (DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件等。关于处理器1101的更多描述可以参见图3中关于处理器320的相关说明。
在一种可能的实现方式中,存储器1102可包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、以及至少一个功能(比如加密解密功能、验证功能等)所需的应用程序等;存储数据区可存储根据计算机的使用过程中所创建的数据,比如,公钥、私钥、第一数据、第二数据以及控制数据等等。
此外,存储器1102可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件或其他易失性固态存储器件。关于存储器1102的更多描述可以参见图3中关于只读存储器330和随机存取存储器340的相关说明。
处理器1101可以调用存储器1102中存储的程序,具体的,处理器1101可以执行以上图6和图8中任一实施例所示的用于处理控制密钥的方法。
存储器1102中用于存放一个或者一个以上程序,程序可以包括程序代码,所述程序代码包括计算机操作指令,在本申请实施例中,存储器1102中至少存储有用于实现以下功能的程序:
获取安防设备生成的公私钥对中的公钥,根据终端设备生成的公私钥对中的私钥和获取到的公钥,生成会话密钥;
通过会话密钥对终端设备的签名、终端设备的第一数据和终端设备的证书进行加密,得到验证数据;
发送验证数据和终端设备生成的公私钥对中的公钥至安防设备;
获取安防设备生成的控制数据,通过会话密钥对控制数据进行解密,得到控制密钥和控制数据对应的第二数据;
根据控制数据对应的第二数据,确定控制密钥是否用于对安防设备进行与控制密钥相对应的控制。
本申请还可以包括输入单元1104,输入单元1104可以包括感应触摸显示面板上的触摸事件的触摸感应单元、键盘、鼠标、摄像头、拾音器等设备中的至少一个。
输出单元1105可以包括:显示器、扬声器、振动机构、灯等设备中的至少一个。显示器可以包括显示面板,如触摸显示面板等。在一种可能的情况中,可以采用液晶显示器(Liquid Crystal Display,LCD)、有机发光二极管(Organic Light-Emitting Diode,OLED)等形式来配置显示面板。振动机构在工作时可以使电子设备1100发生位移,在一种可能的实现方式中,振动机构包括电动机和偏心振子,电动机带动偏心振子转动从而产生振动。灯的亮度和/或颜色可调,在一种可能的实现方式中,可通过灯的亮灭、亮度、颜色中的至少一个体现不同的信息,如通过灯发出红色光体现报警信息。关于输入单元1104和/或输出单元1105的更多描述可以参见图3中关于输入/输出360的相关说明。
当然,图11所示的终端设备1100的结构并不构成对本申请实施例中终端设备的限定,在实际应用中终端设备可以包括比图11所示的更多或更少的部件,或者组合某些部件。
本申请实施例提供了一种计算机可读介质,其上存储有计算机程序,其中,该程序被处理器执行时实现以上各方法实施例描述的用于推送信息的方法。
本申请实施例提供了一种处理器,该处理器用于运行程序,其中,该程序运行时实现以上各方法实施例描述的用于处理控制密钥的方法。
本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,使得数据处理设备实现以上各方法实施例描述的用于处理控制密钥的方法。
其中,本申请的上述实施例提供的终端设备、处理器、计算机可读介质或计算机程序产品可以均用于执行上文所提供的对应的方法,因此,其所能达到的有益效果可参考上文所提供的对应的方法中的有益效果,此处不再赘述。
目前智能门锁一般都具备联网控制功能,通过常见的无线传输方式(包括:ZigBee/Wifi/433/NB-IoT/BLE等)和外部设备以及云服务器进行通信,包括密码下发等。而为了应对无法联网的情况下,无法正常下发密码时,部分智能门锁使用离线密码生成方式,通过和设备进行特定序列的输入交互,在门锁本地生成一定时间范围内有效的固定密码。
而目前最常用的一种智能门锁离线密码实现方案中,是约定指定算法在同一时间范围内生成固定的密码值,但是这种实现方案中的密码值在一定时间范围固定,可以多次重复输入,无法有效限制密码使用范围。
而另外一种常见的离线密码生成方案是根据不同的时间生成不同的密码值,相对一定时间范围的固定密码值,密码重复概率小。但是这种方案中所生成的密码值较长,且密码值自身无法有效反映授权用户信息,所有用户都可以获取一样的密码值,无法进行不同用户的开锁行为区分。
基于以上现有方案中的缺陷,发明人进一步研究发现,可以为离线密码配置唯一的密码标识,就可以在用户通过终端请求离线密码进行开锁时,将密码标识与用户之间建立对应关系,由此来区分出不同用户。
本申请实施例提供的一种用于处理设备离线密码的方法和装置中,通过在获取到设备的多个离线密码值之后,也获取每个离线密码值各自对应的密码标识,而且密码标识唯一,基于此,在离线密码值被终端获取并使用的情况下,离线密码值对应的密码标识能够与终端对应的目标用户相对应,进而本申请实施例中通过为离线密码值配置唯一的密码标识,就能够实现对使用该离线密码值的终端用户进行区分,实现本申请目的。
在本申请实施例中,处理设备离线密码的方法可以使用于本申请一些实施例(如图23-图39)提供的电子锁以及本申请的另一些实施例(如图47-图52)提供的智能锁中,通过该方法为电子锁以及智能锁提供离线密码以进行解锁。
以下是对本申请实施例提供的处理设备离线密码的方法进行详细说明。
图12示出了可以应用本申请的用于处理设备离线密码的方法或用于处理设备离线密码的装置的一些实施例的示例性系统架构1200。系统架构1200是图1所示的应用场景的一个具体实施例。
如图12所示,系统架构1200可以包括终端1201、终端1202、终端1203、设备1204、网络1205、服务器1206。网络1205用以在终端1201、终端1202、终端1203和服务器1206之间提供通信链路的介质。网络1205可以包括各种连接类型,例如无线通信链路等等。
不同用户可以分别使用终端1201、1202、1203通过网络1205与服务器1206进行交互,以接收或发送消息等。终端1201、1202、1203上可以安装与门锁相关的客户端应用,还可以安装有其他各种客户端应用,例如购物类应用、搜索类应用、社交平台软件等。
终端1201、1202、1203可以是硬件,也可以是软件。当终端1201、1202、1203为硬件时,可以是各种电子设备,包括但不限于智能手机、平板电脑、可穿戴设备、车载设备、增强现实(augmented reality,AR)/虚拟现实(virtual reality,VR)设备、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本、个人数字助理(personal digital assistant,PDA)、电子书阅读器、MP3(Moving Picture Experts Group Audio Layer III,动态影像专家压缩标准音频层面3)播放器、MP4(Moving Picture Experts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、膝上型便携计算机、台式计算机、智能电表、智能水表、智能猫眼、网关等电子设备。当终端1201、1202、1203为软件时,可以安装在上述所列举的电子设备中。其可以实现成多个软件或软件模块(例如用来提供分布式服务),也可以实现成单个软件或软件模块。 本申请实施例对电子设备的具体类型不作任何限制。关于终端1201、1202和/或1203的更多描述可以参见图1中关于终端设备140的相关说明。
设备1204可以为能够通过离线密码进行控制或处理的智能设备,如智能电子锁等,智能电子锁中配置有处理器和存储器等设备,能够进行指令的处理,以实现相应的功能,下文中以设备1204为电子锁1204为例进行详细说明。关于设备1204的更多描述可以参见图1中关于智能设备130的相关说明。
服务器1206可以是提供电子锁离线密码相关服务的服务器,服务器1206还能够提供其他各种类型服务。例如对终端1201、1202、1203提供离线密码支持的后台服务器。后台服务器可以响应于接收到终端1201、1202、1203发送的密码获取请求,对该请求进行分析等处理,得到处理结果(例如待推送信息),并返回该处理结果,如将离线密码值传输给终端等。
需要说明的是,服务器可以是硬件,也可以是软件。当服务器为硬件时,可以实现成多个服务器组成的分布式服务器集群,也可以实现成单个服务器。当服务器为软件时,可以实现成多个软件或软件模块(例如用来提供分布式服务),也可以实现成单个软件或软件模块。在此不做具体限定。关于服务器1206的更多描述可以参见图1中关于服务器110的相关说明。
需要说明的是,本申请实施例所提供的用于处理设备离线密码的方法分别由电子锁1204和服务器1206执行,用于处理设备离线的装置一般设置于电子锁1204和服务器1206中,而用于处理设备离线密码的方法也分别在电子锁1204和服务器1206两端执行,相应地,用于处理设备离线的装置一般设置于电子锁1204和服务器1206中。
应该理解,图12中的终端、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端、网络和服务器。
其中,本申请中的离线密码可以用于控制电子锁进行相应处理,例如控制电子锁进行解锁;离线密码中也可以被加入其它字符以形成功能码,进而可以控制电子锁进入设置状态,以便于对电子锁的参数等进行设置,等等。
图13示出了根据本申请的用于处理设备离线密码的方法的一个实施例的流程。该用于处理设备离线密码的方法分别在电子锁和服务器上进行,也就是说,本实施例中用于处理设备离线密码的方法的执行主体分别为电子锁和服务器,如图12中的处于离线状态的电子锁1204和服务器1206,由此在电子锁和服务器两侧分别生成电子锁的离线密码值,这里的离线状态是指电子锁1204与服务器1206之间不能通过网络连接的状态。
具体的,该方法可以包括以下步骤:
步骤1301,获取设备的多个离线密码值。
在一些实施例中,可以基于当前的时间信息来生成相应的多个离线密码值。例如,将当前的时间信息作为数据基础,再结合电子锁设备信息等内容进行相应的计算出来,得到多个离线密码值。当然,除了以当前的时间信息为基础来生成相应的多个离线密码值,也可以以其它信息为基础例如以设备码或者随机数为基础来生成多个离线密码值。
步骤1302,获取每个离线密码值各自对应的密码标识。
在一些实施例中,密码标识唯一,这里的唯一是指:多个不重复或者说是在一定时间范围或数量范围内不重复。例如,一年内的多个离线密码值分别对应于不同的密码标识;或者,在生成或使用的前1000个离线密码值中各自对应的密码标识均不同;或者,在电子锁声明周期内所对应的离线密码值各自对应的密码标识均不相同,等等。
基于此,电子锁和服务器两侧均采用以上方案生成多个离线密码值,并且每个离线密码值均具有唯一对应的密码标识,在某个用户通过其终端向服务器请求之后,服务器将离线密码值通过网络发送给终端,终端的用户在了解到离线密码值之后,用户在电子锁上使用,由于电子锁上可以了解到被使用的离线密码值和该离线密码值对应的密码 标识,而在服务器上也可以将发来请求的终端对应的目标用户与下发的离线密码值对应的密码标识建立对应关系,由此,通过唯一的密码标识就可以区分使用离线密码值的目标用户。
由上述方案可知,本申请实施例中提供的用于处理设备离线密码的方法中,通过在获取到设备的多个离线密码值之后,也获取每个离线密码值各自对应的密码标识,而且密码标识唯一,基于此,在离线密码值被终端获取并使用的情况下,离线密码值对应的密码标识能够与终端对应的目标用户相对应,进而本申请实施例中通过为离线密码值配置唯一的密码标识,就能够实现对使用该离线密码值的终端用户进行区分,实现本申请目的。
在本实施例的一些可选的实现方式中,步骤1301可以通过以下方式实现,如图14中所示:
步骤1401,获得第一时间信息。
在一些实施例中,该第一时间信息为根据预设规则得到的时间数据信息。例如,将当前时刻点作为第一时间信息,或者,将预设时刻点作为第一时间信息,具体以年月日时分秒来表征的时刻点。
这里的第一时间信息可以根据密码生成的需求来设置相应的时间颗粒度,颗粒度是不同电子锁产品需求在出厂时设置,当然也可以在出厂后被用户按照需求修改。时间颗粒度可以理解为所获取到的第一时间信息的基本单位,如以天为基本单位的“1月5日”的时间信息,再如,以小时为基本单位的“1月5日12时”,再如,以分钟为基本单位的“1月5日12时34分”,等等。
需要说明的是,第一时间信息所表征的当前时刻点的颗粒度与设备如电子锁的密码配置信息相关,而密码配置信息基于预先的配置操作生成,也就是说,在设备出厂后可以根据需求的变化相应调整密码配置信息,进而调整第一时间信息的时间颗粒度。
步骤1402,至少对第一时间信息进行处理,得到目标字符串。
其中,目标字符串中包含多个字符。
在一些实施例中,可以利用预设的算法对第一时间信息进行处理,以得到目标字符串。
,在一些实施例中,也可以先将第一时间信息、设备的特征信息和设备的密钥信息组成原始数据,其中,设备的特征信息可以为电子锁的设备序列号和/或电子所的通用唯一识别码UUID(Universally Unique Identifier)等;之后,再使用摘要算法对原始数据进行计算,得到一串摘要数据,利用摘要算法的不可逆性保证原始数据中密钥信息的安全性,但是摘要数据中的字符可能会太长或太短,因此,在得到摘要数据之后可以再用哈希算法对摘要数据进行计算,得到一串目标字符串,此时的目标字符串的长度是符合预设固定长度条件的,如16字节的目标字符串。
步骤1403,将目标字符串中的字符进行分组,得到多个字符组合。
在一些实施例中,每个字符组合中包含至少一个字符。例如,可以将16个字节的目标字符串中的字符进行分组,将相邻的4个字符划分到一个字符组合中,由此,可以得到4个字符组合,每个字符组合中包含4个字符。
步骤1404,分别对每个字符组合中的字符进行处理,以得到每个字符组合对应的离线密码值。
在一些实施例中,可以根据预设的密码长度,分别对每个字符组合中的字符进行处理,相应得到每个字符组合对应的离线密码值,而每个离线密码值的密码长度是一致的,且是与预先配置的密码长度相匹配的。
在一些实施例中,预设的密码长度可以为6位密码长度或8位密码长度等,当然也可以根据需求设置为其他数位的密码长度,具体可以根据用户需求在电子锁和服务器 中分别进行统一的配置。
例如,可以按照预设的密码长度对每个字符组合进行取模,以得到每个字符组合对应的离线密码值。比如,如果是密码长度为6位,则对1000000(10^6)进行取模运算,而如果是要生成8位的密码,则对100000000(10^8)进行取模运算,如果得到的结果小于密码位数,则前面补0,这样每组密码都会生成特定长度的最终密码值。
以16字节的目标字符串所划分出的4组字符组合为例,如果密码长度是6位,而4组字符组合中有一组是0x0001869f,即十进制的99999,那么本实施例中就可以在前面补0,密码实际为099999,4组字符组合中有一组是0x82E28AA7,即十进制的2195884711,那么本实施例就可以将其除1000000取余数,密码实际为884711;再如,如果密码长度为8位,那么对于十进制的2195884711进行取模,即除100000000取余数,密码为95884711。
基于上述生成离线密码值的实现方案,本实施例中可以生成的密码个数,取决于两个因素:
(1)第一时间信息的时间颗粒度,比如是按照每1分钟就生成一次,或者是每1个小时生成一次,由此,采用不同的时间颗粒度,虽然每次所生成的离线密码值个数相同,但固定时长如一天内所生成的离线密码值总个数都不同,时间颗粒度越细,那么一天内能够生成的离线密码值的总个数就越多;
(2)采用的哈希算法的算法参数,比如如果是采用MD5算法,则可以生成16个字节的哈希数据,最终可以生成4组离线密码值,每个离线密码值包含4个密码字符,如果是采用SHA256算法,则可以生成32个字节的哈希数据,最终可以生成8组离线密码值,每个离线密码值包含4个密码字符。当然,这里说的每个离线密码值所包含的密码字符的个数可以根据需求不同来设置,如6位或8位等。
所以,假设预先配置在电子锁和服务器两侧每个小时生成一次离线密码值,且采用MD5哈希算法,那么每次会生成4个动态的离线密码值,由此1天就会有96个动态离线密码值。
在本实施例的一些可选的实现方式中,步骤1302可以通过以下方式实现,如图15中所示:
步骤1501,获得第二时间信息。
在一些实施例中,第二时间信息与第一时间信息相关。第二时间信息可以为与第一时间信息相关的时间范围信息,而第二时间信息中可以包含有第一时间信息本身。例如,第二时间信息可以包含有从某个起始时刻开始到第一时间信息对应的时刻之间的时长,如从1月1日到1月5日之间的4天。又例如,第二时间信息中还可以包含有第一时间信息对应的时间颗粒度下对应的时刻点,如1月5日12时等。
步骤1502,至少根据每个离线密码值对应的密码次序和第二时间信息,获得每个离线密码值各自对应的密码标识。
在一些实施例中,每个离线密码值对应的密码次序可以理解为每个离线密码值在其所对应的字符组合所生成的离线密码值中的次序,如第1个或第4个。
,在一些实施例中,针对每个离线密码值,利用离线密码值对应的密码次序和第二时间值进行计算,以得到该离线密码值对应的密码标识。
在一些实施例中,步骤1502中可以通过以下方式实现:
利用I=((D-1)*24+T)*4+Index,获得每个离线密码值各自对应的密码标识;其中,I为第一时间信息对应的多个离线密码值中第Index个离线密码值对应的密码标识,D为从1月1日到当前时刻点的天数,T为第一时间信息所表征的当前时刻点的颗粒度下的时刻值,如小时或分钟的值,以使得密码标识在当前的一年内唯一。由此,设备在一年的期限内所得到的密码标识是唯一的。
在一些实施例中,步骤1502中可以通过以下方式实现:
利用I=((D-1)*24+T)*4+Index,获得每个离线密码值各自对应的初始标识;其中,I为第一时间信息对应的多个离线密码值中第Index个离线密码值对应的初始标识,D为从1月1日到当前时刻点的天数,T为所述第一时间信息所表征的当前时刻点的颗粒度下的时刻值;之后,再利用当前年份信息,对每个初始标识进行处理,以使得所得到的每个密码标识在设备的生命周期内唯一。
图16示出了根据本申请的用于处理设备离线密码的方法的一个实施例的流程。该用于处理设备离线密码的方法在电子锁上进行,也就是说,本实施例中用于处理设备离线密码的方法的执行主体为电子锁,如图12中的处于离线状态的电子锁1204,这里的离线状态是指电子锁1204与服务器1206之间不能通过网络连接的状态。
具体的,该方法可以包括以下步骤:
步骤1601,接收目标用户的密码输入操作。
在一些实施例中,密码输入操作中包含输入字符串,输入字符串中包含至少一个输入字符。
在一些实施例中,密码输入操作可以是目标用户在电子锁的面板上进行密码输入所生成的操作。基于此,在电子锁上所接收到的密码输入操作中包含有目标用户输入的输入字符串,这个输入字符串中包含目标用户所输入的输入字符。
需要说明的是,目标用户所输入到面板上的输入字符串可以是在目标用户通过其终端向服务器请求之后服务器返回到目标用户的终端的离线密码值。
步骤1602,根据第一密码池中的多个离线密码值,对输入字符串是否满足离线密码校验规则进行密码校验。
在一些实施例中,第一密码池中的每个所述离线密码值具有各自对应的密码标识,且密码标识唯一。第一密码池中的离线密码值是电子锁按照前文中图13中所示的离线密码的生成方法所生成。
在一些实施例中,离线密码校验规则包括:第一密码池中存在与输入字符串相匹配的目标密码值且目标密码值第一次被使用。
例如,可以将输入字符串与第一密码池中的每个离线密码值依次或同时进行校验,进而获得到校验结果,而校验结果能够表征输入字符串是否满足离线密码校验规则,即第一密码池中存在一个目标密码值,且该目标密码值与输入字符串相一致,而且,这个目标密码值是第一次被使用。
步骤1603,在输入字符串满足离线密码校验规则的情况下,将目标信息在设备与服务器建立有数据连接的情况下传输给服务器。
在一些实施例中,输入字符串满足离线密码校验规则的情况下,表明当前的目标用户所输入的输入字符串是合法的离线密码值,而且,这个输入字符串在电子锁的第一密码池中也是第一次被用户使用,此前并没有被任何用户输入验证过。
在一些实施例中,在电子锁与服务器建立有数据连接的情况下,即电子锁从离线状态转换为在线状态的情况下,将包含有目标密码值对应的目标标识传输给服务器,由此,服务器一侧至少可以根据目标信息中的目标标识定位到该目标标识对应的目标密码值,同时也可以根据该目标标识定位到目标密码值所下发的目标用户,进而就可以确定从服务器上获取目标密码值的终端对应的目标用户。
由上述方案可知,本申请实施例中提供的用于处理设备离线密码的方法中,在电子锁离线状态的情况下需要使用离线密码值时,电子锁在接收到目标用户的输入字符串之后,将该输入字符串与电子锁所生成的第一密码池中的离线密码值进行校验,而在校验通过之后就可以将输入字符串在第一密码池中对应的目标密码值的密码标识传输给服务器,由此在服务器上就可以将密码标识与目标密码值下发记录进行匹配,就可以能够 区分出使用目标密码值的目标用户,实现本申请目的。
图17示出了根据本申请的用于处理设备离线密码的方法的一个实施例的流程。该用于处理设备离线密码的方法在服务器上进行,也就是说,本实施例中用于处理设备离线密码的方法的执行主体为服务器,如图12中的处于离线状态的服务器1206,这里的离线状态是指电子锁1204与服务器1206之间不能通过网络连接的状态。
具体的,该方法可以包括以下步骤:
步骤1701,接收终端传输的密码获取请求。
在一些实施例中,密码获取请求对应于终端对应的目标用户。
例如,目标用户通过终端向服务器传输密码获取请求,以请求服务器下发一个或多个离线密码值。
步骤1702,在第二密码池中的多个离线密码值中,获取满足离线密码分配规则的目标密码值。
在一些实施例中,离线密码分配规则包括:目标密码值第一次被使用,也就是说,本实施例中在接收到终端传输的密码获取请求之后,在第二密码池中分配出不曾被使用过的目标密码值。
需要说明的是,第二密码池中的每个离线密码值具有各自对应的密码标识,且密码标识唯一。其中,第二密码池中的离线密码值是服务器按照前文中图13中所示的离线密码的生成方法所生成。
步骤1703,将目标密码值传输给终端。
在一些实施例中,可以在服务器侧通过网络将目标密码值传输给终端,以提供给终端的目标用户作为密码输入参考。基于此,终端的目标用户将目标密码值输入到电子锁的面板上,电子锁在接收到目标用户的密码输入操作之后,将密码输入操作中的输入字符串与电子锁的第一密码池中的离线密码值进行校验,如果校验通过,那么电子锁将包含有目标标识的目标信息传输给服务器,而传输给服务器的目标信息中包含有目标用户所输入的输入字符串在第一密码池中匹配的目标密码值对应的目标标识。
步骤1704,生成授权信息。
在一些实施例中,授权信息包含:目标密码值对应的密码标识与目标用户相对应的信息。也就是说,在将目标密码值传输给终端之后,生成授权记录,该授权记录表征将目标密码值授权给了目标用户,且目标密码值对应于目标标识。
需要说明的是,步骤1704和步骤1703的执行顺序可以不受附图中顺序限制,也可以先执行步骤1703再执行步骤1704,或者可以同时执行步骤1703和步骤1704。
步骤1705,获取设备在与服务器建立有数据连接时传输的目标信息。
在一些实施例中,设备即电子锁在与服务器之间建立好数据连接时就上传电子锁的目标信息,该目标信息中是包含有目标标识的,这个目标标识即为电子锁使用的目标密码值的密码标识。
步骤1706,至少根据目标信息中的目标标识和授权信息,确定目标信息对应的目标用户。
在一些实施例中,将目标信息中的目标标识和授权信息中的目标标识建立关联,由此,定位到使用该目标标识对应的目标密码值的目标用户。
由上述方案可知,本申请实施例中提供的用于处理设备离线密码的方法中,在电子锁离线状态的情况下需要使用离线密码值时,服务器在第二密码池中返回目标密码值给终端并记录包含该目标密码值对应的目标标识和请求该目标密码值的目标用户相关的授权信息,由此,在电子锁接收到目标用户的输入字符串之后,将该输入字符串与电子锁所生成的第一密码池中的离线密码值进行校验,而在校验通过之后就可以将输入字符串在第一密码池中对应的目标密码值的密码标识传输给服务器,由此在服务器上就可以 将密码标识与目标密码值下发记录进行匹配,就可以能够区分出使用目标密码值的目标用户,实现本申请目的。
基于以上实现,以下对本申请中的技术方案进行举例说明,其中:
在服务器一侧,服务器通过如下方式进行授权用户的匹配:
(1)服务器和终端如用户手机上根据时间信息和有效时间范围,即前文中的第一时间信息和第二时间信息,生成M组密码,M为大于或等于2的正整数,组合成密码池。
(2)授权用户通过页面或者手机上的APP进行动态密码获取时,服务器向用户返回密码池中尚未使用的密码,同时在服务器中记录下授权用户信息和获取的密码值的唯一ID。
(3)当授权用户在门锁上输入密码值后,如果该密码值尚未输入过,则电子锁通过校验,并保存开锁记录。
(4)电子锁上报开锁记录,包含开锁的密码唯一ID,此时服务器通过查询授权记录和上报开锁记录,就可以匹配上该开锁行为的匹配授权用户。
图18,作为对以上一些图所示方法的实现,示出了一种用于处理设备离线密码的装置的一个实施例,该装置实施例与图13所示的方法实施例相对应,该装置具体可以应用于电子锁和服务器中。图18所示的装置可以是图2所示系统的一个具体实施例。
如图18所示,本实施例的用于处理设备离线密码的装置包括:密码获得单元1801和标识获得单元1802。在一些实施例中,密码获得单元1801和标识获得单元1802可以是图2所示的处理模块230的一部分。
密码获得单元1801被配置成:获取门锁的多个离线密码值。
标识获得单元1802被配置成:获取每个所述离线密码值各自对应的密码标识。
在一些实施例中,所述密码标识唯一,以使得在所述离线密码值被终端获取并使用的情况下,所述离线密码值对应的密码标识与所述终端对应的目标用户相对应。
在本实施例中,密码获得单元1801和标识获得单元1802的具体处理及其带来的技术效果可分别参考图13对应实施例中步骤1301、步骤1302的实施例的相关说明,在此不再赘述。
在本实施例的一些可选的实现方式中,密码获得单元1801具体用于:获得第一时间信息,所述第一时间信息表征当前时刻点;至少对所述第一时间信息进行处理,得到目标字符串,所述目标字符串中包含多个字符;将所述目标字符串中的字符进行分组,得到多个字符组合,每个所述字符组合中包含至少一个字符;分别对每个所述字符组合中的字符进行处理,以得到每个所述字符组合对应的离线密码值。
在本实施例的一些可选的实现方式中,标识获得单元1802具体用于:获得第二时间信息,所述第二时间信息与所述第一时间信息相关;至少根据每个所述离线密码值对应的密码次序和所述第二时间信息,获得每个所述离线密码值各自对应的密码标识。
在一些实施例中,标识获得单元1802利用I=((D-1)*24+T)*4+Index,获得每个所述离线密码值各自对应的密码标识;其中,I为所述第一时间信息对应的多个离线密码值中第Index个离线密码值对应的密码标识,D为从1月1日到当前时刻点的天数,T为所述第一时间信息所表征的当前时刻点的颗粒度下的时刻值,以使得所述密码标识在当前的一年内唯一。
在一些实施例中,标识获得单元1802利用I=((D-1)*24+T)*4+Index,获得每个所述离线密码值各自对应的初始标识;利用当前年份信息,对每个所述初始标识进行处理,以使得所得到的每个密码标识在所述设备的生命周期内唯一;其中,I为所述第一时间信息对应的多个离线密码值中第Index个离线密码值对应的初始标识,D为从1月1日到当前时刻点的天数,T为所述第一时间信息所表征的当前时刻点的颗粒度下的时刻值。
在本实施例的一些可选的实现方式中,所述第一时间信息所表征的当前时刻点的颗粒度与设备的密码配置信息相关,所述密码配置信息基于预先的配置操作生成。
需要说明的是,用于处理设备离线密码的装置可以是芯片,组件或模块,用于处理设备离线密码的装置可包括处理器和存储器,密码获得单元1801和标识获得单元1802等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
处理器中可以包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或多个,通过调整内核参数来实现:获取设备的多个离线密码值;获取每个所述离线密码值各自对应的密码标识;其中,所述密码标识唯一,以使得在所述离线密码值被终端获取并使用的情况下,所述离线密码值对应的密码标识与所述终端对应的目标用户相对应。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。
本申请的上述实施例提供的用于处理设备离线密码的装置,通过在获取到设备的多个离线密码值之后,也获取每个离线密码值各自对应的密码标识,而且密码标识唯一,基于此,在离线密码值被终端获取并使用的情况下,离线密码值对应的密码标识能够与终端对应的目标用户相对应,进而本申请实施例中通过为离线密码值配置唯一的密码标识,就能够实现对使用该离线密码值的终端用户进行区分,实现本申请目的。
图19,作为对以上一些图所示方法的实现,提供了一种用于处理设备离线密码的装置的一个实施例,该装置实施例与图16所示的方法实施例相对应,该装置具体可以应用于电子锁中。图19所示的装置可以是图2所示系统的一个具体实施例。
如图19所示,本实施例的用于处理设备离线密码的装置包括:操作接收单元1901、密码校验单元1902、信息传输单元1903。在一些实施例中,操作接收单元1901和信息传输单元1903可以是图2所示的通信模块210的一部分。在一些实施例中,密码校验单元1902可以是图2所示的安全模块220的一部分。
操作接收单元1901被配置为:接收目标用户的密码输入操作,所述密码输入操作中包含输入字符串,所述输入字符串中包含至少一个输入字符。
密码校验单元1902被配置为:根据第一密码池中的多个离线密码值,对所述输入字符串是否满足离线密码校验规则进行密码校验,所述第一密码池中的每个所述离线密码值具有各自对应的密码标识,且所述密码标识唯一;所述离线密码校验规则包括:所述第一密码池中存在与所述输入字符串相匹配的目标密码值且所述目标密码值第一次被使用。
信息传输单元1903,用于在所述输入字符串满足所述离线密码校验规则的情况下,将目标信息在所述设备与服务器建立有数据连接的情况下传输给所述服务器,所述目标信息中包含有所述目标密码值对应的目标标识,以使得所述服务器至少根据所述目标信息中的目标标识确定从所述服务器上获取所述目标密码值的终端对应的目标用户。
在本实施例中,操作接收单元1901、密码校验单元1902、信息传输单元1903的具体处理及其带来的技术效果可分别参考图16对应实施例中步骤1601、步骤1602、步骤1603的实施例的相关说明,在此不再赘述。
需要说明的是,用于处理设备离线密码的装置可以是芯片,组件或模块,用于处理设备离线密码的装置可包括处理器和存储器,操作接收单元1901、密码校验单元1902、信息传输单元1903等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
处理器中可以包含内核,由内核去存储器中调取相应的程序单元。内核可以设置 一个或多个,通过调整内核参数来实现:
接收目标用户的密码输入操作,所述密码输入操作中包含输入字符串,所述输入字符串中包含至少一个输入字符;
根据第一密码池中的多个离线密码值,对所述输入字符串是否满足离线密码校验规则进行密码校验,所述第一密码池中的每个所述离线密码值具有各自对应的密码标识,且所述密码标识唯一;所述离线密码校验规则包括:所述第一密码池中存在与所述输入字符串相匹配的目标密码值且所述目标密码值第一次被使用;
在所述输入字符串满足所述离线密码校验规则的情况下,将目标信息在所述设备与服务器建立有数据连接的情况下传输给所述服务器,所述目标信息中包含有所述目标密码值对应的目标标识,以使得所述服务器至少根据所述目标信息中的目标标识确定从所述服务器上获取所述目标密码值的终端对应的目标用户。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。
本申请的上述实施例提供的用于处理设备离线密码的装置中,在电子锁离线状态的情况下需要使用离线密码值时,电子锁在接收到目标用户的输入字符串之后,将该输入字符串与电子锁所生成的第一密码池中的离线密码值进行校验,而在校验通过之后就可以将输入字符串在第一密码池中对应的目标密码值的密码标识传输给服务器,由此在服务器上就可以将密码标识与目标密码值下发记录进行匹配,就可以能够区分出使用目标密码值的目标用户,实现本申请目的。
图20,作为对以上一些图所示方法的实现,提供了一种用于处理设备离线密码的装置的一个实施例,该装置实施例与图17所示的方法实施例相对应,该装置具体可以应用于服务器中。图20所示的装置可以是图2所示系统的一个具体实施例。
如图20所示,本实施例的用于处理设备离线密码的装置包括:请求接收单元2001、密码获取单元2002、信息传输单元2003、信息生成单元2004及用户确定单元2005。在一些实施例中,请求接收单元2001和信息传输单元2003可以是图2所示的通信模块210的一部分。在一些实施例中,密码获取单元2002、信息生成单元2004和用户确定单元2005可以是图2所示的处理模块230的一部分。
请求接收单元2001被配置成:接收终端传输的密码获取请求,所述密码获取请求对应于所述终端对应的目标用户。
密码获取单元2002被配置成:在第二密码池中的多个离线密码值中,获取满足离线密码分配规则的目标密码值;所述离线密码分配规则包括:所述目标密码值第一次被使用;所述第二密码池中的每个所述离线密码值具有各自对应的密码标识,且所述密码标识唯一。
信息传输单元2003被配置成:将所述目标密码值传输给所述终端。
信息生成单元2004被配置成:生成授权信息,所述授权信息包含:所述目标密码值对应的密码标识与所述目标用户相对应的信息。
用户确定单元2005被配置成:在所述信息传输单元2003获取到所述设备在与所述服务器建立有数据连接时传输的目标信息的情况下,至少根据所述目标信息中的目标标识和所述授权信息,确定所述目标信息对应的目标用户。
在本实施例中,请求接收单元2001、密码获取单元2002、信息传输单元2003、信息生成单元2004及用户确定单元2005的具体处理及其带来的技术效果可分别参考图17对应实施例中步骤1701、步骤1702、步骤1703和步骤1704、步骤1705及步骤1706的实施例的相关说明,在此不再赘述。
需要说明的是,用于处理设备离线密码的装置可以是芯片,组件或模块,用于处 理设备离线密码的装置可包括处理器(例如,处理器320)和存储器(例如,随机存取存储器340或只读存储器330),请求接收单元2001、密码获取单元2002、信息传输单元2003、信息生成单元2004及用户确定单元2005等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
处理器中可以包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或多个,通过调整内核参数来实现:
接收终端传输的密码获取请求,所述密码获取请求对应于所述终端对应的目标用户;
在第二密码池中的多个离线密码值中,获取满足离线密码分配规则的目标密码值;所述离线密码分配规则包括:所述目标密码值第一次被使用;所述第二密码池中的每个所述离线密码值具有各自对应的密码标识,且所述密码标识唯一;
将所述目标密码值传输给所述终端,并生成授权信息,所述授权信息包含:所述目标密码值对应的密码标识与所述目标用户相对应的信息;
在获取到所述设备在与所述服务器建立有数据连接时传输的目标信息的情况下,至少根据所述目标信息中的目标标识和所述授权信息,确定所述目标信息对应的目标用户。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。
本申请的上述实施例提供的用于处理设备离线密码的装置,在电子锁离线状态的情况下需要使用离线密码值时,服务器在第二密码池中返回目标密码值给终端设备并记录包含该目标密码值对应的目标标识和请求该目标密码值的目标用户相关的授权信息,由此,在电子锁接收到目标用户的输入字符串之后,将该输入字符串与电子锁所生成的第一密码池中的离线密码值进行校验,而在校验通过之后就可以将输入字符串在第一密码池中对应的目标密码值的密码标识传输给服务器,由此在服务器上就可以将密码标识与目标密码值下发记录进行匹配,就可以能够区分出使用目标密码值的目标用户,实现本申请目的。
本申请实施例提供了一种设备的一个实施例的结构示意图。该设备如电子锁中包含一个或多个处理器,以及存储装置,存储装置上存储有一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现用于处理设备离线密码的方法。
本申请实施例提供了一种服务器的一个实施例的结构示意图。该设备如与电子锁和终端相连接的服务器中包含一个或多个处理器,以及存储装置,存储装置上存储有一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现用于处理设备离线密码的方法。
以服务器为例,图21示出了适于用来实现本申请一些实施例的服务器的结构示意图。图21示出的服务器仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图21所示,服务器可以包括处理器2101、存储器2102、通信接口2103、输入单元2104、输出单元2105和通信总线2106。其中,处理器2101和存储器2102通过通信总线2106彼此相连。通信接口2103、输入单元2104和输出单元2105也连接至通信总线2106。
其中,通信接口2103可以为通信模块(例如,通信模块210)的接口,如GSM模块的接口。通信接口2103可以用于获得终端发送的密码获取请求等数据,通信接口2103还用于将目标密码值传输给终端,还用于接收电子锁和服务器之间建立连接时电子 锁发送的开锁记录,即目标信息。关于通信接口3203的更多描述可以参见图3关于通信端口350的更多说明。
在本申请实施例中,处理器2101,可以为中央处理器(Central Processing Unit,CPU)、特定应用集成电路(application-specific integrated circuit,ASIC)、数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件等。关于处理器2101的更多描述可以参见图3关于处理器320的更多说明。
在一种可能的实现方式中,存储器2102可包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、以及至少一个功能(比如密码生成及密码查找等)所需的应用程序等;存储数据区可存储根据计算机的使用过程中所创建的数据,比如,离线密码值等等。
此外,存储器2102可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件或其他易失性固态存储器件。关于存储器2102的更多描述可以参见图3关于只读存储器330和/或随机存取存储器340的更多说明。
处理器2101可以调用存储器2102中存储的程序,具体的,处理器2101可以执行以上图13至图17中服务器所执行的操作。
存储器2102中用于存放一个或者一个以上程序,程序可以包括程序代码,所述程序代码包括计算机操作指令,在本申请实施例中,存储器2102中至少存储有用于实现以上用于处理设备离线密码的功能的程序。
本申请还可以包括输入单元2104,输入单元2104可以包括感应触摸显示面板上的触摸事件的触摸感应单元、键盘、鼠标、摄像头、拾音器等设备中的至少一个。
输出单元2105可以包括:显示器、扬声器、振动机构、灯等设备中的至少一个。显示器可以包括显示面板,如触摸显示面板等。在一种可能的情况中,可以采用液晶显示器(Liquid Crystal Display,LCD)、有机发光二极管(Organic Light-Emitting Diode,OLED)等形式来配置显示面板。振动机构在工作时还可以使服务器发生位移,在一种可能的实现方式中,振动机构包括电动机和偏心振子,电动机带动偏心振子转动从而产生振动。灯的亮度和/或颜色可调,在一种可能的实现方式中,可通过灯的亮灭、亮度、颜色中的至少一个体现不同的信息,如通过灯发出红色光体现报警信息。关于输入单元2104和/或输出单元2105的更多描述可以参见图3关于输入/输出360的更多说明。
当然,图21所示的服务器的结构并不构成对本申请实施例中服务器的限定,在实际应用中服务器可以包括比图21所示的更多或更少的部件,或者组合某些部件。
本申请实施例提供了一种计算机可读介质,其上存储有计算机程序,其中,该程序被处理器执行时实现以上各方法实施例描述的用于处理设备离线密码的方法。
本申请实施例提供了一种处理器,该处理器用于运行程序,其中,该程序运行时实现以上各方法实施例描述的用于处理设备离线密码的方法。
本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,使得数据处理设备实现以上各方法实施例描述的用于处理设备离线密码的方法。
其中,本申请的上述实施例提供的服务器、设备、计算机可读介质或计算机程序产品可以均用于执行上文所提供的对应的方法,因此,其所能达到的有益效果可参考上文所提供的对应的方法中的有益效果,此处不再赘述。
以电子锁为门锁为例,对本申请的技术方案进行举例说明:
本申请中提出一种一次性离线动态密码的生成方案,并能够生成唯一的密码标识ID(Identity document),用以匹配授权的用户信息。
其中,动态密码的生成算法参考图22所示,在门锁和服务器两侧分别执行以下步骤:
1)将时间信息转换成固定长度字符串,比如2020年04月28日11点05分00秒, 则转成的字符串为“20200428110500”。
2)将步骤1)的时间信息字符串,结合设备特定信息(比如设备序列号、UUID唯一非敏感信息等)和密钥信息(也是每个设备唯一)组合成原始数据,然后进行采用摘要算法计算得到一串摘要数据,这里的摘要算法可以是下列算法的其中一种或者几种的组合(不限制列出的常见算法):MD(Message Digest)/SHAR(Secure Hash Algorithm)/MAC(Message Authentication Codes)等。
3)使用步骤2)生成的一串摘要数据作为原文,然后进行哈希算法计算,得到N字节的数据,即目标字符串,这里的哈希算法包括但不限于(不限制列出的常见算法):MD/SHAR/MAC等。其中,N为大于或等于2的正整数。
4)将步骤3)生成的N字节数据按照4字节一组的方式,生成N/4组整数值,比如如果是32字节数据长度,则可以生成8组整数值。
5)将步骤4)生成的N/4组整数值,每组按照要求的密码位数(即前文中的密码长度)进行特定的运算生成具体的密码值,以取模计算作为例子,比如如果是生成6位密码,则对1000000(10^6)进行取模运算,如果是要生成8位的密码,则对100000000(10^8)进行取模运算,如果得到的结果小于密码位数,则前面补0,这样每组密码都会生成特定长度的最终密码值。
基于上述的算法,本实施例中可以为门锁生成的密码个数,取决于两个因素:(1)时间信息的颗粒度;(2)采用的哈希算法得到的N字节的长度。
进一步的,采用如下方法,分别为每个最终密码值可以生成唯一的密码ID,进而在密码值被使用时能够通过密码ID和具体的授权用户信息进行关联,从而实现用户定位。
其中,密码ID的作用在于和具体的授权用户信息关联,便于查询开门记录等作用,它和密码值一一对应,又能避免密码值的泄露。
针对门锁本身,密码ID有两种生成方式:一段期限(数量)内唯一的生成方式;以及门锁生命周期内唯一的生成方式。
针对第一种方式:
1)门锁和服务器预先约定,比如约定一年后(或100个密码后)ID重新归0(或一个约定的起始值);
2)使用约定的公式生成基本ID值,比如使用公式((D-1)*24+T)*4+Index,其中D为从今年1月1日算起的天数,T根据颗粒度单位有具体不同的含义,比如如果颗粒度为1小时,则T为当前小时值,Index为每次生成的N组密码的序列(1~N)。假设采用1小时生成一次的颗粒度,每次生成4组密码,则如果当前是1月5日8点,则生成的4组密码ID分别是417/418/419/420;
3)比如按1)的约定,采用2)的计算公式,364天后23点,最后一个ID为35039,365天后0点,ID重新归0。
针对第二种方式:
1)在第一种方式第2)点的基础上,生成的ID加上和时间相关的信息组合成唯一ID值,举例,比如1月5日8点的密码,加上200000(这个值由门锁和服务端提前约定,不更改,从0开始也可以,特征是会随着时间如年份月份等而增加),即最终ID为200417/200418/200419/200420;
2)基于步骤1)生成的基本ID值,再根据特定方式结合年份信息组合成最终唯一的ID值,比如采用基本ID+年份最后2位信息*10000的方式,则上述1)的4组密码ID,例如,在2020年获取时,经过换算后,生成的最终密码ID是200417/200418/200419/200420,不同的颗粒度,扩展ID的计算可能不同。
可见,按照上述算法,动态密码ID每年就算基本ID相同,但是年份不同得到的最终ID也不同。
然后,服务器通过如下方式进行授权用户的匹配定位:
(1)根据时间信息和有效时间范围,生成N组密码,组合成密码池。需要说明的是,服务器和门锁两侧分别进行密码池的生成。
(2)授权用户通过终端上的页面或者应用APP(Application)端进行动态密码获取时,服务器返回密码池中尚未使用的密码,同时在服务器中记录下授权用户信息和获取的密码值的唯一ID。
(3)当授权用户在门锁上输入密码值后,如果该密码值尚未输入过,则门锁通过校验,并保存开锁记录。
(4)门锁上报开锁记录,包含开锁的密码唯一ID,此时服务器通过查询授权记录和上报开锁记录,就可以匹配上该开锁行为的匹配授权用户。
可见,本申请中的离线动态密码的安全性是通过下面几种方式来保证的:
(1)本申请中的离线密码生成方案中增加密码值位数,降低重复概率,比如上述描述的密码生成方式中,最后每组密码生成的密码值,使用8位或者10位密码长度。
(2)本申请中的离线密码生成方案中采用哈希算法,由于哈希算法得到的是输入序列的固定长度映射数据,其他人无法通过反向运算方式得到原始的输入序列。
(3)本申请中的离线密码生成方案中根据时间颗粒度每个密码设置有效时间范围,比如如果颗粒度是1小时,则可以设置该密码的有效时间范围为1小时或者2小时。
(4)门锁记录密码输入记录,保证密码无法重复输入,即密码是一次性有效的。
可见,本申请中通过特定的算法,加入不同颗粒度的时间戳信息,按照需求生成不同数量的安全动态离线密码;而生成的动态离线密码,通过特定的计算使用唯一的密码ID,使得授权用户(获取动态密码的用户)能够唯一匹配该ID,当用户进行开锁行为时,可以有效区不同用户;而且,本申请中通过记录保存输入信息,动态密码可以是一次性有效,达到有效监控目的。
而基于本申请的技术方案所实现的智能门锁等产品,能够具有以下特点:
(1)在智能门锁离线情况下,通过网页端或者APP端获取一次性动态密码,在指定时间范围内在对应智能门锁的面板上进行密码输入可以进行开锁,且同一密码只能使用一次。
(2)输入的密码根据特定的计算方式,有唯一的ID,当用户获取该密码以及输入密码开锁时,根据用户信息和密码ID信息,可以唯一匹配开锁行为的操作者。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、 网络接口和内存。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体,可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
智能锁中一般包括面板、锁体和把手等结构,而锁体中配置有多个锁舌,如检测舌、锁定块、剪刀舌、主锁舌等,并可以通过设置驱动机构(例如,电机)带动锁舌等自动移动,以使得智能锁处于上锁状态或解锁状态。例如,用户开门时,用户输入智能锁的密码或指纹,之后,智能锁开锁,但需要用户下压智能锁的把手才能实现开门;在用户关门时,还需要用户提起把手才能将智能锁锁定。因此,目前的智能锁需要用户进行下压把手或上提把手等操作才能将智能锁解锁或上锁,存在操作复杂度较高的情况,也可能存在因用户忘记手动上提把手而导致门未关好的情况,存在安全隐患。
本申请一些实施例提供的智能设备控制系统和方法(例如,控制系统200和控制方法400),可以应用于控制智能锁,其中,智能锁可以包括锁体和设置于锁体中的一个或多个锁体传感器;一个或多个锁体传感器可以用于采集传感信号。在一些实施例中,控制系统200目标操作可以包括解锁操作和/或上锁操作。在一些实施例中,预设条件可以包括解锁条件。在一些实施例中,控制系统200至少一个处理器(例如,处理器320)可以用于指示系统:根据传感信号,获得解锁检测结果,解锁检测结果至少表征锁体是否解锁成功;在解锁检测结果表征锁体解锁成功的情况下,监测上锁信号,上锁信号用于指示锁体进行上锁操作;在监测到上锁信号的情况下,控制锁体进行上锁操作;以及根据传感信号,获得上锁检测结果,上锁检测结果至少表征锁体是否上锁成功。
在一些实施例中,智能设备控制系统在接收到用于指示智能锁进行解锁操作的控制指令之后,可以通过判断控制指令是否满足解锁条件来控制锁体进行解锁,并且可以通过锁体上的锁体传感器获得表征锁体是否解锁成功的解锁检测结果。在解锁成功的情况下,可以通过监测上锁信号来控制锁体进行上锁操作,并可以通过锁体上的锁体传感器获得表征锁体是否上锁成功的上锁检测结果。可见,本申请通过对锁体上的控制指令和上锁信号进行实时监测,从而实现锁体的解锁和上锁控制,并且通过锁体上的传感器来监测锁体进行解锁和上锁的结果,在解锁和上锁过程中无需用户进行其他操作,进而能够降低操作复杂度,实现智能锁全自动控制。
图23是根据本申请一些实施例所示的示例性智能锁的结构示意图,图23中为未上锁状态。
在一些实施例中,如图23所示,智能锁2300的锁体中可以设置检测舌2301、第 一锁舌2302和第二锁舌2303,第一锁舌2302可以为能够在外力作用下被压缩且撤去外力作用后能够弹出的锁舌,如剪刀舌、锁定舌等;第二锁舌2303为预设锁定位置上的锁舌,如主锁舌等。在一些实施例中,锁体中还可以设置有反锁舌2304。以智能锁2300作为门锁配置在门上的场景为例,沿门口板长度方向,上述检测舌2301、第一锁舌2302和第二锁舌2303可以依次排布。在一些实施例中,检测舌2301、第一锁舌2302和第二锁舌2303的具体排布位置可以基于内部动态配合构建的调整而作相应变化。
在一些实施例中,智能锁2300可以通过除检测舌2301以外的其他检测件来检测智能锁2300的状态(例如,上锁状态、解锁状态等)。例如,检测件除了检测舌2301,还可以包括磁铁(例如,门磁、地磁等)、陀螺仪等。通过检测件传感器可以探测检测件的状态,从而根据检测件的状态确定智能锁的状态。
在一些实施例中,智能锁2300的锁体中可以设置电机2305。自动上锁、解锁功能的驱动力由电机2305提供,并通过传动组件实现动力传递。在一些实施例中,智能锁2300可以包括设置于锁体中的电机驱动电路,可以通过驱动电路控制电机2305动作。在一些实施例中,锁体中也可以设置其他的驱动机构,例如,电动气缸、电动油缸等。在一些实施例中,锁体中也可以不设置自动驱动机构,手动完成上锁操作和解锁操作。
在一些实施例中,第一锁舌2302能够在其解锁工作位置和锁定工作位置之间切换。进一步地,锁体中还可以设置有用于锁定第一锁舌2302(如剪刀舌)的锁定块2306,锁定块2306可相对于锁体在解锁工作位置和锁定工作位置之间进行切换,其中,在锁定块2306切换至锁定工作位置时,第一锁舌2302处于锁定状态,锁定块2306限制第一锁舌2302的伸缩动作;切换至解锁工作位置时,第一锁舌2302处于解锁状态,第一锁舌2302可自由伸缩动作。
在一些实施例中,锁体中还设置有一个或多个锁体传感器可以分别与检测舌2301、第一锁舌2302和第二锁舌2303配合设置,锁体传感器可以用于采集表征检测舌2301、第一锁舌2302和/或第二锁舌2303的状态的传感信号。例如,锁体传感器可以包括与检测舌2301配合设置的检测舌传感器、与第一锁舌2302(锁定块2306配合设置的锁定块传感器、与第二锁舌2303配合设置的上锁到位传感器、与第一锁舌2302配合设置的解锁到位传感器、与电机2305配合设置的电机传感器等等,其中之一或任意组合。在一些实施例中,这些锁体传感器采集到的传感信号能够被分析并判断相应锁舌是否存在相应的动作信息。在一些实施例中,动作信息可以包括锁舌位置变化的信息,例如,伸缩、旋转、移动等等。
在一些实施例中,根据传感信号,可以获得解锁检测结果,解锁检测结果至少表征锁体是否解锁成功。在一些实施例中,传感信号可以包括锁舌的位置信息,例如,第一锁舌2302的锁定块2306的位置。在一些实施例中,与第一锁舌2302的锁定块2306配合设置的锁定块传感器可以检测锁定块2306的位置,通过分析不同时刻获得的锁定块2306的位置,可以判断第一锁舌2302是否从锁定状态切换至解锁状态,从而可以判断锁体是否完成了解锁操作。例如,锁定块传感器检测到锁定块2306在第一时刻位于锁定工作位置,而第二时刻(例如,第一时刻之后的某一时刻)位于解锁工作位置,表明第一锁舌2302在第一时刻到第二时刻之间产生了伸缩的动作信息,锁体解锁成功。
在解锁检测结果表征锁体解锁成功的情况下,可以通过传感器信号监测上锁信号,上锁信号用于指示锁体进行上锁操作。在一些实施例中,监测上锁信号,可以包括:监测检测舌传感器是否检测到检测舌2301的动作信息;检测监测锁定块传感器是否检测到第一锁舌2302的动作信息。在检测舌传感器检测到检测舌2301的动作信息,并且锁定块传感器检测到第一锁舌2302的动作信息的情况下,表明监测到上锁信号,可以指示锁体进行上锁操作。如果检测舌传感器没有检测到检测舌2301的动作信息,和/或锁定块传感器没有检测到第一锁舌2302的动作信息,那么表明目前尚未监测到上锁信号。
图24是根据本申请一些实施例所示的用于控制智能锁的方法的一个实施例的流程图。流程2400可以由本申请中的智能设备控制系统200中的一个或多个模块或处理器实现。例如,流程2400可以由智能锁中(例如,图23所示的智能锁2300中的锁体(例如,锁体包括的一个或多个处理器)或可以与锁体进行通信的服务器(例如,服务器110)来实现。便于描述,以下以智能锁为流程2400的执行主体进行说明。
步骤2401:接收控制指令。在一些实施例中,控制系统200的一个或多个模块或处理器(例如,通信模块210、安全模块220或处理器320)可以接收控制指令。其中,控制指令可以用于指示智能锁的锁体进行解锁操作。
在一些实施例中,可以通过获取加密指令,然后解密加密指令得到控制指令。其中,加密指令包括加密的控制密钥。控制密钥可以包括输入密码,例如离线密码(例如,对应于唯一密码标识的离线密码值)、在线密码(例如,用户通过终端设备140发送给服务器110的在线密码值)等。在一些实施例中,加密指令可以通过加密控制秘钥和智能锁(例如,智能锁2300)的锁体传输的加密参数进行加密得到。例如,加密指令可以由面板利用锁体传输的加密参数和面板所接收到的输入密码进行加密得到(例如,通过对称加密算法或非对称加密算法)。其中,加密参数可以由一个或多个字符组成,如挑战码等。进而,锁体对智能锁的面板传输的加密指令进行解码得到控制指令。
例如,用户在需要解锁处于上锁状态的智能锁时,在智能锁的面板上进行密码输入操作,而面板在接收到输入密码的同时也向锁体请求挑战码并接收锁体所传输的挑战码,由此,面板可以通过加密算法对锁体传输的挑战码和面板接收到的输入密码进行加密,进而得到加密指令,在加密指令被面板传输到锁体之后,锁体利用解密算法对加密指令进行解密,得到控制指令。又例如,可以通过会话密钥的方式获得控制密钥、加密控制密钥和/或解密加密指令。在一些实施例中,用户可以进行远程解锁,例如,通过终端设备140向服务器110发送远程解锁的控制指令,服务器110将控制指令发送给智能锁,或者通过终端设备140直接向智能锁发送远程解锁的控制指令。远程解锁需要智能锁处于在线状态,否则智能锁无法接收控制指令。关于控制密钥的获得、加密指令的加密和解密的更多描述可以参见本申请图4、图7、图8、图13-图15和图17的相关说明,在此不再赘述。
在一些实施例中,输入密码可以包括任意类型的密码,如生物特征类型的密码,如声纹密码、指纹密码、面部特征密码或静脉特征密码等,或者可以为数字密码类型、图形密码类型、蓝牙开锁密码或者近场通信NFC(Near Field Communication)密码类型等的密码。
步骤2402:判断控制指令是否满足解锁条件,如果控制指令满足解锁条件,执行步骤2403。在一些实施例中,控制系统200一个或多个模块或处理器(例如,处理模块230或处理器320)可以判断控制指令是否满足解锁条件。
在一些实施例中,控制指令中可以包含有输入密码和挑战码,控制指令满足解锁条件,可以是指:输入密码与预设密码相匹配,且挑战码满足重放控制条件,如挑战码是否与锁体传输给面板的挑战码相一致且未被使用过等。
例如,可以对控制指令中的输入密码是否与预设密码相匹配进行判断,并对控制指令中的挑战码是否满足重放控制条件进行判断。如果输入密码与预设密码相匹配且挑战码满足重放控制条件,那么表明控制指令满足解锁条件,此时,可以执行后续步骤2403;如果输入密码与预设密码不匹配或者挑战码不满足重放控制条件,那么表明控制指令不满足解锁条件,那么不进行后续步骤2403。在一些实施例中,当控制指令不满足解锁条件时,还可以在锁体上向面板或其他终端输出密码错误的提示信息或者输出重放报警的提示信息,即用户输入的密码与约定的合法密码不匹配或者挑战码不满足重放控制条件的提示信息,以达到提醒用户的目的(例如,提醒用户输入密码错误)。
在一些实施例中,当输入密码是对应唯一密码标识的离线密码值时,解锁条件可以包括智能锁的第一密码池中是否存在和输入密码匹配的目标密码值且目标密码值为第一次使用。在一些实施例中,当输入密码时在线密码值时,解锁条件可以为在线密码值是否满足使用限制条件。在一些实施例中,解锁条件还包括确定智能锁处于上锁状态。在一些实施例中,解锁条件还包括在控制解锁和上锁之前对智能锁的开关位置进行校准。
步骤2403:控制锁体进行解锁操作,并执行步骤2404。在一些实施例中,控制系统200的一个或多个模块或处理器(例如,控制模块240或处理器320)可以控制锁体进行解锁操作。
在一些实施例中,可以控制电机动作,以带动锁舌进行运动,使得锁体进行解锁操作。例如,可以通过电机驱动电路控制锁体中的电机2305转动,从而带动第一锁舌2302的锁定块2306移动至解锁工作位置,使得锁体完成解锁操作。
在一些实施例中,可以控制锁体中的电机按照缓启动机制进行转动。电机的缓启动机制具体可以包括:电机以脉冲电信号进行转动,而脉冲电信号具有初始占空比,且随着电机的转动,脉冲电信号的占空比在初始占空比的基础上递增。
例如,在控制电机进行转动时,电机初始以第一数值的占空比输出脉冲电信号,之后,在一定时长后以第二数值的占空比输出脉冲电信号,第二数值超过第一数值的大小为预设值,之后,再在一定时长后第三数值的占空比输出脉冲电信号,第三数值超过第二数值的大小仍为预设值,以此类推,直到电机输出的脉冲电信号的占空比达到100%,由此,在缓启动机制中,电机输出的脉冲电信号的占空比是按照时间的推移递增的,进而保证电机转动及锁体解锁的流畅性。
步骤2404:根据传感信号,获得解锁检测结果。在一些实施例中,控制系统200的一个或多个模块或处理器(例如,通信模块210、处理模块230或处理器320)可以获取传感信号,并根据传感信号获得解锁检测结果。。
在一些实施例中,解锁检测结果至少表征锁体是否解锁成功,在解锁检测结果表征锁体解锁成功的情况下,表征智能锁处于解锁状态,例如可以是智能锁装配的门处于开门的状态,此时,可以执行步骤2405。
可以通过对传感信号进行信号分析,以得到分析结果,这些分析结果能够表征锁体中一个或多个锁舌所进行的动作信息。在一些实施例中,根据传感信号获得解锁检测结果时,可以根据传感信号所表征的一个或多个锁舌所进行的动作信息来获得表征锁体是否解锁成功的解锁检测结果。
在一些实施例中,可以通过智能锁中的控制芯片(例如,图39和图40中的第一主控芯片)或者锁体中的控制芯片(例如,图39和图40中的第二主控芯片)实现对传感器信号的信号分析处理并得到分析结果,进而得到解锁检测结果。具体的,关于控制芯片的更多内容可以参见本申请图39和图40的相关内容,在此不再赘述。
在一些实施例中,解锁检测结果表征锁体解锁成功,可以为:基于解锁到位传感器采集到的传感信号获得解锁完成的检测结果。例如,解锁到位传感器为与第一锁舌(例如,第一锁舌2302)配合设置的传感器,如直接连接到第一锁舌的传感器,或者通过其他部件间接连接到第一锁舌的传感器,或者,设置在第一锁舌的运动轨迹行程上能够通过接触运动中的第一锁舌来采集传感信号的传感器。
进一步地,基于解锁到位传感器采集到的传感信号获得解锁完成的检测结果,具体可以为:解锁到位传感器检测到第一锁舌或用于锁定第一锁舌的锁定块(例如,锁定块2306)进行与解锁完成相关的动作信息,而这一动作信息可以通过对解锁到位传感器所采集到的传感信号进行分析得到。
在一些实施例中,解锁到位传感器可以通过解锁到位开关实现,该解锁到位开关所采集到的解锁信息即传感信号能够表征锁定第一锁舌如剪刀舌的锁定块所处的工作位 置。相应的,解锁到位传感器检测到解锁完成,即为:解锁到位开关采集到表征锁定块处于解锁工作位置的解锁信息,而锁定块处于解锁工作位置的情况下,剪刀舌处于能够进行自由伸缩动作的状态,即为智能锁处于解锁的状态。
在一些实施例中,解锁到位传感器可以为常断开关实现,并通过开关触块与剪刀舌的锁定块相连接,在锁定块处于解锁工作位置时,开关触块触发解锁到位开关,此时,解锁到位开关检测到解锁完成。
在一些实施例中,在解锁检测结果表征锁体解锁成功的情况下,还可以控制电机复位,以便于进行上锁操作。例如,在解锁检测结果表征锁体解锁成功的情况下,首先控制电机停止转动,即电机刹车,刹车后延迟一定时长之后,再控制电机恢复到初始位置。
在一些实施例中,电机对应的电机驱动电路可以具备至少一个供电接口端,以接收电源触发信号。电机驱动电路的电平输出端与控制系统200至少一个处理器(例如,智能锁中的至少一个处理器)的第一信号输入端连接,并通过第一信号输入端向至少一个处理器输出重启控制信号。至少一个处理器的控制信号输出端与电机的电源控制端连接,以控制电机的通电状态。在一些实施例中,在电机异常的情况下,可以将电机驱动电路的供电接口端与外接电源接通,以使控制系统200发送重启控制信号给电机,从而控制电机复位重启。在一些实施例中,智能锁系统包括对应于电机的复位电路。复位电路的电平输出端可以输出重启控制信号给智能锁的至少一个处理器以重启电机。具体的,关于重启控制的相关内容,可以参见本申请图45-图48的相关内容,在此不再赘述。
步骤2405:监测上锁信号,在监测到上锁信号的情况下,执行步骤2406。在一些实施例中,控制系统200的一个或多个模块或处理器(例如,检测模块290或处理器320)可以监测上锁信号。其中,上锁信号用于指示锁体进行上锁处理。
在一些实施例中,上锁信号可以由锁体中被检测到智能锁中的检测舌被压缩且第一锁舌压缩后弹出的情况下生成,进而指示锁体进行上锁处理,此时,执行步骤2406。
在一些实施例中,如果锁体上一直没有监测到上锁信号,那么表明智能锁持续处于解锁状态,为了保证安全,本实施例中可以在智能锁被解锁成功的情况下开始计时,并在计时超过预设时长的情况下输出提示信息输出模块(例如,通过输入/输出模块260),以提示智能锁处于解锁状态超过一定时长,从而提醒用户关门,以保证安全。例如,在智能锁被成功解锁之后的持续时长超过3分钟,那么可以向用户手机端或者智能锁服务器端输出报警提示信息,以提示智能锁处于危险状态。具体的,可以以红色背景全屏输出在手机上,以提示用户智能锁危险。
在一些实施例中,检测舌传感器可以监测检测舌的动作信息,锁定块传感器可以监测第一锁舌的动作信息,可以通过监测检测舌传感器是否检测到锁体中的检测舌的动作信息,并监测锁定块传感器是否检测到锁体中的第一锁舌的动作信息,可以监测上锁信号。在一些实施例中,在检测舌传感器检测到锁体中的检测舌的动作信息且锁定块传感器检测到锁体中的第一锁舌的动作信息的情况下,就可以表征监测到上锁信息。在一些实施例中,如果检测舌传感器没有检测到锁体中的检测舌的动作信息和/或锁定块传感器没有检测到锁体中的第一锁舌的动作信息的情况下,则表征没有检测到上锁信号。
也就是说,上锁信号以检测舌传感器检测到锁体中的检测舌的动作信息且锁定块传感器检测到锁体中的第一锁舌的动作信息的信号来表征。
在一些实施例中,如果检测舌传感器检测到锁体中的检测舌的动作信息且锁定块传感器检测到锁体中的第一锁舌的动作信息,那么可以确定用户关门且将锁体压入门框,此时,认为监测到上锁信号。
步骤2406:控制锁体进行上锁,执行步骤2407。在一些实施例中,控制系统200一个或多个模块或处理器(例如,控制模块240或处理器320)可以控制锁体进行上锁。
在一些实施例中,可以控制电机动作(例如,控制锁体中的电机2305转动),以带动锁体中的锁舌进行运动,使得锁体进行上锁操作。例如,可以控制锁体中的电机按照缓启动机制进行转动,进而带动锁体中的第二锁舌如主锁舌进行运动,实现上锁。在一些实施例中,在开锁检测结果表征锁体开锁成功的情况下,还可以控制电机复位。
步骤2407:根据传感信号,获得上锁检测结果。在一些实施例中,控制系统200检测的一个或多个模块或处理器(例如,检测模块290或处理器320)可以获取传感信号,并根据传感信号获得上锁检测结果。
其中,上锁检测结果至少表征锁体是否上锁成功。在上锁检测结果表征锁体上锁成功的情况下,表征智能锁处于上锁状态,即智能锁装配的门处于关门的状态,完成自动上锁。
在一些实施例中,在智能锁完成自动上锁之后,可以继续监测是否接收到控制指令,即返回步骤2401中,在接收到控制指令之后,继续执行后续步骤,实现智能锁的自动解锁,由此,智能锁上持续进行控制指令的接收和上锁信号的监测,并在接收到控制指令之后进行解锁操作,在监测到上锁信号之后进行上锁操作。
在一些实施例中,可以通过对传感信号进行信号分析,以得到分析结果,而这些分析结果能够表征一个或多个锁舌所进行的动作信息,基于此,本实施例中在根据传感信号获得上锁检测结果时,可以根据传感信号所表征的一个或多个锁舌所进行的动作信息来获取表征锁体是否上锁成功的上锁检测结果。
在一些实施例中,可以通过智能锁中的控制芯片或者锁体中的控制芯片实现对传感器信号的信号分析处理并得到分析结果,进而得到上锁检测结果。
例如,上锁检测结果表征锁体上锁成功,可以为:基于上锁到位传感器采集到的传感信号获得上锁到位的检测结果,而上锁到位传感器为与锁体中的第二锁舌配合设置的传感器,第二锁舌为预设锁定位置上的锁舌,如主锁舌等。
进一步,基于上锁到位传感器采集到的传感信号获得上锁到位的检测结果,具体可以为:上锁到位传感器检测到第二锁舌进行与上锁成功相关的动作信息,而这一动作信息可以通过对上锁到位传感器所检测到的传感信号进行分析得到。
例如,上锁到位传感器可以通过上锁到位开关实现,该上锁到位开关所采集到的上锁信息即传感信号能够表征主锁舌所处的工作位置。相应的,上锁到位传感器检测到上锁到位即为:上锁到位开关采集到表征主锁舌切换到锁定工作位置的上锁信息,而主锁舌处于锁定工作位置的情况下,主锁舌上锁到位,此时智能锁处于上锁的状态。
图25是根据本申请另一些实施例所示的用于控制智能锁的方法的示例性流程图。图25所示的流程可以由本申请中的智能设备控制系统200中的一个或多个模块或处理器实现。例如,图25所示的流程可以由智能锁中(例如,图23所示的智能锁2300中的锁体(例如,锁体包括的一个或多个处理器)或可以与锁体进行通信的服务器(例如,服务器110)来实现。
如图25所示,基于图24中所示的流程图,在步骤2404根据传感信号,获得解锁检测结果之后,本申请一些实施例中的方法还可以包括以下步骤:
步骤2408:判断解锁检测结果是否表征锁体的电机异常,在解锁检测结果表征锁体的电机异常的情况下,执行步骤2409。在一些实施例中,步骤2408可以由控制系统200的一个或多个模块或处理器(例如,处理模块230或处理器320)实现。
在一些实施例中,解锁检测结果表征锁体的电机异常,至少包括以下情况:解锁检测结果表征锁体解锁失败、电机转动的持续时长超过转动时长阈值、电机的负载电流超过电流阈值中的任意一种或任意多种。
在一些实施例中,解锁检测结果表征锁体解锁失败,可以为:基于解锁到位传感器采集到的传感信号获得解锁失败的检测结果。例如,解锁到位传感器检测到第一锁舌 和/或用于锁定第一锁舌的锁定块没有进行与解锁操作相关的动作信息,或者,解锁到位传感器检测到第一锁舌和/或用于锁定第一锁舌的锁定块所进行的与解锁操作相关的动作没有被彻底完成,则表征解锁失败。
在一些实施例中,解锁到位传感器可以通过解锁到位开关实现,该解锁到位开关所采集到的解锁信息即传感信号能够表征锁定第一锁舌如剪刀舌的锁定块所处的工作位置。相应的,基于解锁到位传感采集到的传感信号获得解锁失败的检测结果,即为:解锁到位开关采集到表征锁定块处于锁定工作位置的解锁动作信息,而没有采集到表征锁定块处于解锁工作位置的解锁动作信息。而锁定块处于锁定工作位置的情况下,第一锁舌(例如,剪刀舌)不能进行自由伸缩,表明锁体的电机没有带动锁体中的锁舌转动到解锁工作位置上,即电机出现异常。
在一些实施例中,转动时长阈值可以根据需求进行设置,例如,如果需要较高的解锁可靠性,可以设置较大的转动时长阈值,如果需要较高的解锁灵敏度,可以设置较小的转动时长阈值。相应的,如果电机转动的持续时长超过预设的转动时长阈值而没有停止,那么表明电机可能存在堵转,即电机出现异常。
在一些实施例中,电流阈值可以根据需求进行设置,即电机堵转的电流阈值,相应的,如果电机的负载电流持续升高并升高到超过电流阈值,那么表征电机可能发生了堵转,即电机出现异常。
步骤2409:控制电机复位,返回执行步骤2403,直到电机异常的次数超过次数阈值。在一些实施例中,步骤2408可以由控制系统200的一个或多个模块或处理器(例如,控制模块240或处理器320)实现。
在一些实施例中,在步骤2408中判断出电机异常(如电机发生堵转)的情况下,可以先控制电机复位,再返回执行步骤2403中重新控制电机转动进而控制锁体进行解锁,直到电机异常的次数超过次数阈值。在一些实施例中,控制电机复位,可以包括:首先控制电机停止转动,即电机刹车,之后延迟一定时长之后,再控制电机恢复到初始位置。在一些实施例中,当电机异常的次数超过次数阈值时,可以控制电机停止转动,并延迟一定时长之后,控制电机恢复到初始位置,不再进行解锁操作。
也就是说,本实施例中可以通过电机复位来重复对智能锁进行自动解锁,而如果电机异常的次数即解锁次数超过次数阈值仍然没有解锁成功,那么不再继续尝试解锁。
在一些实施例中,在步骤2408中发现解锁检测结果表征锁体的电机异常的情况下,本实施例中的方法还可以包括以下步骤:
步骤2410:输出异常提示信息。
在一些实施例中,可以通过声音提示装置和/或灯光提示装置(例如,控制系统的输入/输出模块260)输出异常提示信息,例如,通过喇叭输出“电机异常”的提示信息,和/或,通过显示屏或者发光二极管或者小灯泡红灯闪烁以提示异常。
在一些实施例中,还可以将异常提示信息输出到与智能锁相连接的终端或服务器上,如用户手机(例如,终端设备140)或者服务器(例如,服务器110)等设备上,以提示用户并记录异常。例如,一些实施例中可以根据提示信息所对应的预设危险等级,将提示信息以相应的输出方式输出在用户手机端中。以电机异常为例,一些实施例中可以将电机异常的提示信息按照较低的危险等级对应的输出方式进行输出,如控制手机震动并以短消息的形式将电机异常的提示信息输出在手机屏上的中间区域,以提醒用户解锁过程中出现电机异常并及时处理。
图26是根据本申请另一些实施例所示的用于控制智能锁的方法的示例性流程图。图26所示的流程可以由本申请中的智能设备控制系统200中的一个或多个模块或处理器实现。例如,图26所示的流程可以由智能锁中(例如,图23所示的智能锁2300中的锁体(例如,锁体包括的一个或多个处理器)或可以与锁体进行通信的服务器(例如,服 务器110)来实现。
如图26所示,基于图24中所示的流程图,在步骤2404中所得到的解锁检测结果表征锁体解锁成功的情况下,一些实施例中的方法还可以包括以下步骤:
步骤2411:输出第一提示信息。第一提示信息用于提示进行开门动作。
在一些实施例中,可以通过声音提示装置和/或灯光提示装置(例如,输入/输出装置260)输出第一提示信息,例如,通过喇叭输出“请开门”的提示信息,和/或,通过显示屏或者发光二极管或者小灯泡绿灯常亮以提示可以开门的信息。
在一些实施例中,还可以将第一提示信息输出到与智能锁相连接的终端或服务器上,如用户手机(例如,终端设备140)或者服务器(例如,服务器110)等设备上,以提示用户并记录开门相关的具体信息,如开门用户及开门时刻等。例如,一些实施例中可以根据提示信息所对应的预设危险等级,将提示信息以相应的输出方式输出在用户手机端中。以开门提示为例,一些实施例中可以将开门的提示信息按照最低的危险等级对应的输出方式进行输出,如将开门的提示信息以短信的形式输出在手机上,以提醒用户进行开门处理。
图27根据本申请另一些实施例所示的控制智能锁的方法的示例性流程图。图27所示的流程可以由本申请中的智能设备控制系统200中的一个或多个模块或处理器实现。例如,图27所示的流程可以由智能锁中(例如,图23所示的智能锁2300中的锁体(例如,锁体包括的一个或多个处理器)或可以与锁体进行通信的服务器(例如,服务器110)来实现。
如图27所示,基于图24中所示的流程图,在步骤2404中所得到的解锁检测结果表征锁体解锁成功的情况下,一些实施例中的方法还可以包括以下步骤:
步骤2412:至少根据传感信号,获得异常检测结果。
在一些实施例中,异常检测结果可以表征智能锁是否处于异常状态,如虚掩状态等。
在一些实施例中,可以根据预设的异常检测规则,对传感信号进行分析,以得到异常检测结果,在传感信号满足异常检测规则的情况下,所得到的异常检测结果表征智能锁处于异常状态,而在传感信号不满足异常检测规则的情况下,所得到的异常检测结果表征智能锁处于正常状态。
在一些实施例中,异常检测规则也就是异常检测结果表征智能锁处于异常状态的情况可以有以下情况:基于检测舌传感器采集到的传感信号获得检测舌伸出的检测结果,且基于解锁到位传感器采集到的传感信号获得解锁完成的检测结果。
其中,基于检测舌传感器采集到的传感信号获得检测舌伸出的检测结果,是指:检测舌传感器检测到检测舌进行伸出的动作信息,这一动作信息可以通过对检测舌传感器所采集到的传感信号进行分析得到。
也就是说,在一些实施例中,通过解锁到位传感器采集到表征锁定块处于解锁工作位置的解锁信息且通过检测舌传感器采集到表征检测舌伸出的动作信息之后,可以确定智能锁处于异常状态,如智能锁虚掩,即虽然解锁成功但是处于虚掩的状态,此时,可以执行步骤2413,如果异常检测结果表征智能锁没有处于异常状态,那么可以执行步骤2414。
步骤2413:输出第二提示信息。第二提示信息用于提示智能锁出现异常。
在一些实施例中,可以通过声音提示装置和/或灯光提示装置(例如,输入/输出装置260)输出第二提示信息,例如,通过喇叭输出“智能锁虚掩”的提示信息,和/或,通过发光二极管或者小灯泡绿灯闪烁以提示虚掩,以提示用户及时拉开门或者关门。
在一些实施例中,还可以将第二提示信息输出到与智能锁相连接的终端或服务器上,如用户手机(例如,终端设备140)或者服务器(例如,服务器110)等设备上,以 提示用户并记录虚掩。例如,一些实施例中可以根据提示信息所对应的预设危险等级,将提示信息以相应的输出方式输出在用户手机端中。以智能锁出现虚掩为例,一些实施例中可以将智能锁虚掩的提示信息按照较高的危险等级对应的输出方式进行输出,如将虚掩的提示信息全屏输出在手机上,并控制手机屏常亮,以提醒用户智能锁虚掩及时关门,且需要用户对常亮的手机屏进行操作,以确定用户获得到提示信息。
步骤2414:输出第三提示信息。第三提示信息用于提示智能锁处于解锁状态,即门没有关的状态。
在一些实施例中,可以通过声音提示装置和/或灯光提示装置(例如,输入/输出装置260)输出第三提示信息,例如,通过喇叭输出“门已开”的提示信息,和/或,通过显示屏或者发光二极管或者小灯泡黄灯闪烁以提示开门成功的信息。
在一些实施例中,还可以将第三提示信息输出到与智能锁相连接的终端或服务器上,如用户手机(例如,终端设备140)或者服务器(例如,服务器110)等设备上,以提示用户并记录解锁开门相关的具体信息,如解锁用户及解锁时刻等。例如,一些实施例中可以根据提示信息所对应的预设危险等级,将提示信息以相应的输出方式输出在用户手机端中。以智能锁解锁为例,一些实施例中可以将智能锁已经解锁且门已开的提示信息按照较低的危险等级对应的输出方式进行输出,如将智能锁解锁且门已开的提示信息以短信的形式输出在手机屏的中间区域上且控制手机震动,以提醒用户门已开注意安全。
图28是根据本申请另一些实施例所示的智能设备控制系统控制智能锁的方法的示例性流程图。图28所示的流程可以由本申请中的智能设备控制系统200中的一个或多个模块或处理器实现。例如,图28所示的流程可以由智能锁中(例如,图23所示的智能锁2300中的锁体(例如,锁体包括的一个或多个处理器)或可以与锁体进行通信的服务器(例如,服务器110)来实现。
如图28所示,基于图27中所示的流程图,在步骤2412中所得到的异常检测结果表征没有处于异常状态的情况下,一些实施例中的方法还可以包括以下步骤:
步骤2415:当异常检测结果表征没有处于异常状态时,开始记录解锁时长,在解锁时长超过解锁时长阈值的情况下,执行步骤2416。
在一些实施例中,可以通过预设计时器对智能锁处于解锁状态的持续时长进行计时,得到解锁时长,并持续监测该解锁时长是否超过解锁时长阈值,如果解锁时长超过解锁时长阈值,那么为了保证室内安全,执行步骤2416。
步骤2416:生成上锁信号,以控制锁体进行上锁。
在一些实施例中,在生成上锁信号之后,可以通过前文中图24中所示的流程,控制锁体进行上锁并监测是否上锁成功。
在一些实施例中,在检测到智能锁被解锁且并没有处于虚掩等异常状态时,开始记录解锁时长,并在解锁时长超过解锁时长阈值时生成上锁信号,并进行自动上锁,如控制门自动关闭并控制智能锁中的电机自动开始转动,以带动锁体上锁。
在另一些实施例中,可以在检测到智能锁被解锁且并没有处于虚掩等异常状态但是智能锁所在的门没有被推开仍然处于关闭的状态时开始记录解锁时长,并在解锁时长超过解锁时长阈值时生成上锁信号,并进行自动上锁,如控制智能锁中的电机自动开始转动,以带动锁体上锁。
图29是根据本申请另一些实施例所示的控制智能锁的方法的示例性流程图。图29所示的流程可以由本申请中的智能设备控制系统200中的一个或多个模块或处理器实现。例如,图29所示的流程可以由智能锁中(例如,图23所示的智能锁2300中的锁体(例如,锁体包括的一个或多个处理器)或可以与锁体进行通信的服务器(例如,服务器110)来实现。
如图29所示,基于图24中所示的流程图,在步骤2404中所得到的解锁检测结果表征锁体解锁失败的情况下,一些实施例中的方法还可以包括以下步骤:
步骤2417:输出第五提示信息。第五提示信息用于提示智能锁解锁失败。
在一些实施例中,可以通过声音提示装置和/或灯光提示装置输出第五提示信息,例如,通过喇叭输出“无法开门”的提示信息,和/或,通过显示屏或者发光二极管或者小灯泡红灯闪烁以提示解锁失败的信息。
一些实施例中,还可以将第五提示信息输出到与智能锁相连接的终端或服务器上,如用户手机(例如,终端设备140)或者服务器(例如,服务器110)等设备上,以提示用户并记录解锁失败的具体信息,如解锁失败的用户及解锁时刻等。例如,可以根据提示信息所对应的预设危险等级,将提示信息以相应的输出方式输出在用户手机端中。以解锁失败为例,可以将解锁失败的提示信息按照最低的危险等级对应的输出方式进行输出,如将解锁失败的提示信息以短信的形式输出在手机上,以提醒用户解锁失败需检查密码或智能锁。
图30是根据本申请另一些实施例所示的智能设备控制系统控制智能锁的方法的示例性流程图。图30所示的流程可以由本申请中的智能设备控制系统200中的一个或多个模块或处理器实现。例如,图30所示的流程可以由智能锁中(例如,图23所示的智能锁2300中的锁体(例如,锁体包括的一个或多个处理器)或可以与锁体进行通信的服务器(例如,服务器110)来实现。
如图30所示,基于图24中所示的流程图,在步骤2407根据传感信号,获得上锁检测结果之后,一些实施例中的方法还可以包括以下步骤:
步骤2418:判断上锁检测结果是否表征锁体的电机异常,在上锁检测结果表征锁体的电机异常的情况下,执行步骤2419。
在一些实施例中,上锁检测结果表征锁体的电机异常,至少包括以下情况:基于上锁到位传感器采集到的传感信号获得上锁失败的检测结果,电机转动的持续时长超过转动时长阈值、电机的负载电流超过电流阈值中的任意一种或任意多种。
在一些实施例中,基于上锁到位传感器采集到的传感信号获得上锁失败的检测结果,可以为:上锁到位传感器检测到上锁不到位,而上锁到位传感器检测到上锁不到位具体可以为:上锁到位传感器检测到第二锁舌没有进行与上锁成功相关的动作信息,或者说,上锁到位传感器检测到第二锁舌进行的与上锁成功相关的动作未完成的动作信息。例如,上锁到位传感器可以通过上锁到位开关实现,该上锁到位开关所采集到的上锁信息即传感信号能够表征锁定第一锁舌如剪刀舌的锁定块所处的工作位置。在一些实施例中,上锁检测结果表征锁体上锁失败即为:上锁到位开关采集到表征锁定块处于解锁工作位置的上锁信息,而没有采集到表征锁定块处于锁定工作位置的上锁信息。而锁定块处于解锁工作位置的情况下,第一锁舌(例如,剪刀舌)能够自由伸缩,表明锁体的电机没有带动锁体中的锁舌转动到锁定工作位置上,即电机出现异常。
在一些实施例中,转动时长阈值可以根据需求进行设置,例如,如果需要较高的解锁可靠性,可以设置较大的转动时长阈值,如果需要较高的解锁灵敏度,可以设置较小的转动时长阈值。在一些实施例中,如果电机转动的持续时长超过预设的转动时长阈值仍没有停止,那么表明电机可能存在堵转,即电机出现异常。
在一些实施例中,电流阈值可以根据需求进行设置,即电机堵转的电流阈值,相应的,如果电机的负载电流持续升高并升高到超过电流阈值,那么表征电机可能发生了堵转,即电机出现异常。
步骤2419:控制电机复位,并重新执行步骤2406,直到电机异常的次数超过次数阈值。
在一些实施例中,可以通过电机复位来重复对智能锁进行自动上锁,而如果电机 异常的次数即上锁次数超过次数阈值仍然没有上锁到位,那么不再继续尝试上锁。
另外,在步骤2418中发现上锁检测结果表征锁体的电机异常的情况下,一些实施例中的方法还可以包括以下步骤:
步骤2420:输出异常提示信息。
在一些实施例中,可以通过声音提示装置和/或灯光提示装置(例如,输入/输出装置260)输出异常提示信息,例如,通过喇叭输出“电机异常”的提示信息,和/或,通过显示屏或者发光二极管或者小灯泡红灯闪烁以提示异常。
在一些实施例中,还可以将异常提示信息输出到与智能锁相连接的终端或服务器上,如用户手机(例如,终端设备140)或者服务器(例如,服务器110)等设备上,以提示用户并记录异常。
图31是根据本申请另一些实施例所示的智能设备控制系统控制智能锁的方法的示例性流程图。图31所示的流程可以由本申请中的智能设备控制系统200中的一个或多个模块或处理器实现。例如,图31所示的流程可以由智能锁中(例如,图23所示的智能锁2300中的锁体(例如,锁体包括的一个或多个处理器)或可以与锁体进行通信的服务器(例如,服务器110)来实现。
如图31所示,基于图24中所示的流程图,在步骤2407中所得到的上锁检测结果表征锁体上锁失败的情况下,一些实施例中的方法还可以包括以下步骤:
步骤2421:输出第四提示信息。第四提示信息用于提示智能锁上锁失败。
在一些实施例中,可以通过声音提示装置和/或灯光提示装置(例如,输入/输出装置260)输出第四提示信息,例如,通过喇叭输出“上锁失败”的提示信息,和/或,通过显示屏或者发光二极管或者小灯泡红灯闪烁以提示上锁失败的信息。
在一些实施例中,还可以将第四提示信息输出到与智能锁相连接的终端或服务器上,如用户手机(例如,终端设备140)或者服务器(例如,服务器110)等设备上,以提示用户并记录上锁失败的具体信息。例如,一些实施例中可以根据提示信息所对应的预设危险等级,将提示信息以相应的输出方式输出在用户手机端中。以智能锁上锁失败为例,可以将智能锁上锁失败的提示信息按照较高的危险等级对应的输出方式进行输出,如将上锁失败的提示信息全屏输出在手机上,并控制手机屏常亮,以提醒用户智能锁没有上锁成功需要重新上锁。
图32是根据本申请另一些实施例所示的智能设备控制系统控制智能锁的方法的示例性流程图。图32所示的流程可以由本申请中的智能设备控制系统200中的一个或多个模块或处理器实现。例如,图32所示的流程可以由智能锁中(例如,图23所示的智能锁2300中的锁体(例如,锁体包括的一个或多个处理器)或可以与锁体进行通信的服务器(例如,服务器110)来实现。
如图32所示,一些实施例中的方法还可以包括以下步骤:
步骤2422:监测锁体传感器输出的传感信号是否为空,如果为空,执行步骤2423。
在一些实施例中,可以对传感信号是否为0和1之外的值进行判断,如果传感信号中的值不是0也不是1,那么一些实施例中执行步骤2423。
步骤2423:输出传感器损坏的提示信息。
在一些实施例中,可以通过声音提示装置和/或灯光提示装置(例如,输入/输出装置260)输出传感器损坏的提示信息。例如,通过喇叭输出“第*个传感器损坏”的提示信息,和/或,通过显示屏或者发光二极管或者小灯泡提示“第*个传感器损坏”的提示信息。
在一些实施例中,还可以将传感器损坏的提示信息输出到与智能锁相连接的终端或服务器上,如用户手机(例如,终端设备140)或者服务器(例如,服务器110)等设 备上,以提示用户。例如,可以根据提示信息所对应的预设危险等级,将提示信息以相应的输出方式输出在用户手机端中。以传感器损坏为例,可以将传感器损坏的提示信息按照最低的危险等级对应的输出方式进行输出,如将传感器损坏的提示信息以短信的形式输出在手机上,以提醒用户智能锁中的传感器有损坏需检修智能锁。
需要说明的是,以上对各锁体传感器所采集的传感信号的处理及相应的控制操作,如向智能锁面板、手机或后台服务器上输出提示信息等,可以是由锁体内的控制芯片(例如,图39和图40中的第二主控芯片)实现,也可以是由智能锁面板的控制芯片(例如,图39和图40中的第一主控芯片)实现,传感信号在不同的芯片中进行分析判断所实现的不同方案均在本申请的保护范围内。
图33是根据本申请一些实施例所示的用于控制智能锁的装置的结构示意图。
图33,作为对以上一些图所示方法的实现,提供了一种用于控制智能锁的装置的一个实施例,该装置实施例与图24所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
如图33所示,用于控制智能锁的装置可以包括:指令接收单元3301、解锁判断单元3302、解锁控制单元3303、信号监测单元3304和上锁控制单元3305。
在一些实施例中,指令接收单元3301可以是图2所示的控制系统200中的通信模块210的一部分。在一些实施例中,解锁判断单元3302可以是图2所示的控制系统200中的处理模块230的一部分。在一些实施例中,解锁控制单元3303可以是图2所示的控制系统200中的控制模块240的一部分。在一些实施例中,信号监测单元3304可以是图2所示的控制系统200中的检测模块290的一部分。在一些实施例中,上锁控制单元3305可以是图2所示的控制系统200中的控制模块240的一部分。
在一些实施例中,指令接收单元3301可以被配置成:接收控制指令,控制指令用于指示锁体进行解锁处理;解锁判断单元3302可以被配置成:判断控制指令是否满足解锁条件;解锁控制单元3303可以被配置成:在控制指令满足解锁条件的情况下,控制锁体进行解锁,并根据传感信号,获得解锁检测结果,解锁检测结果至少表征锁体是否解锁成功;信号监测单元3304可以被配置成:在解锁检测结果表征锁体解锁成功的情况下,监测上锁信号,上锁信号用于指示锁体进行上锁处理;上锁控制单元3305可以被配置成:在监测到上锁信号的情况下,控制锁体进行上锁,并根据传感信号,获得上锁检测结果,上锁检测结果至少表征锁体是否上锁成功。
在一些实施例中,指令接收单元3301、解锁判断单元3302、解锁控制单元3303、信号监测单元3304和上锁控制单元3305的具体处理及其带来的技术效果可分别参考图24对应实施例中步骤2401-步骤2407的实施例的相关说明,在此不再赘述。
在一些实施例中,解锁检测结果表征锁体解锁成功,至少可以包括:基于解锁到位传感器采集到的传感信号获得解锁完成的检测结果。解锁到位传感器为与锁体中的第一锁舌配合设置的传感器,第一锁舌为能够在外力作用下被压缩且撤去外力作用后能够弹出的锁舌。
在一些实施例中,上锁检测结果表征锁体上锁成功,至少可以包括:基于上锁到位传感器采集到的传感信号获得上锁到位的检测结果。上锁到位传感器为与锁体中的第二锁舌配合设置的传感器,第二锁舌为预设锁定位置上的锁舌。
在一些实施例中,控制指令可以由锁体对智能锁的面板传输的加密指令进行解密得到,而加密指令可以由面板利用锁体传输的加密参数和面板所接收到的输入密码进行加密得到。
在一些实施例中,解锁控制单元3303在控制锁体进行解锁时,具体可以控制锁体中的电机进行转动,以带动锁体中的锁舌进行运动,使得锁体进行解锁。在一些实施例中,在解锁检测结果表征锁体解锁成功的情况下,解锁控制单元3303还可以控制电机复 位。
在一些实施例中,解锁控制单元3303控制锁体中的电机进行转动,具体为:控制锁体中的电机按照缓启动机制进行转动;其中,缓启动机制包括:电机以脉冲电信号进行转动,脉冲电信号具有初始占空比,且随着电机的转动,脉冲电信号的占空比在初始占空比的基础上递增。
在一些实施例中,解锁控制单元3303在根据传感信号,获得解锁检测结果之后,还可以用于:在解锁检测结果表征锁体的电机异常的情况下,控制电机复位,并重新执行控制锁体进行解锁的步骤,直到电机异常的次数超过次数阈值。
在一些实施例中,解锁检测结果表征锁体的电机异常,至少可以包括:解锁检测结果表征锁体解锁失败,和/或,电机转动的持续时长超过转动时长阈值和/或电机的负载电流超过电流阈值。
在一些实施例中,解锁控制单元3303在解锁检测结果表征锁体的电机异常的情况下,还用于:输出异常提示信息。
在一些实施例中,解锁控制单元3303在解锁检测结果表征锁体解锁成功的情况下,还用于:输出第一提示信息,第一提示信息用于提示进行开门动作。
在一些实施例中,解锁控制单元3303在解锁检测结果表征锁体解锁成功的情况下,还用于:至少根据传感信号,获得异常检测结果;在异常检测结果表征智能锁处于异常状态的情况下,输出第二提示信息,第二提示信息用于提示智能锁出现异常。
在一些实施例中,异常检测结果表征智能锁处于异常状态,至少可以包括:基于检测舌传感器采集到的传感信号获得检测舌伸出的检测结果,且,基于解锁到位传感器采集到的传感信号获得解锁完成的检测结果;检测舌传感器为与锁体中的检测舌配合设置的传感器,解锁到位传感器为与锁体中的第一锁舌配合设置的传感器,第一锁舌为能够在外力作用下被压缩且撤去外力作用后能够弹出的锁舌。
在一些实施例中,解锁控制单元3303在异常检测结果表征智能锁没有处于异常状态的情况下,还用于:输出第三提示信息,第三提示信息用于提示智能锁处于解锁状态。
在一些实施例中,解锁控制单元3303在异常检测结果表征智能锁没有处于异常状态的情况下,还用于:当异常检测结果表征智能锁没有处于异常状态时,开始记录解锁时长,在解锁时长超过解锁时长阈值,生成上锁信号,以控制锁体进行上锁;其中,解锁时长为从异常检测结果表征智能锁没有处于异常状态的情况下开始记录的时长。
在一些实施例中,解锁控制单元3303还用于:在解锁检测结果表征锁体解锁失败的情况下,输出第五提示信息,第五提示信息用于提示智能锁解锁失败。
在一些实施例中,信号监测单元3304具体可以用于:监测检测舌传感器是否检测到锁体中的检测舌的动作信息,并监测锁定块传感器是否检测到锁体中的第一锁舌的动作信息。
在一些实施例中,检测舌传感器为与锁体中的检测舌配合设置的传感器,锁定块传感器为与第一锁舌配合设置的传感器,第一锁舌为能够在外力作用下被压缩且撤去外力作用后能够弹出的锁舌;在检测舌传感器检测到锁体中的检测舌的动作信息且锁定块传感器检测到锁体中的第一锁舌的动作信息的情况下,表征监测到上锁信号。
在一些实施例中,上锁控制单元3305在根据传感信号,获得上锁检测结果之后,还可以用于:在上锁检测结果表征锁体的电机异常的情况下,控制电机复位,并重新执行控制锁体进行上锁的步骤,直到电机异常的次数超过次数阈值。
在一些实施例中,上锁检测结果表征锁体的电机异常,至少可以包括:基于上锁到位传感器采集到的传感信号获得上锁失败的检测结果,和/或,电机转动的持续时长超过转动时长阈值和/或电机的负载电流超过电流阈值。上锁到位传感器为与锁体中的第二锁舌配合设置的传感器,第二锁舌为预设锁定位置上的锁舌。
在一些实施例中,上锁控制单元3305还可以用于:在上锁检测结果表征锁体上锁失败的情况下,输出第四提示信息,第四提示信息用于提示智能锁上锁失败。
在一些实施例中,第四提示信息以预设的输出方式输出,预设的输出方式表征锁体上锁失败的危险程度。
在一些实施例中,上锁控制单元3305还可以用于:在上锁检测结果表征锁体的电机异常的情况下,输出异常提示信息。
在一些实施例中,解锁控制单元3303或上锁控制单元3305还可以用于:在锁体传感器输出的传感信号为空的情况下,输出传感器损坏的提示信息。
需要说明的是,用于控制智能锁的装置可以是芯片,组件或模块,用于控制智能锁的装置可包括处理器和存储器,指令接收单元3301、解锁判断单元3302、解锁控制单元3303、信号监测单元3304和上锁控制单元3305等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
处理器中可以包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或多个,通过调整内核参数来:接收控制指令,控制指令用于指示锁体进行解锁处理;判断控制指令是否满足解锁条件;在控制指令满足解锁条件的情况下,控制锁体进行解锁,并根据传感信号,获得解锁检测结果,解锁检测结果至少表征锁体是否解锁成功;在解锁检测结果表征锁体解锁成功的情况下,监测上锁信号,上锁信号用于指示锁体进行上锁处理;在监测到上锁信号的情况下,控制锁体进行上锁,并根据传感信号,获得上锁检测结果,上锁检测结果至少表征锁体是否上锁成功。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。
本申请的上述实施例提供的控制智能锁的装置,在接收到用于指示智能锁进行解锁的控制指令之后,通过判断控制指令是否满足解锁条件来控制锁体进行解锁,并且通过锁体上的锁体传感器获得表征锁体是否解锁成功的解锁检测结果,而在解锁成功的情况下,通过监测用于指示锁体进行上锁处理的上锁信号来控制锁体进行上锁,并通过锁体上的锁体传感器获得表征锁体是否上锁成功的上锁检测结果。可见,本申请中通过对锁体上的控制指令和上锁信号进行实时监测,从而实现锁体的解锁和上锁控制,并且通过锁体上的传感器来监测锁体进行解锁和上锁的结果,在解锁和上锁过程中无需用户进行其他操作,进而能够降低操作复杂度,实现智能锁全自动控制。
基于图23中所示的智能锁,智能锁中除了包含锁体、锁体传感器之外,还具有存储装置和一个或多个处理器,存储装置上存储有一个或多个程序,当一个或多个程序被一个或多个处理器执行时,使得一个或多个处理器能够实现如图24-图32中所示的方法。
在本申请实施例中,处理器可以为中央处理器(Central Processing Unit,CPU)、特定应用集成电路(application-specific integrated circuit,ASIC)、数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件等。
在一些实施例中,存储装置可包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、以及至少一个功能(比如密码比对、电机控制等)所需的应用程序等;存储数据区可存储根据计算机的使用过程中所创建的数据,比如,用户输入密码及预设密码等。
此外,存储装置可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件或其他易失性固态存储器件。
处理器可以调用存储装置中存储的程序,具体的,处理器可以执行以上图24至图32中锁体所执行的操作。
存储装置中用于存放一个或者一个以上程序,程序可以包括程序代码,程序代码 包括计算机操作指令,在本申请实施例中,存储装置中至少存储有用于实现如下功能的程序:
接收控制指令,控制指令用于指示锁体进行解锁处理;判断控制指令是否满足解锁条件;在控制指令满足解锁条件的情况下,控制锁体进行解锁,并根据传感信号,获得解锁检测结果,解锁检测结果至少表征锁体是否解锁成功;在解锁检测结果表征锁体解锁成功的情况下,监测上锁信号,上锁信号用于指示锁体进行上锁处理;在监测到上锁信号的情况下,控制锁体进行上锁,并根据传感信号,获得上锁检测结果,上锁检测结果至少表征锁体是否上锁成功。
本申请中的智能锁中还可以包括输入部件和输出部件(例如,输入/输出模块260)。输入部件可以包括感应触摸显示面板上的触摸事件的触摸感应单元,输出部件可以包括显示器、扬声器、灯等设备中的至少一个。显示器可以包括显示面板,如触摸显示面板等。在一种可能的情况中,可以采用液晶显示器(Liquid Crystal Display,LCD)、有机发光二极管(Organic Light-Emitting Diode,OLED)等形式来配置显示面板。灯的亮度和/或颜色可调,在一些实施例中,可通过灯的亮灭、亮度、颜色中的至少一个体现不同的信息,如通过灯发出红色光体现报警信息。
需要注意的是,图23所示的智能锁的结构并不构成对本申请实施例中电子设备的限定,在实际应用中电子设备可以包括比图23所示的更多或更少的部件,或者组合某些部件。
本申请实施例提供了一种计算机可读介质,其上存储有计算机程序,其中,该程序被处理器执行时实现以上各方法实施例描述的用于控制智能锁的方法。
本申请实施例提供了一种处理器,该处理器用于运行程序,其中,该程序运行时实现以上各方法实施例描述的用于控制智能锁的方法。
本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,使得数据处理设备实现以上各方法实施例描述的用于控制智能锁的方法。
其中,本申请的上述实施例提供的电子设备、处理器、计算机可读介质或计算机程序产品可以均用于执行上文所提供的对应的方法,因此,其所能达到的有益效果可参考上文所提供的对应的方法中的有益效果,此处不再赘述。
图34是根据本申请一些实施例所示的控制智能锁解锁的示例性流程图。图35A和35B是根据本申请一些实施例所示的智能锁的结构示意图。图36是根据本申请一些实施例所示的获取开锁指令的示例性流程图。
首先,结合图34中所示的解锁流程图,对电动解锁(自动解锁)过程进行说明:
在关门状态下,如图35A和图35B中所示,检测件开关A(例如,检测舌传感器)的传感信号为0(1表示检测舌伸出一定距离,例如,伸出9毫米以上),锁定块开关B(锁定块传感器)的传感信号为1(1表示锁定块锁定第一锁舌,例如,剪刀舌),第二锁舌(主锁舌)的上锁到位开关C(上锁到位传感器)的传感信号为1(1表示锁定块在锁定工作位置,即上锁到位),解锁到位开关D(解锁到位传感器)的传感信号为0(1表示锁定块在解锁工作位置,即解锁完成),电机复位开关E(电机传感器)的传感信号为1(1表示复位停止,在原位置)。表1为各个开关的信号表示,表2为关门状态下检测到的各个开关的信号。
表1开关信号
开关类型 开关代号
检测舌开关 A 0 1(检测舌伸出9mm以上)
锁定块开关 B 0 1(锁定块锁定剪刀舌)
主锁舌上锁到位开关 C 0 1(上锁)
解锁到位开关 D 0 1(解锁完)
电机复位开关 E 0 1(复位停止)
表2关门信号
A B C D E 判定
0 1 1 0 1 OK
检测到如表2所示的传感信号可以表明智能锁处于关门状态,之后,用户在需要开门时,在面板上输入合法电子钥匙(如密码等),此时,面板一侧向锁体申请挑战码,锁体在生成挑战码之后,将挑战码返回给面板,面板根据收到的挑战码和密码生成加密的开锁指令(加密指令),并发送开锁指令给锁体,锁体对开锁指令进行解密,如图36中所示。其中,在解密失败时,结束解锁流程,而在开锁指令解密成功时,控制电机开始缓启动进行解锁操作。
在一些实施例中,在A、B、C、D和E五个开关有任意异常的情况下,电机均能够转动开锁,以保证开锁动作。
在电机转动的过程中,锁体基于A、B、C、D和E的开关信号检测首先判断是否解锁到位,在没有解锁到位的情况下,持续监测解锁时间是否超过预设的解锁时间阈值(例如,1.5秒),如果解锁时间超过解锁时间阈值,那么在判断出解锁次数没有超过解锁次数阈值(例如,3次)的情况下,控制电机复位重新缓启动进行解锁操作。如果解锁时间没有超过解锁时间阈值,那么继续判断是否发生电机堵转(即,电机转动的持续时长是否超过预设的转动时长阈值),如果没有堵转那么电机继续转动进行解锁操作;而如果电机发生堵转那么在判断出解锁次数没有超过解锁次数阈值的情况下,控制电机复位并重新缓启动进行解锁操作。如果解锁次数超过解锁次数阈值(例如,解锁重试次数达到3次),那么可以确定开锁失败,结束当前解锁流程。
需要说明的是,如果电机遇到堵转时,电机应立即停止转动并复位到初始状态,电机再次尝试转动开锁,反复三次解锁未成功后,报警,此异常为解锁过程中的电机堵转异常。
锁体基于A、B、C、D和E的开关信号判断是否解锁到位及相关异常的信号如表3中所示:
表3开锁信号
Figure PCTCN2021103621-appb-000001
其中,在锁体判断解锁到位的时候,即,主锁舌收缩到位、锁定块解除剪刀舌的锁定的状态,此时,用户可以推门。
之后,锁体判断是否在预设开门时间阈值(例如,3秒)内推开门,如果门被推开,那么是剪刀舌压缩后弹出且检测舌弹出的状态,如表4中所示:
表4推门信号
Figure PCTCN2021103621-appb-000002
其中,在门被推开之后,控制电机复位,电机复位停止之后,结束当前解锁流程,完成开门。
如果门没有在开门时间阈值内被推开,控制电机复位,电机复位停止之后,锁体通过5个开关的信号判断门是否为虚掩状态,如是虚掩状态,那么上报虚掩提示信息,并结束流程;如果没有虚掩而只是用户没有推门,那么为了保障安全,锁体控制电机转动重新进行上锁操作。在完成上锁之后,可以语音提示“门已上锁”。
图37是本申请一些实施例所示的控制智能锁上锁的示例性流程图。结合图37所示的上锁流程图,对电动上锁(自动上锁)过程进行说明。
如表5所示,为开门状态时5个开关信号的示意图。在开门状态下,用户推门使得锁体被压入门框,锁体上检测5个开关的信号,如表6中所示,在确定检测到剪刀舌上锁之后,控制电机进行缓启动。
表5开门信号
A B C D E 判定
1 0 0 0 1 OK
表6上锁前信号
Figure PCTCN2021103621-appb-000003
在电机转动进行上锁操作过程中,锁体基于A、B、C、D和E的开关信号检测是否上锁到位,在没有上锁到位的情况下持续检测上锁时长是否超过上锁时长阈值(例如,1.5秒),如果上锁时长超过上锁时长阈值,那么在判断出上锁重试次数没有超过上锁次数阈值(例如,3次)的情况下,控制电机复位重新缓启动进行上锁操作,如果上锁时长没有超过上锁时长阈值,那么继续判断是否发生电机堵转,如果没有堵转那么电机继续转动进行上锁操作;如果发生堵转那么在判断出上锁重试次数没有超过上锁次数阈值的情况下,控制电机复位并重新缓启动进行上锁操作。如果上锁重试次数达到上锁次数阈值,那么可以确定上锁失败,结束当前上锁流程。
需要说明的是,如果电机遇到堵转时,电机应立即停止转动并复位到初始状态,电机再次尝试转动开锁,反复三次未成功后,报警,此异常为上锁过程中的电机堵转异常。
锁体基于A、B、C、D和E的开关信号判断主锁舌(第二锁舌)是否上锁到位及相关异常的信号如表7中所示:
表7上锁信号
Figure PCTCN2021103621-appb-000004
在检测到如表7所示的传感信号判断出上锁到位之后,控制电机复位,在复位后停止转动。具体的,主锁舌上锁到位后,先停顿一定时长(如0.5秒),再反转复位,基于此,锁体就可以先给电机释放负载,避免瞬时反转对电机模组造成损坏。
在一些实施例中,在电机复位停止后检测到的开关信号如表8中所示:
表8复位信号
Figure PCTCN2021103621-appb-000005
在完成上锁之后,可以语音提示“门已上锁”的信息。
本申请一些实施例的智能锁(也称为全自动智能锁)中,锁体开锁和上锁通过软件实现,其中,在接收到开锁指令后做合法性验证,而在验证通过之后驱动电机进行开锁。在一些实施例中,本申请中的智能锁能够防尾随开门,例如,用户在面板上使用指纹、密码、NFC或蓝牙等方式开门后,剪刀舌入框即剪刀舌锁定,无法推开门;而在进门关门后无需等待主锁舌上锁,剪刀舌一次跳变即完成硬化。
进一步的,本申请中的智能锁还可以对门状态进行异常检测和提醒。例如,结合5个开关检测面板门状态,如图38中所示,进而在解锁后检测到虚掩时报警,以及在解锁后未开门的自动上锁等,能够进一步的保障安全。
在一些实施例中,随着智能锁的不断普及和应用,其功能越来越全面。智能锁一般包括门锁面板和锁体,锁体内设置有电机,一般由主控芯片通过控制电机驱动电路来控制锁体内的电机动作。主控芯片和电机驱动电路一般设置在门锁面板内,为了实现电机驱动电路和电机之间的通信,智能锁的面板和锁体之间会设置电机和电机驱动电路的通信线,在智能锁的面板被破坏后,该通信线会暴露出来,进而其他设备可以通过该通信线直接控制锁体内的电机,使得门可能被非正常打开,安全性较低。
本申请一些实施例提供的智能设备控制系统和方法(例如,控制系统200和控制方法400),可以应用于控制智能锁。本申请中的智能锁可以将电机驱动电路和电机均设置在锁体内,进而使得电机驱动电路和电机之间的通信线不会暴露,降低了通过控制该电机驱动电路和电机之间的通信线而导致门被非正常打开的可能性,提高安全性。智能锁还可以包括至少一个处理器(例如,处理器320或处理模块230)来执行智能锁控制的方法。至少一个处理器包括一个或多个主控芯片,即通过一个或多个主控芯片来实现智能锁控制方法。为了进一步提高安全性,一个或多个主控芯片中的至少一个主控芯片设置于锁体中。例如,一个或多个主控芯片包括设置在面板内的第一主控芯片和设置在锁体空腔内的第二主控芯片。第一主控芯片和/或第二主控芯片可以为设置在智能锁面板内的第一主控芯片和锁体的壳体空腔内设置的第二主控芯片通过通信接口连接,即使第二主控芯片的通信端口暴露,由于主控芯片被非法控制的难度大于电机驱动电路被非法控制的难度,则通过控制第二主控芯片的方式实现非法开门的难度较大,提高安全性。更进一步的,为了降低第二主控芯片被非法控制的可能性,可以设置第二主控芯片的身份鉴权功能,只有是第二主控芯片鉴权通过的设备才可以控制第一主控芯片,能够进一步降低第二主控芯片被非法控制的可能性,提高安全性。其中,在实现身份鉴权功能时,可以是第二主控芯片实现,也可以是在锁体的壳体空腔内额外设置一与第二主控芯片通信的安全芯片,通过加密芯片实现身份鉴权功能。为便于描述,以下以智能锁应用于门锁为例进行说明,可以理解的是,智能锁还可以应用到其他领域(例如,闸机、保险柜等),在此不做限制。
图39是根据本申请一些实施例所示的示例性智能锁的结构示意图。
如图39所示,智能锁可以包括门锁面板和锁体,门锁面板内设置有第一主控芯片3901,锁体内设置有第二主控芯片3902,第一主控芯片3901和第二主控芯片3902可以通过通信接口连接。在实际应用中,第一主控芯片3901和第二主控芯片3902可以通过无线通信方式通信,此时的通信接口为无线通信接口,如WIFI接口、蓝牙接口、NFC(近场通信,Near Field Communication)接口等近距离通信接口。此外,第一主控芯片3901和第二主控芯片3902可以通过有线通信方式通信,即第一主控芯片3901和第二主控芯片3902之间设置有通信线,通信线的通信接口可以是UART接口、IIC接口或SPI接口。
在一些实施例中,第一主控芯片3901的安装位置不做限定,如可以设置在智能锁的门锁面板的壳体空腔内,也可以设置在智能锁的把手的空腔内或者门体上,此外,还可以设置在门锁面板的侧面,更近距离与锁体接触。
在一些实施例中,锁体的壳体空腔内设置有锁体机械结构3905以及与锁体机械结构3905连接的电机3904;锁体的壳体空腔内还设置有电机驱动电路3903,第二主控芯片3902可以通过电机驱动电路3903与电机3904连接、并可以通过电机驱动电路3903控制电机3904动作。在一些实施例中,第一主控芯片3901在接收到预设开锁信息的情况下,通过通信接口发送开锁指令至第二主控芯片3902,以使第二主控芯片3902通过电机驱动电路3903控制电机3904执行开锁动作。
一些实施例中的电机驱动电路3903能够接收第二主控芯片3902的控制指令,进而驱动锁体内的电机3904,实现解锁、上锁等功能。在一些实施例中,电机3904由第二主控芯片3902通过电机驱动电路3903控制,可以用于把主锁舌(例如,图13所示的第二锁舌2303)伸出或收回,以完成解锁上锁。在一些实施例中,电机3904可以推动离合插销,也可以直接拉动锁舌。在一些实施例中,锁体机械结构3905由多个机械结构件组成,配合检测开关/传感器实现主控芯片检测锁体状态,实现上锁解锁。更多关于检测开关的描述可以参见图24、图28、图30和图34-37中的关于开关的相关说明。
在一些实施例中,第一主控芯片3901的安装位置也可以设置于锁体内部。在一些实施例中,第一主控芯片3901和第二主控芯片3902可以集成在一个主控芯片上,即该主 控芯片可以实现第一主控芯片3901和第二主控芯片3902的功能。
图40是根据本申请一些实施例所示的示例性智能锁的结构示意图。
如图40所示,智能锁可以包括门锁面板和锁体,门锁面板内设置有第一主控芯片3901,锁体内设置有第二主控芯片3902,第一主控芯片3901和第二主控芯片3902可以通过通信接口连接。锁体的壳体空腔内还设置有对第一主控芯片3901进行身份校验的安全芯片3906;安全芯片3906与第二主控芯片3902连接。
为了避免其他设备对第二主控芯片3902进行非法控制,在一些实施例中,在锁体的壳体空腔内设置安全芯片3906,安全芯片3906用于保存秘钥,处理加解密算法,进而实现设备身份鉴权,即使第二主控芯片3902的通信端口暴露,由于锁体的安全芯片3906具有鉴权功能,即使有设备与第二主控芯片3902通信,但是该设备的身份鉴权不通过,也无法控制第二主控芯片3902,进一步提高了开锁的安全性。
本发明的另一实现方式中,参照图40,锁体还设置有至少一个传感器(例如,图23所描述的一个或多个锁体传感器),传感器分别与第二主控芯片3902、锁体机械结构3905直接连接或间接连接。
在一些实施例中,传感器包括但不限于检测开关,用于检测锁体机械结构的所处位置,比如检测主锁舌是否已经完全伸出,和/或检测锁舌是否被压着等。在一些实施例中,不同的机械设计,检测开关的数量、类型、位置、安装方法等可以适应调整。检测开关能够判断当前锁体的状态,可为解锁/上锁/虚掩/强制开门/未复位/已复位中的任一种或其任一组合。
在一些实施例中,由于在锁体内设置有第二主控芯片3902,第二主控芯片3902能够接收检测开关的检测结果,门锁面板内的第一主控芯片3901可以通过第二主控芯片3902间接控制检测开关,进而避免了采用现有技术中通过门锁面板内的第一主控芯片3901直接控制检测开关的方式时,每一检测开关均与第一主控芯片3901通过通信线的方式连接,会导致第一主控芯片3901和检测开关之间设置有较多的连接线,锁体会有大量的出线连接到面板,设计不够精简的问题。
在一些实施例中,主控芯片不仅仅可以外挂检测开关、电机,亦可以外挂各种传感器,比如陀螺仪或加速度计等。
图41和图42是根据本申请一些实施例所示的示例性智能锁的结构示意图。
为了本领域的技术人员能够清楚的了解本发明实施例中的锁体的内部结构,现结合图41和图42进行解释说明。在一些实施例中,锁体包括壳体,壳体空腔内的结构参照图41和图42,图41和图42给出了电机、第二主控芯片、检测开关、电机驱动电路的示例性结构。在一些实施例中,自动上锁、解锁功能的控制由第二主控芯片(例如,第二主控芯片3902)实现,驱动力由电机(例如,电机3904)提供,并通过电机驱动电路(例如,驱动电路3903)实现动力传递。在一些实施例中,检测开关或传感器可以包括采集锁定块处于锁定工作位置的锁定信息的锁定块开关、用于采集检测舌受压收回的关门信息的检测舌开关。
需要说明的是,在一些实施例中,第一主控芯片和第二主控芯片可以通过通信线连接,所以在图41中设置有通信线的通信接口和连接通信接口的连接线。
根据本申请一些实施例,将电机驱动电路和电机均设置在锁体的壳体空腔内,进而使得电机驱动电路和电机之间的通信线不会暴露,降低了通过控制该电机驱动电路和电机之间的通信线而导致门被非正常打开的可能性,提高安全性。进一步,为了实现门锁面板和锁体的通信,在锁体的壳体空腔内设置有第二主控芯片,设置在智能锁内的第一主控芯片和锁体的壳体空腔内设置的第二主控芯片通过通信接口连接,即使第二主控芯片的通信端口暴露,由于主控芯片被非法控制的难度大于电机驱动电路被非法控制的难度,则通过控制第二主控芯片的方式实现非法开门的难度较大,提高安全性。
另外,本申请的技术方案还具有以下技术优势:1)精简设计架构,使锁体对外引出线更简洁。锁体对外的接口固定,不由锁体内部功能的不同而改变。2)增加功能扩展性。针对不同产品定位的门锁,锁体部分的功能各不相同,或者会新增检测开关数量,亦或者是需要增加电机控制等。这些功能都可以直接在锁体内部实现而不影响其对外接口。可以以相同的设计满足不同的需求,这样可以大大降低研发成本。3)针对安全性的问题。机械上整个锁体包裹住了锁舌传动部分,即使拆掉了面板也不能强制开门。另外,在软件传输层面,使用目前主流的加密算法亦能够保证传输的可靠性以及安全性。4)锁体本身可以在软件层面加入身份识别机制,可以保证只能在厂家授权认证的锁体与面板搭配才能使用,这样可以避免市面上因劣质锁体的泛滥而产生的质量问题。
图43是根据本申请一些实施例所示的控制智能锁的方法的示例性流程图。
如图43所示,本申请一些实施例提供了一种应用于智能锁的控制方法,应用于上述任一实施例的智能锁中的第一主控芯片(例如,第一主控芯片3901),控制方法可以包括:
步骤4310,接收预设开锁信息。
在实际应用中,当用户需要进行开锁操作时,第一主控芯片会获取到预设开锁信息(例如,控制密钥)在一些实施例中,预设开锁信息可以是生物特征(如指纹,指静脉,面部特征等)、密码(例如,NFC密码、离线密码值、在线密码值等)等信息,当接收到预设开锁信息后,说明用户想要开锁,此时需要第一主控芯片通过控制第二主控芯片实现开锁操作。在一些实施例中,在用户想要开锁时,会输入开锁信息,但是开锁信息是否正确,需要第一主控芯片进行验证,若正确,则认为是预设开锁信息,此时会执行开锁操作,若不正确,则禁止开锁,语音输出密码不对的提示信息。关于获取开锁信息的过程可以与图24-图31所述的获取接收控制指令的过程相同或相似。
步骤4320,通过通信接口发送开锁指令至第二主控芯片,以使第二主控芯片通过电机驱动电路控制电机执行开锁动作。
在实际应用中,第一主控芯片通过通信接口采用无线或有线的方式发送开锁指令至第二主控芯片,第二主控芯片通过控制电机驱动电路的方式来控制电机动作,进而实现开锁。关于控制电机动作进行开锁的更多描述可以参见图24-图31中的相关说明。
图44是根据本申请另一些实施例所示的控制智能锁的方法的示例性流程图。
为了保证第二主控芯片(例如,第二主控芯片3902)不被非法控制,在一些实施例中,可以对第一主控芯片(例如,第一主控芯片3901)进行身份验证,保证发送开锁指令的第一主控芯片是经过第二主控芯片验证过的芯片。例如,参照图44,对身份验证过程以及开锁过程可以包括如下步骤:
步骤4410,第一主控芯片发送身份校验请求至第二主控芯片。
,在一些实施例中,身份校验请求可以是获取挑战码的请求,第一主控芯片和第二主控芯片预先设定能够通过挑战码+默认key的方式进行身份验证,所以此时第一主控芯片发送获取挑战码的请求至第二主控芯片。
在一些实施例中,为了提高第二主控芯片的响应速度,可以在发送身份校验请求之前,第一主控芯片发送唤醒指令至第二主控芯片,以使第二主控芯片退出休眠状态,唤醒指令可以是高电平,具体可以通过某一特定通信线实现。
步骤4420,第二主控芯片获取与身份校验请求对应的校验参数信息。
一些实施例中,校验参数信息可以是第一主控芯片和第二主控芯片约定的挑战码。
步骤4430,第二主控芯片发送校验参数信息至第一主控芯片。
步骤440,第一主控芯片接收第二主控芯片反馈的与身份校验请求对应的校验参数信息,并对校验参数信息进行加密得到加密数据。
第一主控芯片在进行加密时,使用第一主控芯片存储的私钥进行加密,在一些实 施例中,第一主控芯片和第二主控芯片预先约定了公钥和私钥,使用相应的公钥和私钥进行加解密操作。
步骤4450,第一主控芯片发送加密数据至第二主控芯片。
步骤4460,第二主控芯片对加密数据进行身份校验操作,并在校验通过时,执行步骤4470。
第二主控芯片使用存储的私钥进行解密,解密出挑战码,若该挑战码是第一主控芯片和第二主控芯片约定的挑战码,则说明身份校验通过,若该挑战码不是第一主控芯片和第二主控芯片约定的挑战码,则说明身份校验不通过。
步骤4470,第二主控芯片发送身份校验通过信息至第一主控芯片。
步骤4480,第一主控芯片发送开锁指令至第二主控芯片。
步骤4490,第二控制芯片响应于接收到的开锁指令,通过电机驱动控制电路控制电机执行开锁动作。
在一些实施例中,为了避免误操作,如门本来就处于开锁状态,再次执行开锁动作是没有必要的,此时第二主控芯片会通过检测开关检测锁体机械结构的当前锁体状态;在当前锁体状态为上锁的情况下,通过电机驱动电路控制电机执行开锁动作。即,只有在门处于关闭状态、且接收到开锁指令时,才进行开锁操作,在门未处于关闭状态时,不进行开锁动作,能够避免误操作。
在第二主控芯片通过电机驱动电路控制电机执行开锁动作之后,当第二主控芯片成功控制电机执行开锁动作后,发送开锁成功信息至第一主控芯片,第一主控芯片接收该开锁成功信息,并进行存储和显示,此外,还可以将开锁成功信息推送至预设终端(例如,与用户相关的终端设备140),如用户的手机、电脑等设备。在一些实施例中,第二主控芯片成功控制电机执行开锁动作可以是锁体通过检测开关判断锁体的主锁舌(例如,第二锁舌2303)已经完成收回。
上述实施例中,是通过第二主控芯片进行身份校验操作。在一些实施例中,为了进一步提高身份校验的准确性和可靠性,避免在第二主控芯片受攻击的情况下,身份校验错误的现象发生,能够在锁体的壳体空腔内设置有安全芯片,安全芯片用于对门锁面板的壳体空腔内的第一主控芯片进行身份校验。具体的,安全芯片与第二主控芯片通过IIC或SPI接口通信,第二主控芯片接收第一主控芯片发送的身份校验请求,并将身份校验请求发送至安全芯片,以使安全芯片获取与身份校验请求对应的校验参数信息,并将校验参数信息通过第二主控芯片发送至第一主控芯片,第二主控芯片接收第一主控芯片对校验参数信息进行加密操作后得到的加密数据,并将加密数据发送至安全芯片,以使安全芯片对加密数据进行身份校验操作,在身份校验通过后,通过第二主控芯片发送身份校验通过信息至第一主控芯片。
需要说明的是,安全芯片可以依据实际使用场景进行相应种类的选择,在进行挑战码的加解密操作时,既可以使用第二主控芯片进行,也可以使用安全芯片进行。关于加密、解密和身份鉴权的更多描述可以参见图6-图8和图24-图31的相关描述。
综上可知,通过通信接口发送开锁指令至第二主控芯片,以使第二主控芯片通过电机驱动电路控制电机执行开锁动作,可以包括:发送身份校验请求至第二主控芯片;接收第二主控芯片反馈的与身份校验请求对应的校验参数信息,对校验参数信息进行加密得到加密数据,并将加密数据发送至第二主控芯片;在接收到第二主控芯片对加密数据进行身份校验通过后反馈的身份校验通过信息之后,发送开锁指令至第二主控芯片,以使第二控制芯片通过电机驱动电路控制电机执行开锁动作。
进一步,在通过通信接口发送开锁指令至第二主控芯片,以使第二主控芯片通过电机驱动电路控制电机执行开锁动作之后,还可以包括:在第二控制芯片成功控制电机执行开锁动作后,接收第二控制芯片发送的开锁成功信息。
在一些实施例中,第一主控芯片除了可以实现控制第二主控芯片开锁之外,还可以控制第二主控芯片进行升级操作。具体的,控制方法还可以包括:1)获取第二主控芯片的升级包数据。
在一些实施例中,第一主控芯片可以与预设终端,如用户的手机连接,手机上设置有与智能锁通信的APP,该APP可以与第一主控芯片通信,用户可以通过操作APP发送第二主控芯片的升级包数据至第一主控芯片。
2)通过通信接口发送升级包数据至第二主控芯片,以使第二主控芯片使用升级包数据进行升级操作。
3)接收第二主控芯片在升级操作完成后返回的成功升级信息,并输出成功升级信息至预设终端。
第一主控芯片接收到升级包数据之后,通过通信接口发送至第二主控芯片,第二主控芯片进行升级操作,升级完成后,返回成功升级信息至第一主控芯片,第一主控芯片输出成功升级信息至预设终端。
在一些实施例中,除了可以实现第二主控芯片升级之外,用户还可以通过APP控制第一主控芯片进行升级操作,具体的,用户通过APP下发第一主控芯片的升级包至第一主控芯片,第一主控芯片升级完成后,返回成功升级信息至APP。
本申请的另一实施例提供了一种应用于智能锁的控制方法,应用于上述任一实施例的智能锁中的第二主控芯片,控制方法可以包括:通过通信接口接收第一主控芯片在接收到预设开锁信息时发送的开锁指令,响应于接收到的开锁指令,通过电机驱动控制电路控制电机执行开锁动作。
在一些实施例中,通过通信接口接收第一主控芯片在接收到预设开锁信息时发送的开锁指令,响应于接收到的开锁指令,通过电机驱动控制电路控制电机执行开锁动作,可以包括:接收第一主控芯片在接收到预设开锁信息时发送的身份校验请求,获取与身份校验请求对应的校验参数信息,并将校验参数信息发送至第一主控芯片;接收第一主控芯片对校验参数信息进行加密得到的加密数据,并对加密数据进行身份校验操作,在身份校验通过后,发送身份校验通过信息至第一主控芯片;接收第一主控芯片发送的开锁指令,响应于接收到的开锁指令,通过电机驱动控制电路控制电机执行开锁动作。
进一步,在通过电机驱动控制电路控制电机执行开锁动作之后,还可以包括:在成功控制电机执行开锁动作后,发送开锁成功信息至第一主控芯片。
在一些实施例中,锁体的壳体空腔内还设置有对第一主控芯片进行身份校验的安全芯片;接收第一主控芯片在接收到预设开锁信息时发送的身份校验请求,获取与身份校验请求对应的校验参数信息,并将校验参数信息发送至第一主控芯片,可以包括:接收第一主控芯片在接收到预设开锁信息时发送的身份校验请求,并将身份校验请求发送至安全芯片,以使安全芯片获取与身份校验请求对应的校验参数信息,并将校验参数信息通过第二主控芯片发送至第一主控芯片。
在一些实施例中,接收第一主控芯片对校验参数信息进行加密得到的加密数据,并对加密数据进行身份校验操作,在身份校验通过后,发送身份校验通过信息至第一主控芯片,可以包括:接收第一主控芯片对校验参数信息进行加密得到的加密数据,并将加密数据发送至安全芯片,以使安全芯片对加密数据进行身份校验操作,在身份校验通过后,通过第二主控芯片发送身份校验通过信息至第一主控芯片。
在一些实施例中,锁体还设置有至少一个传感器,传感器分别与第二主控芯片、锁体机械结构连接。响应于接收到的开锁指令,通过电机驱动控制电路控制电机执行开锁动作,可以包括:响应于接收到的开锁指令,通过传感器检测锁体机械结构的当前锁体状态;在当前锁体状态为上锁的情况下,通过电机驱动电路控制电机执行开锁动作。
上述实施例中,介绍了使用第二主控芯片执行开锁操作,此外,第二主控芯片还 能够实现上锁操作。
在一些实施例中,锁体内设置有用于检测锁舌状态的传感器。在成功执行开锁之后,在通过传感器检测到锁体预设锁舌处于挤压状态的情况下,说明用户想要进行关门操作,此时通过电机驱动电路控制电机执行上锁动作,锁体通过传感器判断锁体的主锁舌已经完成伸出后,上报上锁成功信息到门锁面板中的第一主控芯片,第一主控芯片上报上述成功信息至上述的预设终端。
在一些实施例中,还能够通过锁体内的传感器检测门的虚掩状态,此时第二主控芯片会上报至第一主控芯片。另外,第二主控芯片或安全芯片在身份校验不通过时,会上报异常开门信息到门锁面板,此时若锁体内还设置报警装置,第二主控芯片还可以控制报警装置报警。更多关于自动解锁和上锁的描述可以参见图24-图31的相关说明。
本申请的另一实施例中,第二主控芯片还可以实现升级操作,具体的,控制方法还可以包括:通过通信接口接收第一主控芯片发送的第二主控芯片的升级包数据;使用升级包数据进行升级操作;在升级操作完成后返回成功升级信息至第一主控芯片,以使第一主控芯片输出成功升级信息至预设终端。
应用于第二主控芯片的控制方法的各个步骤的具体实现过程,可以参照上述实施例中应用于第一主控芯片的控制方法的相应说明,在此不再赘述。
本申请实施例提供了一种计算机可读介质,其上存储有计算机程序,其中,该程序被处理器执行时实现以上各方法实施例描述的应用于智能锁的控制方法。具体的,应用于智能锁的控制方法包括:接收预设开锁信息;通过通信接口发送开锁指令至第二主控芯片,以使第二主控芯片通过电机驱动电路控制电机执行开锁动作。
本申请实施例提供了一种计算机可读介质,其上存储有计算机程序,其中,该程序被处理器执行时实现以上各方法实施例描述的应用于智能锁的控制方法。具体的,应用于智能锁的控制方法包括:通过通信接口接收第一主控芯片在接收到预设开锁信息时发送的开锁指令,响应于接收到的开锁指令,通过电机驱动控制电路控制电机执行开锁动作。
本申请实施例提供了一种处理器,该处理器用于运行程序,其中,该程序运行时实现以上各方法实施例描述的应用于智能锁的控制方法。具体的,应用于智能锁的控制方法包括:接收预设开锁信息;通过通信接口发送开锁指令至第二主控芯片,以使第二主控芯片通过电机驱动电路控制电机执行开锁动作。
本申请实施例提供了一种处理器,该处理器用于运行程序,其中,该程序运行时实现以上各方法实施例描述的应用于智能锁的控制方法。具体的,应用于智能锁的控制方法包括:通过通信接口接收第一主控芯片在接收到预设开锁信息时发送的开锁指令,响应于接收到的开锁指令,通过电机驱动控制电路控制电机执行开锁动作。
本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,使得数据处理设备实现以上各方法实施例描述的应用于智能锁的控制方法。具体的,应用于智能锁的控制方法包括:接收预设开锁信息;通过通信接口发送开锁指令至第二主控芯片,以使第二主控芯片通过电机驱动电路控制电机执行开锁动作。
本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,使得数据处理设备实现以上各方法实施例描述的应用于智能锁的控制方法。具体的,应用于智能锁的控制方法包括:通过通信接口接收第一主控芯片在接收到预设开锁信息时发送的开锁指令,响应于接收到的开锁指令,通过电机驱动控制电路控制电机执行开锁动作。
其中,本申请的上述实施例提供的电子设备、处理器、计算机可读介质或计算机程序产品可以均用于执行本申请所提供的对应的方法,因此,其所能达到的有益效果可参考上文所提供的对应的方法中的有益效果,此处不再赘述。
目前,智能锁系统的供电总线是由电源管理模块进行控制的,包括控制智能锁系 统的控制器的供电,以及智能锁系统的被控设备的供电。由于被控设备众多,当某一个被控设备出现异常时容易导致智能锁系统出现异常。所以当电源管理模块检测到智能锁系统出现异常时,一般会控制供电总线做断电/上电处理,以使得智能锁系统的控制器和被控设备进行重启,以初始化整个智能锁系统,解决被控设备异常的问题。而且,一般是控制智能锁系统的控制器重启后,才能控制被控设备重启,这种方式,导致被控设备的重启时间较长,进一步导致整个智能锁系统的重启时间太长,影响智能锁的使用。
为了解决上述问题,本申请一些实施例提供了一种智能设备控制系统(例如,智能锁系统)。智能锁系统包括:控制信号电路、系统控制器和被控设备。控制信号电路具备至少一个供电接口端,以接收电源触发信号。控制信号电路的电平输出端与系统控制器的第一信号输入端连接,并通过第一信号输入端向系统控制器输出重启控制信号。系统控制器的控制信号输出端与被控设备的电源控制端连接,以控制被控设备的通电状态。在一些实施例中,控制信号电路与系统控制器连接,系统控制器与被控设备的电源控制端连接,以便于系统控制器控制相应的被控设备的断电/上电,为被控设备进行重启的操作提供了基础。本申请一些实施例中,无需重启系统控制器,可以通过系统控制器直接实现对被控设备进行断电/上电操作,减少了整个智能锁系统的重启时间,提高智能锁的可靠性。
图45是根据本申请一些实施例所示的智能锁系统的示例性结构图。
如图45所示,本申请一些实施例提供了一种智能锁系统,可以包括:控制信号电路4510、系统控制器4520和被控设备4530,其中,系统控制器4520可以是本申请其他地方描述的智能锁的处理器或处理模块或主控芯片(例如,图2中处理模块230或图3中的处理器320)。
控制信号电路4510具备至少一个供电接口端4511,以接收电源触发信号;控制信号电路4510的电平输出端4512与系统控制器4520的第一信号输入端4521连接,并通过第一信号输入端4521向系统控制器4520输出重启控制信号;系统控制器4520的控制信号输出端4522与被控设备4530的电源控制端4531连接,以控制被控设备4530的通电状态。
在一些实施例中,控制信号电路4510可以是集成电路,也可以是非集成电路,本申请对此不做限制。
在一些实施例中,控制信号电路4510的供电接口端4511可以是USB接口,例如是TYPE-C接口。在一些实施例中,控制信号电路4510的供电接口端4511可以通过USB电源线与外部电源连接,例如可以与充电宝连接。当然,控制信号电路4510的供电接口端4511也可以是其它类型的接口,本申请对此不做限制。
在一些实施例中,控制信号电路4510与外部电源接通后,即供电接口4511端接入外部电源后,控制信号电路4510的电平输出端4512可以输出重启控制信号,重启控制信号可以是电平信号,例如高电平或低电平,本申请对此不做限制。
在一些实施例中,重启控制信号通过第一信号输入端4521流向系统控制器4520,系统控制器4520获得重启控制信号后,可以控制被控设备4530的通电状态。例如可以通过断开/闭合被控设备4530的电源,从而控制被控设备4530的通电状态。
在一些实施例中,被控设备4530可以包括多个设备,各个设备可以通过独立的电源线和开关进行供电,这种情况下,系统控制器4520可以通过多个控制信号输出端4522分别控制多个设备的开关断开或闭合,本申请对此不做限制。在一些实施例中,各个设备也可以通过电源总线和一个总开关进行供电,这种情况下,系统控制器4520可以通过一个控制信号输出端4522控制总开关断开或闭合。
图46是根据本申请另一些实施例所示的智能锁系统的示例性结构图。
如图46所示,结合图45所示的实施方式,在一些实施例中,控制信号电路4510 可以包括:第一电阻R1、第二电阻R2、第三电阻R3、第一电容C1和第一三极管D1。
在一些实施例中,第一电阻R1的第一端可以为供电接口端4511;第二电阻R2的第一端、第一电容C1的第一端和第一三极管D1的发射极可以均为接地端;第二电阻R2的第二端、第一电容C1的第二端和第一三极管D1的基极可以均与第一电阻R1的第二端连接;第一三极管D1的集电极与第三电阻R3的第一端连接,第一三极管D1的集电极可以为控制信号电路4510的电平输出端4512;第三电阻R3的第二端可以为控制信号电路4510的电压输入端4513。
在一些实施例中,本实施方式的控制信号电路4510仅是本申请其中一种实施方式,本申请的保护范围包括但不限于本实施方式的控制信号电路4510。
在一些实施例中,当供电接口端4511与外部电源连通时,第一三极管D1可以导通,可以使得第一三极管D1的集电极由高电平变为低电平,低电平可以作为重启控制信号。
在一些实施例中,控制信号电路4510的电压输入端4513可以保持与外部电源连通,例如,控制信号电路4510的电压输入端4513可以保持与3V电压的外部电源连通,即在第一三极管D1的集电极持续施加高电平。在一些实施例中,若控制信号电路4510的供电接口端4511也与外部电源连通,可以使得第一三极管D1导通,第一三极管D1的集电极由高电平变为低电平,低电平可以作为重启控制信号输入至系统控制器4520,本申请对此不做限制。
图47是根据本申请另一些实施例所示的智能锁系统的示例性结构图。
如图47所示,结合图45所示的实施方式,在某些可选的实施方式中,智能锁系统还可以包括:复位电路4540。
复位电路4540的电平输出端4541可以与系统控制器4520的第二信号输入端4523连接;复位电路4540可以具备至少一个电压输入端4542。
在一些实施例中,复位电路4540的电平输出端4541也可以输出重启控制信号给系统控制器4520。
在一些实施例中,复位电路4540的电压输入端4542可以与外部电源保持连通状态,例如可以与3V电压的外部电源持续保持连通,本申请对此不做限制。
图48是根据本申请另一些实施例所示的智能锁系统的示例性结构图。
如图48所示,结合图47所示的智能锁系统的实施方式,在某些可选的实施方式中,复位电路4540可以包括:第四电阻R4、第五电阻R5、复位开关K1和第二电容C2。
第四电阻R4的第一端为复位电路4540的电压输入端4542,第四电阻R4的第二端与第五电阻R5的第一端连接,第五电阻R5的第二端与复位开关K1的一端连接,复位开关K1的另一端为接地端;第二电容C2的第一端与第四电阻R4的第二端连接,第二电容C2的第一端为复位电路4540的电平输出端4541,第二电容C2的第二端为接地端。
在一些实施例中,本实施方式的复位开关K1可以是任意类型的开关,也可以是按钮,本申请对此不做限制。
在一些实施例中,在复位开关K1未闭合时,外部电源、第四电阻R4和第二电容C2形成闭合回路,此时,复位电路4540的电平输出端4541的电平为低电平,低电平可以作为重启控制信号传输给系统控制器4520。在一些实施例中,若复位开关K1闭合,则外部电源、第四电阻R4、第五电阻R5和复位开关K1形成闭合回路,此时复位电路4540的电平输出端4541的电平为高电平,高电平作为重启控制信号传输给系统控制器4520,本申请对此不做限制。
在一些实施例中,在某些可选的实施方式中,供电接口端4511为USB供电接口端。
图49是根据本申请另一些实施例所示的智能锁系统的示例性结构图。
如图49所示,结合图45所示的实施方式,在某些可选的实施方式中,被控设备4530可以包括无线通信模块4531、触控模块4532、指纹模块4533、功放模块4534、频射识别模块4535、语音模块4536和显示模块4537中的至少一个。
在一些实施例中,上述无线通信模块4531、触控模块4532、指纹模块4533、功放模块4534、频射识别模块4535、语音模块4536和显示模块4537可以是独立的集成电路模块,并分别独立与系统控制器4520连接,可以是有线连接,也可以是无线连接,本申请对此不做限制。
在一些实施例中,本申请对被控设备4530的具体设备类型不做限制,任何与系统控制器4520直接连接或通过其它设备与系统控制器4520间接连接的设备、硬件模块、电路均可以作为本申请的被控设备4530。例如,被控设备4530还可以包括智能锁的电机和/或电机驱动电路。
在一些实施例中,无线通信模块4534可以是蓝牙通信模块,本申请对此不做限制。
结合图45所示的实施方式,在某些可选的实施方式中,智能锁系统还可以包括具备无线通信单元的锁体,被控设备4530可以包括无线通信模块(例如,无线通信模块4534);锁体可以与无线通信模块通信连接。
在一些实施例中,当系统控制器4520确定需要重启锁体时,可以通过无线通信模块控制锁体重启。
在一些实施例中,无线通信单元可以是蓝牙通信单元,无线通信模块可以是蓝牙通信模块,本申请对此不做限制。
在一些实施例中,并不限制锁体只能通过系统控制器4520进行控制重启,锁体可以依靠除系统控制器4520外的、独立的设备或芯片控制重启,本申请对此不做限制。
在一些实施例中,本申请的锁体可以是全自动锁体,也可以是半自动锁体,本申请对此不做限制,只要是能够与控制器200进行直接或者间接通信,并能够通过控制器200实现直接或间接控制的锁体都是本实施例公开的范围。
50是根据本申请另一些实施例所示的智能锁系统的示例性结构图。
如图50所示,结合图45所示的实施方式,在某些可选的实施方式中,智能锁系统还可以包括:报警模块4550。
报警模块4550可以与系统控制器4520通信连接,以获得系统控制器4520输出的报警指令并响应。
在一些实施例中,上述报警模块4550可以是具备报警功能的电路模块,例如可以是包括指示灯、喇叭和显示屏中的至少一种的报警模块4550,本申请对此不做限制。
图51是根据本申请另一些实施例所示的智能锁系统的示例性结构图。
如图51所示,结合如图50所示的实施方式,在某些可选的实施方式中,智能锁系统还可以包括:检测模块4560和防撬装置4570。
检测模块4560可以与防撬装置4570通信连接,以获得防撬装置4570的状态信息。
检测模块4560可以与系统控制器4520通信连接,以向系统控制器4520发送防撬装置4570的状态信息,以使系统控制器4520根据防撬装置4570的状态信息向报警模块4550输出报警信息。
在一些实施例中,检测模块4560可以是图2所示的控制系统200中的检测模块290的一部分。
在一些实施例中,在某些可选的实施方式中,智能锁系统还可以包括:监控模块。
监控模块的信号输入端与被控设备4530的通电状态端连接,以获得被控设备4530在第一时间范围内的通电状态;监控模块的信号输出端与被控设备4530的电源控制端4531连接,以控制被控设备4530的通电状态。
在一些实施例中,监控模块可以有多个信号输入端和多个信号输出端,被控设备 4530可以包括多个设备、电路或者硬件模块,监控模块可以通过多个信号输入端分别连接多个设备、电路或者硬件模块,以分别获得多个设备、电路或者硬件模块的通电状态。监控模块还可以通过多个信号输出端分别连接多个设备、电路或者硬件模块,以分别控制多个设备、电路或者硬件模块的通电状态,本申请对此不做限制。
在一些实施例中,监控模块可以包括看门狗计时电路或是其他可以进行计时的电路,本申请对此不做限制。
在一些实施例中,监控模块可以是图2所示的控制系统200的一部分。
上文已对基本概念做了描述,显然,对于本领域技术人员来说,上述详细披露仅仅作为示例,而并不构成对本申请的限定。虽然此处并没有明确说明,本领域技术人员可能会对本申请进行各种修改、改进和修正。该类修改、改进和修正在本申请中被建议,所以该类修改、改进、修正仍属于本申请示范实施例的精神和范围。
同时,本申请使用了特定词语来描述本申请的实施例。如“一个实施例”、“一实施例”、和/或“一些实施例”意指与本申请至少一个实施例相关的某一特征、结构或特点。因此,应强调并注意的是,本申请中在不同位置两次或多次提及的“一实施例”或“一个实施例”或“一个替代性实施例”并不一定是指同一实施例。此外,本申请的一个或多个实施例中的某些特征、结构或特点可以进行适当的组合。
此外,除非权利要求中明确说明,本申请处理元素和序列的顺序、数字字母的使用、或其他名称的使用,并非用于限定本申请流程和方法的顺序。尽管上述披露中通过各种示例讨论了一些目前认为有用的发明实施例,但应当理解的是,该类细节仅起到说明的目的,附加的权利要求并不仅限于披露的实施例,相反,权利要求旨在覆盖所有符合本申请实施例实质和范围的修正和等价组合。例如,虽然以上所描述的系统组件可以通过硬件设备实现,但是也可以只通过软件的解决方案得以实现,如在现有的服务器或移动设备上安装所描述的系统。
同理,应当注意的是,为了简化本申请披露的表述,从而帮助对一个或多个发明实施例的理解,前文对本申请实施例的描述中,有时会将多种特征归并至一个实施例、附图或对其的描述中。但是,这种披露方法并不意味着本申请对象所需要的特征比权利要求中提及的特征多。实际上,实施例的特征要少于上述披露的单个实施例的全部特征。
一些实施例中使用了描述成分、属性数量的数字,应当理解的是,此类用于实施例描述的数字,在一些示例中使用了修饰词“大约”、“近似”或“大体上”来修饰。除非另外说明,“大约”、“近似”或“大体上”表明数字允许有±20%的变化。相应地,在一些实施例中,申请和权利要求中使用的数值参数均为近似值,该近似值根据个别实施例所需特点可以发生改变。在一些实施例中,数值参数应考虑规定的有效数位并采用一般位数保留的方法。尽管本申请一些实施例中用于确认其范围广度的数值域和参数为近似值,在具体实施例中,此类数值的设定在可行范围内尽可能精确。
针对本申请引用的每个专利、专利申请、专利申请公开物和其他材料,如文章、书籍、申请、出版物、文档等,特此将其全部内容并入本申请作为参考。与本申请内容不一致或产生冲突的申请历史文件除外,对本申请权利要求最广范围有限制的文件(当前或之后附加于本申请中的)也除外。需要说明的是,如果本申请附属材料中的描述、定义、和/或术语的使用与本申请内容有不一致或冲突的地方,以本申请的描述、定义和/或术语的使用为准。
最后,应当理解的是,本申请中实施例仅用以说明本申请实施例的原则。其他的变形也可能属于本申请的范围。因此,作为示例而非限制,本申请实施例的替代配置可视为与本申请的教导一致。相应地,本申请的实施例不仅限于本申请明确介绍和描述的实施例。

Claims (34)

  1. 一种智能设备控制系统,其特征在于,包括:
    至少一个存储设备用于存储指令;以及
    至少一个处理器配置为与所述至少一个存储设备通信,当执行所述指令时,所述至少一个处理器用于指示所述系统执行操作,所述操作包括:
    获取控制指令,所述控制指令用于指示所述智能设备进行目标操作;
    判断所述控制指令是否满足预设条件;以及
    在所述控制指令满足所述预设条件的情况下,控制所述智能设备进行所述目标操作。
  2. 根据权利要求1所述的系统,其特征在于,所述智能设备包括智能锁,其中,
    所述智能锁包括锁体和设置于所述锁体中的一个或多个锁体传感器;
    所述一个或多个锁体传感器用于采集传感信号;
    所述目标操作包括解锁操作;以及
    所述至少一个处理器还用于指示所述系统:
    根据所述传感信号,获得解锁检测结果,所述解锁检测结果至少表征所述锁体是否解锁成功;
    在所述解锁检测结果表征所述锁体解锁成功的情况下,监测上锁信号,所述上锁信号用于指示所述锁体进行上锁操作;
    在监测到所述上锁信号的情况下,控制所述锁体进行所述上锁操作;以及
    根据所述传感信号,获得上锁检测结果,所述上锁检测结果至少表征所述锁体是否上锁成功。
  3. 根据权利要求2所述的系统,其特征在于,所述智能锁包括设置在所述锁体中的电机和锁舌,所述控制所述锁体进行解锁操作包括:
    控制所述电机动作,以带动所述锁舌进行运动,使得所述锁体进行所述解锁操作,
    其中,在所述解锁检测结果表征所述锁体解锁成功的情况下,所述至少一个处理器还用于指示所述系统:
    控制所述电机复位。
  4. 根据权利要求3所述的系统,其特征在于,所述智能锁包括电机驱动电路,所述电机驱动电路设置于所述锁体中,所述控制所述电机动作包括:
    通过所述驱动电路控制所述电机动作。
  5. 根据权利要求3所述的系统,其特征在于,所述解锁检测结果还表征所述电机是否异常,其中,所述解锁检测结果所表征的所述电机异常至少包括:
    所述解锁检测结果表征所述锁体解锁失败,和/或所述电机动作的持续时长超过动作时长阈值和/或所述电机的负载电流超过电流阈值。
  6. 根据权利要求5所述的系统,其特征在于,在所述解锁检测结果表征所述电机异常的情况下,所述至少一个处理器还用于指示所述系统:
    控制所述电机复位,并重新控制所述锁体进行所述解锁操作,直到所述电机异常的次数超过次数阈值。
  7. 根据权利要求3所述的系统,其特征在于,所述控制所述锁体进行所述上锁操作包括:
    控制所述电机动作,以带动所述锁舌进行运动,使得所述锁体进行所述上锁操作,
    其中,在所述开锁检测结果表征所述锁体开锁成功的情况下,所述至少一个处理器还用于指示所述系统:
    控制所述电机复位。
  8. 根据权利要求3所述的系统,其特征在于,在所述解锁检测结果表征所述锁体解锁成功的情况下,所述至少一个处理器还用于指示所述系统:
    至少根据所述传感信号,获得异常检测结果,所述异常检测结果表征所述智能锁是否处于异常状态;以及
    在所述异常检测结果表征所述智能锁没有处于异常状态的情况下,开始记录解锁时长,在所述解锁时长超过解锁时长阈值的情况下,生成所述上锁信号,以控制所述锁体进行所述上锁操作。
  9. 根据权利要求3任一所述的系统,其特征在于,所述上锁检测结果还表征所述电机是否异常,其中,所述上锁检测结果所表征的所述电机异常至少包括:
    所述上锁检测结果表征所述锁体上锁失败,和/或所述电机动作的持续时长超过动作时长阈值和/或所述电机的负载电流超过电流阈值。
  10. 根据权利要求9所述的系统,其特征在于,所述至少一个处理器还用于指示所述系统:
    在所述上锁检测结果表征所述电机异常的情况下,控制所述电机复位,重新控制所述锁体进行所述上锁操作,直到所述电机异常的次数超过次数阈值。
  11. 根据权利要求3所述的系统,其特征在于,所述智能锁包括设置在所述锁体中的检测件和第一锁舌,所述第一锁舌为能够在外力作用下被压缩且撤去外力作用后能够弹出的锁舌,所述一个或多个锁体传感器包括与所述检测件配合设置的检测件传感器和与所述第一锁舌配合设置的锁定块传感器,所述监测上锁信号,包括:
    监测所述检测件传感器是否检测到所述检测件的动作信息;
    检测所述监测锁定块传感器是否检测到所述第一锁舌的动作信息;以及
    在所述检测件传感器检测到所述检测件的动作信息且所述锁定块传感器检测到所述第一锁舌的动作信息的情况下,表征监测到所述上锁信号。
  12. 根据权利要求2所述的系统,其特征在于,所述至少一个处理器包括一个或多个主控芯片,所述一个或多个主控芯片中的至少一个主控芯片设置于所述锁体中。
  13. 根据权利要求12所述的系统,其特征在于,所述一个或多个主控芯片包括第一主控芯片和第二主控芯片,其中,所述第二主控芯片设置于所述锁体中。
  14. 根据权利要求13所述的系统,其特征在于,所述获取所述控制指令包括:
    通过所述第一主控芯片接收预设解锁信息后,通过第二主控芯片获取所述第一主控芯片发送的所述控制指令。
  15. 根据权利要求1所述的系统,其特征在于,所述获取控制指令包括:
    获取加密指令,所述加密指令包括加密的控制密钥;以及
    解密所述加密指令得到所述控制指令。
  16. 根据权利要求15所述的系统,其特征在于,所述加密指令由所述控制密钥和所述智能设备传输的加密参数进行加密得到,所述预设条件为所述控制密钥为预设密钥和所述加密参数为预设加密参数。
  17. 根据权利要求15所述的系统,其特征在于,所述加密指令通过终端设备获得,所述解密所述加密指令得到所述控制指令包括:
    获取所述终端设备生成的公私钥对中的公钥;
    根据所述智能设备生成的公私钥对中的私钥和获取到的公钥,生成会话密钥;以及
    通过所述会话密钥对所述加密指令进行解密,得到所述控制指令。
  18. 根据权利要求17所述的系统,其特征在于,在获得所述加密指令前,所述至少一个处理器还用于指示所述系统:
    获取所述终端设备生成的验证数据和所述终端设备生成的公私钥对中的公钥;
    根据所述智能设备生成的公私钥对中的私钥和获取到的公钥,生成所述会话密钥;
    通过所述会话密钥对所述验证数据进行解密,得到所述终端设备的签名、终端设备的第一数据和所述终端设备的证书,对所述终端设备的签名和所述终端设备的证书进行验证,得到验证结果;
    若所述验证结果表明所述终端设备的签名和所述终端设备的证书合法,生成所述控制密钥,并通过所述会话密钥对所述控制密钥和所述终端设备的第一数据进行加密,得到控制数据;以及
    发送所述控制数据至所述终端设备以使得所述终端设备解密所述控制数据得到所述控制密钥。
  19. 根据权利要求18所述的系统,其特征在于,所述根据所述智能设备生成的公私钥对中的私钥和获取到的公钥,生成会话密钥包括:
    根据所述智能设备生成的公私钥对中的私钥和所述获取到的公钥,生成共享密钥;以及
    根据所述共享密钥和所述终端设备的身份标识,生成所述会话密钥,所述终端设备的身份标识通过设备选取请求得到。
  20. 根据权利要求18或19所述的系统,其特征在于,所述对所述终端设备的签名和所述终端设备的证书进行验证,得到验证结果包括:
    获取所述终端设备的证书对应的证书摘要以及证书签名;以及
    通过所述终端设备的证书的公钥,对所述证书摘要和所述证书签名进行验证,以及通过所述智能设备获取到的公钥对终端设备的签名进行验证,得到所述验证结果。
  21. 根据权利要求15所述的系统,其特征在于,所述控制密钥包括离线密码值,所述离线密码值对应唯一密码标识,所述预设条件为:
    第一密码池中存在与所述离线密码值相匹配的目标密码值,且所述目标密码值第一次被使用。
  22. 根据权利要求21所述的系统,其特征在于,所述第一密码池包括多个离线密码值,其中,所述控制密钥对应的离线密码值为所述多个离线密码值中的一个,所述多个离线密码值通过以下操作生成:
    获得第一时间信息,所述第一时间信息为根据预设规则得到的时间数据信息;
    至少对所述第一时间信息进行处理,得到目标字符串,所述目标字符串中包含多个字符;
    将所述目标字符串中的字符进行分组,得到多个字符组合,每个所述字符组合中包含至少一个字符;以及
    分别对每个所述字符组合中的字符进行处理,以得到每个所述字符组合对应的离线密码值。
  23. 根据权利要求22所述的系统,其特征在于,所述多个离线密码值中的每个密码值对应各自的密码标识,所述每个密码值的各自对应的密码标识通过以下操作生成:
    获得第二时间信息,所述第二时间信息与所述第一时间信息相关;以及
    至少根据每个所述离线密码值对应的密码次序和所述第二时间信息,获得每个所述离线密码值各自对应的密码标识。
  24. 根据权利要求22所述的系统,其特征在于,所述第一时间信息所表征的当前时刻点的颗粒度与所述智能设备的密码配置信息相关,所述密码配置信息基于预先的配置操作生成。
  25. 根据权利要求21所述的系统,其特征在于,所述至少一个处理器还用于指示所述系统:
    在所述离线密码值满足所述预设条件时,在所述密码锁与服务器建立有数据连接的情况下,将所述离线密码值对应的所述唯一密码标识传输给所述服务器,以使得所述服务器至少根据所述唯一密码标识确定从所述服务器获取所述离线密码值的终端设备对应的目标用户。
  26. 根据权利要求15所述的系统,其特征在于,所述控制密钥包括在线密码值,所述预设条件为:
    所述在线密码值满足在线密码的使用限制条件。
  27. 根据权利要求1所述的系统,其特征在于,
    所述智能设备包括控制信号电路和被控设备;
    所述控制信号电路具备至少一个供电接口端,以接收电源触发信号;以及
    所述至少一个处理器的控制信号输出端与所述被控设备的电源控制端连接,以控制所述被控设备的通电状态。
  28. 根据权利要求27所述的系统,其特征在于,所述控制信号电路的电平输出端与所述至少一个处理器的第一信号输入端连接,并通过所述第一信号输入端向所述至少一个处理器输出重启控制信号。
  29. 根据权利要求28所述的系统,其特征在于,所述重启控制信号为高电平信号或低电平信号。
  30. 根据权利要求27所述的系统,其特征在于,所述供电接口端为USB供电接口端。
  31. 根据权利要求27所述的系统,其特征在于,所述被控设备包括无线通信模块、触控模块、指纹模块、功放模块、频射识别模块、语音模块和显示模块中的至少一个。
  32. 一种智能设备控制方法,其特征在于,包括:
    获取控制指令,所述控制指令用于指示所述智能设备进行目标操作;
    判断所述控制指令是否满足预设条件;以及
    在所述控制指令满足所述预设条件的情况下,控制所述智能设备进行所述目标操作。
  33. 一种智能设备控制系统,其特征在于,包括通信模块、处理模块和控制模块,其中所述通信模块用于获取控制指令,所述控制指令用于指示所述智能设备进行目标操作;
    所述处理模块用于判断所述控制指令是否满足预设条件;以及
    所述控制模块用于在所述控制指令满足所述预设条件的情况下,控制所述智能设备进行所述目标操作。
  34. 一种计算机可读存储介质,所述存储介质存储计算机指令,当计算机读取存储介质中的计算机指令后,计算机执行一种设备控制方法,所述设备控制方法包括:
    获取控制指令,所述控制指令用于指示所述智能设备进行目标操作;
    判断所述控制指令是否满足预设条件;以及
    在所述控制指令满足所述预设条件的情况下,控制所述智能设备进行所述目标操作。
PCT/CN2021/103621 2020-06-30 2021-06-30 一种智能设备控制方法和系统 WO2022002146A1 (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP21831982.0A EP4161033A4 (en) 2020-06-30 2021-06-30 INTELLIGENT DEVICE CONTROL METHOD AND SYSTEM
US18/146,986 US20230140203A1 (en) 2020-06-30 2022-12-27 Smart device control methods and systems

Applications Claiming Priority (12)

Application Number Priority Date Filing Date Title
CN202010617589.5 2020-06-30
CN202010617589.5A CN113873513A (zh) 2020-06-30 2020-06-30 用于处理控制密钥的方法和装置
CN202010999569.9 2020-09-22
CN202010999569.9A CN114299637B (zh) 2020-09-22 2020-09-22 用于控制电子锁的方法和装置
CN202010998858.7 2020-09-22
CN202010998858.7A CN114299636B (zh) 2020-09-22 2020-09-22 用于处理设备离线密码的方法和装置
CN202022386092.5U CN214311848U (zh) 2020-10-23 2020-10-23 一种电子锁系统
CN202022386092.5 2020-10-23
CN202022748649.5 2020-11-24
CN202011328475.5 2020-11-24
CN202022748649.5U CN213690749U (zh) 2020-11-24 2020-11-24 智能锁
CN202011328475.5A CN112598821A (zh) 2020-11-24 2020-11-24 智能锁和应用于智能锁的控制方法

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US18/146,986 Continuation US20230140203A1 (en) 2020-06-30 2022-12-27 Smart device control methods and systems

Publications (1)

Publication Number Publication Date
WO2022002146A1 true WO2022002146A1 (zh) 2022-01-06

Family

ID=79317430

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2021/103621 WO2022002146A1 (zh) 2020-06-30 2021-06-30 一种智能设备控制方法和系统

Country Status (3)

Country Link
US (1) US20230140203A1 (zh)
EP (1) EP4161033A4 (zh)
WO (1) WO2022002146A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115190016A (zh) * 2022-07-25 2022-10-14 平安科技(深圳)有限公司 系统通用开关配置方法、装置、设备及存储介质
CN115623464A (zh) * 2022-11-22 2023-01-17 石家庄科林电气股份有限公司 一种电能表蓝牙模块的故障处理方法、装置及电能表

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI809462B (zh) * 2021-07-29 2023-07-21 費米股份有限公司 具升降功能之共享裝置的控制系統及其控制方法
CN116543486B (zh) * 2023-07-05 2023-09-26 深圳市旭子科技有限公司 密码锁的离线控制方法及密码锁系统
CN117318939B (zh) * 2023-11-27 2024-03-12 佛山君兰智能科技有限公司 一种联动式门锁解锁系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107316400A (zh) * 2017-04-01 2017-11-03 海南拍拍渔鲜活水产有限公司 共享单车车锁及其控制系统
CN108305369A (zh) * 2018-03-16 2018-07-20 何明旗 智能锁系统及其工作方法、安装该智能锁系统的通信箱
CN110223428A (zh) * 2015-07-06 2019-09-10 阿克赛思Ip控股公司 安全锁及其控制系统、访问控制系统及锁保护件
US20190340856A1 (en) * 2018-05-02 2019-11-07 Terrance R. Gilbert Universal Locking Device
CN112598821A (zh) * 2020-11-24 2021-04-02 云丁网络技术(北京)有限公司 智能锁和应用于智能锁的控制方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP4027576B1 (en) * 2014-01-13 2023-11-22 Visa International Service Association Efficient methods for protecting identity in authenticated transmissions
US11377875B2 (en) * 2016-09-19 2022-07-05 Level Home, Inc. Deadbolt position sensing

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110223428A (zh) * 2015-07-06 2019-09-10 阿克赛思Ip控股公司 安全锁及其控制系统、访问控制系统及锁保护件
CN107316400A (zh) * 2017-04-01 2017-11-03 海南拍拍渔鲜活水产有限公司 共享单车车锁及其控制系统
CN108305369A (zh) * 2018-03-16 2018-07-20 何明旗 智能锁系统及其工作方法、安装该智能锁系统的通信箱
US20190340856A1 (en) * 2018-05-02 2019-11-07 Terrance R. Gilbert Universal Locking Device
CN112598821A (zh) * 2020-11-24 2021-04-02 云丁网络技术(北京)有限公司 智能锁和应用于智能锁的控制方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115190016A (zh) * 2022-07-25 2022-10-14 平安科技(深圳)有限公司 系统通用开关配置方法、装置、设备及存储介质
CN115190016B (zh) * 2022-07-25 2023-04-28 平安科技(深圳)有限公司 系统通用开关配置方法、装置、设备及存储介质
CN115623464A (zh) * 2022-11-22 2023-01-17 石家庄科林电气股份有限公司 一种电能表蓝牙模块的故障处理方法、装置及电能表

Also Published As

Publication number Publication date
EP4161033A4 (en) 2023-11-01
EP4161033A1 (en) 2023-04-05
US20230140203A1 (en) 2023-05-04

Similar Documents

Publication Publication Date Title
US11417159B2 (en) Methods and systems for controlling a smart lock
WO2022002146A1 (zh) 一种智能设备控制方法和系统
US10742630B2 (en) Method and apparatus for making a decision on a card
AU2017276840B2 (en) Padlock device, systems including a padlock device, and methods of operating therefor
US10490005B2 (en) Method and apparatus for making a decision on a card
US8807426B1 (en) Mobile computing device authentication using scannable images
US8689013B2 (en) Dual-interface key management
US11244524B2 (en) System and method for managing electronic locks
US10984620B2 (en) Access control device, access control system and access control method using the same
CN113924569A (zh) 认证输入设备
EP2356637A1 (en) Card credential method and system
US11756356B2 (en) System and method for controlling multiple locks
US11568694B2 (en) Realestate as tradable digital assets through blockchain integration
KR20220065734A (ko) 출입 관리 시스템 및 그 방법
US20210287463A1 (en) Blockchain supported smart lock system
CN112652098A (zh) 一种人脸识别电子锁权限控制方法与系统
EP2104054A2 (en) Separated storage of data and key necessary to access the data
TWI628627B (zh) 基於短程通訊裝置與遠端系統整合之門禁系統
TWM519774U (zh) 基於短程通訊裝置與遠端系統整合之門禁系統

Legal Events

Date Code Title Description
ENP Entry into the national phase

Ref document number: 2021831982

Country of ref document: EP

Effective date: 20221231

NENP Non-entry into the national phase

Ref country code: DE