劉中原 劉偉韜


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