首先第一部分是:
安全密码键盘模块,这个模块就是让用户安全的输入智能锁密码
第二部分就是主板模块,这个模块集成了WIFI通讯模块、数据网络通讯模块、开锁模块、安全模块,如果带有面部扫描摄像头,应该还要带有拍照模块。
第三部分就是各种输入输出设备:如执行开锁和关锁的模块、语音播报模块、键盘模块、指纹扫描和\或者摄像头模块。
第四部分就是服务器和Google Pixel端、Google Tablet端,服务器端就是保存用户操作、锁具设备数据运作数据、客户服务、软件更新维护、锁具更新发布、账户和锁具绑定数据等。
Android5.0智能门锁屏幕内置的其他功能和Google Nexus差不多,不过不同的是这个智能门锁智慧屏中会预装该智能门锁厂家的智能门锁软件,且这个智能门锁内的Google Assistant与其他普通版本Android Google Assistant不同的是,智能门锁内内置的Google Assistant会给用户提供添加、删除指纹\密码\面部图片的操作,此外智能门锁所有操作都受到一款内置在智能门锁安卓系统中的一款名为Google SmartFrontDoor的应用程序控制,这个应用程序的功能就是从云端和本地接收和处理、执行和门锁有关的操作(如密码、指纹、面部扫描图像的设置与删除和维护),并将门锁操作结果通过Google Cloud反馈给Google Pixel以及Google Tablet。
如果你使用过海外版的安卓系统,你应该用过Google Find My Device的功能,这个功能就是可以让用户远程使用联网设备擦除登陆同一个Google账号的设备的数据,那么智能门锁中也同样带有这个功能,需要注意的是这里的Google Find My Device智能门锁APP只会提供锁具数据擦除功能,另外这里的Google Find My Device智能门锁APP在执行数据擦除操作前,会将门锁的位置信息上传到Google服务器,至于为何要上传服务器,我后面会说到。
Communicaiton with 谷歌 Smart Home Cloud应用:这个应用也是内置到门锁里面的,这个的功能就是可视门铃、从云端系统接收Google Pixel、Google tabl等设备发出的远程开门指令,并将远程开门指令转发给前面提到的执行操作的应用,然后将执行操作的结果通过Google Cloud反馈给Google Pixel、Google Tablet等设备。
Gboard特供版:这个特供版Gboard主要的作用当然就是设置密码,此外这个键盘还有一个作用就是在Google Assistant中直接给Google Assistant输入指令,完成维护门锁内面部扫描资料、密码、指纹的维护、新增等操作。
Behavior Detector:这个功能就是通过锁内传感器,检测撬门之类的行为,然后通过Google Smart Door将门外监控录像、撬门信息通过云端发送给Google Pixel\Google Tablet端,并发出报警声
Google账号管理程序:就是存储设备登陆的Google账号
这种智能门锁除了软件是定制的之外,门锁系统修复系统(其实就是Android System Recovery以及fastboot模式)也和其他的安卓机有些不太一样,首先是Android System Recovery模式中数据擦除选项,当用户选择删除所有机器内的数据后,首先锁内的Google账户就会被清除,然后智能门锁就会向Google Cloud发出Log Out Google account的指令,当服务器受到这个指令之后,会将该门锁开锁记录、指纹开锁记录、指纹资料、面部扫描资料标注数据已经被删除(需要注意的是我这里说的是已经被标记为删除),然后系统就会问用户是否要从服务器下载刷机包,然后进行刷机,如果用户选择"从服务器上下载刷机包",那么系统就会下载智能锁的最新版本固件,然后刷机,反之则直接清空锁内数据。
至于FASTBOOT系统恢复模式:这个模式我这里也提供了几种刷机方案:
1、第一种的话是Google Pixel手机通过特定方式(如蓝牙、wifi本地网)的方式,直接向智能门锁发送固件包,然后智能门锁直接刷机。
2、传统的安卓设备连接到电脑的刷机方案,不过智能锁都是安装在门上,可以想象用户在用电脑对智能锁进行线刷的时候,用户的姿势会有多奇葩。
3、将传统的安卓设备有线刷机改成电脑通过无线操作智能锁刷机(如通过局域网、蓝牙等无线方式对智能锁进行刷机),这就能避免用户利用电脑对智能锁进行刷机时用户可能会摆出的奇葩姿势。
如果智能锁的系统、任何刷机方式都已经失效,其实我借用高通在处理这种情况时最后一张王牌,这个王牌就是通过芯片渠道对设备直接进行刷机,如果出现这种情况设备要怎么刷机呢?在这种情况下,当锁具进入到这种状态或者开机后,智能锁的芯片会直接打开所有与外部设备沟通的通道,然后会给服务器、锁具所连接到的网络数据传输中枢设备发送:设备型号XXXXX序列号XXXX版本号XXXXX IMEI XXXXX 设备ID XXXXXXX IS DEAD标签,来告诉服务器、锁具链接到的网络最高层级数据交换中枢:锁具已经死了,那么这个时候如果Google Pixel\Google Tablet的智能锁应用检测到这种情况并向服务器下达修复智能锁固件之后,服务器就会直接向锁具传输最新固件,然后通过云操控的方式远程遥控锁具直接绕过fastboot、recovery来安装固件,如果这个时候智能锁没有联网,那么还有一种方案就是Bluetooth、电脑刷机的方式恢复固件,如果是通过Bluetooth来恢复固件,那么Google Pixel手机上的智能锁固件修复软件在扫描故障设备的状态时,Pixel手机就会发出广播:"我蓝牙覆盖范围内是哪台设备固件坏了,如果有设备的固件坏了、设备死了,请编辑消息Device is dead, Dead device info is xxxxxxxx,发送至xxxxxx蓝牙地址(这里的蓝牙地址就是Google Pixel手机的蓝牙地址)",当Google Pixel手机收到某个设备的固件坏了的消息之后,Google Pixel手机就会向Google服务器查询这个坏了的设备最新固件信息,查询到固件信息后Google Pixel手机就会问用户是否下载并利用该固件包修复设备,如果用户选择下载并修复固件坏了的设备,Google Pixel手机就会自动下载这个固件包,然后发送到无法启动固件、固件损坏的设备,无法启动固件、固件损坏的设备收到Google Pixel发来的固件包之后,第一件事情就是联网,首先设备会先打开固件包中的一个简易版的应用程序,这个应用程序的作用就是在于智能设备在没有固件的情况下连接上Google服务器,这个应用程序首先会启动内置的4G网络模块、WIFI模块等,然后连上网络,连接到网络后设备会先请求服务器解绑设备,逻辑删除数据,并在云端的控制之下完成固件包的安装,如果这个时候设备没有联网,则会直接开始安装固件包,然后在固件安装完成并联网后,通知服务器将设备与设备绑定的Google 账户解绑。
至于有线固件恢复方案则借鉴高通芯片固件恢复方案。
至于系统更新(传统的OTA更新):这一部分倒是和传统的安卓系统没区别
还有就是当智能锁彻底挂了、没电、关机后以及系统维护、更新时,锁具还应当支持传统机械钥匙开锁方案,至于这一部分就不是技术问题了。
接下来就是用户绑定设备和解绑设备的部分:当用户在Google Pixel、平板上绑定设备前,需要一个谷歌账号,当用户在Google Pixel、平板上登陆账号后,需要在设备内置的Google Home中添加智能门锁,这个时候手机、平板就会广播哪个Google门锁是要绑定的,当门锁需要绑定的时候,就会做出这个应答:"设备资料XXXXXX需要绑定",当用户为智能锁设备配网的时候,首先手机会向智能门锁发送是否确认配对的信息,设备确认配对后手机、平板会向智能锁发送用户Google账号资料(如账号ID、GMAIL地址等)然后系统会拍摄使用者面部照片到Google Cloud云服务器上用于日后用户在手机、平板上进入智能锁页面的时候验证设备最高管理人员的身份,然后就是设备绑定成功。当用户在手机端、平板端发起解绑智能锁或者在智能锁屏幕上操作退出Google账户的时候,手机以及智能门锁会触发摄像头并与云端验证门锁最高管理人员身份。
针对管理人员资料录入和验证方式还有一种方式,就是指纹,当管理员录入和验证指纹的时候,门锁会将采集到的指纹上传到服务器进行管理人员指纹比对
第二就是添加指纹、面部资料:当录入指纹的指头所有人和面部所有有人在设备上录入指纹前,系统会先和云端服务器验证管理人员的面部资料或者指纹数据,验证通过后其他指纹持有人才能在设备上录入指纹和面部,日后面部所有人和录入指纹的手指持有人在门锁处刷面部、刷指纹开门时,智能门锁会将面部数据、指纹数据上传到云端进行云端比对。
第三一个就是在门锁设置密码(包括但不限于设置永久密码、让系统生成一次性密码):用户设置密码之前,自然要先根据我前面提到的方法验证门锁管理员身份,当用户设置完永久密码、一次性密码、临时密码后,密码数据就会从用户的Google Pixel手机端、平板端、智能锁端上传到云端,如果是永久性密码,云端就会为将该密码一直与用户绑定,直到用户删除密码,如果是一次性密码、临时性密码,则需要设置密码失效条件,如打开门后密码直接失效、这个密码会在XX时间之后失效,当然云端也可以让用户删除临时密码、一次性密码,用户在锁具上输入密码的时候,锁具会将用户输入的密码上传到云服务器,密码通过云服务器验证后门锁就会打开,反之则不开门。
用户在手机、平板对门锁进行设置、对锁具进行恢复出厂、添加\删除\维护密码开锁、指纹开锁、面部开锁时,出于安全考量,智能锁最高管理人员对智能锁进行如上设置时,需要在手机上验证指纹、面部资料数据,然后Google Home手机、平板端会将智能锁最高管理人员的验证数据(如指纹、面部数据)发送到云服务器进行该智能锁最高管理人员数据验证,并且手机或者平板距离智能锁不能超过1M。
如果是我,基于安全因素考量,我不会设置管理员密码开锁这种功能,因为这种开锁方式会直接绕过所有的授权(如指纹、面部、密码验证)然后直接开门。