劉中原 劉偉韜
摘要:指紋考勤機(jī)本是工作生活場(chǎng)景中很常見(jiàn)的一個(gè)產(chǎn)品,技術(shù)已非常成熟,產(chǎn)品功能也較穩(wěn)定。但目前市面上的大多數(shù)產(chǎn)品還是上一代的技術(shù),內(nèi)嵌的系統(tǒng)多以非常老舊Wince或者是Symbian為主,同時(shí)配合傳統(tǒng)物理按鍵,使得體驗(yàn)性遠(yuǎn)不如現(xiàn)在的Android系統(tǒng)。為了在教學(xué)工作中給同學(xué)們演示產(chǎn)品開(kāi)發(fā)的一般流程并鼓勵(lì)他們的創(chuàng)新創(chuàng)業(yè)意識(shí),特進(jìn)行了本產(chǎn)品的技術(shù)攻關(guān)及項(xiàng)目實(shí)戰(zhàn),本論述主要從硬件選型、軟件設(shè)計(jì)以及系統(tǒng)集成三個(gè)方面探討基于Android的指紋考勤機(jī)的生命周期過(guò)程。
關(guān)鍵詞:Andavid,指紋考勤,系統(tǒng)集成
中圖分類(lèi)號(hào):TP273+.5 文獻(xiàn)標(biāo)志碼:A
1研究背景
基于教學(xué)工作中給學(xué)生演示產(chǎn)品開(kāi)發(fā)流程,結(jié)合目前市面上亟待進(jìn)行技術(shù)升級(jí)的指紋考勤機(jī),本論述主要研究了如何在目前比較流行的Android平臺(tái)上進(jìn)行指紋考勤機(jī)開(kāi)發(fā)的流程和方法。首先硬件部分主要通過(guò)外部采購(gòu)獲取,畢竟在目前分工越來(lái)越精細(xì)的社會(huì)體系中,我們不需要開(kāi)發(fā)一切東西,每個(gè)人都有明確的方向,只需要專(zhuān)注于自己擅長(zhǎng)的領(lǐng)域即可;其次系統(tǒng)軟件仍然采用開(kāi)源的Android系統(tǒng),并在此基礎(chǔ)上開(kāi)發(fā)應(yīng)用軟件實(shí)現(xiàn)與指紋儀模塊的通訊,完成指紋采集及認(rèn)證的功能需求,實(shí)現(xiàn)利用軟件驅(qū)動(dòng)的模式實(shí)現(xiàn)硬件間的系統(tǒng)集成進(jìn)而形成產(chǎn)品。通過(guò)該研究,可以幫助同學(xué)們建立起一套基于現(xiàn)有軟硬件平臺(tái)資源,快速進(jìn)行產(chǎn)品原型開(kāi)發(fā)的思路和指南,引領(lǐng)同學(xué)們積極響應(yīng)國(guó)家的雙創(chuàng)實(shí)踐,為后疫情時(shí)代的大學(xué)生就業(yè)開(kāi)辟新的道路。
2硬件選型原則及實(shí)施
硬件選型主要考慮的因素是穩(wěn)定性和軟件算法的遷移便利性,硬件中的兩個(gè)主要模塊分別是指紋模塊和Android開(kāi)發(fā)板,考慮目標(biāo)機(jī)型時(shí),除了品牌因素外,最重要的還有接口因素,比如指紋模塊目前主要有USB接口和串口兩種,其中USB接口又比串口的開(kāi)發(fā)便利性更高,基于廠家相應(yīng)的SDK進(jìn)行開(kāi)發(fā),進(jìn)行簡(jiǎn)單方法的調(diào)用即可輕松驅(qū)動(dòng)指紋的采集及驗(yàn)證,而串口則是基于比較原始的協(xié)議進(jìn)行,開(kāi)發(fā)板通過(guò)串口和指紋模塊交互命令完成二次開(kāi)發(fā)。顯然,相對(duì)于基于SDK的開(kāi)發(fā),基于協(xié)議的開(kāi)發(fā)的難度和復(fù)雜度都要高得多,但二次開(kāi)發(fā)是不是便利性越高就越好呢,其實(shí)不然,這個(gè)要根據(jù)面向的對(duì)象來(lái)說(shuō),對(duì)應(yīng)于開(kāi)發(fā)人員來(lái)講當(dāng)然是越簡(jiǎn)單越好,因?yàn)檫@減輕了他們的壓力和困難,但是對(duì)于產(chǎn)品本身,比如Android系統(tǒng)版本升級(jí)了,相應(yīng)的SDK也要升級(jí),而如果廠家的SDK如果跟不上系統(tǒng)升級(jí)速度的話,我們產(chǎn)品的升級(jí)就要被擱置。這時(shí),如果采用原始的協(xié)議開(kāi)發(fā),不管所使用的系統(tǒng)平臺(tái)如何變化,軟件始終只是收發(fā)串口數(shù)據(jù)即完成功能的實(shí)現(xiàn),而這一基本功能無(wú)論在任何系統(tǒng)里面都是可以輕易滿足的。所以,此時(shí)對(duì)于產(chǎn)品本身而言,二次開(kāi)發(fā)所依賴的協(xié)議越原始,后續(xù)的升級(jí)及遷移越簡(jiǎn)單,即便是遷移到不同的操作系統(tǒng)平臺(tái),所需要的改變的也僅僅是界面部分,功能邏輯部分仍可保持復(fù)用,這大大便利了后續(xù)的升級(jí)及平臺(tái)遷移?;谠撛瓌t,指紋模塊擬選用串口作為接口形式,同時(shí)串口以其穩(wěn)定和廣泛著稱(chēng),無(wú)形中增加了產(chǎn)品的兼容性和應(yīng)用范圍。既然指紋模塊選用了串口形式,這就要求Android開(kāi)發(fā)板也必須具備串口連接,串口在90%的開(kāi)發(fā)板中都是標(biāo)配,因其定位即是工控和消費(fèi)電子領(lǐng)域,作為從單片機(jī)中傳承而來(lái)的接口形式一直廣泛分布于各個(gè)層次的嵌入式終端,所以此時(shí)Android開(kāi)發(fā)板的選型相對(duì)比較簡(jiǎn)單,找品牌穩(wěn)定性較高的產(chǎn)品即可。同時(shí)門(mén)禁機(jī)要和未來(lái)客戶的門(mén)禁系統(tǒng)對(duì)接,所以開(kāi)發(fā)板應(yīng)具備GPIO的輸出功能,將門(mén)禁信號(hào)通過(guò)輸出傳遞給繼電器,通過(guò)搜索對(duì)比發(fā)現(xiàn),GPIO和串口基本上是比較穩(wěn)定的組合,所以,找到滿足這些需求的開(kāi)發(fā)板根本不是難事。
綜上所述,基于產(chǎn)品穩(wěn)定性和后續(xù)升級(jí)及遷移便利性的原則,得出如圖1所示的硬件連接架構(gòu),根據(jù)該架構(gòu)從市場(chǎng)上尋找滿足條件的Android開(kāi)發(fā)板和指紋模塊即完成了硬件選型。
3考勤機(jī)軟件設(shè)計(jì)
軟件主要運(yùn)行于Android開(kāi)發(fā)板上,以APP的形式體現(xiàn),圍繞指紋儀的指紋采集和認(rèn)證并輔助以相應(yīng)的外圍功能完成考勤的實(shí)施。軟件系統(tǒng)從大的模塊劃分主要包括人員管理和考勤管理,其中人員管理主要是人員信息的維護(hù)特別是指紋信息的維護(hù),在人員增刪改查的基礎(chǔ)上,可以對(duì)某個(gè)人的指紋進(jìn)行登記、刪除,常規(guī)情況下,一個(gè)人最多可支持10枚指紋的錄入,一個(gè)人員多指紋的管理也是重要的功能設(shè)計(jì);考勤管理主要包括指紋的認(rèn)證考勤,考勤記錄的存儲(chǔ)、查詢以及分析。除了這些業(yè)務(wù)功能,還包括系統(tǒng)級(jí)別的用戶管理和配置信息管理,用戶管理主要是對(duì)系統(tǒng)管理員的分級(jí)管理,配置信息管理用于設(shè)置并維護(hù)系統(tǒng)的參數(shù),比如指紋模塊連接開(kāi)發(fā)板的串口編號(hào)、波特率等的設(shè)置。系統(tǒng)功能框架圖如圖2所示。
需要特別說(shuō)明的是軟件功能中的人員管理和用戶管理,很多人對(duì)于這兩項(xiàng)功能容易混淆,或者說(shuō)認(rèn)為這兩項(xiàng)功能是重復(fù)的。首先人員管理中的人員是指該指紋考勤系統(tǒng)所管理的人員,是指公司的員工,使用該指紋考勤機(jī)完成考勤操作,而用戶管理中的用戶則是指對(duì)這套考勤軟件實(shí)施管理維護(hù)工作的管理員,純粹在系統(tǒng)功能上對(duì)軟件進(jìn)行配置維護(hù),雖然這個(gè)系統(tǒng)的管理員也可能是公司的員工,也會(huì)像普通員工那樣進(jìn)行打卡考勤,但是他的崗位則是管理維護(hù)該考勤系統(tǒng),指導(dǎo)員工在考勤機(jī)錄入信息以及進(jìn)行指紋打卡,他們的本質(zhì)區(qū)別體現(xiàn)在人員是考勤機(jī)管理的對(duì)象,而用戶則是管理考勤機(jī)的人。
4系統(tǒng)集成及實(shí)施
首先是硬件的底層連接,根據(jù)指紋儀模塊的具體串口類(lèi)型(RS232/RS485/TTL),找到開(kāi)發(fā)板與之匹配的串口進(jìn)行物理層的連接。連接完成后為了確保指紋儀和開(kāi)發(fā)板通訊有效性,在開(kāi)發(fā)板上運(yùn)行串口調(diào)試助手等工具軟件與指紋儀進(jìn)行數(shù)據(jù)交互,參考協(xié)議數(shù)據(jù)看是否一致。如果不一致,首先檢查波特率設(shè)置是否符合指紋儀的要求,收發(fā)線纜是否需要跳線,直至排除所有故障確保指紋儀與開(kāi)發(fā)板正常通信。之后進(jìn)行考勤軟件的安裝部署,安裝完成后首先進(jìn)行系統(tǒng)參數(shù)的設(shè)置保存以及管理員的設(shè)置,再測(cè)試用戶管理及考勤管理,特別是用戶的多指紋管理,指紋認(rèn)證和考勤記錄的正確性。最后,整體考勤機(jī)軟硬件在功能的可用性和基本的穩(wěn)定性都有保證的前提下,可以組織公司員工進(jìn)行指紋采集并進(jìn)入試運(yùn)行階段并時(shí)時(shí)監(jiān)控軟件運(yùn)行異常和員工對(duì)于系統(tǒng)的改進(jìn)建議。對(duì)于切實(shí)可采納的建議應(yīng)盡快修正進(jìn)入下一版本,測(cè)試穩(wěn)定后及時(shí)更新,保持系統(tǒng)持續(xù)穩(wěn)定良性運(yùn)行。
5實(shí)際效果及對(duì)教學(xué)的啟發(fā)
本次考勤機(jī)的開(kāi)發(fā)主要是在高職高專(zhuān)的項(xiàng)目式教學(xué)中向?qū)W生展示產(chǎn)品如何從無(wú)到有的開(kāi)發(fā),覆蓋從市場(chǎng)調(diào)研、硬件選型、軟件設(shè)計(jì)及開(kāi)發(fā)和最終系統(tǒng)集成上線運(yùn)行的全過(guò)程,讓學(xué)生以實(shí)物實(shí)感的形式全程參與整個(gè)開(kāi)發(fā)過(guò)程,掌握開(kāi)發(fā)關(guān)鍵節(jié)點(diǎn)和技術(shù)細(xì)節(jié)。通過(guò)此項(xiàng)目的開(kāi)發(fā),學(xué)生能較好地理解產(chǎn)品開(kāi)發(fā)過(guò)程并能較好地進(jìn)行觸類(lèi)旁通和舉一反三的實(shí)踐,完成了諸如IC刷卡考勤機(jī)、宿舍IC門(mén)禁機(jī)等一系列小作品的全新開(kāi)發(fā),在給他們建立了一套標(biāo)準(zhǔn)開(kāi)發(fā)流程的基礎(chǔ)上,更培養(yǎng)了學(xué)生對(duì)產(chǎn)品開(kāi)發(fā)的熱情和自信,同時(shí)也更加堅(jiān)定了我們以實(shí)際項(xiàng)目進(jìn)行職業(yè)教育的基本理念,希望未來(lái)能將這種理念積極貫徹和推廣下去,探索更多職業(yè)教育的心得和收獲。