STM32的便攜式手機藍牙考勤機系統(tǒng)設(shè)計
摘要:在研究各種考勤系統(tǒng)的基礎(chǔ)上,提出了一種手機藍牙實現(xiàn)考勤的方法。該系統(tǒng)采用STM32F103RBT6微處理器作為核心,利用藍牙模塊搜索手機藍牙設(shè)備與本地數(shù)據(jù)庫進行匹配,通過語音播報和液晶顯示兩種方式給出考勤結(jié)果。該設(shè)計可以改變傳統(tǒng)的被動式考勤方式,且成本低、操作簡便。
關(guān)鍵詞:考勤系統(tǒng);藍牙;STM32F103RBT6;SYN6288;NOKIA5110
引言
目前,大部分考勤系統(tǒng)還是磁卡考勤系統(tǒng),這類系統(tǒng)不僅簽到速度慢,而且終端設(shè)備和磁卡也造成一定成本和浪費;指紋考勤、人臉識別考勤、視網(wǎng)膜考勤等新一代考勤技術(shù)雖然大大地提高了考勤效率和準(zhǔn)確率,但是這類考勤機的費用較高、操作比較麻煩。以上幾種都是采用被動式的考勤機制,科技的發(fā)展和生活節(jié)奏的加快為被動式考勤方式帶來了新的挑戰(zhàn),手機藍牙考勤機就是針對以上考勤機的缺點而設(shè)計的,使用手機藍牙考勤機可以實現(xiàn)人員經(jīng)過即可輕松簽到。
1 考勤機硬件設(shè)計
1.1 系統(tǒng)整體硬件設(shè)計
如圖1所示,考勤機系統(tǒng)主要由以下5個部分組成:基于Cortex-M3核的STM32F103RBT6微處理器作為核心控制器件,主要負責(zé)控制系統(tǒng)各部分的工作和交換數(shù)據(jù);藍牙模塊用于搜索手機藍牙設(shè)備,并將查找到的手機藍牙設(shè)備地址通過異步串行通信發(fā)送給微處理器STM32F103RBT 6;SYN6288語音芯片通過UART接口來實現(xiàn)數(shù)據(jù)傳輸,實現(xiàn)“應(yīng)到”與“實到”的人數(shù)語音播報;NOKIA5110液晶顯示屏顯示考勤結(jié)果,微處理器通過SPI1接口將考勤結(jié)果發(fā)送給顯示屏進行顯示;SD卡/U盤保存用戶信息,微處理器通過SPI2接口將數(shù)據(jù)發(fā)送到SD卡/U盤,然后通過讀取SD卡/U盤來獲得簽到者的信息。本系統(tǒng)出于便攜的目的,采用了低功耗設(shè)計,系統(tǒng)只需外接兩節(jié)普通1.5 V干電池即可連續(xù)工作數(shù)月以上。各部分均采用獨立的硬件接口,互不干擾。
1.2 藍牙模塊及外圍電路設(shè)計
系統(tǒng)所使用的藍牙模塊采用廣州匯承信息科技有限公司生產(chǎn)的HC-05芯片。HC-05是民用級,支持當(dāng)前絕大多數(shù)手機藍牙設(shè)備,并可向上兼容其他更高協(xié)議。該模塊具有集成度高、穩(wěn)定性好、功耗低、外圍電路少等優(yōu)點,完全滿足本系統(tǒng)的需求,圖2是藍牙模塊的外圍電路。其中STATUS_OUT是輸出狀態(tài)指示燈引腳,考勤時D1會閃爍,說明藍牙模塊正常工作;MOD引腳是藍牙AT模式選擇引腳;RXD和TXD是串口通信接口,實現(xiàn)串口通信功能。
1.3 STM32微處理器
STM32系列微處理器基于ARM Cortex—M3內(nèi)核,是專為要求性能高、成本低、功耗低的嵌入式應(yīng)用而設(shè)計的。本設(shè)計采用的是STM32F103 RBT6芯片,屬于“增強型”系列,時鐘頻率最高可達72 MHz,內(nèi)置32 KB RAM和128 KB高速Flash存儲器。128位寬度的存儲器接口和獨特的加速結(jié)構(gòu)使得32位代碼能夠在最大時鐘速率下運行。在本系統(tǒng)中,使用了STM32F103RBRT6的UART0、UART1、SPI1、SPI2、RTC等功能,充分發(fā)揮了STM32F103RBT6的性能優(yōu)勢。
1.4 NOKIA5110液晶屏
NOKIA5110液晶屏具有以下特點:
①84×48的點陣LCD,可以顯示4行漢字;
②采用SPI接口與主處理器進行通信,減少了接口信號線數(shù)量(包括電源和地在內(nèi)的信號線僅有9條),支持多種串行通信協(xié)議(如AVR單片機的SPI、MCS-51的串口調(diào)試模式等),傳輸速率高達4 Mbps,可全速寫入顯示數(shù)據(jù),無等待時間;
③可通過導(dǎo)電膠連接模塊與印制版,不用連接電纜,用模塊上的金屬鉤可將模塊固定到印制板上,因而非常便于安裝和更新;
④LCD控制器/驅(qū)動器芯片已綁定到LCD晶片上,模塊的體積很??;
⑤采用低電壓供電,正常顯示時的工作電流在200μA以下,且具有掉電模式。
圖3是考勤結(jié)果在NOKIA5110液晶上的顯示效果圖。該液晶模塊操作簡單,實用性強。
1.5 語音模塊
本系統(tǒng)采用北京宇音天下公司出品的中高端TTS(文本到語音)芯片SYN6288。該芯片支持GB2312、GBK、BIG5及UNICODE內(nèi)碼格式的文本。語音合成效果清晰、自然、準(zhǔn)確。芯片較強的中文姓氏處理能力使得因簽到人員姓名的不確定性所導(dǎo)致誤報的可能性大大降低。利用其內(nèi)置的聲音提示音,使得語音播報效果更加自然。
2 系統(tǒng)軟件設(shè)計
2.1 系統(tǒng)軟件總體流程
圖4是系統(tǒng)總體流程圖,從圖中可以看出系統(tǒng)執(zhí)行的一個總體過程。系統(tǒng)上電復(fù)位后,讀取藍牙模塊的配置文件,通過菜單選擇相應(yīng)的考勤模式,搜索周邊手機藍牙設(shè)備地址,并與本地數(shù)據(jù)庫藍牙地址進行匹配。該考勤機系統(tǒng)可以實現(xiàn)手動考勤和定時考勤兩種考勤模式;信息采集可以實現(xiàn)單獨采集和批量采集兩種方式;同時可以通過SD卡/U盤來保存數(shù)據(jù)。
下面是系統(tǒng)主程序,主要是實現(xiàn)系統(tǒng)菜單的選擇,然后進入每個菜單模塊進行操作,從而完成不同的考勤模式選擇、系統(tǒng)配置、時鐘設(shè)置和移動設(shè)備的選擇等操作。
2.2 獲取SD卡/U盤中的考勤數(shù)據(jù)庫
首先,在SD卡/U盤建立一個考勤群體的Excel數(shù)據(jù)庫文檔,如圖5所示;然后,通過實地信息采集,獲得考勤人員的藍牙地址,保存起來,如圖6所示;考勤時搜尋手機藍牙地址,并與數(shù)據(jù)庫中的藍牙地址進行比對,就可以實現(xiàn)考勤功能,如圖7所示??记谌藛T的數(shù)據(jù)庫大小可以根據(jù)需要來定義,按照上面的步驟實現(xiàn)考勤的功能。
2.3 微處理器與藍牙模塊通信和數(shù)據(jù)處理
STM32F103RBT6的UART接口提供了一個分數(shù)波特率發(fā)生器,保證了數(shù)據(jù)通信的低誤碼率。同時,它支持同步單向通信和單線半雙工通信,使用多緩沖器配置的DMA方式,可以縮短考勤數(shù)據(jù)交互與處理時間。因考慮到考勤過程中微控制器與藍牙通信模塊問涉及大量的數(shù)據(jù)信息的交互,為了保證數(shù)據(jù)的可靠性,配置藍牙模塊工作在AT模式2下(通信波特率38 400)。微控制器通過發(fā)送不同的AT命令,即可控制藍牙模塊獲取有關(guān)藍牙設(shè)備的相關(guān)信息。藍牙模塊在收集到藍牙設(shè)備的相關(guān)信息后,通過UART通信將數(shù)據(jù)信息反饋給微處理器,微處理器在接收到藍牙模塊收集到的信息后,對報文進行分析整合,完成數(shù)據(jù)的處理。
結(jié)語
藍牙技術(shù)與考勤設(shè)備相結(jié)合,以手機替代傳統(tǒng)磁卡等作為簽到標(biāo)識的考勤方式,大大提高了考勤效率,在降低成本的同時方便了企業(yè)的管理??梢酝ㄟ^查找Excel文件數(shù)據(jù)庫來獲得考勤人員的數(shù)據(jù),同時也易于文檔的管理和保存。測試結(jié)果表明,該系統(tǒng)具有反應(yīng)速度快、通過率高等優(yōu)點,可實現(xiàn)對傳統(tǒng)考勤系統(tǒng)的升級與替換,適應(yīng)不同企業(yè)的需求,有著很好的應(yīng)用前景。