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