?

行業供需系統中嵌入式物聯網中間件架構優化設計研究

2023-10-20 11:30葉錦川王曉旭
粘接 2023年10期
關鍵詞:中間件供需代碼

葉錦川,李 楠,劉 鋒,王曉旭

(1.青島大學附屬青島市海慈醫院 青島市中醫院,山東 青島 266000;2.山東理工大學,山東 淄博 255000)

將醫療化工供需系統的原料、生產、流通等環節與互聯網進行深度結合,在醫療化工原料和產品供需過程中利用大數據來進行質量管控、輔助決策,形成個性化、定制化的智能制造系統,有助于醫療化工企業及時、有效地應對市場需求[1-3]。

在醫療化工供需系統的物聯網中,中間件是分布式軟件和網絡系統的中間層,它可實現物聯網設備與用戶級應用的高效橋接[4-6]。提出了一種SmartCityWare物聯網中間件,并討論了該面向服務的中間件如何幫助IoT解決使用網絡霧運算開發和運營智慧城市服務時面對的新挑戰[7]。

在中間件的操作系統方面,選用嵌入式操作系統可以減少中間體設計時間和增加解決方案的可移植性[8-9];在通信協議方面,使用低功率廣域網絡(LPWAN)將物聯網應用集成到醫療化工供需系統中,可顯著降低醫療化工供需系統的成本和功耗[10];此外,無線通信是物聯網通信的關鍵[11-13]。為了使基于物聯網技術的醫療化工供需系統、智能工廠、智能建筑等智能化應用得到進一步發展,物聯網網絡協議必須高效處理無線通信數據傳輸的不確定性問題[14-15]。

對物聯網中間件的現有研究雖在操作系統、網絡協議、通信方式等方面開展了大量研究[16],現有研究,特別是醫療化工供需系統中物聯網的研究,未在物聯網中間件的框架設計中綜合考慮這些問題。

為解決該問題,在現有研究基礎上,從操作系統、網絡協議和網絡通信架構方面開展研究,提出具有高效、輕便、可重復使用性能的醫療化工供需系統中嵌入式物聯網中間件的新框架。

1 嵌入式物聯網中間件的體系架構

1.1 網絡協議

LoRa是一種基于開放標準的低成本射頻技術,可允許用戶或設備以最小功耗進行長距離通信[17]。LoRa適用范圍非常廣泛,其中就包括在醫療化工供需系統的廣泛應用[18]。

LoRaWan是一種開放的網絡協議標準,它通過網關與LoRa設備通信,并將此信息傳遞到網絡和應用服務器[19]。本文所構建的中間件體系結構將基于LoRaWan協議運行,故使用該中間件的網絡拓撲需基于LoRaWan協議進行定義?;贚oRaWan網絡協議的網絡拓撲中指定了4個基本元素:終端節點(設備)、網關、網絡服務器和應用服務器?;贚oRaWan網絡協議的LoRa網絡拓撲示例如圖1所示。本文所構建的中間件架構主要用于為位于終端設備節點的嵌入式操作系統提供服務。

圖1 基于LoRaWan網絡協議的LoRa網絡拓撲示例

1.2 終端設備節點分層

物聯網可用于終端或邊緣節點設備通過網絡與運行云中的批處理平臺的企業服務器進行高質量通信(通過選定的網關)。物聯網中的設備、網關和云平臺的功能都有明確的定義,它們在醫療化工供需系統的物聯網解決方案中為醫療化工供需系統提供特定的特性和功能。

終端節點設備是物聯網解決方案的起點,由于其與物理世界的直接交互,通常是醫療化工供需系統數據的發起者。終端設備節點的軟件和硬件層次結構如圖2所示,該圖很好地展示了醫療化工供需系統中嵌入式物聯網中間件與其他層的交互。

圖2 終端設備節點的軟件和硬件層次結構圖

圖2的劃分旨在強調終端設備節點的分層與嵌入式應用程序創建的獨立性。因此,開發人員基于所構建中間件的API創建的解決方案,可允許終端設備節點的應用程序代碼在其他平臺上被重復使用。

1.3 中間件的架構

醫療化工供需系統中的嵌入式物聯網中間件可被設計成包含四個主要模塊,通過標準的多語言API實現從醫療化工供需系統設備到與醫療化工供需系統中各種平臺的集成。醫療化工供需系統中的嵌入式物聯網中間件的架構如圖3所示。

圖3 醫療化工供需系統中嵌入式物聯網中間件架構

圖3中的每個模塊封裝有實現細節,每個模塊均可用于處理復雜性問題,為系統提供清晰、內聚的接口和服務。此外,模塊可以在同一程序內或其他程序中重復使用。

