范小青 王宜懷 張藝琳
(蘇州大學計算機科學與技術學院 江蘇 蘇州 215006)
全球每天生產、運輸、儲存、分發(fā)數(shù)百萬噸溫濕度敏感醫(yī)藥,然而國內醫(yī)藥冷鏈的發(fā)展仍存在醫(yī)藥冷鏈功耗較高、通信不穩(wěn)、監(jiān)測數(shù)據失真等問題[1],亟需開發(fā)一整套低功耗、高穩(wěn)定性、高準確性的醫(yī)藥冷鏈監(jiān)測系統(tǒng)。因此國內外許多學者對醫(yī)藥冷鏈監(jiān)測系統(tǒng)進行了大量的研究和探索。無線傳感網絡(Wireless Sensor Network,WSN)[2]因其安裝靈活無害、維護方便、擴展性高等優(yōu)點,應用領域日趨廣泛,尤其在監(jiān)測領域表現(xiàn)不俗。文獻[3]設計一種基于GPRS-ZigBee的物聯(lián)網醫(yī)療冷鏈自動檢測溫控系統(tǒng),用于監(jiān)測醫(yī)療冷鏈信息,但通信穩(wěn)定性不足。文獻[4]設計一種結合433 MHz頻段ZigBee技術與2.4 GHz頻段Wi-Fi技術的無線監(jiān)測系統(tǒng),實現(xiàn)對無人值守處環(huán)境的實時監(jiān)控,但Wi-Fi通信距離較短,功耗也相對偏高。窄帶物聯(lián)網(Narrow Band Internet of Things,NB-IoT)[5-7]的出現(xiàn)為醫(yī)藥冷鏈監(jiān)測系統(tǒng)提供了新思路。NB-IoT作為一種基于蜂窩網絡的低功耗廣域無線接入技術,具有大連接、廣覆蓋、深穿透、低成本、低功耗等優(yōu)點,在智能測量、智能家居和環(huán)境監(jiān)測等領域有廣泛應用[8-10],但是與醫(yī)藥冷鏈監(jiān)測系統(tǒng)相結合的研究卻較少。
本文設計并實現(xiàn)一套以433 MHz頻段ZigBee為WSN通信協(xié)議,以NB-IoT通信方式遠距離接入廣域網的多傳感器醫(yī)藥冷鏈監(jiān)測系統(tǒng)。該系統(tǒng)選擇433 MHz頻段作為WSN通信頻率,相比高頻段穿透性更強、傳輸距離更遠;選擇NB-IoT通信技術實現(xiàn)數(shù)據遠程傳輸,相比使用GPRS實現(xiàn)遠程傳輸數(shù)據更高效更低耗;提出一種多傳感器數(shù)據融合方法,保證醫(yī)藥冷鏈監(jiān)測數(shù)據的真實性與可靠性,為NB-IoT與WSN相結合的多傳感器醫(yī)藥冷鏈監(jiān)測系統(tǒng)的應用提供可行性方案。
該系統(tǒng)整體通信架構參考物聯(lián)網分層模型,并面向醫(yī)藥冷鏈監(jiān)測場景進行適應性應用,如圖1所示。自左向右分為感知層、網絡層和應用層。感知層利用傳感器實現(xiàn)醫(yī)藥冷鏈的信息采集、感知與控制;網絡層支撐感知層的冷鏈信息傳遞、路由和控制;應用層針對醫(yī)藥冷鏈的業(yè)務需求進行信息處理[11]。將該模型實例化,感知層由多個傳感器節(jié)點和網關節(jié)點構成,主要采集醫(yī)藥冷鏈的溫度、濕度、加速度、光照強度等信息,節(jié)點間通過433 MHz頻段無線通信組成WSN,網關節(jié)點通過NB-IoT直接連接至廣域網;網絡層由NB-IoT基站、NB-IoT核心網及NB-IoT平臺組成,該部分由運營商負責;應用層由用戶云服務器及人機交互系統(tǒng)組成。
圖1 系統(tǒng)整體通信框架
終端硬件設計主要分為傳感器節(jié)點硬件設計和網關節(jié)點硬件設計兩部分。
傳感器節(jié)點需要實現(xiàn)采集監(jiān)測點數(shù)據和無線組網傳輸數(shù)據的功能。因此,硬件設計主要包含KW01Z128硬件最小系統(tǒng)、射頻天線前端電路及傳感器信息采集模塊。
(1) KW01Z128硬件最小系統(tǒng)。KW01Z128芯片集成了KL26Z128芯片與SX1231射頻收發(fā)器,兩者之間通過內部SPI通信,本系統(tǒng)選擇KW01Z128芯片,既能滿足對主控器低功耗的需求,也能避免增加獨立射頻收發(fā)器的不便。KW01Z128芯片是一款基于ARM Cortex-M0+內核的32位MCU,具有低功耗、高集成、擴展性強等特點,且芯片內部集成射頻收發(fā)器,在WSN領域有廣泛使用。該MCU工作頻率高達48 MHz,擁有128 KB的Flash和16 KB的SRAM,提供UART、SPI、I2C等多種外設接口,擴展方便。其硬件最小系統(tǒng)如圖2所示。
圖2 KW01Z128硬件最小系統(tǒng)
(2) SX1231射頻天線前端電路。SX1231是一款Sub 1 GHz的超低功耗射頻收發(fā)控制器,具有出色的靈敏度和高選擇性,支持多種無線頻段,具有低功耗、低成本、高度集成、通信穩(wěn)定等特點,適用于諸如工業(yè)監(jiān)測、智能家居、智能城市等多種物聯(lián)網產品的研究與開發(fā)[12]。由于射頻收發(fā)器集成在KW01Z128內部,所以該模塊電路部分囊括在KW01Z128最小硬件系統(tǒng)中,而射頻前端電路需要適配433 MHz的載波頻率,做出恰當?shù)淖杩蛊ヅ洳⒘舫鎏炀€接口。射頻前端電路如圖3所示。
圖3 SX1231射頻收發(fā)器天線前端電路
(3) 傳感器信息采集模塊。為獲取醫(yī)藥冷鏈關鍵狀態(tài)信息,可借助熱敏電阻、濕度傳感器、光敏電阻等傳感器對醫(yī)藥冷鏈的環(huán)境進行數(shù)據采樣。表1給出各傳感器型號、與主控芯片KW01Z128的通信方式、量程及分辨率和功能說明。
表1 傳感器采樣方式及功能說明
網關節(jié)點需要與獲取醫(yī)藥冷鏈信息的傳感器節(jié)點無線組網,并將傳感器數(shù)據通過NB-IoT通信方式傳輸至服務器。因此,網關節(jié)點硬件設計包含KW01Z128硬件最小系統(tǒng)、射頻天線前端電路與ME3616硬件最小系統(tǒng)。其中KW01Z128硬件最小系統(tǒng)和射頻天線前端電路與傳感器節(jié)點一致,這里不再贅述。ME3616是一款支持NB-IoT通信標準的窄帶蜂窩物聯(lián)網通信模組,能夠提供最大66 Kbit/s上行速率和34 Kbit/s下行速率,支持UART接口,具有小尺寸、低功率、遠距離等優(yōu)點。ME3616通過UART與主控芯片KW01Z128相連,將處理后的傳感器數(shù)據遠程傳輸至服務器。其硬件最小系統(tǒng)如圖4所示。
圖4 ME3616硬件最小系統(tǒng)
系統(tǒng)軟件設計分為傳感器節(jié)點軟件設計、網關節(jié)點軟件設計、多傳感器數(shù)據融合三部分。
傳感器節(jié)點軟件主要功能需求為實現(xiàn)433 MHz頻段ZigBee通信和采集處理醫(yī)藥冷鏈傳感器數(shù)據。軟件采用模塊構件化編程思想,將ZigBee通信功能相關函數(shù)封裝成ZigBee構件,實現(xiàn)射頻收發(fā)器初始化、ZigBee協(xié)議封裝發(fā)送、ZigBee數(shù)據包接收解幀和重復振幀過濾等功能;將傳感器數(shù)據采集處理相關函數(shù)封裝成sensor構件,實現(xiàn)傳感器初始化、傳感器數(shù)據采集和傳感器數(shù)據濾波處理等功能。在主函數(shù)中調用相應功能函數(shù),最終實現(xiàn)傳感器節(jié)點軟件需求,程序流程如圖5所示。
圖5 傳感器節(jié)點軟件流程
傳感器節(jié)點上電后,主控芯片首先讀取存放在FALSH最后一個扇區(qū)的節(jié)點配置參數(shù),如射頻模塊硬件濾波地址、射頻模塊軟件地址和節(jié)點傳感器類型等,并使用讀取的參數(shù)初始化芯片外設及射頻收發(fā)器。進入主循環(huán)后,周期性采集多傳感器的醫(yī)藥冷鏈數(shù)據,根據不同類型傳感器確定不同采集間隔,數(shù)據采集完成后,對數(shù)據進行異常數(shù)據濾波處理,最終對正常數(shù)據按傳感器類型進行均值化,最終確定各個傳感器數(shù)據,并將傳感器數(shù)據封裝成ZigBee數(shù)據包通過射頻模塊發(fā)送。主循環(huán)正常進行的同時,若節(jié)點接收到ZigBee數(shù)據包,將進入射頻接收中斷,在本系統(tǒng)中表現(xiàn)為UART中斷,中斷內完成數(shù)據包接收和解析,跳轉回主循環(huán)后,在循環(huán)中執(zhí)行數(shù)據包中命令對應的操作。
網關節(jié)點軟件功能主要實現(xiàn)多傳感器數(shù)據匯總和ZigBee協(xié)議與NB-IoT技術的轉換。使用傳感器節(jié)點軟件已經封裝的ZigBee構件,并新增NB-IoT通信相關的uecom構件,用于實現(xiàn)NB-IoT模塊初始化、NB-IoT連接、NB-IoT數(shù)據包收發(fā)等功能。在主函數(shù)中調用相應功能函數(shù),最終實現(xiàn)網關節(jié)點軟件需求,程序流程如圖6所示。
圖6 網關節(jié)點軟件流程
網關節(jié)點上電后,讀取FLASH中節(jié)點配置、射頻模塊和NB-IoT通信模組相關參數(shù),并對芯片外設、射頻模塊和NB-IoT模塊進行初始化。接著進入主循環(huán),在主循環(huán)中不斷檢測是否觸發(fā)中斷,當節(jié)點接收到ZigBee數(shù)據包,在中斷中對數(shù)據包進行接收解析,并封裝成NB-IoT數(shù)據包。接著初始化NB-IoT模塊,建立TCP連接,發(fā)送NB-IoT數(shù)據包;如果數(shù)據發(fā)送失敗,則通信模組ME3616再次執(zhí)行初始化、連接基站、上傳數(shù)據操作,如果發(fā)送成功,則再次循環(huán)檢測是否觸發(fā)中斷。系統(tǒng)的這種“數(shù)據發(fā)送失敗重傳”機制,有利于保證數(shù)據傳輸?shù)目煽啃浴?/p>
自適應加權融合算法根據各傳感器歷史數(shù)據求出對應方差,對歷史監(jiān)測數(shù)據的依賴度極大,一旦樣本量過大,極易使方差值變得僵化。分批估計理論對監(jiān)測數(shù)據進行分批處理,使得方差根據樣本的變化而改變,從而有效避免監(jiān)測數(shù)據誤差所導致的融合結果偏差,進而提高整個系統(tǒng)的容錯性和魯棒性。因此,本文結合分批估計理論,將多個傳感器多次采樣的結果進行自適應加權平均融合處理。
將n個傳感器的所有數(shù)據按照時間段分為若干組,然后對每個傳感器各組內的數(shù)據做分批處理,過程如下。
(2) 計算該時間段內每個傳感器的最小平方誤差,表達式如下:
(1)
(3) 計算該時間段內每個傳感器的融合值,表達式如下:
(2)
對傳感器數(shù)據進行分批處理后,然后進行自適應加權平均融合,具體過程如下。
(3)
(2) 為達到數(shù)據融合的目標,得到總方差最小的融合值,即:
(4)
(5)
此時Wi為:
(6)
(4) 最終融合值為:
(7)
為測試基于分批估計的自適應加權融合方法的置信度,本次實驗使用自適應加權平均融合方法和基于Rough集理論的多傳感器數(shù)據融合方法進行數(shù)據融合置信度比較。溫度傳感器節(jié)點傳輸半徑為80 m,數(shù)據采集半徑為20 m,傳輸數(shù)據包的大小為500 bit/s,將10個溫度傳感器測得的溫度數(shù)據按時間段分為若干組,每組均為連續(xù)10個時間點的監(jiān)測數(shù)據,測試三種融合方法的置信度,如圖7所示。
圖7 三種數(shù)據融合方法置信度對比
實驗結果表明,基于Rough集理論的多傳感器數(shù)據融合方法的融合置信度最高為0.801,自適應加權平均融合方法的融合置信度最高為0.679,本文所使用的基于分批估計的自適應加權融合方法的置信度最高為0.971。通過實驗對比結果可知,在多傳感器醫(yī)藥冷鏈監(jiān)測系統(tǒng)中,使用本文方法,融合置信度最高,融合效果更好。
用戶云服務器作為醫(yī)藥冷鏈終端和人機交互系統(tǒng)的通信橋梁,負責醫(yī)藥冷鏈數(shù)據的接收、存儲與處理。云服務器上的偵聽程序一方面?zhèn)陕牻K端發(fā)來的數(shù)據,一旦偵聽到數(shù)據,就把它接收下來,并存放到數(shù)據庫中;另一方面為人機交互系統(tǒng)中的各種客戶端程序提供數(shù)據訪問接口,并能夠反饋數(shù)據到終端,達到遠程控制醫(yī)藥冷鏈終端的目的。終端與用戶云服務器之間通過嵌入式應用層驅動構件uecom實現(xiàn)通信;終端與人機交互系統(tǒng)中客戶端程序之間的通信接口采用WebSocket協(xié)議方式,通過通信接口類HCICom實現(xiàn)通信。
在人機交互系統(tǒng)軟件方面,設計了客戶端程序、WEB網頁、微信小程序、Android App等,用來顯示醫(yī)藥冷鏈終端上傳的數(shù)據以及將數(shù)據回發(fā)給終端,以滿足不同用戶的需要。
為測試醫(yī)藥冷鏈系統(tǒng)整體通信性能,搭建1個網關、3個溫度傳感器節(jié)點、3個濕度傳感器節(jié)點和4個光照傳感器的自組網,通過網關收集不同類型醫(yī)藥傳感器節(jié)點數(shù)據,上傳至用戶云服務器,由運行在服務器端的偵聽程序接收統(tǒng)計數(shù)據包,檢驗網關從收集數(shù)據到上傳數(shù)據的丟包率。
在整個系統(tǒng)供電正常和NB-IoT基站信號良好的前提下,保證所有類型傳感器節(jié)點正常運行,通過網關連續(xù)收集10個不同類型傳感器節(jié)點的1 000個數(shù)據包,統(tǒng)計接收、丟失、錯誤數(shù)據包的數(shù)量;同時改變網關與不同類型傳感器節(jié)點的通信距離,測試網關收發(fā)數(shù)據的性能,測試結果如表2所示。
表2 網關整體通信丟包率和誤包率測試
從統(tǒng)計結果可以看出,該網關采用的“數(shù)據發(fā)送失敗重傳”機制效果明顯,測試結果良好,可實現(xiàn)預期設計目標。丟包率雖然隨著通信距離有一定的增長,但仍在可控范圍,通信穩(wěn)定性和可靠性完全可以滿足醫(yī)藥冷鏈監(jiān)測場景的需求。
為測試醫(yī)藥冷鏈監(jiān)測系統(tǒng)中多傳感器數(shù)據融合方法的有效性,選擇一般藥品作為實驗對象,其溫度儲存范圍是0℃~8℃。本次實驗為得到醫(yī)藥冷鏈的溫度融合信息,設置10個溫度傳感器,以獲取醫(yī)藥冷鏈10:00-12:00內連續(xù)10個時間點的溫度監(jiān)測數(shù)據,選擇其中一組數(shù)據,如表3所示。
表3 10個溫度傳感器采樣數(shù)據 單位:℃
使用本文提出的多傳感器數(shù)據融合方法計算該時段內10個溫度傳感器的最小平方誤差、融合值、最優(yōu)權值,如表4所示。最終可得該時段內溫度融合值為:
表4 融合值最小平方誤差和最優(yōu)權值W
同理,可得到該時段內醫(yī)藥冷鏈環(huán)境的濕度為65.912 145%RH,光線強度為357 lx。多傳感器數(shù)據融合結果與真實測量值之間的相對誤差如表5所示。
表5 多傳感器數(shù)據融合結果與相對誤差比較
由表4和表5可知,采用分批估計進行數(shù)據融合,得到的方差可根據監(jiān)測數(shù)據的變化而改變,由此避免數(shù)據量過大時產生方差值僵化。同時,采用本文所提出的多傳感器數(shù)據融合方法得到的數(shù)據更接近于測量值,且相對誤差小于自適應加權平均融合方法與基于Rough集理論的多傳感器數(shù)據融合方法的融合結果,因此可保證醫(yī)藥冷鏈環(huán)境數(shù)據的精確性與準確性。
本文設計一套基于NB-IoT與WSN相結合的多傳感器醫(yī)藥冷鏈監(jiān)測系統(tǒng)。該系統(tǒng)以NB-IoT作為醫(yī)藥冷鏈終端與用戶云服務之間的通信方式,有效降低系統(tǒng)整體功耗;同時結合WSN技術,利用本文提出的多傳感器數(shù)據融合方法,可以穩(wěn)定且準確地監(jiān)測醫(yī)藥冷鏈環(huán)境。測試結果表明,網關整體通信穩(wěn)定可靠,醫(yī)藥冷鏈監(jiān)測數(shù)據穩(wěn)定精準,對醫(yī)藥冷鏈監(jiān)測系統(tǒng)的實際應用具有重要價值。