樊 強(qiáng),苗曙光,邵 丹,李 崢,劉忠育
(1.淮北師范大學(xué) 物理與電子信息學(xué)院,安徽 淮北 235000;2.中國(guó)礦業(yè)大學(xué) 信息與控制工程學(xué)院,江蘇 徐州 221116;3.中國(guó)礦業(yè)大學(xué) 物聯(lián)網(wǎng)(感知礦山)研究中心,江蘇 徐州 221116)
目前,新冠病毒的防治在全國(guó)人民的不懈努力下取得了不錯(cuò)的成績(jī),然而,由近期印度地區(qū)的新冠病毒患者人數(shù)驟然攀升的情況可知,對(duì)于新冠病毒的防治依舊不容松懈。又因煤炭資源在中國(guó)的能源儲(chǔ)備中占有較大比重,在未來(lái)較長(zhǎng)一段時(shí)間內(nèi)對(duì)煤炭的開采不會(huì)停止。而對(duì)于井下作業(yè)的煤炭開采工人來(lái)說,在空間狹小、空氣流通不暢的礦道內(nèi)更加要注意疫情的防控。發(fā)燒是新冠病毒患者的重要表現(xiàn)之一,因此,對(duì)礦工人員的體溫檢測(cè)不可避免,而傳統(tǒng)的水銀體溫計(jì)及紅外額溫槍雖然能夠較為準(zhǔn)確地測(cè)量體溫,但使用不方便且不夠及時(shí)。ZigBee通信技術(shù)具有網(wǎng)絡(luò)自組織、自愈以及低功耗的特點(diǎn),適用于多節(jié)點(diǎn)、低功耗、低成本和網(wǎng)絡(luò)復(fù)雜要求的網(wǎng)絡(luò)通信場(chǎng)景[1]。
針對(duì)上述問題,本文參考設(shè)計(jì)了基于ZigBee協(xié)議的礦工體溫?zé)o線監(jiān)測(cè)系統(tǒng)。該系統(tǒng)采用ZigBee通信技術(shù)與傳感器節(jié)點(diǎn)相結(jié)合的方法組成無(wú)線傳感器網(wǎng)絡(luò),然后通過WiFi模塊將數(shù)據(jù)傳到云端服務(wù)器進(jìn)行記錄和顯示以達(dá)到遠(yuǎn)程監(jiān)測(cè)的目的。該系統(tǒng)能夠?qū)崿F(xiàn)對(duì)所有井下采礦工人體溫的實(shí)時(shí)監(jiān)測(cè),及時(shí)發(fā)現(xiàn)體溫異常的采礦人員以采取及時(shí)的隔離檢查治療等措施來(lái)防止疫情的大面積擴(kuò)散。因此,該系統(tǒng)具有良好的應(yīng)用前景和推廣價(jià)值。
本文系統(tǒng)按照功能可劃分為數(shù)據(jù)采集、數(shù)據(jù)處理、數(shù)據(jù)傳輸以及數(shù)據(jù)顯示4個(gè)部分,系統(tǒng)的整體框架如圖1所示。
圖1 系統(tǒng)整體框架
數(shù)據(jù)采集部分主要負(fù)責(zé)通過體溫傳感器對(duì)礦工的體溫?cái)?shù)據(jù)進(jìn)行初步的采集;數(shù)據(jù)處理部分將體溫傳感器采集到的數(shù)據(jù)進(jìn)行處理以得到穩(wěn)定且直觀的體溫?cái)?shù)據(jù);數(shù)據(jù)傳輸部分通過無(wú)線網(wǎng)絡(luò)通信的方式對(duì)處理后的數(shù)據(jù)進(jìn)行發(fā)送和轉(zhuǎn)發(fā)以及上傳至云端服務(wù)器;數(shù)據(jù)顯示部分主要負(fù)責(zé)對(duì)處理后的數(shù)據(jù)進(jìn)行實(shí)時(shí)的顯示以達(dá)到實(shí)時(shí)監(jiān)測(cè)的目的。除此之外,為了佩戴方便,系統(tǒng)采取終端設(shè)備電池供電的電源設(shè)計(jì)。
數(shù)據(jù)采集部分選用的是LMT70體溫采集模塊,LMT70芯片體積小、功耗低,非常適用于便攜式傳感器節(jié)點(diǎn)的設(shè)計(jì)。礦工通過佩戴終端設(shè)備,LMT70通過接觸以熱傳遞的方式檢測(cè)礦工的體溫?cái)?shù)據(jù)并以模擬電壓信號(hào)的形式輸出,通過CC2530芯片的模數(shù)轉(zhuǎn)換功能便可將該模擬信號(hào)轉(zhuǎn)換成數(shù)字信號(hào),最后通過一定的公式轉(zhuǎn)換便可達(dá)到檢測(cè)體溫的目的。
為了盡可能地降低設(shè)備的成本以及設(shè)備的功耗,選擇采用CC2530單片機(jī)。CC2530單片機(jī)本身包括了性能足夠優(yōu)越的RF收發(fā)器,因此,其無(wú)需額外添加數(shù)據(jù)傳輸模塊便可以進(jìn)行無(wú)線數(shù)據(jù)的傳輸[2]。體溫傳感器采集到的數(shù)據(jù)是以模擬電壓信號(hào)的形式傳到單片機(jī),需要單片機(jī)將該模擬信號(hào)轉(zhuǎn)換成數(shù)字信號(hào)且通過均值濾波和數(shù)據(jù)擬合的方式計(jì)算出體溫和該電壓值的關(guān)系,進(jìn)而將電壓值轉(zhuǎn)換成體溫?cái)?shù)據(jù)從而實(shí)現(xiàn)測(cè)溫的目的。
通過LMT70體溫采集模塊對(duì)使用者多次測(cè)量得到的電壓信號(hào)一一記錄,然后醫(yī)用紅外體溫計(jì)測(cè)量對(duì)應(yīng)的實(shí)際體溫并做好記錄,體溫—輸出電壓的數(shù)據(jù)記錄如表1所示。通過多次測(cè)試,不難發(fā)現(xiàn),檢測(cè)到的輸出電壓值與體溫存在著一定的非線性關(guān)系[3]。采用MATLAB對(duì)多組數(shù)字電壓值與實(shí)際體溫?cái)?shù)據(jù)進(jìn)行多項(xiàng)式數(shù)據(jù)擬合,數(shù)據(jù)擬合圖像如圖2所示。
表1 體溫—輸出電壓數(shù)據(jù)記錄
圖2 數(shù)據(jù)擬合
由MATLAB數(shù)據(jù)擬合可得體溫與電壓值的關(guān)系式為
Tm=a×z3+b×z2+c×z+d+offset
(1)
式中z=(Vtao-1 119.7)/12.338;a=-0.092 698;b=0.053 755;c=-0.25;d=36.342。
Tm為溫度值,℃;Vtao為AD采集到的TAO管腳的電壓,mV;offset為擬合較差處的溫度補(bǔ)償,取值為0.04。
數(shù)據(jù)傳輸分為2部分:1)終端節(jié)點(diǎn)到協(xié)調(diào)器節(jié)點(diǎn)的數(shù)據(jù)傳輸;2)協(xié)調(diào)器節(jié)點(diǎn)到云端服務(wù)器的數(shù)據(jù)傳輸。
終端節(jié)點(diǎn)到協(xié)調(diào)器節(jié)點(diǎn)采用基于ZigBee協(xié)議的Mesh網(wǎng)絡(luò)進(jìn)行數(shù)據(jù)傳輸。在網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)方面,基于ZigBee協(xié)議的無(wú)線通信網(wǎng)絡(luò)支持星型、樹型和網(wǎng)狀3種網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)(網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)如圖3所示),其中,網(wǎng)狀網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)更是能夠通過“多跳”的通信方式實(shí)現(xiàn)遠(yuǎn)距離通信而且具有很強(qiáng)的自組織和自愈的能力,這在一定程度上彌補(bǔ)了其數(shù)據(jù)傳輸距離近的缺點(diǎn)[4],使其適用于多節(jié)點(diǎn)、遠(yuǎn)距離且環(huán)境復(fù)雜的傳感器網(wǎng)絡(luò)的數(shù)據(jù)傳輸以及電池供電的低功耗設(shè)備[5]。鑒于礦道的特殊地理環(huán)境和人員分布情況,選擇使用Mesh網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu),終端設(shè)備則通過該無(wú)線網(wǎng)絡(luò)將數(shù)據(jù)廣播出去,在無(wú)線信號(hào)衰弱點(diǎn)通過設(shè)置路由器的方法增強(qiáng)無(wú)線信號(hào),并對(duì)終端設(shè)備數(shù)據(jù)進(jìn)行轉(zhuǎn)發(fā),以此增加無(wú)線通信網(wǎng)絡(luò)覆蓋范圍,進(jìn)而提高數(shù)據(jù)傳輸效率和傳輸質(zhì)量。
圖3 網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)
協(xié)調(diào)器節(jié)點(diǎn)到云端服務(wù)器的數(shù)據(jù)傳輸分為3步進(jìn)行,協(xié)調(diào)器以串口通信的方式通過AT指令對(duì)ESP8266WiFi模塊進(jìn)行配置,WiFi模塊再以TCP協(xié)議的形式與云端服務(wù)器OneNET平臺(tái)建立連接,最后通過HTTP協(xié)議進(jìn)行數(shù)據(jù)傳輸[6]。OneNET是基于物聯(lián)網(wǎng)技術(shù)和產(chǎn)業(yè)打造的開放平臺(tái)和生態(tài)環(huán)境,提供豐富的API和應(yīng)用模板以支持各類行業(yè)應(yīng)用和智能硬件的開發(fā)[7]。OneNET支持HTTP、MQTT和EDP等多種傳輸協(xié)議,由于本系統(tǒng)僅做數(shù)據(jù)的上傳與記錄,并且考慮到設(shè)計(jì)的復(fù)雜度,選擇使用HTTP協(xié)議[8]。
在硬件設(shè)計(jì)方面,為了便攜式的設(shè)計(jì),采用0.96寸的OLED屏作為佩戴終端設(shè)備顯示屏。
為了實(shí)現(xiàn)無(wú)線遠(yuǎn)程監(jiān)測(cè)的目的,本文系統(tǒng)采用數(shù)據(jù)上傳云端服務(wù)器的方法。云端服務(wù)器使用的是OneNET,OneNET不僅能夠?qū)崟r(shí)的顯示當(dāng)前數(shù)據(jù),對(duì)以往的數(shù)據(jù)還能夠加以記錄,方便對(duì)以往數(shù)據(jù)的查看。另外,為了防止協(xié)調(diào)器無(wú)法將數(shù)據(jù)上傳至云端服務(wù)器,協(xié)調(diào)器可通過串口通信方式將數(shù)據(jù)發(fā)送至上位機(jī)進(jìn)行顯示。
根據(jù)節(jié)點(diǎn)在無(wú)線傳感器網(wǎng)絡(luò)中充當(dāng)?shù)纳矸菀约八鸬降淖饔貌煌?,分為終端節(jié)點(diǎn)程序設(shè)計(jì)、路由節(jié)點(diǎn)程序設(shè)計(jì)以及協(xié)調(diào)器節(jié)點(diǎn)的程序設(shè)計(jì)。
終端節(jié)點(diǎn)主要是起到信息采集和處理的功能,利用該節(jié)點(diǎn)對(duì)使用者體溫?cái)?shù)據(jù)進(jìn)行采集以及對(duì)體溫?cái)?shù)據(jù)的處理。首先,終端設(shè)備通電后先進(jìn)行初始化,待掃描到網(wǎng)絡(luò)后會(huì)向協(xié)調(diào)器或者路由器發(fā)送入網(wǎng)請(qǐng)求;其次,等到接收到入網(wǎng)請(qǐng)求響應(yīng)后便可加入網(wǎng)絡(luò);最后,終端設(shè)備通過其父節(jié)點(diǎn)給自己分配的網(wǎng)絡(luò)地址,便可以與路由節(jié)點(diǎn)和協(xié)調(diào)器進(jìn)行通信。終端節(jié)點(diǎn)設(shè)備為便攜佩戴式設(shè)備,因此,在程序設(shè)計(jì)時(shí)重點(diǎn)考慮了低功耗的節(jié)能設(shè)計(jì)。與協(xié)調(diào)器和路由節(jié)點(diǎn)不同,終端節(jié)點(diǎn)具有休眠機(jī)制。由于人體的體溫不會(huì)瞬間升高,因此,可以間歇性地對(duì)數(shù)據(jù)進(jìn)行采集,通過設(shè)置溫度閾值的方法,在體溫異常時(shí)蜂鳴器發(fā)出報(bào)警。將終端設(shè)備以周期廣播的方式進(jìn)行數(shù)據(jù)無(wú)線發(fā)送,在數(shù)據(jù)發(fā)送之后和下次數(shù)據(jù)發(fā)送之前終端一直處于休眠狀態(tài),此時(shí),終端設(shè)備僅外部中斷、所選振蕩器以及休眠定時(shí)器工作,其他內(nèi)部電路是掉電的且OLED屏幕熄滅,這樣能夠盡可能地節(jié)省鋰電池的電量以達(dá)到低功耗的目的。在休眠狀態(tài)下,礦工若感覺身體不適,也可通過按鍵控制來(lái)喚醒設(shè)備和點(diǎn)亮OLED屏幕從而進(jìn)行體溫?cái)?shù)據(jù)的顯示以及數(shù)據(jù)的上傳。終端節(jié)點(diǎn)的程序流程如圖4所示。
圖4 終端節(jié)點(diǎn)程序流程
路由節(jié)點(diǎn)主要功能:允許終端節(jié)點(diǎn)加入網(wǎng)絡(luò)、終端節(jié)點(diǎn)數(shù)據(jù)路由選擇以及輔助其他路由節(jié)點(diǎn)通信[9]。不同于星型和樹型的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),網(wǎng)狀網(wǎng)絡(luò)的路由節(jié)點(diǎn)可以直接相互通信,能夠起到自組織以及網(wǎng)絡(luò)自愈的能力。路由節(jié)點(diǎn)在本系統(tǒng)中主要負(fù)責(zé)對(duì)終端節(jié)點(diǎn)數(shù)據(jù)的路由以及拓寬無(wú)線通信網(wǎng)絡(luò)覆蓋范圍的作用。路由節(jié)點(diǎn)在終端節(jié)點(diǎn)程序設(shè)計(jì)的基礎(chǔ)上使用協(xié)議棧路由節(jié)點(diǎn)配置即可實(shí)現(xiàn)路由節(jié)點(diǎn)的設(shè)計(jì)。
協(xié)調(diào)器節(jié)點(diǎn)主要負(fù)責(zé)網(wǎng)絡(luò)的建立、對(duì)終端節(jié)點(diǎn)和路由節(jié)點(diǎn)加入網(wǎng)絡(luò)的控制以及數(shù)據(jù)的匯總[10]。首先,協(xié)調(diào)器在通電后先進(jìn)行初始化;然后,選擇一個(gè)信道以及網(wǎng)絡(luò)標(biāo)號(hào)組建局域網(wǎng)絡(luò)。當(dāng)協(xié)調(diào)器接收到路由節(jié)點(diǎn)或終端節(jié)點(diǎn)的入網(wǎng)請(qǐng)求后會(huì)對(duì)其發(fā)送允許入網(wǎng)響應(yīng),待設(shè)備加入網(wǎng)絡(luò)后便可以與其進(jìn)行無(wú)線通信。此外,協(xié)調(diào)器節(jié)點(diǎn)通過WiFi模塊將該局域網(wǎng)接入互聯(lián)網(wǎng),將礦工的體溫?cái)?shù)據(jù)上傳到云端進(jìn)行顯示和存儲(chǔ),因此,監(jiān)測(cè)人員可以不受地點(diǎn)限制對(duì)礦工的體溫進(jìn)行監(jiān)測(cè)。此外,為了防止協(xié)調(diào)器無(wú)法接入互聯(lián)網(wǎng),協(xié)調(diào)器設(shè)備也可以通過串口將數(shù)據(jù)發(fā)送到PC端進(jìn)行顯示。協(xié)調(diào)器節(jié)點(diǎn)程序流程如圖5所示。
圖5 協(xié)調(diào)器節(jié)點(diǎn)程序流程
使用該設(shè)備對(duì)測(cè)試者體溫進(jìn)行多次測(cè)量,實(shí)測(cè)數(shù)據(jù)結(jié)果較為準(zhǔn)確,誤差最大為0.1 ℃,測(cè)試數(shù)據(jù)記錄如表2所示。終端設(shè)備數(shù)據(jù)能夠?qū)崿F(xiàn)定時(shí)發(fā)送和實(shí)現(xiàn)休眠功能,OLED屏能夠按照預(yù)想結(jié)果正常顯示,云端能夠及時(shí)收到協(xié)調(diào)器發(fā)來(lái)的數(shù)據(jù),云端服務(wù)器數(shù)據(jù)顯示如圖6所示,整體來(lái)說能夠?qū)崿F(xiàn)預(yù)期效果。
表2 測(cè)試數(shù)據(jù)記錄
圖6 云端服務(wù)器數(shù)據(jù)顯示
本文設(shè)計(jì)實(shí)現(xiàn)了一種基于ZigBee協(xié)議的礦工體溫?zé)o線監(jiān)測(cè)系統(tǒng),該系統(tǒng)的終端設(shè)備節(jié)點(diǎn)可以通過電池進(jìn)行供電,且采用具有休眠機(jī)制的低功耗設(shè)計(jì),能夠很好地實(shí)現(xiàn)便攜式佩戴的要求。協(xié)調(diào)器節(jié)點(diǎn)、路由節(jié)點(diǎn)以及終端節(jié)點(diǎn)共同組成了一個(gè)Mesh網(wǎng)絡(luò),通過WiFi模塊接入云端服務(wù)器,監(jiān)測(cè)者只需要登錄云端服務(wù)器即可查看實(shí)時(shí)數(shù)據(jù),因此,該系統(tǒng)能夠?qū)崿F(xiàn)組建范圍更廣、節(jié)點(diǎn)更多的無(wú)線通信網(wǎng)絡(luò)和遠(yuǎn)程監(jiān)測(cè)的設(shè)計(jì)要求。除此之外,該系統(tǒng)采用標(biāo)準(zhǔn)的ZigBee協(xié)議棧進(jìn)行開發(fā),系統(tǒng)移植性強(qiáng),同樣可以運(yùn)用到其他場(chǎng)合或其他領(lǐng)域以實(shí)現(xiàn)無(wú)線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)檢測(cè)和遠(yuǎn)程監(jiān)測(cè)的設(shè)計(jì)。然而,ZigBee通信技術(shù)的一個(gè)弊端是單次傳輸距離近,除了通過“多跳”的傳輸方式增加傳輸距離外,雖然也能夠通過增大發(fā)射功率來(lái)增加其傳輸距離,但相應(yīng)的功耗也將增大,在實(shí)際應(yīng)用中要根據(jù)實(shí)際情況進(jìn)行相應(yīng)取舍。如何在不增加功耗的基礎(chǔ)上擴(kuò)大其傳輸距離也將成為今后的研究方向。