文/金恒越
(廣東工業(yè)大學(xué)計(jì)算機(jī)學(xué)院 廣東省廣州市 510006)
近年來物聯(lián)網(wǎng)概念火熱的發(fā)燙,“物聯(lián)網(wǎng)”一詞最初是由凱文·阿什頓(Kevin Ashton)在1999年引出的[1][2]。以RFID[3][4]、無線傳感器網(wǎng)絡(luò)[5]等技術(shù)核心的物聯(lián)網(wǎng)得到了快速發(fā)展,進(jìn)而以物聯(lián)網(wǎng)為核心的第四次工業(yè)革命帶來了各方的需求,各大工業(yè)巨頭紛紛投入大量資金在物聯(lián)網(wǎng)產(chǎn)品的研發(fā)上,隨著即將到來的5G時(shí)代[6],物聯(lián)網(wǎng)技術(shù)將會(huì)更加成熟,得到更加廣泛的應(yīng)用[7]。本文研究利用Wi-Fi實(shí)現(xiàn)物聯(lián)網(wǎng)的門禁考勤一體化應(yīng)用。隨著Wi-Fi無線技術(shù)的普及,人們意識(shí)到可以利用Wi-Fi來控制一些設(shè)備,使得人們的生活更加便捷,所以基于Wi-Fi的控制芯片研發(fā)漸漸成為了熱門,人們可以通過這些芯片來達(dá)到控制設(shè)備電源開和關(guān)、室內(nèi)溫度的升和降、物體運(yùn)動(dòng)的快和慢等等。智能化技術(shù)的使用大大節(jié)省了人們時(shí)間和精力,且確保任務(wù)可以更加順利的完成。手機(jī)作為現(xiàn)在人們不可或缺的工具,使用手機(jī)終端與無線上網(wǎng)技術(shù)Wi-Fi相結(jié)合產(chǎn)生出一系列產(chǎn)品也就自然的成為了物聯(lián)網(wǎng)領(lǐng)域的一大熱門。我們工作之中每天必須要做的事情逃不開門禁和考勤,門禁和考勤作為我們接觸工作前的第一道關(guān),它的順利與否在一定程度上也影響了我們的工作舒適度。本文通過利用手機(jī)app、服務(wù)器后臺(tái)、Wi-Fi模塊、電子鎖模塊來以小成本、高安全完成門禁和考勤功能,使得手機(jī)、服務(wù)器、員工“三者互聯(lián)”。
門禁考勤系統(tǒng)主要由電子鎖模塊、服務(wù)器后臺(tái)、手機(jī)端APP和Wi-Fi模塊四部分組成。電子鎖模塊主要由單片機(jī)、鎖芯、機(jī)械齒輪等構(gòu)成,用來進(jìn)行門禁開關(guān);服務(wù)器后臺(tái)可以使用云服務(wù)器或使用PC構(gòu)建局域網(wǎng),用來存儲(chǔ)考勤數(shù)據(jù),以及進(jìn)行用戶考勤門禁前的身份判定;手機(jī)端APP由Android studio開發(fā),用來控制門禁和考勤功能的具體實(shí)現(xiàn),用戶只需通過密碼和人臉識(shí)別驗(yàn)證,連入考勤Wi-Fi并且完成與Wi-Fi主控芯片ESP8266的配置即可同時(shí)完成門禁和考勤;Wi-Fi模塊包括Wi-Fi主控芯片ESP8266和Wi-Fi,用來實(shí)現(xiàn)APP與門鎖的交互通信與控制。具體總體結(jié)構(gòu)圖如圖1所示,具體流程圖如圖2所示。
2.2.1 考勤功能
在使用考勤功能之前,首先在服務(wù)器后端輸入用戶身份信息、手機(jī)MAC地址碼(MAC地址碼具有唯一性)以及錄入人臉圖像;當(dāng)用戶需要進(jìn)行考勤時(shí),通過手機(jī)APP輸入軟件密碼并且獲取手機(jī)MAC地址以及動(dòng)態(tài)人臉圖像與數(shù)據(jù)庫(kù)中信息比對(duì)成功后進(jìn)入軟件(此處即將用戶的身份信息、手機(jī)、人臉三者統(tǒng)一起來,形成三重防護(hù))。進(jìn)入軟件后,連接考勤所用Wi-Fi,此時(shí)APP將用戶信息發(fā)送至數(shù)據(jù)庫(kù)中完成考勤記錄。
圖1:系統(tǒng)結(jié)構(gòu)圖
圖2:系統(tǒng)流程圖
2.2.2 門禁功能
在上述考勤功能的基礎(chǔ)上,通過手機(jī)APP將手機(jī)與ESP8266Wi-Fi模塊進(jìn)行配置,使得ESP8266連入考勤Wi-Fi,完成手機(jī)、電子鎖、ESP8266芯片的交互,使APP通過控制ESP8266模塊作為開關(guān),進(jìn)而控制電子鎖模塊電路的開和關(guān),實(shí)現(xiàn)門禁功能。
圖3:電機(jī)鎖示意圖
圖4:芯片工作流程
圖5:配置Wi-Fi模塊APP界面
如圖3所示為電子鎖模塊模型示意圖,電子鎖使用JL51單片機(jī)作為控制芯片,這種型號(hào)的單片機(jī)具有接口多,性能穩(wěn)定,造價(jià)較低的優(yōu)點(diǎn)。在電子鎖接通電源且門禁開啟的情況下,可以通過按下開關(guān)使得電子鎖電路閉合,三相電機(jī)正轉(zhuǎn)帶動(dòng)機(jī)械鎖舌動(dòng)作,將門禁打開(后面將會(huì)用Wi-Fi模塊代替開關(guān),即實(shí)現(xiàn)遠(yuǎn)程對(duì)門禁進(jìn)行操控)。若要將門禁關(guān)閉,可以通過手動(dòng)關(guān)鎖或者在關(guān)門時(shí)使得下端的磁感模塊接觸閉合,單片機(jī)中的定時(shí)器功能將按照設(shè)定的時(shí)間讀秒結(jié)束后自動(dòng)控制進(jìn)行電機(jī)反轉(zhuǎn)動(dòng)作上鎖,此處使用定時(shí)器讀秒后自動(dòng)上鎖是為了防止誤關(guān)門。
圖6:ESP8266電路圖
圖7:APP界面
本實(shí)驗(yàn)選用ESP8266作為Wi-Fi控制模塊芯片,ESP8266是低功耗的Wi-Fi芯片,配置有32位CPU,可以完成獨(dú)立運(yùn)行,也可以作為從機(jī)附屬在其他的主機(jī)MCU上運(yùn)行,可以廣泛應(yīng)用于嵌入式無線傳感器、工業(yè)無線控制、智能家居等領(lǐng)域[8][9]。尤其廣泛應(yīng)用于對(duì)家居的控制,實(shí)現(xiàn)物聯(lián)網(wǎng)智能家居。此外ESP8266的集成度是Wi-Fi芯片中較高的一種,只需要1個(gè)無源晶振和必要的電阻電容,所占面積少,能耗低,性能穩(wěn)定非常適合用于安防電路中。芯片工作流程如圖4所示:ESP8266 芯片設(shè)定參數(shù) → 連接Wi-Fi → 尋找服務(wù)器 IP(可以使用局域網(wǎng))→ 連接服務(wù)器端 →Wi-Fi信號(hào)轉(zhuǎn)串口信號(hào)的透?jìng)鳡顟B(tài)[4]。
ESP8266采用802.11b/g/n接入?yún)f(xié)議,頻率范圍為2.4G-2.5G,因2.4GWi-Fi頻率較小,所以受到環(huán)境干擾較小,可以傳播的更遠(yuǎn),信號(hào)更加穩(wěn)定。在組網(wǎng)中,支持softAP,station以及softAP+station三種模式,可以實(shí)現(xiàn)十分靈活的組網(wǎng)方式。本實(shí)驗(yàn)中使用的就是ESP8266的softAP+station模式,即芯片即是無線終端也是無線接入點(diǎn)。手機(jī)端連接ESP8266芯片(softAP功能),通過手機(jī)APP進(jìn)入如圖5界面將Wi-Fi信息發(fā)送給芯片,使得芯片(station功能)可以接入考勤Wi-Fi,進(jìn)而接入以太網(wǎng)。通過這種方式來完成芯片和手機(jī)之間互相交互通信,使手機(jī)可以向芯片傳達(dá)命令和指令。
實(shí)驗(yàn)通過ESP8266作為Wi-Fi控制模塊芯片,通過ESP8266芯片連接電子鎖與電源模塊的電路,即芯片充當(dāng)了上文所述的開關(guān)。如圖6所示將ESP8266接入3.3V電源,芯片輸入和輸出端連接電子鎖模塊,通過手機(jī)APP即可實(shí)現(xiàn)控制ESP8266芯片的開和關(guān),進(jìn)而控制門禁的打開和關(guān)閉。
手機(jī)APP界面開發(fā)使用Android studio進(jìn)行頁(yè)面編輯,界面主要是以Galaxy Nexus API 24為模擬機(jī)型條件。在進(jìn)行頁(yè)面編輯時(shí),采用layout語(yǔ)句對(duì)界面和按鈕位置進(jìn)行邊距、方向等的調(diào)整。如圖7所示為APP的主界面和記錄考勤頁(yè)面。因界面設(shè)計(jì)比較簡(jiǎn)單,不屬于論證的要點(diǎn),大同小異就不再深述。
4.2.1 密碼
通過在后端服務(wù)器設(shè)置的用戶名和密碼,在打開APP時(shí),輸入相應(yīng)的用戶名和密碼才可以進(jìn)行下一步操作。
4.2.2 人臉識(shí)別
生物特征識(shí)別技術(shù)( Biometric) 克服了傳統(tǒng)的身份識(shí)別技術(shù)易遺忘、易偽造、安全性低等缺點(diǎn)[10]。由于其獨(dú)特的性質(zhì),被越來越多的科學(xué)家和學(xué)者們所推崇[11]。其中人臉識(shí)別的研究熱度與日俱增,人臉檢測(cè) (face detection)是指在輸入圖像中確定所有人臉 (如果存在)的位置、大小、姿態(tài)的過程.人臉檢測(cè)作為人臉信息處理中的一項(xiàng)關(guān)鍵技術(shù),近年來成為模式識(shí)別等計(jì)算機(jī)領(lǐng)域的一項(xiàng)受到普遍重視、研究十分活躍的課題[12]。本文即使用了這項(xiàng)技術(shù)作為身份驗(yàn)證的手段之一。用戶通過密碼和MAC地址關(guān)聯(lián)一致性(注冊(cè)信息時(shí)已經(jīng)將用戶設(shè)置的密碼信息、手機(jī)MAC地址碼,人臉圖像關(guān)聯(lián))驗(yàn)證成功后,需要通過手機(jī)抓取動(dòng)態(tài)人臉圖像,將獲得的隨機(jī)抓取的即時(shí)照片發(fā)送至后臺(tái)服務(wù)器數(shù)據(jù)庫(kù)中,與數(shù)據(jù)庫(kù)中的照片相對(duì)比。
具體人臉識(shí)別驗(yàn)證是通過PCA[13]算法將圖像進(jìn)行降維,一般使得高維數(shù)據(jù)轉(zhuǎn)換為低維數(shù)據(jù),為了使得后面的的人臉識(shí)別分類更加方便和精準(zhǔn),需要使得降維后的數(shù)據(jù)點(diǎn)分散度盡量較大,通過方差公式如式(1)所示來具體判斷,使得方差盡量在適當(dāng)?shù)姆秶畲蠡?/p>
人臉識(shí)別其實(shí)就是將圖像做一個(gè)分類即非真即假,分類算法有很多(比如shapelets的時(shí)間序列分類算法[14]),需要選擇適合特定情景的算法才能解決問題。所以,在使用PCA算法之后將得到的數(shù)據(jù)利用SVM算法進(jìn)行一個(gè)二分類,即判斷請(qǐng)求人的即時(shí)圖像是否為真。具體要利用公式(2)通過利用支持向量點(diǎn)找到最優(yōu)切割平面,將公式(2)轉(zhuǎn)換為公式(3)求最大值,求取最值一般使用拉格朗日定理求解,為方便計(jì)算和求導(dǎo)故將求最大值轉(zhuǎn)化為求最小值,將公式(3)轉(zhuǎn)化為公式(4)進(jìn)行求解最小值。利用公式(5)(6)使用拉格朗定理求偏導(dǎo)得出目標(biāo)參數(shù)值,最后確定切割平面完成SVM算法。
利用SVM訓(xùn)練數(shù)據(jù)集[15][16],訓(xùn)練完成后,手機(jī)將自動(dòng)獲取的即時(shí)圖像傳輸?shù)胶笈_(tái)云服務(wù)器,云服務(wù)器先使用PCA算法將圖像進(jìn)行降維等處理,將處理后的圖片提取到的圖像特征點(diǎn)使用SVM算法進(jìn)行分析,如果此圖像特征點(diǎn)分布在真區(qū)間中,則識(shí)別成功,進(jìn)行相應(yīng)的考勤門禁功能,反之如果圖像特征點(diǎn)分布在假區(qū)間中,則識(shí)別失敗。
通過編寫ConfigWi-FiActivity類提交Wi-Fi賬號(hào)和密碼至ESP8266芯片,使之連入考勤門禁Wi-Fi。具體通過:tvWi-
FiName.setText(Wi-FiConnectHelper.getInstance(ConfigWi-FiActivity.this).getWi-FiName())來獲取Wi-Fi的名稱;再通過如下代碼來發(fā)送Wi-Fi密碼進(jìn)而使得ESP8266連入考勤Wi-Fi。
通過編寫DBHelper、DBUtil、SaveUtils安卓數(shù)據(jù)庫(kù)工具類來實(shí)現(xiàn)將考勤信息上傳至數(shù)據(jù)庫(kù)以及完成在手機(jī)APP端通過后臺(tái)服務(wù)器查看考勤信息,創(chuàng)建數(shù)據(jù)表部分代碼如下:
再通過編寫AppConfig來配置訪問IP,將APP指向后臺(tái)服務(wù)器IP,使得APP可以訪問云服務(wù)器IP或者是由PC構(gòu)建的局域網(wǎng)獲取和提交考勤信息。
通過APP軟件中編寫的AppConfig類,利用代碼public static final String MAIN_URL = "http://192.168.xx.x/index.php/Home/APP"將用戶在APP輸入的數(shù)據(jù)信息以及考勤信息傳送至云數(shù)據(jù)庫(kù)中,本實(shí)驗(yàn)中使用的為騰訊云服務(wù)器,打開騰訊云后,使得APP訪問騰訊云IP地址,與云中的數(shù)據(jù)庫(kù)進(jìn)行交互通訊。
本文總述了基于Wi-Fi的門禁考勤系統(tǒng),系統(tǒng)主要包含電子鎖模塊、服務(wù)器后臺(tái)、手機(jī)端APP和Wi-Fi模塊四部分組成。相較于市面上存在的考勤和門禁系統(tǒng),本產(chǎn)品具有如下優(yōu)勢(shì),如表1所示,Wi-Fi考勤門禁十分利于公司、學(xué)校、事業(yè)辦公室老舊考勤門禁系統(tǒng)的改進(jìn),具有低成本、高安全的優(yōu)勢(shì)。
表1:各類考勤門禁方案比較
本文提出了一種通過我們的通訊設(shè)備使得門禁考勤更加安全方便的方法,本文選取使用Wi-Fi作為實(shí)現(xiàn)考勤門禁一體化的交互中軸點(diǎn),具體分為三步:第一步:用戶在經(jīng)過密碼比對(duì)、MAC地址比對(duì)、人臉比對(duì)之后進(jìn)入到APP軟件;第二步:連接考勤Wi-Fi,通過APP將考勤信息發(fā)送到后臺(tái)服務(wù)器;第三部:手機(jī)APP配置ESP8266模塊連接考勤Wi-Fi,使APP可以通過控制ESP8266來控制門禁。另外,使用其他通訊協(xié)議同樣可以達(dá)到相似的效果,比如使用藍(lán)牙,ZigBee,IEEE802.11a、UWB[19][20]等甚至是SIM卡都可以實(shí)現(xiàn)作為考勤門禁一體化的方法,實(shí)現(xiàn)方法都是觸類旁通,只是使用的協(xié)議或控制芯片不同,相信如果結(jié)合處理器和更多外設(shè)電路設(shè)計(jì)[21][22]應(yīng)用于物聯(lián)網(wǎng)中,物聯(lián)網(wǎng)將會(huì)實(shí)現(xiàn)更加智能的互聯(lián)。