蔡旭,曹海娟
(山東英才學(xué)院 工學(xué)院,山東濟南,250104)
居民日常的體溫監(jiān)測等對身體指標(biāo)的掌握與了解成為疫情防控的一種重要手段。如今進入通信技術(shù)和監(jiān)測技術(shù)迅速發(fā)展的新時期,醫(yī)療監(jiān)測手段想要進行持續(xù)的改良和發(fā)展,就要利用物聯(lián)網(wǎng)技術(shù)對傳統(tǒng)手段進行智能優(yōu)化和改造,從而使得監(jiān)測到的信息更加精確和及時,以便確保能夠第一時間就醫(yī)治療和居家隔離。
本文研究的是一款基于物聯(lián)網(wǎng)的健康數(shù)據(jù)監(jiān)測及新冠肺炎預(yù)警系統(tǒng),其集成體溫測試、肺活量測試和通信上報手機系統(tǒng),通過對人體體溫的紅外測量 以及人體其他指示量的測量,用來監(jiān)測人體健康情況,并將數(shù)據(jù)采用 NB-IoT 無線通信技術(shù)將接收到的數(shù)據(jù)傳至 IoT 云平臺,發(fā)送到移動基站,信息傳輸?shù)绞謾C,從而可以起到自我監(jiān)控及時預(yù)防的效果,有助于個人能根據(jù)相關(guān)數(shù)據(jù)對患者進行疾病的預(yù)防和診斷,及時采取有關(guān)措施,可有效維護人們的身體健康和生命安全[1]。
該部分包括由主控制器為 STM32單片機、健康數(shù)據(jù)(體溫等)監(jiān)測的傳感器模塊和 GPS 傳感器、警示燈、提供能量的電源模塊、WIFI無線通信模塊等組成的終端。其中,健康數(shù)據(jù)監(jiān)測傳感器模塊和 GPS 傳感器將采集到的人體溫度和位置信息實時進行記錄并數(shù)據(jù)存儲在控制器中。通過查閱相關(guān)治療可知,感染新冠肺炎病毒的病人在感染初期身體會有一定的預(yù)警反應(yīng),其中當(dāng)人體體溫高于37.3℃為新型冠狀肺炎疑似感染的預(yù)警體溫;因此,我們在該部分設(shè)計一定的溫度閥值,當(dāng)溫度傳感器檢測到體溫已經(jīng)高于特定閥值溫度(高于37.3℃),系統(tǒng)將該溫度上傳,由上層給出指示,進行數(shù)據(jù)處理。
由下層數(shù)據(jù)采集所獲取的數(shù)據(jù),根據(jù)一定算法進行解析,再將解析過的相應(yīng)數(shù)據(jù)通過 NB-IoT 通信模塊發(fā)送到移動 NB-IoT基站,由基站經(jīng)由核心網(wǎng)轉(zhuǎn)發(fā)至中國移動的 One NET 云平臺。該部分作為將物聯(lián)網(wǎng)與窄帶通信技術(shù)的核心,作為采集部分和用戶應(yīng)用部分互相通信的中間環(huán)節(jié),主要負責(zé)了對數(shù)據(jù)上傳,能夠使相應(yīng)數(shù)據(jù)出現(xiàn)在云平臺,并對相應(yīng)的數(shù)據(jù)進行平臺內(nèi)的存儲,不會造成對所采集的數(shù)據(jù)的流失,同時也把采集部分相關(guān)閥值信息進一步的移交到用戶與應(yīng)用部分,以便進行后續(xù)系統(tǒng)的運行以及管理人員對有關(guān)數(shù)據(jù)的處理[2]。該部分系統(tǒng)架構(gòu)如圖1所示。
圖1 數(shù)據(jù)通信部分原理圖
該部分的所有數(shù)據(jù)和信息接收于來自云平臺的實時數(shù)據(jù),并配置相關(guān)傳感器資源參數(shù),將數(shù)據(jù)從OneNET云平臺轉(zhuǎn)至監(jiān)測系統(tǒng)的設(shè)計好的負責(zé)用戶群進行查看的APP上,管理人員可以通過操作界面對健康監(jiān)測系統(tǒng)進行實時監(jiān)控,對數(shù)據(jù)進行提取調(diào)用和下行命令轉(zhuǎn)發(fā),并由APP平臺對數(shù)據(jù)進一步的存儲和分析處理,最終實現(xiàn)對資源信息的訂閱和調(diào)度,便利了對有關(guān)信息的掌握。
(1)STM32單片機
該系統(tǒng)設(shè)計采用STM32F103RCT6,是一種芯體規(guī)格是32位的嵌入式微控制器的集成電路(IC),多種外設(shè)與接口,可以實現(xiàn)低差動信號的最高精度測量,實現(xiàn)更高性能與更高精度。STM32F103RCT6 可充分滿足需要監(jiān)控短路等突變并根據(jù)需求迅速采取矯正措施的應(yīng)用[3]。
該器件還可取消高共模電壓應(yīng)用中的多個隔離器或電源,從而可減少組件數(shù)量,提高穩(wěn)定性,簡化系統(tǒng)設(shè)計。并且該板支持WIFI無線通信模塊和溫度和定位模塊,在一定的范圍內(nèi)實現(xiàn)無線信息傳輸,有更快的響應(yīng)時間,提高了系統(tǒng)性能;該板是操作較為簡單的嵌入式開發(fā)板,性價比高,可用于物聯(lián)網(wǎng)系統(tǒng)的開發(fā)上。
(2)溫度傳感器
該系統(tǒng)采用了適配于STM32的DS18B20溫度傳感器,是常用的數(shù)字溫度傳感器,其輸出的是數(shù)字信號,該傳感器溫度測量范圍為 -55℃~+125℃,測量誤差僅為±0.5℃,同時具有體積小,硬件開銷低,抗干擾能力強,精度高的特點,其獨特的單線接口方式,使得DS18B20在與微處理器連接時僅需要一條口線即可實現(xiàn)雙向通信。
(3)GPS傳感器
系統(tǒng)里的GPS傳感器采用了Air530 模塊,具有高性能、高集成度的特點,并且支持多種衛(wèi)星導(dǎo)航系統(tǒng),包括中國的 BDS(北斗衛(wèi)星導(dǎo)航系統(tǒng)),美國的 GPS,俄羅斯的 GLONASS,歐盟的 GALILEO,日本的 QZSS 以及衛(wèi)星增強系統(tǒng) SBAS(WAAS,EGNOS,GAGAN,MSAS)。AT6558 是一款真正意義的六合一多模衛(wèi)星導(dǎo)航定位芯片,包含 32 個跟蹤通道,可以同時接收六個衛(wèi)星導(dǎo)航系統(tǒng)的 GNSS 信號,并且實現(xiàn)聯(lián)合定位、導(dǎo)航與授時。該模塊適用于車載導(dǎo)航、手持定位、可穿戴設(shè)備多模衛(wèi)星定位導(dǎo)航、體積小、功耗低,可用于車載導(dǎo)航、智能穿戴、無人機等 GNSS 定位的應(yīng)用中。而且提供了和其他模塊廠商兼容的軟、硬件接口,大幅減少了用戶的開發(fā)周期。采用了射頻基帶一體化設(shè)計,而且也集成了射頻前端、基帶處理、RAM、FLASH 存儲、RTC 和電源管理等功能。提供超高的性能,即使在弱信號的地方,也能快速、準(zhǔn)確的定位。使用該模塊可以清晰的且精準(zhǔn)的定位到目標(biāo)。
(4)WiFi模塊
該系統(tǒng)采用了ESP8266-01S無線模塊,該模塊為低功耗的UART-WiFi 透傳模塊,擁有業(yè)內(nèi)極富競爭力的封裝尺寸超低能耗技術(shù),專為移動設(shè)備和物聯(lián)網(wǎng)應(yīng)用設(shè)計,可將用戶的物理設(shè)備連接到Wi-Fi 無線網(wǎng)絡(luò)上,進行互聯(lián)網(wǎng)或局域網(wǎng)通信,實現(xiàn)聯(lián)網(wǎng)功能。另外ESP8266是有寄存器的,所以即使重啟連接信息也不會丟失,重啟后再查詢,發(fā)現(xiàn)后會重新進行自動連接。所以我們在使用前會進行檢測工作即使用電腦ping一下這個ip,如果發(fā)現(xiàn)ip是可以ping通的,說明連接正常。反之再進行調(diào)試操作。
(1)操作系統(tǒng)的配置
圖2 硬件部分設(shè)計電路圖
STM32和ESP8266開發(fā)板選擇使用C語言作為開發(fā)語言且加入FreeRTOS操作系統(tǒng)進行多任務(wù)管理,降低模塊(傳感器,控制)間的耦合性,同時便利了增刪模塊等功能,提高開發(fā)效率。利用FreeRTOS操作系統(tǒng)中添加和拓展傳感器模塊?,F(xiàn)以溫度傳感器為例,通過自定義溫度傳感器的topic,聲明一種temperature任務(wù),調(diào)整好任務(wù)的堆棧大小、確認所傳遞的溫度參數(shù)。在得到創(chuàng)建任務(wù)成功指令后,進一步添加溫度傳感器驅(qū)動。同時為了防止系統(tǒng)內(nèi)部的數(shù)據(jù)傳輸造成的數(shù)據(jù)沖突,這里我們又設(shè)置了在服務(wù)器連接以ping心臟包30s發(fā)送模式事件發(fā)生時可以執(zhí)行此任務(wù)的設(shè)定,否則將掛起任務(wù),不予執(zhí)行;為了可以起到所做操作程序且能夠進行數(shù)據(jù)的采集而間斷不以過長,使每獲取兩次數(shù)據(jù)時等候進行相應(yīng)指令操作的等待時間較短的設(shè)定,這里通過邏輯語段設(shè)置了使得溫度得傳感器能夠每隔10s(+0.5s)采集一次數(shù)據(jù),起到了采集數(shù)據(jù)延遲較小的作用。配置程序如下所示[4]:
(2)OneNET云平臺的配置與應(yīng)用設(shè)置
通過OneNET控制臺進行平臺創(chuàng)建,同時使用 MQTT通信協(xié)議將所有設(shè)備接入OneNET 平臺,這里使用的MQTT協(xié)議是所開發(fā)的即時通訊協(xié)議,是現(xiàn)在網(wǎng)絡(luò)連接的主要選擇,成為了進行物聯(lián)網(wǎng)操作的重要組成部分。同時該協(xié)議支持所有平臺,可以實現(xiàn)所有聯(lián)網(wǎng)物品和外部的整體連接。 進入云平臺應(yīng)用層進行應(yīng)用添加與編輯,當(dāng)傳感器所得測試數(shù)據(jù)通過上傳后進行配置,這時由MQTT進行介紹發(fā)送處理任務(wù),即處理發(fā)送緩沖區(qū)的數(shù)據(jù)和處理接收緩沖區(qū)的數(shù)據(jù),并選擇相應(yīng)數(shù)據(jù)流,使其回顯給串口助手接收的數(shù)據(jù),能在云平臺進行實時顯示與記錄,以達到數(shù)據(jù)存儲和后續(xù)分析的效果。若接收的緩沖區(qū)有服務(wù)命令,則將傳感器采集數(shù)據(jù)移交至命令緩沖區(qū)。
(3)topic與命令配置
用戶應(yīng)用層創(chuàng)建APP的topic需要對系統(tǒng)必要的溫度,定位等傳感主題進行配置添加,訂閱App發(fā)布相關(guān)topic,同時發(fā)布本地模塊狀態(tài)topic,對控制命令以及控制模塊進行初始態(tài)設(shè)置,使得APP能夠?qū)崟r獲得設(shè)備狀態(tài)并獲取管理員命令,并對MQTT消息進行解碼,根據(jù)需求修改字符判定。這里設(shè)計了相應(yīng)程序,需要判斷是否已經(jīng)連接APP應(yīng)用的客戶端上,一旦顯示錯誤,自動退回接收信息步驟。APP應(yīng)用與數(shù)據(jù)管理層的相應(yīng)框架如圖3所示。
圖3 APP應(yīng)用和數(shù)據(jù)處理層框架圖
(4)上位機系統(tǒng)數(shù)據(jù)顯示部分
在上位機的系統(tǒng)界面為了便利和可操控強以及實時的特點,我們利用了MSConm、MSFlexGrid插件和Timer插件結(jié)合,實現(xiàn)在串口調(diào)試的上位機之上,接收來自串口所監(jiān)測和發(fā)送的溫度,和位置信息的相應(yīng)數(shù)據(jù)包,并連接了相應(yīng)數(shù)據(jù)庫,在系統(tǒng)的區(qū)域內(nèi)進行顯示。該上位機部分集合了連接和斷開的功能,可以實現(xiàn)系統(tǒng)隨時開關(guān)進行監(jiān)測的功能特點;監(jiān)測數(shù)據(jù)顯示模塊下方有體溫的相應(yīng)監(jiān)測口,實時進行體溫測量,并把數(shù)據(jù)發(fā)送到云平臺進行儲存;同時,該監(jiān)測界面添加了經(jīng)度和緯度,以及電子實時地圖界面,提高了定位的精準(zhǔn)性,為疫情監(jiān)測和防控等方面提高了效率。
本文基于OneNET云平臺設(shè)計健康數(shù)據(jù)監(jiān)測及新冠肺炎預(yù)警系統(tǒng),利用MQTT通信協(xié)議將數(shù)據(jù)采集部分傳感器所采集的相應(yīng)數(shù)據(jù)上傳至云平臺,并建立APP,通過遠程的操控與管理,實現(xiàn)對人群的實時監(jiān)控和預(yù)警。在設(shè)計方面,利用了STM32和Esp8266開發(fā)板,并融入了FreeRTOS操作系統(tǒng)進行多任務(wù)管理,降低模塊(傳感器,控制)間的耦合性,同時便利了增刪模塊等功能,提高開發(fā)效率,降低了開發(fā)成本,也使得管理層的操作更加便捷,對于疫情的監(jiān)測起到很大的作用,使得問題能及時有效的解決,病情能即使有效的進行治療和隔離。該系統(tǒng)應(yīng)用效率高于人工檢測的效率,同時有效降低了監(jiān)測時的錯誤率。
圖4 APP系統(tǒng)應(yīng)用界面顯示圖