劉仲鵬,程偉龍,馬鑫爍
(保定學(xué)院,河北 保定 071000)
2019年新冠肺炎在全球肆虐,經(jīng)過人們共同的努力,疫情得到了嚴(yán)格的控制,但是疫情防控依然不能松懈。隨著復(fù)工復(fù)產(chǎn)的有序進(jìn)行,測溫是防控疫情的必要措施,所以迫切需要簡單且價格適中的體溫檢測設(shè)備,助力疫情防控。本文將OneNET可視化云端技術(shù)與下位機(jī)結(jié)合,連接多種信息采集傳感器,構(gòu)成遠(yuǎn)程測溫系統(tǒng)。
整套系統(tǒng)由云平臺上位機(jī),Nodemcu及ESP32-CAM 下位機(jī)組成。下位機(jī)包含傳感器模塊、處理器模塊、無線通信模塊和能量供應(yīng)模塊,多臺下位機(jī)之間組成分布式網(wǎng)絡(luò)[1]。系統(tǒng)采用Nodemcu作為傳感器節(jié)點(diǎn)的處理器模塊,主要負(fù)責(zé)傳感器節(jié)點(diǎn)的數(shù)據(jù)存儲及處理和多任務(wù)處理,并負(fù)責(zé)組網(wǎng)、數(shù)據(jù)傳遞和指令交換等。傳感器選擇紅外測溫、GPS、溫濕度、人體紅外感應(yīng)等[2],主要負(fù)責(zé)人體溫度、面部圖像、人流量、設(shè)備位置信息以及環(huán)境溫濕度信息的采集。無線通信模塊采用WiFi HTTP技術(shù),該技術(shù)具有數(shù)據(jù)傳輸可靠、兼容性好、實(shí)現(xiàn)成本低以及組網(wǎng)方便的優(yōu)點(diǎn),非常適合低速率傳輸?shù)臒o線傳感器網(wǎng)絡(luò)。
系統(tǒng)的工作原理為處理器驅(qū)動外設(shè)采集數(shù)據(jù),利用WiFi遠(yuǎn)程傳輸數(shù)據(jù)到云平臺。一個云平臺可以連接多臺設(shè)備,需要時,可以在每個通道口放置一臺設(shè)備,設(shè)備連接網(wǎng)絡(luò)后自動采集數(shù)據(jù)并上傳云平臺,管理員在控制室通過云平臺即可獲得連接平臺的所有設(shè)備信息,一旦設(shè)備感知被測人員出現(xiàn)異樣,自動封鎖通道,并向云平臺發(fā)出報警信息,等待工作人員進(jìn)一步處理。云端可視化測溫圖像采集系統(tǒng)大大地減少了人力,降低成本的同時,精準(zhǔn)測量體溫,為防疫人員減輕了負(fù)擔(dān),更保障了人流通道通過的安全性[3]。
系統(tǒng)采用遠(yuǎn)程采集數(shù)據(jù),多終端收集數(shù)據(jù)的形式可以在每個通道口放置一個設(shè)備,設(shè)備采集數(shù)據(jù),負(fù)責(zé)人則在控制室,一旦出現(xiàn)異樣,設(shè)備自動封鎖通道并報警,等待工作人員進(jìn)一步處理。具體實(shí)現(xiàn)的功能如下:
(1)紅外檢測是否有人進(jìn)入通道,進(jìn)入則觸發(fā)語音模塊提醒,提示通過人員正視攝像頭進(jìn)行人臉識別。
(2)檢測到人臉后,自動觸發(fā)拍照,同時啟動紅外測溫模塊進(jìn)行測溫,將體溫數(shù)據(jù)顯示到設(shè)備自帶顯示屏上,并上傳OneNET云端。
(3)溫度高于規(guī)定值37.3 ℃,觸發(fā)報警,提示燈亮紅燈,并且進(jìn)行語音播報予以提醒,隨后通道關(guān)閉,設(shè)備會將異常情況上報云端,等待工作人員進(jìn)一步處理。
(4)溫度低于規(guī)定值37.3 ℃,打開閘門放行。
(5)由攝像頭記錄設(shè)備所在范圍的實(shí)時狀況并傳輸?shù)娇刂贫恕?/p>
系統(tǒng)在解決方案、裝置設(shè)計以及功能上展現(xiàn)了極大的創(chuàng)新性。
(1)突破了傳統(tǒng)的測溫多人化,實(shí)現(xiàn)了人機(jī)交互,減少了人員投入,一個人,一個云平臺,多臺設(shè)備,就能夠?qū)崿F(xiàn)精準(zhǔn)測溫。
(2)代替了傳統(tǒng)接觸式測溫,能夠有效避免交叉感染的情況,降低感染風(fēng)險。
(3)在技術(shù)上采用Nodemcu以及ESP32-CAM(帶有板載攝像頭)作為系統(tǒng)的主核心模塊,同時外接DFPLayer mini、功放模塊、OLED顯示屏、GY-906紅外溫度傳感器、避障傳感器和RGB提示燈等模塊進(jìn)行輔助,利用WiFi無線通信將下位機(jī)采集到的數(shù)據(jù)傳送到上位機(jī)OneNET云平臺上,實(shí)現(xiàn)了遠(yuǎn)程測溫采集報警。測溫、數(shù)據(jù)采集、數(shù)據(jù)上傳、做出判斷、進(jìn)行相應(yīng)結(jié)果的動作、數(shù)據(jù)統(tǒng)計數(shù)據(jù)分析等一系列的行為都是在裝置自主的情況下進(jìn)行的,市面上其他產(chǎn)品難以做到。
(4)通過攝像頭可以實(shí)現(xiàn)工作全程的可視化,方便管理員監(jiān)控和管理。
(5)利用了OneNET云端服務(wù)平臺,既能對上傳的圖像、溫度信息進(jìn)行儲存,又能對數(shù)據(jù)進(jìn)行統(tǒng)計分析,自動形成相應(yīng)的圖表,包括人員體溫變化圖、人員流動數(shù)量變化圖,進(jìn)而能夠清晰地得到人員的體溫變化以及人流量信息。
(6)一個OneNET云平臺可以連接多臺裝備,云平臺通過不同的ID號碼來區(qū)分不同的裝置。管理員可以通過不同區(qū)域設(shè)備上傳到云平臺的信息所生成的各種統(tǒng)計表格,對每片區(qū)域制定相應(yīng)的管理措施,例如采取分流管控、人員調(diào)動等,有的放矢,遏制疫情的傳播擴(kuò)散。
系統(tǒng)工作時,人體紅外傳感器監(jiān)測通道人員進(jìn)入情況,當(dāng)有人進(jìn)入時,語音系統(tǒng)提醒被測人員正視攝像頭,進(jìn)行人臉識別和抓拍。同時GY-906紅外溫度傳感器進(jìn)行測溫,設(shè)備顯示屏顯示被測人員體溫,并根據(jù)體溫情況亮紅(或綠)燈,關(guān)閉(或開啟)通道,出現(xiàn)異常由語音系統(tǒng)播放警告提示信息并上報云平臺。裝置通過Nodemcu處理器將人臉圖像、體溫、時間、設(shè)備位置等信息上傳云平臺,云平臺對接收到的數(shù)據(jù)進(jìn)行處理,生成體溫變化圖、人流量圖、設(shè)備分布圖等相關(guān)圖表,幫助管理人員清晰地了解到各區(qū)域的數(shù)據(jù)信息,從而采取精準(zhǔn)的措施進(jìn)行防疫工作。
下位機(jī)使用Nodemcu模塊連接到WiFi網(wǎng)絡(luò),將被測人員體溫、人臉圖像、人流量、設(shè)備位置信息等數(shù)據(jù)上傳到上位機(jī),同時通過ESP32-CAM視頻監(jiān)控模塊進(jìn)行實(shí)時視頻監(jiān)控并將視頻數(shù)據(jù)上傳到上位機(jī)。上位機(jī)采用OneNET云端的可視化View2.0技術(shù)以及ESP32-CAM內(nèi)網(wǎng)穿透跨域通信技術(shù),對接收到的信息進(jìn)行處理整合,并實(shí)時顯示,結(jié)合Mysql數(shù)據(jù)庫實(shí)現(xiàn)信息的存儲、查詢、校驗(yàn)等功能。系統(tǒng)精準(zhǔn)監(jiān)測人員體溫變化,并且生成所有被測人員的數(shù)據(jù)統(tǒng)計圖表,整體設(shè)計如圖1所示。
圖1 系統(tǒng)整體設(shè)計
2.2.1 信息采集模塊設(shè)計
信息采集模塊中的傳感器主要包括:人體紅外傳感器模塊(LM393)、GY-906-BCC熱電堆紅外測溫模塊、ESP32-CAM攝像頭開發(fā)板。人體紅外傳感器用于監(jiān)測是否有人進(jìn)入通道,當(dāng)有人進(jìn)入時,與其配合的語音模塊提示被測人員將面部正視攝像頭,進(jìn)行人臉識別并拍照;同時提示被測人員將手腕置于傳感器上方,通過紅外測溫模塊測量體溫。此模塊通過不同傳感器實(shí)時收集體溫、圖像等數(shù)據(jù)信息。各種傳感器參數(shù)如表1所示。
表1 傳感器參數(shù)
采集到的相應(yīng)信息需要上傳云平臺,進(jìn)行數(shù)據(jù)的存儲和統(tǒng)計。此過程通過Nodemcu無線通信模塊進(jìn)行信息處理,并通過WiFi傳輸至匯聚節(jié)點(diǎn)。使用無線通信模塊的選擇主要考慮以下方面:由于系統(tǒng)廣泛應(yīng)用于人流量較大的場所,相應(yīng)的設(shè)備需求量較大,因此節(jié)點(diǎn)的硬件設(shè)計成本必須低。并且數(shù)據(jù)量越大,云端的數(shù)據(jù)統(tǒng)計作用也就越大。此外,裝置的體積相對較小,多個傳感器模塊用于數(shù)據(jù)收集、傳輸和處理,供電部分必須保證各功能模塊的正常持續(xù)工作,需要用到充電模塊外接移動電源為裝置進(jìn)行供電。
2.2.2 信息傳輸模塊設(shè)計
信息傳輸模塊主要分為兩個部分,Nodemcu模塊和ESP32-CAM攝像頭開發(fā)板[2]。Nodemcu模塊主要負(fù)責(zé)將溫度、人流量、設(shè)備位置坐標(biāo)等數(shù)據(jù)上傳到云平臺;ESP32-CAM攝像頭開發(fā)板主要負(fù)責(zé)實(shí)時視頻監(jiān)控,并接收Nodemcu的拍照指令,進(jìn)行人臉抓拍,上傳到云平臺。
2.2.3 信息顯示及語音提示模塊設(shè)計
信息顯示模塊主要包含OLED顯示屏、RGB燈、Dfplayer mini、功放模塊(D類PAM8403)、揚(yáng)聲器(34 W)。OLED顯示屏顯示紅外測溫模塊測量的人員體溫,若溫度正常,提示燈亮綠燈,通道開啟,語音播報提示“請通過”;若溫度高于37.3 ℃或者不正常時,提示燈亮紅燈,關(guān)閉通道,同時語音系統(tǒng)播報警告并通知管理人員進(jìn)一步處理。語音提示功能由Dfplayer mini驅(qū)動功放模塊,通過揚(yáng)聲器播放事先儲存在Dfplayer mini模塊中的聲音片段來實(shí)現(xiàn)。
2.2.4 上位機(jī)云端的設(shè)計
本裝置利用OneNET云平臺作為上位機(jī),存儲、統(tǒng)計、分析數(shù)據(jù)信息,保障防疫工作的高效精準(zhǔn)實(shí)施。云平臺可視化界面能夠清晰識別人臉信息以及溫度信息,接入測溫設(shè)備的數(shù)量和人員通過時觸發(fā)機(jī)器進(jìn)行測溫的次數(shù),以及被測溫人員在當(dāng)天某個時段的體溫變化。系統(tǒng)可實(shí)時視頻顯示不同時段不同情況下人體的檢測溫度,實(shí)現(xiàn)GPS實(shí)時監(jiān)控。
(1)測溫檢測界面。當(dāng)系統(tǒng)檢測到人臉后,自動觸發(fā)拍照,并將照片上傳OneNET云端,實(shí)時監(jiān)測通過人員的體溫數(shù)據(jù)及抓拍圖像。
(2)接入設(shè)備信息顯示界面。顯示接入設(shè)備ID、用戶ID等信息,以及實(shí)時接入的設(shè)備數(shù)量,管理人員可以通過設(shè)備ID選擇設(shè)備,對不同地點(diǎn)的防疫安全情況進(jìn)行監(jiān)測。
(3)體溫變化顯示界面。系統(tǒng)利用紅外測溫模塊測溫,并將測溫數(shù)據(jù)顯示后臺顯示屏,同時上傳到OneNET云端,以便記錄檢測人員健康情況;可以統(tǒng)計測溫人員不同時間的體溫變化。
(4)遠(yuǎn)程測溫監(jiān)控流量統(tǒng)計。統(tǒng)計不同地點(diǎn)的出入口人流量情況,顯示每個出口在某個時間段通過的人數(shù),人流量基數(shù)大則采取一定措施控制流量,減少人員流動。
(5)GPS實(shí)時監(jiān)控。使用GPS模塊實(shí)時監(jiān)控,將位置坐標(biāo)上傳云端,通過地圖位置定位,可以在控制臺看到不同地點(diǎn)設(shè)備的分布情況。
系統(tǒng)設(shè)計采用開源電子原型平臺的軟件開發(fā)環(huán)境,主機(jī)安裝Arduino IDE開源編譯工具編譯在開發(fā)板中執(zhí)行的程序。
ESP32-CAM攝像頭驅(qū)動采用模塊方式實(shí)現(xiàn),遵循內(nèi)核的模塊化編程思想。模塊啟動前將程序傳輸?shù)侥K中,由程序驅(qū)動模塊進(jìn)行自動化的工作,然后通過連接云平臺服務(wù)器將數(shù)據(jù)傳輸?shù)皆贫?,?shí)現(xiàn)數(shù)據(jù)的可視化查看。在該程序驅(qū)動中有一個重要的“httpd_uri_t stream_uri”結(jié)構(gòu)體,其內(nèi)包含了開啟一個Web服務(wù)端,資源訪問路徑的重要參數(shù),用以向云平臺傳輸數(shù)據(jù)
httpd_uri_tstream_uri={
.uri ="/stream",
.method =HTTP_GET,
.handler =stream_handler,
.user_ctx =NULL
};
當(dāng)應(yīng)用程序需要檢測人體溫度時,調(diào)用ESP8266 OneNET程序中Loop()主函數(shù)實(shí)現(xiàn),并在OLED顯示屏上顯示和語音播報,然后運(yùn)行PostData函數(shù)連接WiFi,并且通過D8Function()函數(shù)將數(shù)據(jù)上傳到OneNET云端。以下是Loop()函數(shù)的具體實(shí)現(xiàn)。
client.connect(host,tcpPort); u8g2.setFont(u8g2_font_inr27_mf);
u8g2.setCursor(10,45); digitalWrite(D6,LOW);
digitalWrite(D7,LOW);
if(digitalRead(D8)==0){
url1=Serial.read(); if((mlx.readObjectTempC()+1.5)<=37){
val=(mlx.readObjectTempC()+1.5);
u8g2.print(val);u8g2.sendBuffer();
digitalWrite(D7,HIGH);
delay(1500);
mp3_play(2); delay(1000);
}
else{
digitalWrite(D6,HIGH);
u8g2.print(val); u8g2.sendBuffer();
mp3_play(3); delay(3000);
}
}
本文研究和設(shè)計的云端可視化測溫采集報警系統(tǒng)具有遠(yuǎn)程測溫、人臉識別、語音播報、警示燈提示等功能,對于企業(yè)、小區(qū)物業(yè)、學(xué)校、街道社區(qū)、醫(yī)院、市場、商場等場所尤其適用。設(shè)備可以記錄人流量信息,并且生成體溫統(tǒng)計圖使疫情防控措施更加高效,方便管理人員對當(dāng)日發(fā)熱情況進(jìn)行分析和處理,為流感以及疫情的預(yù)防提供幫助,減少交叉感染的風(fēng)險,更可以為疫情溯源提供有力的參考資料。