管賽暉 包浚杞 謝玲 劉紅英
(南京理工大學(xué)紫金學(xué)院計(jì)算機(jī)學(xué)院 江蘇省南京市 210023)
為了保障公共區(qū)域人員的健康,門禁系統(tǒng)需要帶有測溫功能,在放行前需要精準(zhǔn)的測出通行人員的體溫,對于體溫異常的人員有預(yù)警,通知后臺進(jìn)行處理。隨著科技的不斷發(fā)展,智能社區(qū)已經(jīng)在目前的市面上得到了大范圍的使用。有了科技助力的監(jiān)控系統(tǒng),能夠讓小區(qū)形成完整的智能防護(hù)體系。
2.1.1 無接觸式人臉識別門禁系統(tǒng)
無接觸式人臉識別門禁系統(tǒng)可以獨(dú)立完成用戶的認(rèn)證,通過人臉識別或讀IC 卡號,快速準(zhǔn)確識別用戶身份并放行,業(yè)主也可以在前端APP申請二維碼數(shù)據(jù)發(fā)送給訪客、訪客出示二維碼即可進(jìn)入,其特色功能為實(shí)現(xiàn)無接觸體溫監(jiān)測,也可以檢測人體接近,自動(dòng)啟動(dòng)身份識別,在沒有用戶需要驗(yàn)證時(shí)停止身份識別。無接觸式人臉識別門禁系統(tǒng)能夠與服務(wù)器交互,完成IC 卡信息的驗(yàn)證、二維碼信息的驗(yàn)證、獲取當(dāng)前的防疫等級、上報(bào)進(jìn)門用戶體溫等功能,方便社區(qū)管理人員快速掌握人員流動(dòng)情況。本系統(tǒng)的完整功能流程如圖1 所示。
2.1.2 智能垃圾分類體系
智能垃圾分類體系下的分類垃圾桶當(dāng)監(jiān)測到人體靠近的時(shí)候,樹莓派控制人臉識別和門禁卡識別兩個(gè)子線程啟動(dòng),用戶可以任選一種方式識別身份。
當(dāng)用戶身份識別成功后,樹莓派向服務(wù)器發(fā)送請求查詢用戶的userId 并根據(jù)userId 查詢用戶當(dāng)前的環(huán)保積分。環(huán)保積分會通過LCD 顯示器顯示在垃圾桶上。
接著,用戶將分類垃圾袋放在攝像頭前,樹莓派調(diào)用顏色識別功能,確定垃圾袋所對應(yīng)的垃圾類型。樹莓派向服務(wù)器請求當(dāng)前分類垃圾桶的剩余量,若垃圾桶剩余量大于10%,樹莓派控制舵機(jī)打開垃圾桶蓋。若剩余量不足,則垃圾桶不會開蓋,并通過LCD 提示用戶垃圾桶已滿。
當(dāng)用戶成功投遞垃圾后,樹莓派控制舵機(jī)關(guān)閉垃圾桶蓋并計(jì)算現(xiàn)在的垃圾桶剩余量。最后向服務(wù)器發(fā)起請求,更新垃圾桶剩余量、垃圾桶投遞記錄和用戶的積分。本系統(tǒng)的完整功能流程如圖2 所示。
3.1.1 硬件平臺——樹莓派
本系統(tǒng)采用的是樹莓派4B,CPU 是ARMCortex-A72,主頻達(dá)到1.5GHz,擁有2GB LPDDR4 內(nèi)存、兩個(gè)USB2.0、兩個(gè)USB3.0接口、一個(gè)千兆以太網(wǎng)和兩路micro HDMI 輸出。
樹莓派支持很多的操作系統(tǒng),本系統(tǒng)使用的是Raspbian,他是Debian 操作系統(tǒng)在ARM 的編譯版。作為官方推薦的操作系統(tǒng),Raspbian 擁有深度定制的軟件程序和硬件驅(qū)動(dòng),能滿足相當(dāng)一部分的開發(fā)需求。樹莓派的板載接口如圖3 所示。
圖1:防疫門禁系統(tǒng)結(jié)構(gòu)圖
圖2:智能分類垃圾桶結(jié)構(gòu)圖
3.1.2 RFID-RC522
圖3:樹莓派的板載接口
圖4:RFID-RC522 模塊
圖5:HC-SR04
圖6:HC-SR501 模塊
圖7:NEO-6M 模塊
圖8:LCD1602 模塊
圖9:防疫門禁系統(tǒng)軟件設(shè)計(jì)
圖10:智能垃圾桶軟件設(shè)計(jì)
本系統(tǒng)選用RFID-RC522 作為IC 卡讀取模塊,用于讀取業(yè)主IC 卡密,完成用戶身份信息的驗(yàn)證。該模塊使用了來自飛利浦(Philips)的Mifare 非接觸讀卡芯片——MFRC522。該芯片擁有優(yōu)良的性能和極高的性價(jià)比,具有豐富的接口,能應(yīng)用于13.56MHz 非接觸通信,且完全支持ISO14443A 協(xié)議。RFID-RC522 模塊如圖4所示。
3.1.3 HC-SR04
HC-SR04是一款被廣泛應(yīng)用的超聲波傳感器。該模塊比較成熟,性能穩(wěn)定,能較精準(zhǔn)的測量距離。在很多領(lǐng)域都有廣泛的應(yīng)用。如圖5 所示。
該模塊有四個(gè)引腳,除去VCC 和GND,Trig 為信號觸發(fā)腳,在控制芯片發(fā)送10us 以上的高電平時(shí),模塊就會開始工作,在得到數(shù)據(jù)后,會在Echo 引腳得到一個(gè)長度與測量結(jié)果成正比的高電平。只需兩個(gè)引腳并且操作簡單,因此本系統(tǒng)選用此模塊,用于人體接近檢測。
圖11:服務(wù)器的數(shù)據(jù)庫
3.1.4 GY-614V3DCC
GY-614V3DCC 是一款非接觸式紅外測溫傳感器。非接觸式紅外測溫也叫輻射測溫,一般使用熱電型或光電探測器作為檢測元件。此溫度測量系統(tǒng)比較簡單,可以實(shí)現(xiàn)大面積的測溫,也可以是被測物體上某一點(diǎn)的溫度測量。它的制造工藝簡單,成本較低,測溫時(shí)不接觸被測物體,具有響應(yīng)時(shí)間短、不干擾被測溫場、使用壽命長、操作方便等一系列優(yōu)點(diǎn), 但利用紅外輻射測量溫度,也必然受到物體發(fā)射率、測溫距離、煙塵和水蒸氣等外界因素的影響,其測量誤差較大。
該模塊支持3V-5V 的工作電壓,供電電流僅為7mA,且支持串口和i2c 兩種通信接口。
3.2.1 人體紅外感應(yīng)技術(shù)
人體的溫度一般恒定在37℃,因此會輻射出紅外線,這種紅外線的波長在10um 左右。熱釋電紅外傳感器可以用于探測這種紅外線。本課題采用HC-SR501 模塊。當(dāng)模塊通電后,該模塊會在前方產(chǎn)生一個(gè)感應(yīng)區(qū)域,當(dāng)有人體從該感應(yīng)區(qū)域路過時(shí),DOUT 引腳會發(fā)出一段高電平。樹莓派可以通過監(jiān)測DOUT 引腳的電平狀態(tài),判斷是否有人體。圖6 為HC-SR501 模塊。
3.2.2 GPS 定位技術(shù)
GPS 系統(tǒng),英文名為Global Positioning System,是一種以人造衛(wèi)星為基礎(chǔ)的高精度定位系統(tǒng),它可以提供準(zhǔn)確的地理位置。本課題采用NEO-6MGPS 模塊。NEO-6M 是一款具有高靈敏度,低功耗的定位模塊。NEO-6M 在任何地理環(huán)境下都能提供較高精度的定位信息。圖7 為NEO-6M 模塊。
3.2.3 LCD 顯示
本課題采用LCD1602A 模塊,它是廣泛使用的一種字符型液晶顯示模塊[8]。它的主控芯片一般是HD44780。它由5×7 或5×11 點(diǎn)矩陣位置組成;每個(gè)位置可以顯示一個(gè)字符。兩個(gè)字符之間有一個(gè)點(diǎn)距,行之間有一個(gè)空格,從而將字符和行分隔開。型號1602 表示它顯示2 行,每行可顯示16 個(gè)字符。圖8 為LCD1602 模塊。
3.2.4 舵機(jī)驅(qū)動(dòng)
本課題采用PCA9685模塊和SG90舵機(jī),它是一種精度為12位,使用I2C 總線控制16 路PWM 輸出的芯片。當(dāng)單片機(jī)需要同時(shí)控制多臺舵機(jī),但引腳資源有限時(shí),使用PCA9685 驅(qū)動(dòng)舵機(jī)可以實(shí)現(xiàn)拓展使用多個(gè)舵機(jī)、節(jié)省單片機(jī)IO 口資源的目的。
SG90 是一種角度伺服的驅(qū)動(dòng)器,根據(jù)控制信號的變化,伺服驅(qū)動(dòng)器控制其角度的變化。常見的有0-180°、0-360°。SG90 舵機(jī)性能高,價(jià)格低廉,使用方便,因此它可以很好的實(shí)現(xiàn)本課題所需要的驅(qū)動(dòng)功能。
因?yàn)闃漭蓪ython 開發(fā)比較友好,所以本系統(tǒng)使用Python編程。
在Python 編程的樹莓派中,可以直接控制IO 資源,因此可以實(shí)現(xiàn)對HC-SR04(超聲波模塊)的操作。通過SPI 協(xié)議可以控制RFID-RC555(RFID 模塊),通過UART 可以控制GY-614V4DCC(紅外測溫模塊)。相機(jī)則是通過SCI 接口直接與樹莓派通信,這在Raspbian 系統(tǒng)中已經(jīng)優(yōu)化,使用比較便捷。相機(jī)模塊在系統(tǒng)中比較重要,人臉識別和二維碼檢測功能都依賴于相機(jī)采集到的圖像信息。
有關(guān)于防疫功能,在本系統(tǒng)中,會根據(jù)防疫等級的設(shè)定執(zhí)行不同程度的門禁制度。防疫等級分為三級:嚴(yán)格、寬松、關(guān)閉。在疫情策略嚴(yán)格時(shí),本系統(tǒng)會要求進(jìn)入用戶出示健康碼信息,并且對于體溫異常者,通知后臺進(jìn)行人工處理。在疫情策略寬松時(shí),本系統(tǒng)會停止登記健康碼,對于體溫異常者予以放行但仍會進(jìn)行告警。在關(guān)閉時(shí),系統(tǒng)不進(jìn)行健康碼登記和體溫檢測。本系統(tǒng)會持續(xù)與服務(wù)器通信,從服務(wù)器端獲取最新的防疫策略。
有關(guān)于人臉識別功能,根據(jù)部署的地方區(qū)分,可以有部署在本地的基于深度學(xué)習(xí)的人臉識別和部署在云端的基于API 的人臉識別兩種方案。本系統(tǒng)的應(yīng)用場景在于社區(qū),主要目的在于識別用戶身份并快速放行??紤]到社區(qū)會有人員的流動(dòng),為了方便數(shù)據(jù)的更新管理,我們選擇將數(shù)據(jù)部署在云端。能否快速準(zhǔn)確識別用戶身份,是判斷門禁系統(tǒng)性能的重要標(biāo)準(zhǔn),因此本系統(tǒng)選擇目前比較穩(wěn)定的百度智能云。在使用中,系統(tǒng)不斷掃描獲取攝像頭數(shù)據(jù)并上傳到百度云服務(wù)器,通過于服務(wù)器中的數(shù)據(jù)庫比對,返回驗(yàn)證結(jié)果。具體如圖9 所示。
針對分類垃圾桶在實(shí)際應(yīng)用中的一些需求,在軟件方面具備以下功能:
(1)實(shí)現(xiàn)基于百度SDK 的人臉識別;
(2)實(shí)現(xiàn)基于OpenCV 的顏色識別;
(3)實(shí)現(xiàn)與服務(wù)器的數(shù)據(jù)交互;
(4)驅(qū)動(dòng)各硬件設(shè)備正常工作;
(5)處理各硬件的并發(fā)需求;
(6)當(dāng)硬件出現(xiàn)故障時(shí),需要及時(shí)發(fā)出報(bào)警。
具體如圖10 所示。
在完成軟件和硬件各模塊的搭建和調(diào)試后,嘗試將系統(tǒng)進(jìn)行了組合,構(gòu)成一個(gè)完整的工程文件。在這一小節(jié),要完整的測試系統(tǒng)功能,并與服務(wù)器結(jié)合,模擬實(shí)際使用場景。
通過測試,人臉識別,IC 卡識別,二維碼識別均通過驗(yàn)證,系統(tǒng)工作正常。接下來我們打開服務(wù)器數(shù)據(jù)庫,查看服務(wù)器是否真的收到了來自門禁上報(bào)的日志。
測試時(shí)間為2021年4月19日 0 點(diǎn)28 分,數(shù)據(jù)庫顯示,在此時(shí)間收到了一條用戶進(jìn)入的字段,字段信息包含時(shí)間,用戶id,出入狀態(tài)和體溫。表明系統(tǒng)與服務(wù)器通信正常。服務(wù)器的數(shù)據(jù)庫如圖11 所示。
調(diào)試方法:程序上電啟動(dòng)后,首先通過人體紅外感應(yīng)模塊確定有居民靠近,接著使用人臉識別或射頻識別居民身份。然后使用顏色識別,確定垃圾袋的類型,控制舵機(jī)打開相應(yīng)的分類垃圾桶。成功投遞垃圾后垃圾桶關(guān)閉。
結(jié)果預(yù)期:能夠正確檢測到有人體靠近,能夠正確識別出居民的身份和垃圾袋的顏色,能夠正確的打開和關(guān)閉分類垃圾桶蓋。垃圾投遞結(jié)束后,可以將數(shù)據(jù)正常上傳到服務(wù)器數(shù)據(jù)庫中。
調(diào)試結(jié)果:程序上電啟動(dòng)后,人體紅外感應(yīng)模塊成功感應(yīng)到有居民靠近,人臉識別和射頻識別模塊啟動(dòng),成功確定居民身份。LCD 顯示模塊顯示出從服務(wù)器獲得的用戶積分信息。顏色識別模塊成功識別到垃圾袋的顏色,打開對應(yīng)的分類垃圾桶。完成垃圾投遞后,垃圾投遞記錄,用戶積分增加記錄等成功上傳到服務(wù)器的數(shù)據(jù)庫當(dāng)中。本系統(tǒng)所有功能運(yùn)行正常,調(diào)試通過。
本次設(shè)計(jì)的全部功能都已經(jīng)調(diào)試完畢,系統(tǒng)運(yùn)行正常,后續(xù)可拓展其他功能,對平臺進(jìn)行細(xì)節(jié)化處理,使其更加完善。