日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當前位置:首頁 > 物聯網 > 《物聯網技術》雜志
[導讀]摘 要:消息中間件是一種被廣泛采用的企業(yè)級異構系統(tǒng)集成方式,在物聯網應用中同樣面臨著異構系統(tǒng)的集成問題。為解決物聯網系統(tǒng)中異構節(jié)點之間的數據通信問題,提出了一種基于消息中間件的集成方案,并基于該方案設計實現了環(huán)境監(jiān)控系統(tǒng)。系統(tǒng)使用OSGi插件技術對物聯網網關功能進行擴展,使其支持JMS消息通信。系統(tǒng)測試表明,節(jié)點通過消息機制實現了異構系統(tǒng)集成。

0 引 言

物聯網應用系統(tǒng)是一個復雜的分布式系統(tǒng),系統(tǒng)通常由數管理界面以及支持Amazon AWS IoT,Microsoft Azure IoT 和IBM IoT 云服務的接口 [4]。Kura 運行在 Java 虛擬機(JVM)上,據采集節(jié)點、執(zhí)行器節(jié)點和網關組成,不同功能節(jié)點之間可以使用模塊化 OSG(iOpen Service Gateway Initiative,OSGi)技

使用 ZigBee,BLE 等通信協議實現數據通信。通常情況下,這些協議的實現要求所有節(jié)點使用同一種開發(fā)環(huán)境,部署在同一款軟件框架上,在實際應用中,更多的是對原有系統(tǒng)的擴展或者是在原有系統(tǒng)之上再疊加一層新系統(tǒng)。用戶更關注如何復用已有的軟硬件資源,以減少開發(fā)周期并降低成本。原有節(jié)點可能由不同的開發(fā)語言實現,運行在不同的框架和平臺之上。如何在不同的模塊、平臺和應用之間進行數據通信是實際應用過程中亟待解決的問題。消息中間件是解決企業(yè)應用系統(tǒng)異構集成的一種有效方法 [1-2],這種方法也同樣適用于物聯網 [3]。物聯網中的分布式節(jié)點本身就是一個小型的嵌入式系統(tǒng),其硬件配置足以支持其上運行嵌入式操作系統(tǒng)和服務管理軟件,從而為基于消息的異構系統(tǒng)集成在物聯網節(jié)點上的實現提供了可能。

本文對基于消息中間件的物聯網應用異構系統(tǒng)集成進行了探索,并在環(huán)境監(jiān)控系統(tǒng)中對設計方案進行了驗證。傳感器節(jié)點和網關分別使用不同的開發(fā)語言和客戶端軟件,傳感器節(jié)點采用Python 開發(fā),網關使用基于 OSGi 框架的插件技術,對網關管理軟件 Kura 的服務進行擴展,使其支持 JMS(Java Message Service,JMS)。借助部署在網關的 ActiveMQ 消息中間件,實現了在不同節(jié)點之間通過消息機制進行數據通信的目的。

1 相關技術介紹

1.1 Kura 開源網關框架

Kura 是 Eclipse 基金會發(fā)布的物聯網項目,用于構建 IoT網關框架,它提供了一種使用開源硬件作為網關的方式。Kura內部嵌入了多種對網關容器進行管理的服務,包括 UI Web管理界面以及支持 Amazon AWS IoT,Microsoft Azure IoT 和IBM IoT 云服務的接口[4]。Kura 運行在 Java 虛擬機(JVM)上,使用模塊化 OSGi(Open Service Gateway Initiative,OSGi)技術實現。由于網關基于動態(tài)可插拔的模塊化技術實現,因此用戶可以很方便地創(chuàng)建自己的功能插件,并集成到系統(tǒng)中實現網關功能的擴展 [5-6]。Kura 遵循 OSGi R4 規(guī)范,其核心設計思想是面向服務的組件模型。在 OSGi 中,組件或模塊稱為 bundle,OSGi 支持軟件熱插拔、多版本并存,具有動態(tài)模塊化、面向服務架構和模塊擴展等功能,OSGi 的模塊擴展功能可以在不改變原有模塊代碼的情況下注入新的功能或更新原有功能 [7]。

1.2 ActiveMQ 消息服務

消息中間件基于消息驅動方式,為異構系統(tǒng)和平臺提供了一種高效、可靠的數據通信服務 [8]。ActiveMQ 是被廣泛使用的基于 JMS 規(guī)范的開源消息中間件,它屏蔽了底層軟件框架和硬件的差異,具有部署簡單、占用資源少、運行可靠等特點。消息中間件不僅簡化了在物聯網環(huán)境下異構應用的集成,也提供了一種構建松耦合系統(tǒng)的方式。

2 系統(tǒng)框架設計

系統(tǒng)由傳感器節(jié)點和網關構成,在局域網內采用分布式部署,節(jié)點之間通過消息進行數據通信,系統(tǒng)架構如圖 1 所示。