1.3.1數據庫

數據庫是數據的集合,用于存儲、管理和檢索數據。結構化查詢語言(SQL)數據庫是使用最為廣泛的數據庫。然而,隨著數據不可預測程度的不斷增強,側重于大量不可預測數據存儲的非結構化查詢語言(NoSQL)數據庫的使用越來越廣泛。

由于NoSQL數據庫不強制對象之間的關系,NoSQL數據庫通??梢员萐QL更快地寫入和刪除數據。此外,NoSQL數據庫采用數據分片技術。通過分片,數據庫中的數據可以分布在多個服務器上,增加了數據庫的可伸縮性。鑒于此,本文中的物聯網中間件選用NoSQL數據庫。

1.3.2通信框架

構建基于霧運算和區塊鏈技術的物聯網通信框架,利用霧運算和區塊鏈技術在中間件與智能設備、云平臺之間建立可靠和快速的通信。該框架在智能設備網絡環境中選用定期數據傳輸方式。在該傳輸方式中,一方面,數據包基于某種周期性時間模式生成;另一方面,服務時間總是一個具有一般分布的隨機變量。因此,當服務時間超過數據包生成周期時,一些數據包可能會因通道繁忙而被丟棄,導致無線通信數據傳輸的不確定性問題。為解決該問題,采用重傳方案、可變包長度和飽和流量條件等技術來減少丟包率和增強模型的通信能力。

在所構建的通信框架中,模式服務器用于存儲安全資源,代理作為存儲受保護數據的第三方服務器。中間件中的密鑰服務器用于生成加密和解密密鑰。經授權的區塊鏈數據庫提供給智能設備的令牌具有訪問框架、向密鑰服務器請求密鑰、從云獲取數據的權限。

1.4 嵌入式操作系統

物聯網平臺可提供開源嵌入式操作系統(ARM Mbed OS)。該平臺擁有大量旨在開發物聯網應用的標準庫,包括安全、連接和外圍設備和傳感器的驅動程序。此外,該系統得到了來自不同制造商的大量硬件平臺的支持[20]。

支持ARM Mbed操作系統的嵌入式設備板和組件供應商超過30多家,如意法半導體、MultiTech、NXP、Semtech等。ARM Mbed OS的廣泛應用有利于不同應用場景的物聯網應用程序的開發,有助于不同平臺解決方案的集成和互轉。圖2中的系統層便是通過ARM Mbed OS實現的。

1.5 中間件與嵌入式操作系統的集成

與目標平臺的集成過程是通過正確實現描述模塊中功能的類和接口來實現的。因此,每個模塊都由一組類和接口組成,這些類和接口必須正確實現,以確保中間件和目標系統的API之間的完全兼容性。

2 嵌入式物聯網中間件的功能實現

選擇控制模塊和系統集成模塊進行醫療化工供需系統中嵌入式物聯網中間件體系結構的功能實現。通過所選擇的模塊,可以:(1)驗證中間件在ARM Mbed OS中的執行情況;(2)驗證對傳感器的控制和與傳感器的交互情況;(3)使用LoRaWan網絡協議評估通信情況。

為給出中間件的主要實體及其相互關系的正式表示,選用UML 2.0(統一建模語言)的類圖和符號對中間件進行建模和功能實現。源代碼使用C++語言生成,主要使用C++語言中的面向對象、模板和映射的概念。

控制模塊中主要包括對抽象控制類、傳感器類和通信類的通用描述。集成模塊用于控制不同模塊、不同類通過接口實現互聯互通,例如,實現控制類、傳感器類和通信類的集成和互聯互通。ARM Mbed OS平臺上各類模塊的集成如圖4所示。

圖4 ARM Mbed OS平臺上各類模塊的集成

在完成不同類的集成之后,還需對不同的嵌入式操作系統進行集成。在本例中,中間件使用嵌入式操作系統的API和驅動程序來訪問UART、SPI、I2C、GPIO等接口。

控制模塊中類的集成通過函數Controllmpl實現,控制模塊中類對象集成的代碼片段如圖5所示。

圖5 控制模塊中類對象集成的代碼片段

圖5中,第12~14行代碼實現將3種類型的傳感器(溫度傳感器、陀螺儀傳感器和GPS傳感器)以及它們各自的通信接口(Analog IO接口、I2C接口、串行接口)集成到將中間件的控制模塊;第17行代碼將通信類的LoRaWan集成到控制模塊;第21~23行代碼實現將控制類對象引入控制模塊。

實現對陀螺儀傳感器定義的代碼片段如圖6所示。對GPS傳感器和溫度傳感器定義的過程與圖6中的代碼類似。

