陳景發 舒雪姣 譚韻瑩

摘 要:該文采用STM32F103單片機控制器、3G網絡模塊SIM5320E以及FM-180指紋識別模塊設計考勤終端,實現考勤數據采集與傳輸功能。采用SQLite設計服務器端數據庫實現考勤數據記錄、統計以及導出等功能,通過3G移動通信網絡將考勤終端連接至服務器端數據庫,最終搭建一個基于3G網絡傳輸的指紋考勤管理系統。
關鍵詞:3G網絡 指紋 考勤管理
中圖分類號:TP315 文獻標識碼:A 文章編號:1672-3791(2016)03(a)-0009-02
常見的指紋考勤系統有兩種,一種是聯機式產品,多個系統共享指紋識別設備,指紋的比對由后臺計算機支持;另一種是脫機型產品,單機就可完成考勤全部過程,使用方便,但必須連接到互聯網來遠程傳送數據。以上兩種考勤系統均是通過寬帶有線網絡接入來傳送數據,它們存在一個共同問題:對于偏遠山區等無寬帶網絡接入區域無法實現考勤,具有一定的局限性。目前3G網絡建設已經基本達到各個區域的無縫覆蓋要求,覆蓋區域遠大于有線寬帶網絡,因此基于3G移動網絡傳輸的指紋考勤方式有更廣闊的應用空間,基本能滿足任何單位的考勤需要。
1 指紋考勤管理終端設計
1.1 硬件方案設計
該設計采用STM32F103單片機,通過串口1控制3G網絡模塊來發送相應的AT指令來實現數據傳輸功能,通過串口3控制指紋識別模塊,通過硬件SPI接口實現對TFT顯示屏的控制,通過8個I/O口實現對鍵盤鍵值的檢測(如圖1)。
核心硬件模塊包括指紋識別模塊、3G網絡傳輸模塊、液晶顯示模塊、鍵盤輸入模塊。指紋識別模塊采用FM-180,能儲存1 000枚指紋模板信息,flash容量大;3G網絡傳輸模塊采用基于WCDMA網絡的SIM5320E模塊;液晶顯示模塊采用TFT顯示屏,分辨率320×240,可使用SPI接口傳輸,自帶SPI FLASH字庫電路;鍵盤輸入模塊采用矩陣鍵盤,使用行和列的掃描實現使用8個I/O口來讀取16個按鍵。
1.2 指紋識別功能實現
指紋識別模塊FM-180有比對與識別,指紋刪除,指紋錄入等功能,通過自調節的比對算法實現指紋的準確識別,對干濕指紋均有不錯的效果。該模塊有4個引腳,分別是VCC,GND,RX與TX,可通過串口與STM32的串口連接通訊,RX連接PB10(UART3 TX),TX連接PB11(UART3 RX),VCC可以連接3.6~6 V的電壓。
指紋識別模塊驅動程序設計思路:先初始化指紋模塊所用到的通訊接口串口3,在執行主函數的主循環之前先確認指紋識別模塊是否與單片機正常連接;單片機向模塊發送握手指令,如果指紋模塊正常連接,指紋模塊回復一個長度為12,確認碼為0x00的應答包,握手函數返回1,表示握手成功,同時DS4燈常亮;如果發送3次指令仍然沒有應答包返回或者應答包不正確,握手函數返回0,認為握手不成功,DS4亮2 s后滅。
1.3 3G網絡傳輸功能實現
STM32單片機與3G網絡傳輸模塊通信使用串口1,單片機通過向3G網絡傳輸模塊的串口發送相應的AT指令來向上位機實時發送打卡信息。
打卡信息發送的格式為:sn;msgType;devID;staffID;time;status。sn代表打卡條目序列號,每次從考勤系統發送給上位機的sn號應該不同,從而區分不同的打卡條目;msgType代表消息的種類,在開機時,發送1,代表設備登錄,在打卡時發送2,代表有人打卡;devID代表設備的序列號,設置為1;staffID代表職員的工號,由四位數組成,范圍是0000-0999;time代表打卡信息發送的時間,格式為:年、月、日、時、分、秒;status代表設備的運行狀態,在線為1,離線為0。
在考勤系統開機時單片機先向3G網絡傳輸模塊發送AT指令,如果返回OK,代表單片機與模塊正常連接;等3G網絡傳輸模塊搜索網絡成功后,打開數據網絡,讀取系統時間;使用隨機函數產生的6位數數字作為sn,用于讓上位機區分不同條目的打卡信息。假設上位機所連接的IP地址為“183.238.55.244”,軟件設置的端口號為8000,而發送數據時需要設置所發數據長度,在程序設計中,需要發送信息的長度會自動改變的變量都轉換成了字符型,因此發送的長度固定為37,使用命令AT+UDPSEND=37,\"183.238.55.244\",8000\r\n用于發送請求,等待20 ms,等待程序返回一個>標志,然后向上位機發送設備登錄信息,格式為sn;msgType;devID;staffID;time;status,使用/x1a命令執行發送操作,當有人打卡時,讀取當前的時間與指紋號,向上位機發送實時打卡信息。
2 指紋考勤管理服務器端方案設計
服務器端可以采用SQLite設計一個輕量級數據庫,用VC語言設計數據顯示界面,要求包括考勤終端連接狀態、員工信息管理、考勤數據記錄、考勤數據導出等功能。數據庫里有員工信息和考勤記錄兩張表,員工管理可通過讀取員工信息表并將記錄展示在界面。當考勤終端機將員工考勤記錄發到服務器,服務器將考勤記錄保存在數據庫。顯示記錄的功能可從SQLite中讀取員工考勤記錄,并將記錄展示在界面上。導出記錄功能可將數據庫中的考勤記錄表中數據提取,并保存在本地磁盤(如圖2)。
3 結語
由于公司跨區域發展、行業固有屬性等因素也一直影響考勤制度有效執行,比如在偏遠山區等無寬帶網絡接入區域進行建筑施工作業公司、保險行業經常性臨時舉辦的培訓班、戶外開設拓展活動等等都無法實現考勤,而該設計方案恰恰解決了上述問題。該設計仍然存在一些不足,比如該設計只是實現了3G網絡模塊傳輸的功能,但作為一個完整的產品,還需要集合WIFI、網線、3G網絡傳輸模塊等不同傳輸方式,方便用戶靈活選擇。該設計雖不足以成為一個產品,但對于指導通信類、電子類專業學生系統化學習通信系統設計還是很有幫助的。
參考文獻
[1] 廖義奎.Cortex-M3之STM32嵌入式系統設計[M].北京:中國電力出版社,2012.
[2] (英)Joseph Yiu.Cortex-M3權威指南[M].宋巖,譯.北京:北京航空航天大學出版社,2009.
[3] 楊軍.指紋識別系統及其應用[J].安防科技,2003(1):57-58.