999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

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

2018-12-12 08:15:44李松濤尹清爽
物聯網技術 2018年12期
關鍵詞:功能服務系統

李松濤,尹清爽

(河南工程學院 計算機學院,河南 鄭州 451191)

0 引 言

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

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

1 相關技術介紹

1.1 Kura開源網關框架

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

1.2 ActiveMQ消息服務

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

2 系統框架設計

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

圖1 系統架構

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

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

3 主要功能的設計與實現

3.1 傳感器節點

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

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

圖2 傳感器節點程序流程圖

3.2 網關JMS插件實現

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

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

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

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

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

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

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

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

圖3 網關擴展bundle之間的依賴關系

JMS bundle封裝與ActiveMQ通信的基礎類,該bundle不依賴框架的任何bundle,是一個完全獨立的bundle,它可以根據需要向外發布軟件包,供其他bundle進行功能調用。

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

4 系統功能測試

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

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

圖4 測試環境硬件連接

5 結 語

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

猜你喜歡
功能服務系統
也談詩的“功能”
中華詩詞(2022年6期)2022-12-31 06:41:24
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
服務在身邊 健康每一天
今日農業(2019年12期)2019-08-15 00:56:32
服務在身邊 健康每一天
今日農業(2019年10期)2019-01-04 04:28:15
服務在身邊 健康每一天
今日農業(2019年16期)2019-01-03 11:39:20
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
招行30年:從“滿意服務”到“感動服務”
商周刊(2017年9期)2017-08-22 02:57:56
關于非首都功能疏解的幾點思考
主站蜘蛛池模板: 2019年国产精品自拍不卡| 午夜小视频在线| 蜜臀av性久久久久蜜臀aⅴ麻豆| 亚洲青涩在线| 凹凸精品免费精品视频| 大香网伊人久久综合网2020| 亚洲第一成年网| 99热这里只有精品免费| 欧美日韩一区二区在线免费观看| 91国内在线观看| 国产国产人成免费视频77777 | 国产精品亚洲天堂| 国产精品亚洲一区二区三区在线观看| 亚洲精品成人片在线观看| 一区二区影院| 72种姿势欧美久久久大黄蕉| 在线国产91| 日韩精品欧美国产在线| 亚洲妓女综合网995久久| 亚洲一区二区无码视频| 亚洲欧美日韩动漫| 人妻无码中文字幕第一区| 伊人色在线视频| 欧美色99| 欧美日韩综合网| 欧洲在线免费视频| 精品丝袜美腿国产一区| 伊人福利视频| 国产偷国产偷在线高清| 亚洲一级毛片免费看| 国产va在线观看| 欧美午夜小视频| 久久精品国产精品国产一区| 成人福利在线视频| 国产 在线视频无码| 亚洲码一区二区三区| 操美女免费网站| 中文字幕亚洲精品2页| 色婷婷狠狠干| 第一页亚洲| 伊人久久久久久久久久| 亚洲成av人无码综合在线观看| 国产熟女一级毛片| 久久www视频| 丁香五月亚洲综合在线| 日本www色视频| 欧美日韩中文国产va另类| 欧美国产菊爆免费观看| 国产精品无码久久久久AV| 国产主播喷水| 视频在线观看一区二区| 欧美午夜在线视频| 中文精品久久久久国产网址| 亚洲欧美人成人让影院| 国产亚洲精| 自拍亚洲欧美精品| 国产成人精品一区二区三在线观看| 国产成人艳妇AA视频在线| 91精品国产情侣高潮露脸| 国产一区在线观看无码| 九九热在线视频| 国产69精品久久| 狠狠色噜噜狠狠狠狠色综合久| 爱爱影院18禁免费| 久久精品这里只有国产中文精品| 国产亚洲视频免费播放| 丰满的熟女一区二区三区l| 亚洲无线国产观看| 中文字幕 日韩 欧美| 国产在线视频自拍| 亚洲国产一成久久精品国产成人综合| 2021最新国产精品网站| 中文字幕亚洲另类天堂| 77777亚洲午夜久久多人| 首页亚洲国产丝袜长腿综合| 国产成人综合日韩精品无码首页| 国产经典免费播放视频| 欧美三级视频网站| 日韩午夜福利在线观看| 国产精品偷伦视频免费观看国产| 五月激情婷婷综合| 成人福利在线视频|