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