消息中間件在物聯網網關中的應用

傳感器節(jié)點采集現場數據后,將傳感器數據封裝到消息負載中,并通過設計開發(fā)的 ActiveMQ 客戶端軟件將消息發(fā)送到網關。網關采用 Kura 框架對軟硬件資源進行管理,與傳感器節(jié)點的硬件運行平臺相同,它們運行在開源硬件樹莓派(Raspberry Pi)之上。網關不具有數據采集功能, 但具有更多的數據處理和網絡管理功能。系統(tǒng)需要在網關中部署ActiveMQ 消息中間件,用于 JMS 消息管理。由于 Kura 框架本身不支持 JMS 服務,無法實現與消息中間件的消息通信, 因此,需要設計新的 bundle 對 Kura 網關框架進行 JMS 消息功能擴展,使其支持對JMS 消息的訂閱 / 發(fā)布服務。網關既可以利用消息機制接收來自傳感器節(jié)點的數據,也可對數據進行格式轉換、分析,并通過 MQTT 協議與云端相連。

基于 JMS 消息的通信機制可以屏蔽通信雙方的具體技術實現細節(jié),以統(tǒng)一的消息協議通過第三方消息中間件實現通信, 并可以實現一對一、一對多等不同形式的消息通信模式。傳感器節(jié)點可以在不同的主題上發(fā)布消息,也可以多個節(jié)點在同一主題上發(fā)布,滿足了系統(tǒng)集成的松耦合和靈活性要求。

3 主要功能的設計與實現

3.1 傳感器節(jié)點

系統(tǒng)中節(jié)點硬件平臺均選用開源硬件樹莓派開發(fā)板,其上可運行 Linux 或Win10 操作系統(tǒng),開發(fā)板搭載 1.2 GHz 的64 位 ARM 處理器,板上集成 802.11 b/g/n 無線網卡和低功耗藍牙 4.1 適配器。為連接外部設備,樹莓派上配置有 40 個GPIO 引腳,支持 SPI,I2C 以及Serial 等接口和總線標準,豐富的軟硬件資源可保證其不僅可作為數據采集終端,也可作為物聯網系統(tǒng)的小型網關。

傳感器節(jié)點通過 GPIO 接口連接溫濕度傳感器 DHT11。數據采集程序使用 Python 開發(fā),獲取數字量的環(huán)境溫、濕度數據,然后調用 STOMP(Streaming Text Orientated Message Protocol,STOMP)庫函數將數據封裝為 JMS 消息發(fā)送到網關。 STOMP 即流文本定向消息協議,是一種面向消息中間件設計的簡單文本協議。傳感器節(jié)點程序流程如圖 2 所示。

消息中間件在物聯網網關中的應用

                                                                                                                                            圖 2 傳感器節(jié)點程序流程圖

3.2 網關 JMS插件實現

Kura 雖然內置了大量支持物聯網功能的服務,但并未直接提供對JMS 的支持。Kura 基于 OSGi 技術實現,用戶可以基于 OSGi 的動態(tài)化插件技術構建自己的功能插件。為了在網關實現 JMS 客戶端功能,需要做如下兩方面工作 :

(1) 安裝配置 JMS支持插件,OSGi 框架只能運行符合bundle規(guī)范的 Jar庫文件,JMS支持庫文件,以普通 Jar庫文件的形式提供,因此需要將 Jar文件轉變成 bundle插件。

(2) 設計可提供 JMS服務的 bundle,其實質是封裝 JMS客戶端的具體實現,以服務的形式發(fā)布接口,供其他 bundle調用,這部分是系統(tǒng)設計的核心內容。

bundle 之間通過服務的方式關聯,可以降低 bundle 之間的耦合,有利于軟件重用,并提高其靈活性。在發(fā)布或使用bundle 前,首先需要注冊和獲取 bundle 所提供的服務。服務的注冊和獲取主要包括如下兩種方式 :

(1) 通過編碼的方式在 bundle激活器中完成 ;

(2) 使用聲明式服務的方式管理 bundle,由組件配置文件定義 bundle的服務接口以及插件倚賴。

相對于第一種方式,第二種方式具有更大的靈活性。本系統(tǒng)對插件的管理使用第二種方式,聲明式服務可以保證在服務接口不變的情況下,根據需要動態(tài)配置、升級、替換bundle,并在服務切換過程中無需重啟系統(tǒng),實現“熱插拔”。

在系統(tǒng)設計過程中,基于 Kura 框架設計實現了多個bundle 對原有服務進行擴展,包括 JMS 服務 bundle(JMS Service)、服務實現 bundle(JMS Service Implement)和 JMS服務支持 bundle(JMS bundle)。JMS Service 提供框架級別的服務,該服務注冊后可被其他 bundle 使用。JMS Service Implement 提供具體的服務實現,將接口與實現分離,對其他插件隱藏了服務實現的細節(jié),符合 OSGi 對模塊動態(tài)性和松耦合的要求。網關擴展 bundle 之間的依賴關系如圖 3 所示。

