現(xiàn)在很多公司都采用了指紋考勤,然而你自己也可以在家里制造一個(gè)指紋鎖了!在指紋識(shí)別的情況下,螺線管栓塞就會(huì)彈出,門也就打開了。
我們需要的芯片是ARM Cortex M3,用于控制光學(xué)傳感器和指紋識(shí)別系統(tǒng)。指紋存儲(chǔ)在模塊里,采用異步串口方式識(shí)別用戶請(qǐng)求。而螺線管的程序,我們打算用Kinoma Create開發(fā)。
準(zhǔn)備材料如下:
下載Kinoma Studio(Kinoma Studio是適用于Mac、Windows和Linux的集成開發(fā)平臺(tái))。
晶體管指紋掃描儀
5V大小的螺線管
電路板,用于控制螺線管
面包板
步驟一:接線
把螺線管和開發(fā)好的Kinoma電路板連接,將指紋掃描儀和背面的RX 接口連接。
前端的兩個(gè)接口,一個(gè)設(shè)為+5V,一個(gè)接在51 pin上,作為數(shù)字輸出。(如圖所示)
步驟二:面包板組裝
螺旋管是用于開關(guān)門的,所以需要額外的兩個(gè)電子器件,分別是晶體管和二極管。前者接上5V電源,用于控制螺旋管的開關(guān)。后者用于保護(hù)電路。
步驟三:預(yù)覽界面
打開KinomaJS的申請(qǐng)界面,會(huì)看到指紋授權(quán)的內(nèi)容,分別有“登記”、“授權(quán)”以及“清除”的選項(xiàng)。
在指紋儀上登記了信息后,會(huì)存儲(chǔ)在系統(tǒng)內(nèi)并顯示在屏幕上;授權(quán)鍵指的是確認(rèn)用戶的信息能夠打開門鎖,未經(jīng)授權(quán)的指紋即使登記了,也無法成功開鎖。“清除”就很簡單了,指紋信息將從系統(tǒng)中抹去。
步驟四:代碼
完整的代碼可參考GitHub上的內(nèi)容,具體包括代碼,組件及BLL。
步驟五:指紋處理
掃描器模塊捕獲需要存儲(chǔ)的指紋信息和圖像;應(yīng)用程序則通過調(diào)用函數(shù)控制GT511C3掃描儀。BLL則經(jīng)由Kinoma Create發(fā)送命令。
手指需要在掃描儀上采集三次才能被存儲(chǔ),應(yīng)用程序采用KinomaJS來記錄三次指紋掃描,LED燈在存儲(chǔ)一次指紋后就會(huì)啟動(dòng),并等待下一次掃描。
當(dāng)系統(tǒng)存儲(chǔ)了指紋信息后,只要將手指放在掃描儀上就能開鎖了。
步驟六:指紋圖像
數(shù)據(jù)庫里存儲(chǔ)的是二進(jìn)制的指紋數(shù)據(jù),而get_rawimage BLL函數(shù)能夠用于檢索掃描儀掃描的原始指紋圖像。函數(shù)會(huì)返回一個(gè)160*120的32字節(jié)/像素的圖像。(為了節(jié)省存儲(chǔ)空間,應(yīng)用已經(jīng)對(duì)圖像作了壓縮)圖像支持png、jpeg、gif、bmp等格式。我們也可用JavaScript構(gòu)建一個(gè)BMP文件夾,以存儲(chǔ)上述的圖像。
最后,我們可以用一個(gè)FingerprintPicture的指紋模板顯示這些BMP格式的圖像。而整個(gè)指紋列表也可以在首選項(xiàng)文件夾里存儲(chǔ)為JSON。
這樣一來,應(yīng)用程序在啟動(dòng)時(shí)便會(huì)自動(dòng)讀取首選項(xiàng),并且調(diào)用對(duì)應(yīng)的數(shù)據(jù)。
最后一步:測(cè)試使用!
將這個(gè)設(shè)備安裝在門上,運(yùn)行Kinoma Studio的應(yīng)用代碼,這樣就大功告成啦!如果還有什么不理解的地方,可以到這個(gè)討論組里提問。