具有远程开启功能的指纹应用系统设计
1.4 远程通信模块 2 系统软件设计
2.2 主应用程序
系统分为密码开启和指纹密码开启两种方式,密码开启只允许密码开启,指纹密码开启既可以用指纹开启也可以用密码开启。之所以分2种开启方式,是因为密码开启方式十分省电,实际使用中可能有的用户为了省电而使用这种方式。用户使用管理功能来维护锁具,包括系统信息的设置,用户信息的建立、删除和修改,远程开启和报警功能的设置等。管理功能使用菜单来进行人机交互,只有管理员才能使用管理功能。
下位机收到指令包后,将有关指令执行情况与结果采用应答包的形式上报给上位机。下位机只对符合自身地址码的指令包做出应答,其他地址的指令包不会给予应答;对于不符合协议要求的指令码,下位机也不会应答。应答包的长度是不定的,应答包将返回它应答的指令码,以及此指令码的执行结果代码,还会返回一些必要的参数。应答包的格式如下所示。
控制模块(上位机)和指纹处理模块(下位机)不停地通过指令包和应答包的传送,完成一系列的功能任务。
由于MSP430F149没有随机数生成器,因此使用内部的计时器,对用户按键间隔计时,使用这个间隔时间作为随机数种子。
注册:手机端软件接收锁体短信,将锁体名称、密
2.1 系统软件层次结构
MSP430F149内置2 KB内存,不太适合使用操作系统,因此本系统在软件设计上采用前后台系统和状态机相结合的方式。在整体上,系统软件分为硬件驱动层,功能函数层和应用程序层,如图3所示。
主应用程序完成指纹锁具的所有功能,图4表示的是主应用程序流程的示意图。当系统启动时,首先进行一系列的初始化,然后根据系统设置选择默认的开启方式,之后根据按键的不同,或切换开启方式,或进入管理模式,或进入远程开启模式。
2.3 用户信息结构
用户数据信息存储的是用户的具体信息,包括用户名字、用户对应的指纹ID、开启密码、用户创建时间以及用户属性,总共长度为24个字节。用户创建时间表示用户创建的具体时间或者用户最近的修改时间,采用BCD码用7个字节表示,分别是秒、分、时、日、月、星期、年具体格式和DS1302对外输出的格式相同。用户属性property使用1个字节记录了用户的权限级别、用户的有效期和用户默认验证方式。系统通过用户创建时间和用户有效期判断用户是否到期失效。用户数据的结构定义如下:
控制模块和指纹处理器FSC7002通过UART接口通信,它们之间的通信遵循一定的协议。FSC7002提供了一个标准通信协议,本文直接采用了这个协议。上位机(MSP430F49)向下位机(FSC7002)发送的指令,采用指令包的形式进行。指令包的长度为8字节,其格式如下所示。
3 远程报警和开启
3.1 远程报警
远程报警是指当传感器检测到侵入或者输入报警密码时,系统向预先设置的手机号码发送报警信息。所谓报警密码是指预先设置的一组密码,使用这组密码同样也能开启锁具,但是在开启的同时,它将启动远程通信模块,并向远程手机发送报警的信息。报警密码主要用在被挟持开锁的情况下,既能保证人身安全,又能有一定的反制措施。
3.2 远程开启
远程开启是指使用手机发送开机指令,在远距离情况下开启门锁或者保险箱。远程开启功能的一大安全漏洞是使用GSM短信方式并不安全,因此本系统中对传输的数据进行了安全加密,使得安全性大大提升,加密算法使用256位DES加密。
远程开启功能包括锁具部分和用户手机部分,两部分必须相互配合才能完成预期目标。锁具部分在前述章节建立的基础上开发完成,用户手机部分使用Android平台作为开发对象。远程开启功能包括注册流程和远程开启流程,分别如图5和图6所示。
3.3 基于Android的远程开启程序设计
本文基于Android平台,针对指纹锁远程开启的应用需求,采用DES算法加密通信数据,设计了符合安全要求的指纹锁手机端软件。
手机端软件主要实现3个功能:远程开启、注册、删除。软件的总体结构如图7所示。
指纹识别 MSP430F149 MG323 Android 远程开启 相关文章:
- 基于DSP CCS 2.2实现指纹识别预处理系统(07-28)
- 基于FPS200传感器和DSP的指纹识别系统(01-12)
- 基于嵌入式Linux平台的指纹门禁系统(01-20)
- 基于DSP CCS2.2实现指纹识别预处理系统设计(06-10)
- 基于DSP CCS2.2实现指纹识别预处理系统设计方案(06-17)
- 基于DSP的指纹识别系统设计方案(07-03)