消息中間件在物聯網網關中的應用

不依賴框架的任何 bundle,是一個完全獨立的 bundle,它可以根據需要向外發(fā)布軟件包,供其他 bundle 進行功能調用。

以上三個 bundle 使用 OSGi 機制管理 bundle 的生命周期,實現服務的注冊和發(fā)布。JMS Service Implement 和 JMS Service bundle 還需要使用 Kura 框架提供的底層服務,如通過事件機制與其他 bundle 通信。

4 系統(tǒng)功能測試

系統(tǒng)測試環(huán)境包含兩塊樹莓派 3B 開發(fā)板,板上運行Raspbian 操作系統(tǒng),分別作為數據采集節(jié)點和網關,網關運行Apache ActiveMQ 5.13.0 消息中間件和網關管理軟件 Kura3.1,系統(tǒng)工作在 Internet 和 WiFi 網絡環(huán)境。測試環(huán)境硬件連接如圖 4 所示。

數據采集節(jié)點以 10 s 為周期采集環(huán)境的溫度數據,并以消息的形式發(fā)送到特定的主題或消息隊列中。網關節(jié)點啟動服務器消息中間件 ActiveMQ 和 Kura 管理軟件后,ActiveMQ將來自傳感器節(jié)點的消息保存在隊列中,Kura 的功能擴展插件讀取消息隊列消息,并由其他插件對數據進行分析處理。測試結果表明,系統(tǒng)實現了不同節(jié)點之間異構應用的集成。

消息中間件在物聯網網關中的應用

5 結 語

本文使用消息中間件實現了物聯網系統(tǒng)的異構集成,重點對 Kura 的服務功能進行了擴展,設計實現了面向服務的JMS bunble,部署到 OSGi 框架之上,使 Kura支持 JMS 消息通信。實驗結果表明,消息集成模式可以簡單有效地實現物聯網應用系統(tǒng)的異構集成,在保持原有節(jié)點功能不變的情況下,只需添加 JMS 功能模塊即可可靠地實現數據通信。但由于消息通信的時間延遲,只能在非實時的場景下應用。




本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內容真實性等。需要轉載請聯系該專欄作者,如若文章內容侵犯您的權益,請及時聯系本站刪除。
換一批
延伸閱讀

LED驅動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關鍵字: 驅動電源

在工業(yè)自動化蓬勃發(fā)展的當下,工業(yè)電機作為核心動力設備,其驅動電源的性能直接關系到整個系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動勢抑制與過流保護是驅動電源設計中至關重要的兩個環(huán)節(jié),集成化方案的設計成為提升電機驅動性能的關鍵。

關鍵字: 工業(yè)電機 驅動電源

LED 驅動電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個照明設備的使用壽命。然而,在實際應用中,LED 驅動電源易損壞的問題卻十分常見,不僅增加了維護成本,還影響了用戶體驗。要解決這一問題,需從設計、生...

關鍵字: 驅動電源 照明系統(tǒng) 散熱

根據LED驅動電源的公式,電感內電流波動大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關鍵字: LED 設計 驅動電源

電動汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產業(yè)的重要發(fā)展方向。電動汽車的核心技術之一是電機驅動控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機驅動系統(tǒng)中的關鍵元件,其性能直接影響到電動汽車的動力性能和...

關鍵字: 電動汽車 新能源 驅動電源

在現代城市建設中,街道及停車場照明作為基礎設施的重要組成部分,其質量和效率直接關系到城市的公共安全、居民生活質量和能源利用效率。隨著科技的進步,高亮度白光發(fā)光二極管(LED)因其獨特的優(yōu)勢逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關鍵字: 發(fā)光二極管 驅動電源 LED

LED通用照明設計工程師會遇到許多挑戰(zhàn),如功率密度、功率因數校正(PFC)、空間受限和可靠性等。

關鍵字: LED 驅動電源 功率因數校正

在LED照明技術日益普及的今天,LED驅動電源的電磁干擾(EMI)問題成為了一個不可忽視的挑戰(zhàn)。電磁干擾不僅會影響LED燈具的正常工作,還可能對周圍電子設備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來解決L...

關鍵字: LED照明技術 電磁干擾 驅動電源

開關電源具有效率高的特性,而且開關電源的變壓器體積比串聯穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機重量也有所下降,所以,現在的LED驅動電源

關鍵字: LED 驅動電源 開關電源

LED驅動電源是把電源供應轉換為特定的電壓電流以驅動LED發(fā)光的電壓轉換器,通常情況下:LED驅動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關鍵字: LED 隧道燈 驅動電源
關閉