張琥石,林偉龍,楊發(fā)柱,黃向軍,金星伊,陳 潔,羅曉春,張盈盈,甘 辛
(廣西醫(yī)科大學 生物醫(yī)學工程學院,廣西 南寧 530021)
體溫作為人體基本生理指標之一,歷來為醫(yī)生判斷生命體征和診斷臨床疾病提供重要依據(jù)。合理、準確的體溫測量在醫(yī)學以及其他領域尤為重要。檢測體溫利于醫(yī)生掌握病患體溫的變化,正確判斷病患的身體情況,制定對應治療方案。然而目前臨床上所使用的體溫計存在讀數(shù)困難、難以統(tǒng)計數(shù)據(jù)以及易于產生交叉感染等問題[1],無法滿足當下醫(yī)生、患者對體溫計的使用需求。近些年,物聯(lián)網(wǎng)技術發(fā)展迅速,應用廣泛[2],可以利用藍牙、WiFi等無線傳輸技術[3]通過通信網(wǎng)絡使得物體與專網(wǎng)、內網(wǎng)和因特網(wǎng)相連,進行長距離或者短距離的數(shù)據(jù)交換和信息通信,實現(xiàn)對物體的智能化識別、預案管理和遠程實時監(jiān)控等[4]?;诖耍疚脑O計了一款基于ESP8266芯片的物聯(lián)網(wǎng)體溫監(jiān)測系統(tǒng),該系統(tǒng)通過WiFi技術遠程監(jiān)測病人體溫[5],并對測溫系統(tǒng)進行遠程管理,可解決目前臨床上使用體溫計所面臨的問題。
系統(tǒng)組成如圖1所示。本系統(tǒng)采用12C5A60S2單片機作為主控;紅外測溫模塊采用MLX9064紅外溫度傳感器,該傳感器通過I/O口與單片機相連;WiFi模塊采用ESP8266芯片,12C5A60S2單片機將溫度傳感器采集到的溫度值通過串口發(fā)送給ESP8266,ESP8266再將溫度值通過網(wǎng)絡傳送給手機或電腦,從而遠程監(jiān)測病人的體溫數(shù)據(jù)。
圖1 系統(tǒng)組成
紅外測溫模塊采用Melexis公司出品的MLX90614系列高精度紅外測溫芯片。該芯片采用TO-39金屬封裝,模塊里集成了紅外感應熱電堆探測器芯片和信號處理專用集成芯片,其中信號處理專用集成芯片包含有低噪聲放大器、17位數(shù)模轉換器和數(shù)字信號處理器等。MLX90614系列芯片設置有默認的系統(tǒng)管理總線(SMBus)和10位數(shù)字PWM輸出模式,其中10位數(shù)字PWM的輸出格式可用于連續(xù)測溫,傳送溫度范圍為-20~120 ?C,分辨率為0.14 ?C。MLX90614內部結構如圖2所示
圖2 MLX90614內部結構
MLX90614采用標準的TO-39封裝,該封裝有四個引腳:VSS、SCL/VZ、PWM/SDA、VDD,各引腳功能見表1所列。
表1 MLX90614引腳功能
MLX90614與單片機連接時,將SCL、SDA引腳直接連接單片機的I/O口,VDD引腳接5 V電壓。MLX90614與單片機連接電路如圖3所示。
圖3 MLX90614與單片機連接電路
ESP8266 WiFi模塊為樂鑫公司開發(fā)的一款物聯(lián)網(wǎng)專用芯片[6-7]。ESP8266 WiFi模塊采用串口與單片機通信,內置TCP/IP協(xié)議棧,通過WiFi與上位機通信。利用ESP8266模塊對傳統(tǒng)串口設備進行簡單的串口配置,即可將數(shù)據(jù)通過WiFi傳輸給上位機,實現(xiàn)物聯(lián)功能。ESP8266 WiFi模塊有三種工作模式:STA模式、AP模式、STA混合AP模式。STA模式通過路由器和英特網(wǎng)相連,屬于英特網(wǎng)內通信;AP模式將ESP8266作為一個熱點,上位機通過連接此熱點通信,屬于局域網(wǎng)內通信;STA混合AP模式是以上兩種模式的混合,用戶既可在局域網(wǎng)內通信,也可使用英特網(wǎng)通信[8]。
在ESP8266模塊工作之前需要裝入一個固件。綜合考慮目前市場上的多種固件,本系統(tǒng)選擇了安裝有氦氪云固件的ESP8266芯片—Hekr V1.1。Hekr V1.1的工作原理如圖4所示。
圖4 Hekr V1.1工作原理
Hekr V1.1的工作原理如下:將平板電腦或手機等上位機通過英特網(wǎng)將控制信號發(fā)送至網(wǎng)絡服務器;服務器接收到信號后,再利用英特網(wǎng)轉發(fā)給ESP8266芯片;ESP8266芯片將接收到的信號命令通過串口發(fā)送給單片機。反之,單片機的數(shù)據(jù)也可通過串口發(fā)送至ESP8266,再由英特網(wǎng)傳送給網(wǎng)絡服務器后轉發(fā)給手機、平板電腦等上位機。由此便通過英特網(wǎng)實現(xiàn)了手機等上位機對單片機的遠程控制,實現(xiàn)了數(shù)據(jù)互通。
氦氪云定義了上位機與Hekr V1.1傳輸指令幀的格式:基本幀格式數(shù)據(jù)頭+產品業(yè)務數(shù)據(jù)+數(shù)據(jù)尾。氦氪云傳輸幀格式如圖5所示。
圖5 氦氪云傳輸幀格式
(1)幀頭(1 B):幀起始標識,其值固定為十六進制數(shù)0x48。
(2)幀長(1 B):傳輸幀的長度儲存在此幀中,取值范圍為 [0x06,0xFE]。
(3)幀類型(1 B):幀類型的識別碼儲存在此幀中,0x01為下位機上報幀,0x02為上位機下發(fā)幀,0xFE為操作幀,0xFF為錯誤幀。
(4)幀序號(1 B):每傳輸一幀,序號自增1,標識順序及取值范圍為[0x00,0xFF]。
(5)有效數(shù)據(jù)(nB):儲存具體通信內容,其長度根據(jù)實際情況而定。
(6)校驗碼(1 B):以上每幀中的數(shù)據(jù)之和一旦超過0xFF便取低8位(1 B)。
根據(jù)氦氪云所定義的幀格式,本系統(tǒng)所需的傳輸幀共有5種,傳輸幀具體內容見表2所列。表2中下發(fā)幀由手機、電腦等上位機發(fā)送給單片機,上報幀由單片機發(fā)送給上位機。
表2 傳輸幀
上位機APP采用HTML5與Javascript編寫,在手機上安裝此APP即可使用編寫的上位機程序。本系統(tǒng)的上位機界面如圖6所示。
圖6 上位機界面
按“開始/清零”按鍵即可測量體溫,再按一次則清零。本系統(tǒng)可以儲存10次體溫測量結果,按“前”或“后”按鍵可翻看儲存的歷史體溫數(shù)據(jù)。上位機程序流程如圖7所示。先判斷“開始/清零”按鍵是否按下,如被按下,APP向單片機發(fā)送Star-Clear幀,將體溫值清零。再判斷“前”按鍵是否按下,如按下向單片機發(fā)送Upward幀,查看前一個體溫測量值;如“后”按鍵按下則向單片機發(fā)送Downward幀,查看后一個體溫值。之后,向單片機發(fā)送QueryStatus幀,單片機收到QueryStatus幀后,將監(jiān)測到的體溫數(shù)據(jù)寫入ReportStatus中,上傳給APP,APP收到ReportStatus幀后,在顯示屏上顯示體溫數(shù)值;如未收到ReportStatus幀,則提示丟失。
圖7 上位機程序流程
單片機軟件程序流程如圖8所示。首先檢測是否收到Start-Clear幀,如收到則將Keyflag標志位取反。接著判斷是否收到QueryStatus幀,如收到則向上位機發(fā)送ReportStatus幀,再判斷Keyflag的值是否為1,為0則將溫度值清零;如Keyflag的值為1,則啟動溫度傳感器取10次溫度值,并取平均值,隨后顯示溫度值,并將溫度值寫入ReportStatus。最后判斷溫度是否存在異常,如存在異常則啟動蜂鳴器報警。
圖8 軟件程序流程
在iPhone7智能手機上安裝氦氪云APP,當Hekr V1.1連接因特網(wǎng)后,將手機連接4G網(wǎng)絡。選取甲、乙、丙三位身體健康的志愿者,在8:00,15:00,20:00時使用精密水銀溫度計[9]分別測量他們的腋下體溫,同時使用本文所設計的物聯(lián)網(wǎng)體溫監(jiān)測系統(tǒng)分別測量志愿者的腋下溫度,測量結果見表3所列。
測試結果顯示,最大的體溫誤差僅為0.46 ℃,符合醫(yī)學領域對體溫測量精度和準確度的要求[10]。測試過程中,在APP上點擊“開始/清零”按鍵時,溫度值可正確顯示或清零;點擊“前”按鍵、“后”按鍵時,可查看歷史數(shù)據(jù)。
本文介紹了一種基于ESP8266 WiFi模塊的物聯(lián)網(wǎng)體溫監(jiān)測系統(tǒng),其具有測量精度高、讀數(shù)快、可通過英特網(wǎng)遠程監(jiān)測體溫等優(yōu)點。經(jīng)過測試,該體溫監(jiān)測系統(tǒng)輸出響應良好,誤差小,可應用于臨床治療、科學研究等領域,應用前景廣闊。
表3 水銀溫度計與物聯(lián)網(wǎng)體溫監(jiān)測系統(tǒng)測量結果 ℃