劉仲鵬,程偉龍,馬鑫爍
(保定學院,河北 保定 071000)
2019年新冠肺炎在全球肆虐,經過人們共同的努力,疫情得到了嚴格的控制,但是疫情防控依然不能松懈。隨著復工復產的有序進行,測溫是防控疫情的必要措施,所以迫切需要簡單且價格適中的體溫檢測設備,助力疫情防控。本文將OneNET可視化云端技術與下位機結合,連接多種信息采集傳感器,構成遠程測溫系統。
整套系統由云平臺上位機,Nodemcu及ESP32-CAM 下位機組成。下位機包含傳感器模塊、處理器模塊、無線通信模塊和能量供應模塊,多臺下位機之間組成分布式網絡[1]。系統采用Nodemcu作為傳感器節點的處理器模塊,主要負責傳感器節點的數據存儲及處理和多任務處理,并負責組網、數據傳遞和指令交換等。傳感器選擇紅外測溫、GPS、溫濕度、人體紅外感應等[2],主要負責人體溫度、面部圖像、人流量、設備位置信息以及環境溫濕度信息的采集。無線通信模塊采用WiFi HTTP技術,該技術具有數據傳輸可靠、兼容性好、實現成本低以及組網方便的優點,非常適合低速率傳輸的無線傳感器網絡。
系統的工作原理為處理器驅動外設采集數據,利用WiFi遠程傳輸數據到云平臺。一個云平臺可以連接多臺設備,需要時,可以在每個通道口放置一臺設備,設備連接網絡后自動采集數據并上傳云平臺,管理員在控制室通過云平臺即可獲得連接平臺的所有設備信息,一旦設備感知被測人員出現異樣,自動封鎖通道,并向云平臺發出報警信息,等待工作人員進一步處理。云端可視化測溫圖像采集系統大大地減少了人力,降低成本的同時,精準測量體溫,為防疫人員減輕了負擔,更保障了人流通道通過的安全性[3]。
系統采用遠程采集數據,多終端收集數據的形式可以在每個通道口放置一個設備,設備采集數據,負責人則在控制室,一旦出現異樣,設備自動封鎖通道并報警,等待工作人員進一步處理。具體實現的功能如下:
(1)紅外檢測是否有人進入通道,進入則觸發語音模塊提醒,提示通過人員正視攝像頭進行人臉識別。
(2)檢測到人臉后,自動觸發拍照,同時啟動紅外測溫模塊進行測溫,將體溫數據顯示到設備自帶顯示屏上,并上傳OneNET云端。
(3)溫度高于規定值37.3 ℃,觸發報警,提示燈亮紅燈,并且進行語音播報予以提醒,隨后通道關閉,設備會將異常情況上報云端,等待工作人員進一步處理。
(4)溫度低于規定值37.3 ℃,打開閘門放行。
(5)由攝像頭記錄設備所在范圍的實時狀況并傳輸到控制端。
系統在解決方案、裝置設計以及功能上展現了極大的創新性。
(1)突破了傳統的測溫多人化,實現了人機交互,減少了人員投入,一個人,一個云平臺,多臺設備,就能夠實現精準測溫。
(2)代替了傳統接觸式測溫,能夠有效避免交叉感染的情況,降低感染風險。
(3)在技術上采用Nodemcu以及ESP32-CAM(帶有板載攝像頭)作為系統的主核心模塊,同時外接DFPLayer mini、功放模塊、OLED顯示屏、GY-906紅外溫度傳感器、避障傳感器和RGB提示燈等模塊進行輔助,利用WiFi無線通信將下位機采集到的數據傳送到上位機OneNET云平臺上,實現了遠程測溫采集報警。測溫、數據采集、數據上傳、做出判斷、進行相應結果的動作、數據統計數據分析等一系列的行為都是在裝置自主的情況下進行的,市面上其他產品難以做到。
(4)通過攝像頭可以實現工作全程的可視化,方便管理員監控和管理。
(5)利用了OneNET云端服務平臺,既能對上傳的圖像、溫度信息進行儲存,又能對數據進行統計分析,自動形成相應的圖表,包括人員體溫變化圖、人員流動數量變化圖,進而能夠清晰地得到人員的體溫變化以及人流量信息。
(6)一個OneNET云平臺可以連接多臺裝備,云平臺通過不同的ID號碼來區分不同的裝置。管理員可以通過不同區域設備上傳到云平臺的信息所生成的各種統計表格,對每片區域制定相應的管理措施,例如采取分流管控、人員調動等,有的放矢,遏制疫情的傳播擴散。
系統工作時,人體紅外傳感器監測通道人員進入情況,當有人進入時,語音系統提醒被測人員正視攝像頭,進行人臉識別和抓拍。同時GY-906紅外溫度傳感器進行測溫,設備顯示屏顯示被測人員體溫,并根據體溫情況亮紅(或綠)燈,關閉(或開啟)通道,出現異常由語音系統播放警告提示信息并上報云平臺。裝置通過Nodemcu處理器將人臉圖像、體溫、時間、設備位置等信息上傳云平臺,云平臺對接收到的數據進行處理,生成體溫變化圖、人流量圖、設備分布圖等相關圖表,幫助管理人員清晰地了解到各區域的數據信息,從而采取精準的措施進行防疫工作。
下位機使用Nodemcu模塊連接到WiFi網絡,將被測人員體溫、人臉圖像、人流量、設備位置信息等數據上傳到上位機,同時通過ESP32-CAM視頻監控模塊進行實時視頻監控并將視頻數據上傳到上位機。上位機采用OneNET云端的可視化View2.0技術以及ESP32-CAM內網穿透跨域通信技術,對接收到的信息進行處理整合,并實時顯示,結合Mysql數據庫實現信息的存儲、查詢、校驗等功能。系統精準監測人員體溫變化,并且生成所有被測人員的數據統計圖表,整體設計如圖1所示。

