摘 要:本文設(shè)計(jì)了一款基于OpenMV和STM32的綜合健康管理和門禁系統(tǒng),旨在應(yīng)對(duì)當(dāng)前全球范圍內(nèi)的公共衛(wèi)生和安全挑戰(zhàn)。系統(tǒng)通過圖像識(shí)別和傳感器數(shù)據(jù)的綜合應(yīng)用,實(shí)現(xiàn)口罩識(shí)別、人體體溫監(jiān)測以及RFID驗(yàn)證等功能。OpenMV將口罩信息通過UART協(xié)議傳輸給STM32C8T6核心MCU,MCU根據(jù)綜合信息驅(qū)動(dòng)電機(jī)控制門禁系統(tǒng)。當(dāng)檢測到體溫過高的人員時(shí),MCU發(fā)送拍照標(biāo)志位給OpenMV,進(jìn)行拍照記錄,并通過ESP8266傳遞給服務(wù)器,之后通過TCP/IP協(xié)議傳輸?shù)绞謾C(jī)APP。同時(shí),系統(tǒng)根據(jù)環(huán)境光照水平由PID算法計(jì)算補(bǔ)光值,并通過PWM波進(jìn)行補(bǔ)光調(diào)節(jié)。通過雙紅外對(duì)射管統(tǒng)計(jì)人數(shù),利用JQ8900N芯片驅(qū)動(dòng)喇叭進(jìn)行語音播報(bào)。測試結(jié)果表明,本系統(tǒng)能夠有效實(shí)現(xiàn)健康管理和安全門禁控制,提高公共場所的安全性和衛(wèi)生管理水平。
關(guān)鍵詞:OpenMV;STM32;門禁系統(tǒng);口罩識(shí)別;人體體溫監(jiān)測;RFID;PID;雙紅外對(duì)射;語音播報(bào)
中圖分類號(hào):TP272 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):2095-1302(2024)04-0-05
DOI:10.16667/j.issn.2095-1302.2024.04.038
0 引 言
近年來,人們?cè)谔厥鈺r(shí)期越來越重視門禁系統(tǒng)的健康安全管理功能,以確保個(gè)人安全[1]。通過整合先進(jìn)的技術(shù),例如圖像識(shí)別、傳感器數(shù)據(jù)分析和無線通信等,能夠?qū)崿F(xiàn)檢測新冠病毒癥狀的智能系統(tǒng),從而在一定程度上預(yù)防病毒的擴(kuò)散。這些系統(tǒng)在減少傳染病的傳播和增強(qiáng)公共衛(wèi)生保護(hù)方面發(fā)揮著至關(guān)重要的作用。
盡管許多現(xiàn)有系統(tǒng)具備了基本的人員健康監(jiān)測和門禁控制功能,但它們往往缺乏完善的環(huán)境調(diào)節(jié)功能,如根據(jù)環(huán)境光照進(jìn)行自動(dòng)補(bǔ)光,從而提高圖像識(shí)別的準(zhǔn)確性和系統(tǒng)的用戶體驗(yàn)。例如,文獻(xiàn)[2]所描述的安檢門雖然配備了口罩檢測和體溫測量功能,但不能夠根據(jù)環(huán)境變化自動(dòng)補(bǔ)光。同樣,文獻(xiàn)[3]中的防疫門禁系統(tǒng)能夠進(jìn)行口罩檢測,但無法實(shí)現(xiàn)測溫和調(diào)光補(bǔ)光功能。
本系統(tǒng)利用多種傳感器和傳輸技術(shù)實(shí)現(xiàn)了綜合性的防疫門禁系統(tǒng),本系統(tǒng)具備口罩檢測、自適應(yīng)環(huán)境補(bǔ)光、紅外測溫、通過人數(shù)計(jì)算、語音播報(bào)、安卓APP圖像顯示以及RFID(Radio Frequency Identification, RFID)驗(yàn)證等功能。
1 系統(tǒng)整體設(shè)計(jì)
1.1 需求分析
首先,該門禁系統(tǒng)應(yīng)具備口罩佩戴檢測功能,并具有一定的對(duì)抗環(huán)境干擾的能力,以確保通過系統(tǒng)的人員都佩戴口罩,防止因不佩戴口罩而發(fā)生的病毒傳播。其次,系統(tǒng)應(yīng)配備非接觸式溫度測量裝置[4],以便在不接觸的情況下測量通過人員的體溫。這樣,系統(tǒng)能夠檢測出發(fā)熱人員,并記錄其特征,且能夠在類似安卓APP的終端查看,對(duì)追蹤發(fā)熱人員提供幫助。此外,門禁系統(tǒng)應(yīng)能對(duì)通過的人員進(jìn)行語音播報(bào)提醒,以便了解他們下一步的動(dòng)作。
1.2 整體結(jié)構(gòu)設(shè)計(jì)
本系統(tǒng)采用OV5640攝像頭進(jìn)行圖像采集,在OpenMV(Open Machine Vision)集成的STM32H743II芯片上實(shí)現(xiàn)圖像處理,通過UART(Universal Asynchronous Receiver Transmitter Protocol)協(xié)議將口罩佩戴信息和圖像信息傳輸給STM32C8T6核心MCU(Microcontroller Unit)[5],其中,MCU采用ST-link(STMicroelectronics)經(jīng)SWD(Serial Wire Debug)接口進(jìn)行調(diào)試與編程。系統(tǒng)使用MLX90614紅外測溫傳感器檢測體溫,并通過ESP8266將拍照記錄傳輸?shù)奖镜胤?wù)器。服務(wù)器通過TCP/IP(Transmission Control Protocol/Internet Protocol)協(xié)議與手機(jī)APP通信,傳輸拍照記錄。光照度自適應(yīng)調(diào)節(jié)模塊通過線性擬合和PID(Proportional Integral Derivative Control)算法實(shí)現(xiàn)光照度的自適應(yīng)調(diào)節(jié)[6],雙紅外對(duì)射管用于統(tǒng)計(jì)人數(shù),JQ8900N芯片驅(qū)動(dòng)喇叭進(jìn)行語音播報(bào)。整體器件連接設(shè)計(jì)如圖1所示。
以上各個(gè)器件相互配合,使系統(tǒng)能夠?qū)崿F(xiàn)綜合健康管理與門禁功能。
2 系統(tǒng)硬件設(shè)計(jì)
系統(tǒng)主要由圖像采集與處理模塊、數(shù)據(jù)傳輸與控制模塊、人體溫度檢測與拍照模塊、服務(wù)器與手機(jī)APP通信模塊、光照度自適應(yīng)調(diào)節(jié)模塊以及人數(shù)統(tǒng)計(jì)與語音播報(bào)模塊組成。系統(tǒng)模塊組成如圖2所示。
2.1 圖像采集與處理模塊
設(shè)計(jì)圖像采集與處理模塊時(shí),需要考慮攝像頭的選擇、接口設(shè)計(jì)以及圖像處理算法的支持。
攝像頭應(yīng)具有高分辨率、良好的圖像質(zhì)量和強(qiáng)大的適應(yīng)性。因此選擇OV5640攝像頭,它具備高分辨率和優(yōu)秀的圖像質(zhì)量,適用于人員識(shí)別和圖像處理。
模塊與主控單元(STM32H743II芯片和STM32C8T6核心)之間的數(shù)據(jù)交換采用UART協(xié)議。圖像數(shù)據(jù)和處理結(jié)果能被傳輸給主控MCU,實(shí)現(xiàn)模塊間的數(shù)據(jù)交互。
圖像采集與處理模塊的硬件設(shè)計(jì)應(yīng)支持各種圖像處理算法,因此選擇STM32H743II芯片,它具備強(qiáng)大的處理能力和豐富的圖像處理算法庫,支持實(shí)時(shí)圖像處理和分析。
2.2 數(shù)據(jù)傳輸與控制模塊
設(shè)計(jì)數(shù)據(jù)傳輸與控制模塊主要考慮各模塊間的數(shù)據(jù)通信協(xié)議、核心MCU對(duì)電機(jī)的控制。
對(duì)于2個(gè)芯片之間的通信采用UART協(xié)議,MCU的
2個(gè)UART串口通信模塊集成到數(shù)據(jù)傳輸與控制模塊中[7],負(fù)責(zé)從OpenMV的STM32H743II芯片向核心MCU傳輸口罩佩戴和相關(guān)圖像信息,同時(shí)向ESP8266模塊發(fā)送圖像信息,核心MCU接收口罩佩戴和圖像信息,并接收RFID模塊的信息以及人體體溫傳感器數(shù)據(jù)。通過UART協(xié)議,圖像信息從STM32C8T6傳輸至ESP8266模塊,然后ESP8266模塊將圖像信息發(fā)送到遠(yuǎn)程服務(wù)器,供手機(jī)APP查看。
最后,STM32C8T6通過GPIO引腳連接電機(jī)[8]。根據(jù)口罩信息、體溫信息和RFID刷卡信息,MCU控制相應(yīng)的GPIO(General Purpose Input/Output)引腳驅(qū)動(dòng)電機(jī),從而控制門的開啟或關(guān)閉。
2.3 人體溫度檢測與拍照模塊
人體溫度檢測與拍照模塊用于檢測人員的體溫。它通過紅外傳感器測量人體的熱量輻射,并將測得的溫度數(shù)據(jù)傳輸給MCU進(jìn)行處理。
使用UART協(xié)議實(shí)現(xiàn)MCU(STM32C8T6核心)與OpenMV(STM32H743II芯片)之間的通信。MCU向OpenMV發(fā)送拍照標(biāo)志位,用于觸發(fā)拍照記錄的開始。
OpenMV接收到MCU發(fā)送的拍照標(biāo)志位后,執(zhí)行拍照操作,并將拍照記錄轉(zhuǎn)為JPEG流傳輸?shù)組CU中,再由ESP8266轉(zhuǎn)發(fā)至服務(wù)器中存儲(chǔ),最后通過TCP/IP協(xié)議轉(zhuǎn)發(fā)到安卓APP。
2.4 人數(shù)統(tǒng)計(jì)與語音播報(bào)模塊
使用雙紅外對(duì)射管作為人數(shù)統(tǒng)計(jì)傳感器。這種傳感器由一對(duì)發(fā)射器和接收器組成,可以通過檢測人體通過時(shí)的阻斷情況來實(shí)現(xiàn)人數(shù)統(tǒng)計(jì)。當(dāng)有人通過時(shí),紅外光束會(huì)被阻斷,傳感器將檢測到信號(hào)變化,并統(tǒng)計(jì)通過的人數(shù)以統(tǒng)計(jì)通過系統(tǒng)的人流量。
使用JQ8900N芯片驅(qū)動(dòng)喇叭進(jìn)行語音播報(bào)。JQ8900N是一種集成語音解碼和功放功能的芯片,可以通過外部喇叭播放音頻文件。該芯片可連接MCU,以控制播放內(nèi)容和音量等參數(shù)。
3 軟件設(shè)計(jì)
3.1 OpenMV軟件設(shè)計(jì)
在OpenMV上,需要實(shí)現(xiàn)相應(yīng)的圖像處理算法,用于口罩佩戴檢測和異常人員拍照。在實(shí)現(xiàn)這些算法的過程中,需要使用OpenMV IDE(Open Machine Vision Integrated Development Environment)進(jìn)行開發(fā),使用Micropython語言編程。由于需要建立口罩檢測模型,因此需要用Edge Impulse平臺(tái)進(jìn)行機(jī)器模型的訓(xùn)練。
在初始化攝像頭、UART以及圖像分辨率和顏色模式后,加載Haar(Haar-like)特征來識(shí)別眼部(口罩佩戴后的主要識(shí)別區(qū)域)。然后對(duì)采集的圖像進(jìn)行預(yù)處理,利用Haar特征判斷人臉,并運(yùn)行口罩檢測模型。同時(shí),將圖像亮度和處理結(jié)果發(fā)送給MCU,在接收到MCU的判定狀態(tài)后,如果檢測到異常人員,會(huì)拍照并發(fā)送到MCU。如果無異常,則重新開始人臉檢測。OpenMV算法流程如圖3
所示。
3.2 STM32軟件設(shè)計(jì)
在STM32核心MCU上,需要實(shí)現(xiàn)對(duì)應(yīng)器件控制邏輯和信息傳輸邏輯[8-9]。系統(tǒng)初始化后,接收到OpenMV找到人臉標(biāo)志后對(duì)數(shù)據(jù)進(jìn)行采集與判斷,存儲(chǔ)標(biāo)志位的數(shù)組發(fā)生變化,如果體溫異常,則對(duì)OpenMV發(fā)送拍照標(biāo)志對(duì)其進(jìn)行拍照記錄,將圖像信息通過UART協(xié)議轉(zhuǎn)到MCU,再由ESP8266發(fā)送到服務(wù)器并對(duì)存儲(chǔ)標(biāo)志的數(shù)組復(fù)位;若體溫正常但RFID驗(yàn)證失敗或未戴口罩,則進(jìn)行語音播報(bào)并不對(duì)標(biāo)志位復(fù)位;若三項(xiàng)指標(biāo)均正常,則開啟電機(jī),人員進(jìn)入。主函數(shù)算法流程如圖4所示。
3.3 PID自適應(yīng)調(diào)光
PID算法即比例-積分-微分控制算法,是一種常用的控制算法,廣泛應(yīng)用于自動(dòng)控制系統(tǒng)中。PID算法通過對(duì)系統(tǒng)的誤差進(jìn)行反饋控制,實(shí)現(xiàn)對(duì)系統(tǒng)輸出的精確調(diào)節(jié)。通過OpenMV得到的亮度作為現(xiàn)實(shí)值,設(shè)計(jì)PID控制器并計(jì)算輸出的PWM占空比,不斷調(diào)節(jié)LED的亮度值達(dá)到OpenMV最適合的檢測模型亮度[10]。
e(t)(誤差值)和u(t)(輸出量)的關(guān)系:
(1)
式中:KP為比例系數(shù);KI為積分系數(shù);KD為微分系數(shù),其均為調(diào)適參數(shù),需手動(dòng)調(diào)整。
由式(1)可以得到輸出值為誤差值的比例增益、積分增益、微分增益的總和。由線性擬合得到的最佳亮度值與OpenMV得到的亮度值進(jìn)行相減得到誤差值e(t),經(jīng)過比例增益、積分增益、微分增益后得到輸出的PWM占空比值u(t),WS2812BLED根據(jù)該值調(diào)光,隨后改變OpenMV得到亮度值,形成自反饋系統(tǒng)并不斷接近目標(biāo)值。系統(tǒng)PID工作算法流程如圖5示。
4 系統(tǒng)集成與測試
為全面測試本系統(tǒng)的綜合性能,需要從多方面進(jìn)行考量。首先,需要評(píng)估本系統(tǒng)的口罩檢測算法以及PID調(diào)光性能;其次,通過模擬人體溫度檢驗(yàn)系統(tǒng)的體溫監(jiān)測精度和可靠性,同時(shí)確認(rèn)在檢測到體溫過高時(shí)是否能準(zhǔn)確執(zhí)行拍照記錄功能以及評(píng)估ESP8266的數(shù)據(jù)傳輸能力,TCP/IP協(xié)議的通信穩(wěn)定性[11]及手機(jī)APP的接收與處理能力[12]。接著,使用多種RFID標(biāo)簽測試系統(tǒng)的RFID驗(yàn)證功能,測試系統(tǒng)的人數(shù)統(tǒng)計(jì)與語音播報(bào)功能的準(zhǔn)確性。最后,對(duì)系統(tǒng)進(jìn)行整體
測試。
4.1 口罩檢測算法與PID調(diào)光測試
OpenMV由灰度均值得到的亮度水平作為亮度參考標(biāo)準(zhǔn),首先采用程序處理方法對(duì)圖像的采集進(jìn)行提亮或者減亮操作,將結(jié)果保存到SD卡中,后導(dǎo)出并對(duì)其進(jìn)行線性擬合,得到最佳識(shí)別亮度約為144。將其作為PID的目標(biāo)值,取5種平常肉眼觀察到的黑暗、微光、較暗、正常與較高的亮度水平作為調(diào)光前的亮度進(jìn)行100次測試。測試結(jié)果見表1所列。
由表2中的測量數(shù)據(jù)得到,本系統(tǒng)的口罩檢測算法能夠準(zhǔn)確檢測行人是否佩戴口罩,且能夠準(zhǔn)確調(diào)光。
4.2 體溫監(jiān)測性能與異常人員拍照傳輸測試
通過與醫(yī)用紅外測溫槍的數(shù)據(jù)進(jìn)行對(duì)比,在不同環(huán)境溫度下進(jìn)行了溫度對(duì)比測試。在同一熱源,同一時(shí)間進(jìn)行了100次測量,獲取系統(tǒng)的溫度數(shù)據(jù)。同時(shí),還進(jìn)行了模擬異常人員嘗試通過系統(tǒng)的測試。在額頭上貼上40 ℃以上的熱源,一次不戴口罩,一次戴上口罩,每種情況測試30次。系統(tǒng)在測試過程中,都會(huì)拍照并將圖片發(fā)送至服務(wù)器,再轉(zhuǎn)發(fā)到安卓APP。
由表2中的測量數(shù)據(jù)得到,本系統(tǒng)的體溫檢測性能較好,對(duì)異常人員的拍照傳輸較為穩(wěn)定。
4.3 RFID驗(yàn)證、人數(shù)統(tǒng)計(jì)與語音播報(bào)測試
利用成功寫入的RFID進(jìn)行50次驗(yàn)證,通過率為100%;利用未寫入的RFID進(jìn)行50次驗(yàn)證,使用紅外對(duì)射管進(jìn)行人數(shù)統(tǒng)計(jì),采用連續(xù)不規(guī)則的出入測試模式。在系統(tǒng)安裝完成后進(jìn)行語音播報(bào)測試,在正常通過、溫度異常報(bào)警、RFID驗(yàn)證失敗狀態(tài)下進(jìn)行播報(bào)測試。
RFID驗(yàn)證測試中寫入的RFID均通過,未寫入的RFID均能成功攔截,人數(shù)統(tǒng)計(jì)測試成功率為99.5%,語音播報(bào)測試中所有狀態(tài)語音均能成功播報(bào)。測試結(jié)果見表3
所列。
由表3中的數(shù)據(jù)得到本系統(tǒng)的RFID驗(yàn)證模塊、人數(shù)統(tǒng)計(jì)模塊與語音播報(bào)模塊均能夠較好發(fā)揮性能。
4.4 系統(tǒng)整體測試
用2個(gè)桌子間的空隙模擬進(jìn)出通道,通道左右安裝紅外對(duì)射管記錄進(jìn)出人員。將所需模塊集成在MCU上,外接電源供電板,盒子內(nèi)有WiFi模塊、語音芯片和喇叭。測試口罩的OpenMV、紅外非接觸溫度計(jì)、光照傳感器和WS2812BLED裝在伸縮桿上,系統(tǒng)集成實(shí)物如圖6示。
集成后對(duì)所有功能進(jìn)行模擬使用時(shí)的測試,系統(tǒng)各功能能夠配合執(zhí)行,測試結(jié)果見表4所列。圖7為APP所示異常人員照片。
由表4中的數(shù)據(jù)可知,本系統(tǒng)集成后依然能夠很好地完成既定功能,可以有效保障環(huán)境安全。
5 結(jié) 語
本系統(tǒng)集成了多種傳感器和功能模塊,成功實(shí)現(xiàn)了針對(duì)病毒擴(kuò)散期間場所管理的智能監(jiān)控系統(tǒng)。系統(tǒng)融合圖像處理、語音識(shí)別、人數(shù)統(tǒng)計(jì)等技術(shù),可以自動(dòng)檢測是否佩戴口罩,并測量體溫、統(tǒng)計(jì)人數(shù)和調(diào)節(jié)光照,大大減少了人工操作的不確定性,降低了病毒傳播風(fēng)險(xiǎn),提升了公共衛(wèi)生安全和工作效率。系統(tǒng)的實(shí)用性和前景在于其可減輕人力負(fù)擔(dān)、促進(jìn)經(jīng)濟(jì)效益和醫(yī)療前沿技術(shù)的應(yīng)用。
總體而言,本系統(tǒng)具有巨大的應(yīng)用潛力和發(fā)展空間,它為防止病毒擴(kuò)散提供了有效的技術(shù)支持,并為智能化管理和監(jiān)控領(lǐng)域的研究提供了有價(jià)值的參考。相信經(jīng)過不斷實(shí)踐和探索,本系統(tǒng)會(huì)不斷完善和發(fā)展,為社會(huì)帶來更大貢獻(xiàn)。
注:本文通訊作者為周旋。
參考文獻(xiàn)
[1]秦蘋. 新冠肺炎防治中強(qiáng)制隔離措施適用的研究[D].南寧:廣西大學(xué),2022.
[2]林厚健,鐘錦杰,朱向慶,等.便攜式體溫檢測及口罩、粵康碼識(shí)別安檢門[J].物聯(lián)網(wǎng)技術(shù),2023,13(4):22-25.
[3]謝鑫焱,祁晉東,楊晨,等.智慧社區(qū)防疫門禁系統(tǒng)設(shè)計(jì)[J].黑龍江科學(xué),2023,14(2):105-107.
[4]解謙,陳衛(wèi)松,楊秀秀,等.非接觸式紅外溫度檢測的防疫系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].電子世界,2021,43(21):126-128.
[5] THéO W S Q. Design of smart phone organizer based on OpenMV [J]. Academic journal of engineering and technology science,2021,40.
[6] COSMIN C,THOA M T,CLARA I. PID based particle swarm optimization in offices light control [J]. IFAC papers on line,2018,51(4).
[7]吳朝暉,曲立國.UART波特率檢測電路的FPGA設(shè)計(jì)算法與實(shí)現(xiàn)[J].現(xiàn)代電子技術(shù),2022,45(20):41-44.
[8] ST半導(dǎo)體公司. STM32F407C8T6數(shù)據(jù)手冊(cè)[EB/OL]. [2022-07-20]. https://www.alldatasheetcn.com/datasheet-pdf/pdf/201596/STMICROELECTRONICS/STM32F103C8T6.html.
[9]雷賽楠,章文俊,李昊.基于STM32和ZigBee網(wǎng)絡(luò)的智能家居系統(tǒng)[J].電子設(shè)計(jì)工程,2023,31(7):109-112.
[10]杜冠峰. 基于模糊PID的隧道照明控制系統(tǒng)設(shè)計(jì)[D].杭州:杭州電子科技大學(xué),2020.
[11]王通,周帥,謝印慶.一種智能的圖書館環(huán)境監(jiān)測系統(tǒng)[J].物聯(lián)網(wǎng)技術(shù),2022,12(11):18-19.
[12] WANG J,KE T,HOU M J,et al. The design of home fire monitoring system based on NB-IoT [J]. International journal of advanced computer science and applications,2022,
13(5).
收稿日期:2023-05-27 修回日期:2023-06-30
基金項(xiàng)目:吉首大學(xué)校級(jí)創(chuàng)新創(chuàng)業(yè)訓(xùn)練項(xiàng)目(JDCX2022759)
作者簡介:朱金林(2003—),男,本科,就讀于吉首大學(xué),研究方向?yàn)殡娮有畔⒐こ獭?/p>
彭心怡(2003—),女,本科,就讀于吉首大學(xué),研究方向?yàn)殡娮有畔⒐こ獭?/p>
周 旋(1990—),女,碩士,吉首大學(xué)通信與電子工程學(xué)院講師,研究方向?yàn)樾畔⑴c通信工程。