本帖最后由 何昌昕 于 2016-9-3 17:23 编辑
之前的一个帖子写的并不详细,而且也不是一个完整的作品,只是把光通讯试验成功了,故计划把这个项目善始善终。
1.作品名称:
闪光灯密码锁
2.整体系统框图:3.软件设计流程图:
4.功能简要说明: 1 一键开锁:闪光灯编码,接收管解码,光讯号传输该设备存储的开锁密码。 2 更改密码:通过出厂指令,进入设置密码模式,先输入正确一次旧密码,再连续输入两次新密码,两次一致即录入成功,永久存入门锁Flash和手机内存中,执行步骤中均有语音提示。 3 语音提示:语音提示开锁和设置密码的一些步骤。 4 门磁报警:非特定方式打开,蜂鸣器长鸣。 5 访客模式:发送给客人访客模式APP,单次有效,过时删除。 6 掉电保护:掉电不丢失密码,永久记忆多组密码。 7 双电源设计:电源和电池通过继电器切换供电,一旦电源断开,电池接入,门锁继续工作;正常电源上电,电池断开,处于应急备用状态。 8 夜灯设计:夜晚开门后,门后灯高亮一会儿,为安全进屋开灯提供光源。 5.协议说明: 协议分为起始位、间隔位、数据位和停止位,一帧数据60字节数据,依次为: (激光接收管常态高,常态低需要把数据反向) 起始位:0101010 间隔位:111 数据位1:XXXXXXXX(00-FF) 间隔位:111 数据位2:XXXXXXXX(00-FF) 间隔位:111 数据位3:XXXXXXXX(00-FF) 间隔位:111 数据位4:XXXXXXXX(00-FF) 间隔位:111 停止位:010101 编码方式采用十进制转二进制 解码方式采用二进制转十进制
首先,我们的锁是通过手机端的闪光灯进行固定频率的编码进行传输的,门锁端通过以相同的频率接收数据并对其进行解码,协议完全正确方可存储验证。 综合考虑很多因素,单部手机单个密码,手机更改密码后永久记忆密码,同时门锁端也支持掉电保护与电源与电池互相切换的电路,如此一来,保证足够的安全性和方案的可行性。
此外激光接收端口是嵌入门壁内部的,闪光灯通过预留的小洞照射进去,确保角度和距离,经过我们多次实际测试,闪光灯的曝光中心点与激光接收管的凸点呈90度时接收解码效果最佳,距离6-7cm时效果最佳。
手机界面如下,主要有这样几个功能:
1.闪光灯 一键开锁(指令为读取手机内部存储的上一次设置的密码值,手机除非清除应用缓存数据,否则永久存在,开关机不丢失,如果初次使用,则为初始密码012009088088)
2.进入密码设置模式(指令为012034056078 出厂固定,密码无法设置为此指令,单个门锁单个指令)
3.随机密码开始/停止(通过随机数函数随机生成密码序列,第一次单击开始以单字节数据周期进行随机密码的摇骰选择方式,再次单击即可停止,确定要设置的随机数密码)
4.随机密码录入(将摇骰方式确定的随机数密码进行编码,当用户进入设置密码模式后,验证一次旧密码,即可输入新密码,输入两次,比对一致即可录入)
5.确认密码录入成功(当输入的两次新密码一致后会有语音提示,此时需要确认录入成功,这个随机数密码将会永久存于门锁的单片机flash和手机的内存中,每次门锁上电和APP启动都会自动读取这个值,确保密码的实时性和可靠性)
6.其余显示部分(包括输入状态的文本显示、随机密码序列的更新显示、以及调试模式下的当前密码的文本显示等,方便调试和用户使用)
下一步把美工做下,弄个登陆界面,最后给你们看个门,剩下的自己YY吧!
|