圖6 對陀螺儀傳感器定義的代碼片段

如圖6中的第19行所示,傳感器與中間件系統的交互通過I2C接口實現;第25行代碼描述了應該返回的數據模型——GyroscopeData類型;第29行代碼用于檢查陀螺儀傳感器的驅動器所使用的MPU;第30行代碼給出了獲取傳感器數據的getMotion函數的聲明。

對通信類的定義與實現與對傳感器類的定義和實現類似。對通信類LoRaWanComm的定義如圖7所示。

在圖7的第61行代碼中,LoraData初始化通信類LoRaWan的數據模型;該數據類型封裝了通信類的初始化參數,例如,通信類型為LoRa、通信方式為無線通信、連接類型為空中激活或自定義激活,這些參數通過對端口的連接、讀寫獲取。選用LoRaWanInterface作為系統無線電交互的接口(第67行代碼),該接口為通信類提供了一個使用C++ 的API,該API通過LoRa網絡連接到Internet。

在實現了Controllmpl、LoRaWanComm、Gyroscope、Gps和Temperature類的定義之后,可在ARM Mbed OS平臺生成醫療化工供需系統中嵌入式物聯網的中間件。

3 嵌入式物聯網中間件使用示例

設計一個使用含有嵌入式物聯網中間件的醫療化工供需系統狀態監控示例來演示所構建體系結構的實際應用,如圖8所示。該示例主要用于執行設備的遠程監控,該示例的實際應用將有助于提升設備的遠程管理能力。在該示例中,物聯網中間件提供對監控物理量(溫度、振動和電流等)的傳感器的訪問服務,工作人員可通過這些物理量了解醫療化工供需系統運行狀態,進而利用這些數據開展醫療化工供需系統的統計分析。對于可拆卸設備,該中間件可以使用陀螺儀傳感器和/或GPS傳感器檢測和預警可拆卸設備發生的位移。使用物聯網嵌入式設備(內含嵌入式中間件)遠程監控醫療化工供需系統的狀態監控系統示例如圖8所示。該系統通過應用程序從傳感器監測處獲取數據并將其發送到云,為系統狀態評估提供數據。

圖8 使用嵌入式設備遠程監控醫療化工供需系統的監控系統示例

遠程監控應用程序的代碼片段如圖9所示。

圖9 狀態監控應用程序的代碼片段

在圖9中,第10行和第11行代碼引入控件類并對其初始化。通過控制模塊,可以訪問中間件提供的傳感器和通信等資源。第13~17行代碼分別用于獲取傳感器類(溫度、陀螺儀、GPS)和通信類(LoRaWan)的參考數據。第18行和第19行代碼中,使用LoraData中定義的連接配置初始化通信類LoRaWan;然后,通過應用程序嘗試連接到網絡。第21~23行代碼用于獲取溫度傳感器的值(temp->getValue())并將其發送到網絡服務器(COMM>write())。在第24行代碼中,監控應用程序讀取網絡服務器發送的消息(COMM->read())。這個響應消息可以用作命令來激活帶有運動傳感器的線程。如果傳感器值受到任何干擾,它必須通過啟動GPS并發送其定位坐標來進行校正或重新獲取

4 結語

設計一種醫療化工供需系統中嵌入式物聯網中間件新框架,該框架選用ARM Mbed OS作為嵌入式操作系統,選用LoRaWan協議作為網絡協議,選用區塊鏈技術建立物聯網中間件與云計算平臺、智能設備之間的通信框架。分析了一個使用所設計中間件框架的醫療化工供需系統遠程實時監控示例,演示所構建中間件框架的實用性。

(1)通過選用ARM Mbed OS嵌入式操作系統,提升了中間件架構的可移植性;

(2)通過選用LoRaWan協議,提升了網絡可操作性;

(3)通過選用的區塊鏈技術建立物聯網中間件與云計算平臺、智能設備之間的通信框架,提升了內在網絡的高效、安全通信;

(4)所設計新框架的實際應用將有助于提升醫療化工供需系統的遠程管理能力和安全運行能力;

(5)所設計新框架對應的中間件將具有輕量級、可重用的優勢,因此,該架構方案在醫療化工供需系統狀態監控的嵌入式應用程序的創建方面具有廣闊的應用前景。

猜你喜歡
中間件供需代碼
供需緊張局勢拉動煤炭價格上漲
供需略微寬松 價格波動縮窄
油價上漲的供需驅動力能否持續
我國天然氣供需呈現緊平衡態勢
創世代碼
創世代碼
創世代碼
創世代碼
RFID中間件技術及其應用研究
基于VanConnect中間件的設計與開發
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合