项目历时几个月了,但是由于LPC55S69双核芯片出来不久,感觉开发起来还是很不顺畅。抛开LPC55S69的TrustZone-M安全机制不说,其采用的 Arm® Cortex®-M33架构就觉得很超前。
公司的产品都是用Keil5.23版本开发的,如果换成高一点的版本,会在在线Debug时出现莫名其妙的错误,因此不能升级。然而这款LPC55S69开发板又不能支持Keil5.26版本以下的开发,因此只能抽挤下班休息时间,在IAR集成开发工具中摸索摸索。
不过还好,社区提供了智能门锁的参考工程,其实市面上的门锁都大同小异,现在有的门锁都推崇了指静脉锁,认为指静脉是采用生物活体取样,比指纹模块更安全。如下方图片所示:
其实它们的应用场景都差不多,在这次开发中,还是采用传统的指纹模块开发,毕竟指静脉采集的模板数据量太大。
言归正传,由于年底项目积压,一直没有多少时间深究LPC55S69的双核工作原理,其加密强大之处。本次项目预期目标是:实现通过手机蓝牙串口调试助手,以自定义的数据包格式发送给LPC55S69,LPC55S69从蓝牙串口接收端读取接收数据,然后对数据包进行解析。
解析出的开锁方式是固定密码,则从LPC55S69的flash中读取之前用户存储的密码;如果解析出的开锁方式是指纹模式,则需要通过OLED屏显示“请放入手指”,读取指纹信息后与存在指纹模块里模板信息对比,经过crc,MD5校验后,说明前比1:1无误,直接打开驱动电机GPIO口,将锁体打开,并屏上显示开锁成功。
由于适用对象是个体家庭,因此这里不再考虑开锁日志提取、查询功能。由于采用的是双核结构,这里各类外设通讯协议由Core0来管理,电机部分由Core0来监控。用到的模块有,蓝牙模块HC08 ,指纹模块,ADC按键控制板,OLED显示屏,ESP无线模块,电机驱动模块,部件如下图所示:
OLED屏采用的是I2C通信接口,蓝牙模块HC08采用串口通讯,ESP无线模块也是采用串口方式通讯。此次分享就上报到这里吧,后续有新的进展再更新出来,谢谢。
附上参考的工程源码 : SmartLockDetector.zip (1.35 MB)