張浩華, 劉凡楊, 佟佳琪
(沈陽師范大學(xué) 物理科學(xué)與技術(shù)學(xué)院, 沈陽 110034)
面對(duì)突如其來的新冠病毒,目前普遍的防疫措施主要有:定時(shí)消毒、佩戴口罩、公共地點(diǎn)測(cè)溫及出行掃健康碼。但是新冠病毒存在著潛伏期,潛伏期間患者所經(jīng)過區(qū)域接觸到的人也存在被感染的可能。由此,為了把握居民的日常體溫與行動(dòng)軌跡,本文設(shè)計(jì)了一種基于Arduino和OneNet云平臺(tái)的溫度與行蹤監(jiān)控系統(tǒng),采用紅外傳感器MLX90615與GPS定位模塊NEO-6M實(shí)時(shí)監(jiān)測(cè)居民體溫與軌跡,傳輸?shù)絆neNet云平臺(tái)進(jìn)行記錄與分析,為防控工作提供了一定的技術(shù)支持。同時(shí),該系統(tǒng)也可應(yīng)用于對(duì)病人生理參數(shù)與行動(dòng)范圍等方面的監(jiān)測(cè)。
本系統(tǒng)是以Arduino Uno為核心處理,左半部分是MLX90615紅外測(cè)溫傳感器,GPS定位模塊為溫度和位置信號(hào)的采集部分,采集之后的溫度與定位信號(hào)接入Arduino Uno開發(fā)板進(jìn)行處理。Arduino Uno開發(fā)板是整個(gè)系統(tǒng)的核心部件,它控制紅外傳感器、NEO-6M等模塊來采集用戶實(shí)時(shí)數(shù)據(jù),得到監(jiān)測(cè)的參數(shù); 右半部分是無線傳輸模塊,本系統(tǒng)依據(jù)ESP8266 Wi-Fi傳輸模塊將數(shù)據(jù)實(shí)時(shí)上傳到云平臺(tái),監(jiān)控單位可以授權(quán)登錄APP或者Web界面進(jìn)行查看,隨時(shí)掌握居民的一段時(shí)間內(nèi)相關(guān)信息與狀況??傮w設(shè)計(jì)框圖如圖1所示。
圖1 系統(tǒng)框圖Fig.1 System block diagram
本系統(tǒng)選擇Arduino單片機(jī)作為該系統(tǒng)的核心硬件單元。作為目前應(yīng)用很廣泛的開源電子原型平臺(tái)之一,它使用起來便捷靈活,是可以用來開發(fā)交互式智能產(chǎn)品。Arduino Uno開發(fā)板[1]有Arduino電路板和Arduino IDE程序開發(fā)環(huán)境兩個(gè)主要部分。Arduino電路板功能強(qiáng)大,主要通過連接各種傳感器來擴(kuò)展其他多種功能。另外,使用者通過Arduino IDE的程序開發(fā)環(huán)境編寫程序操控主板上連接的微控制器,Arduino IDE程序開發(fā)環(huán)境把代碼編譯成二進(jìn)制文件,燒錄進(jìn)對(duì)應(yīng)的微控制器。
Arduino IDE編程環(huán)境是開源的,可以兼容多種操作系統(tǒng)[2],如Windows和Linux等。Arduino IDE編程語言簡單,編寫環(huán)境也很簡易,可以很容易學(xué)會(huì)并熟練使用,可以根據(jù)需要對(duì)其進(jìn)行擴(kuò)展。
圖2 Arduino實(shí)物圖Fig.2 Arduino physical drawing
紅外傳感器是體溫測(cè)量的核心部件,經(jīng)過篩選,系統(tǒng)選用紅外溫度傳感器芯片----MLX90615(如圖3所示)[3],該傳感器內(nèi)部帶有濾波、放大和數(shù)據(jù)轉(zhuǎn)換等電路,簡單方便并且大大提高了集成度,減小了功耗[4]。MLX90615紅外傳感器測(cè)量可用于非接觸的測(cè)量物體溫度,其測(cè)量的數(shù)據(jù)精度達(dá)到百分位,十分穩(wěn)定可靠。
圖3 MLX90615框圖Fig.3 MLX90615 block diagram
MLX90615的測(cè)溫功能主要原理是紅外測(cè)溫[5],工作過程主要分3部分。首先,它采集被測(cè)目標(biāo)發(fā)出的熱輻射;之后,在其轉(zhuǎn)換電路中被轉(zhuǎn)換成電信號(hào)并對(duì)電信號(hào)進(jìn)行濾波、放大及 A/D 轉(zhuǎn)換電路等一系列處理;經(jīng)處理的信號(hào)被送到電路中,轉(zhuǎn)變成與之相應(yīng)大小的溫度值,送入通信電路輸出(如圖4所示)[6]。
圖4 紅外傳感器原理圖Fig.4 Infrared sensor schematic diagram
該系統(tǒng)選用NE0-6M GPS定位模塊[7],選用的原因主要有:
圖5 NEO-6MFig.5 NEO-6M
1) 高靈敏度:可以追蹤靈敏度使其在普通GPS接收模塊不能定位的地方也能高精度定位。
2) 低功耗,可以長時(shí)間使用。
3) 小型化,其適用于車載、手持設(shè)備及其他移動(dòng)定位系統(tǒng)。在本系統(tǒng)中,它與Arduino主板相接來精準(zhǔn)記錄居民的實(shí)時(shí)活動(dòng)地點(diǎn),使系統(tǒng)實(shí)用性更強(qiáng),便于攜帶。
本系統(tǒng)針對(duì)主要問題,綜合比較,選取了由中國移動(dòng)打造的一款物聯(lián)網(wǎng)開放平臺(tái)[8]----OneNet云平臺(tái),它支持API接口、網(wǎng)絡(luò)協(xié)議和多種網(wǎng)絡(luò)環(huán)境等,生活中的各類傳感器都能快速并且準(zhǔn)確的介入。同時(shí)OneNet云平臺(tái)還是一款進(jìn)行大數(shù)據(jù)服務(wù)分析的平臺(tái)[9],可以對(duì)接收到的多并發(fā)數(shù)據(jù)流進(jìn)行存儲(chǔ)和轉(zhuǎn)發(fā),可實(shí)時(shí)監(jiān)控,可實(shí)時(shí)查看測(cè)量設(shè)備的當(dāng)前數(shù)據(jù)反饋。最主要的是它能查詢一段時(shí)間內(nèi)的歷史數(shù)據(jù)走勢(shì)圖,可以更清晰的了解一段時(shí)間內(nèi)數(shù)據(jù)變化。本系統(tǒng)設(shè)計(jì)是將溫度數(shù)據(jù)與行蹤軌跡隔一段時(shí)間上傳到 OneNET云平臺(tái)上,并直觀可視地呈遞給用戶端。
OneNet云平臺(tái)主要有3種通訊方式,本設(shè)計(jì)采用其中的Wifi無線通信方式,并選用ESP8266無線傳輸模塊[10],可以使監(jiān)測(cè)數(shù)據(jù)更便捷地傳送。
圖6 ESP8266原理圖Fig.6 ESP8266 schematic diagram
本系統(tǒng)采用ESP8266模塊配合OneNet云平臺(tái)完成系統(tǒng)的傳送數(shù)據(jù)和存儲(chǔ)工作。ESP8266芯片是一款串口轉(zhuǎn)無線模芯片[11],廣泛應(yīng)用在互聯(lián)網(wǎng)和移動(dòng)設(shè)備的無線連接領(lǐng)域,可實(shí)現(xiàn)互聯(lián)網(wǎng)或局域網(wǎng)的通信。該芯片既可以獨(dú)立傳輸數(shù)據(jù),也可以搭載在其他擴(kuò)展板上與其他模塊協(xié)同運(yùn)行,工作時(shí)傳輸性能穩(wěn)定,傳輸距離遠(yuǎn)[12]。
圖7 數(shù)據(jù)處理流程圖Fig.7 Data processing flow chart
ESP8266芯片的高速緩沖存儲(chǔ)器可減少內(nèi)存需求,并且可以從主控芯片接收信息,無線傳輸?shù)剿枰腜C端或手機(jī)APP等。ESP8266芯片的成本低、體積小、攜帶方便,并且它的傳輸速率快,可直接連接Arduino實(shí)現(xiàn)數(shù)據(jù)傳輸功能[13]。通過其GPIO引腳與傳感器之間相互連接,實(shí)現(xiàn)數(shù)據(jù)交換與通信,將傳感器采集到的數(shù)據(jù)打包處理并轉(zhuǎn)換,發(fā)送到OneNet云平臺(tái)。
圖8 連線圖Fig.8 Connection diagram
MLX90615紅外傳感器主要工作是監(jiān)測(cè)人體的體溫參數(shù),傳感器各引腳對(duì)應(yīng)與Arduino主板串口相接,進(jìn)行體溫監(jiān)測(cè)實(shí)際搭建。在Arduino IDE下編寫程序控制傳感器測(cè)溫。Arduino Uno開發(fā)板控制MLX90615模塊采集用戶體溫?cái)?shù)據(jù),實(shí)時(shí)監(jiān)測(cè)體溫,在Arduino主板所連接COM端口會(huì)對(duì)相應(yīng)數(shù)據(jù)正確及時(shí)地顯示。監(jiān)測(cè)數(shù)據(jù)通過ESP8266無線傳輸模塊傳至OneNet云平臺(tái)進(jìn)行記錄與分析。
NEO-6M定位裝置在連接Arduino主板后, 根據(jù)Arduino IDE中的程序執(zhí)行行蹤地點(diǎn)監(jiān)測(cè),數(shù)據(jù)由Arduino在無線Wifi網(wǎng)絡(luò)下接入云平臺(tái),終端通過3G/4G通信網(wǎng)接入云端服務(wù)器。工作過程:定位裝置采集信息,傳輸至Arduino發(fā)送到云服務(wù)器,經(jīng)過云平臺(tái)進(jìn)行解析、處理、保存,若溫度信號(hào)出現(xiàn)異常,將保存的行蹤軌跡通知相關(guān)部門終端。
圖9 GPS定位主程序Fig.9 GPS positioning main program
本文選用的是Wifi串口模塊----ESP8266芯片,采用串口無線AP+STA模式[14],Wifi AP接口連接用戶的設(shè)備或者手機(jī);而STA接口負(fù)責(zé)通過路由器連接到Internet網(wǎng)絡(luò),實(shí)現(xiàn)串口與其他設(shè)備的無線數(shù)據(jù)轉(zhuǎn)換互傳;ESP8266模塊連接到由接入點(diǎn)連通的無線網(wǎng)絡(luò)向OneNET云平臺(tái)進(jìn)行傳輸數(shù)據(jù)[15]。
系統(tǒng)開啟檢測(cè)狀態(tài)后,Arduino開發(fā)板執(zhí)行初始化程序,對(duì)各數(shù)據(jù)采集模塊和Wifi模塊進(jìn)行設(shè)置,主要設(shè)置工作模式、數(shù)據(jù)采集接口等。
圖10 總體流程圖Fig.10 Overall flow chart
Wifi模塊初始化設(shè)置成功之后,對(duì)采集到的溫度和定位信息進(jìn)行封裝,通過Wifi網(wǎng)絡(luò)進(jìn)行發(fā)送。該模塊采用EDP連接協(xié)議,只有EDP的數(shù)據(jù)上傳方式。在發(fā)送數(shù)據(jù)包到OneNET平臺(tái)的過程中,也可以通過平臺(tái)對(duì)設(shè)備下發(fā)指令,以實(shí)現(xiàn)對(duì)設(shè)備的遠(yuǎn)程控制。
本系統(tǒng)整體框架可行,能夠滿足各方面要求,數(shù)字紅外傳感器采集用戶的人體溫度,數(shù)據(jù)準(zhǔn)確可靠,并且GPS定位模塊位置對(duì)定位信息的實(shí)時(shí)收集也無異常狀態(tài),采集之后的數(shù)據(jù)能夠在ESP8266無線傳輸模塊實(shí)現(xiàn)上傳功能。在OneNet云平臺(tái),可以接收到實(shí)時(shí)數(shù)據(jù),實(shí)現(xiàn)對(duì)居民的體溫參數(shù)整體監(jiān)控,另外OneNet云平臺(tái)可以與移動(dòng)終端關(guān)聯(lián),得到授權(quán)任意終端把控者都可以通過手機(jī)打開界面,隨時(shí)查看監(jiān)控?cái)?shù)據(jù)、測(cè)量結(jié)果以及歷史數(shù)據(jù)。整個(gè)系統(tǒng)通過主控芯片與無線傳輸模塊相配合,搭配OneNet平臺(tái),實(shí)現(xiàn)核心功能。本系統(tǒng)結(jié)合各部分硬件與軟件設(shè)計(jì)方案來看,具有實(shí)時(shí)性好,功耗低,可便攜等多方面優(yōu)勢(shì),利于廣泛投入使用,總體流程圖如圖10所示。
本文介紹了一種基于Arduino與OneNet云平臺(tái)的溫度與行蹤監(jiān)測(cè)系統(tǒng),結(jié)合了傳感器技術(shù)和物聯(lián)網(wǎng)技術(shù),利用Wifi無線傳輸功能,將溫度與行動(dòng)軌跡信息實(shí)時(shí)傳輸?shù)絆neNet云平臺(tái)上,在遠(yuǎn)程控制界面可以觀察到居民日常體溫與行蹤的情況,該設(shè)備可應(yīng)用于疫情防控或病人跟蹤等領(lǐng)域。