圖1 系統整體設計
2.2.1 信息采集模塊設計
信息采集模塊中的傳感器主要包括:人體紅外傳感器模塊(LM393)、GY-906-BCC熱電堆紅外測溫模塊、ESP32-CAM攝像頭開發板。人體紅外傳感器用于監測是否有人進入通道,當有人進入時,與其配合的語音模塊提示被測人員將面部正視攝像頭,進行人臉識別并拍照;同時提示被測人員將手腕置于傳感器上方,通過紅外測溫模塊測量體溫。此模塊通過不同傳感器實時收集體溫、圖像等數據信息。各種傳感器參數如表1所示。

表1 傳感器參數
采集到的相應信息需要上傳云平臺,進行數據的存儲和統計。此過程通過Nodemcu無線通信模塊進行信息處理,并通過WiFi傳輸至匯聚節點。使用無線通信模塊的選擇主要考慮以下方面:由于系統廣泛應用于人流量較大的場所,相應的設備需求量較大,因此節點的硬件設計成本必須低。并且數據量越大,云端的數據統計作用也就越大。此外,裝置的體積相對較小,多個傳感器模塊用于數據收集、傳輸和處理,供電部分必須保證各功能模塊的正常持續工作,需要用到充電模塊外接移動電源為裝置進行供電。
2.2.2 信息傳輸模塊設計
信息傳輸模塊主要分為兩個部分,Nodemcu模塊和ESP32-CAM攝像頭開發板[2]。Nodemcu模塊主要負責將溫度、人流量、設備位置坐標等數據上傳到云平臺;ESP32-CAM攝像頭開發板主要負責實時視頻監控,并接收Nodemcu的拍照指令,進行人臉抓拍,上傳到云平臺。
2.2.3 信息顯示及語音提示模塊設計
信息顯示模塊主要包含OLED顯示屏、RGB燈、Dfplayer mini、功放模塊(D類PAM8403)、揚聲器(34 W)。OLED顯示屏顯示紅外測溫模塊測量的人員體溫,若溫度正常,提示燈亮綠燈,通道開啟,語音播報提示“請通過”;若溫度高于37.3 ℃或者不正常時,提示燈亮紅燈,關閉通道,同時語音系統播報警告并通知管理人員進一步處理。語音提示功能由Dfplayer mini驅動功放模塊,通過揚聲器播放事先儲存在Dfplayer mini模塊中的聲音片段來實現。
2.2.4 上位機云端的設計
本裝置利用OneNET云平臺作為上位機,存儲、統計、分析數據信息,保障防疫工作的高效精準實施。云平臺可視化界面能夠清晰識別人臉信息以及溫度信息,接入測溫設備的數量和人員通過時觸發機器進行測溫的次數,以及被測溫人員在當天某個時段的體溫變化。系統可實時視頻顯示不同時段不同情況下人體的檢測溫度,實現GPS實時監控。
(1)測溫檢測界面。當系統檢測到人臉后,自動觸發拍照,并將照片上傳OneNET云端,實時監測通過人員的體溫數據及抓拍圖像。
(2)接入設備信息顯示界面。顯示接入設備ID、用戶ID等信息,以及實時接入的設備數量,管理人員可以通過設備ID選擇設備,對不同地點的防疫安全情況進行監測。
(3)體溫變化顯示界面。系統利用紅外測溫模塊測溫,并將測溫數據顯示后臺顯示屏,同時上傳到OneNET云端,以便記錄檢測人員健康情況;可以統計測溫人員不同時間的體溫變化。
(4)遠程測溫監控流量統計。統計不同地點的出入口人流量情況,顯示每個出口在某個時間段通過的人數,人流量基數大則采取一定措施控制流量,減少人員流動。
(5)GPS實時監控。使用GPS模塊實時監控,將位置坐標上傳云端,通過地圖位置定位,可以在控制臺看到不同地點設備的分布情況。
系統設計采用開源電子原型平臺的軟件開發環境,主機安裝Arduino IDE開源編譯工具編譯在開發板中執行的程序。
ESP32-CAM攝像頭驅動采用模塊方式實現,遵循內核的模塊化編程思想。模塊啟動前將程序傳輸到模塊中,由程序驅動模塊進行自動化的工作,然后通過連接云平臺服務器將數據傳輸到云端,實現數據的可視化查看。在該程序驅動中有一個重要的“httpd_uri_t stream_uri”結構體,其內包含了開啟一個Web服務端,資源訪問路徑的重要參數,用以向云平臺傳輸數據
httpd_uri_tstream_uri={
.uri ="/stream",
.method =HTTP_GET,
.handler =stream_handler,
.user_ctx =NULL
};
當應用程序需要檢測人體溫度時,調用ESP8266 OneNET程序中Loop()主函數實現,并在OLED顯示屏上顯示和語音播報,然后運行PostData函數連接WiFi,并且通過D8Function()函數將數據上傳到OneNET云端。以下是Loop()函數的具體實現。
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);
}
}
本文研究和設計的云端可視化測溫采集報警系統具有遠程測溫、人臉識別、語音播報、警示燈提示等功能,對于企業、小區物業、學校、街道社區、醫院、市場、商場等場所尤其適用。設備可以記錄人流量信息,并且生成體溫統計圖使疫情防控措施更加高效,方便管理人員對當日發熱情況進行分析和處理,為流感以及疫情的預防提供幫助,減少交叉感染的風險,更可以為疫情溯源提供有力的參考資料。