項(xiàng)目歷時(shí)幾個(gè)月了,但是由于LPC55S69雙核芯片出來不久,感覺開發(fā)起來還是很不順暢。拋開LPC55S69的TrustZone-M安全機(jī)制不說,其采用的 Arm? Cortex?-M33架構(gòu)就覺得很超前。
公司的產(chǎn)品都是用Keil5.23版本開發(fā)的,如果換成高一點(diǎn)的版本,會(huì)在在線Debug時(shí)出現(xiàn)莫名其妙的錯(cuò)誤,因此不能升級。然而這款LPC55S69開發(fā)板又不能支持Keil5.26版本以下的開發(fā),因此只能抽擠下班休息時(shí)間,在IAR集成開發(fā)工具中摸索摸索。
不過還好,社區(qū)提供了智能門鎖的參考工程,其實(shí)市面上的門鎖都大同小異,現(xiàn)在有的門鎖都推崇了指靜脈鎖,認(rèn)為指靜脈是采用生物活體取樣,比指紋模塊更安全。如下方圖片所示:
其實(shí)它們的應(yīng)用場景都差不多,在這次開發(fā)中,還是采用傳統(tǒng)的指紋模塊開發(fā),畢竟指靜脈采集的模板數(shù)據(jù)量太大。
言歸正傳,由于年底項(xiàng)目積壓,一直沒有多少時(shí)間深究LPC55S69的雙核工作原理,其加密強(qiáng)大之處。本次項(xiàng)目預(yù)期目標(biāo)是:實(shí)現(xiàn)通過手機(jī)藍(lán)牙串口調(diào)試助手,以自定義的數(shù)據(jù)包格式發(fā)送給LPC55S69,LPC55S69從藍(lán)牙串口接收端讀取接收數(shù)據(jù),然后對數(shù)據(jù)包進(jìn)行解析。
解析出的開鎖方式是固定密碼,則從LPC55S69的flash中讀取之前用戶存儲(chǔ)的密碼;如果解析出的開鎖方式是指紋模式,則需要通過OLED屏顯示“請放入手指”,讀取指紋信息后與存在指紋模塊里模板信息對比,經(jīng)過crc,MD5校驗(yàn)后,說明前比1:1無誤,直接打開驅(qū)動(dòng)電機(jī)GPIO口,將鎖體打開,并屏上顯示開鎖成功。
由于適用對象是個(gè)體家庭,因此這里不再考慮開鎖日志提取、查詢功能。由于采用的是雙核結(jié)構(gòu),這里各類外設(shè)通訊協(xié)議由Core0來管理,電機(jī)部分由Core0來監(jiān)控。用到的模塊有,藍(lán)牙模塊HC08 ,指紋模塊,ADC按鍵控制板,OLED顯示屏,ESP無線模塊,電機(jī)驅(qū)動(dòng)模塊,部件如下圖所示:
OLED屏采用的是I2C通信接口,藍(lán)牙模塊HC08采用串口通訊,ESP無線模塊也是采用串口方式通訊。此次分享就上報(bào)到這里吧,后續(xù)有新的進(jìn)展再更新出來,謝謝。
附上參考的工程源碼 : SmartLockDetector.zip (1.35 MB)