<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 手機與無(wú)線(xiàn)通信 > 設計應用 > 多個(gè)Zigbee監測網(wǎng)絡(luò )遠程監控的實(shí)現

多個(gè)Zigbee監測網(wǎng)絡(luò )遠程監控的實(shí)現

作者:李強 時(shí)間:2008-07-31 來(lái)源:微計算機信息 收藏

  1.概述

本文引用地址:http://dyxdggzs.com/article/86468.htm

  基于標準的技術(shù)是一種短距離、低速率無(wú)線(xiàn)網(wǎng)絡(luò )技術(shù)。其低功耗、易部署等特性,使它在無(wú)線(xiàn)監控、工業(yè)自動(dòng)化、家居智能化等領(lǐng)域成了應用研究的熱點(diǎn)。

  結合IP網(wǎng)絡(luò )技術(shù),可方便地實(shí)現對監測網(wǎng)絡(luò )的遠程監控。通常的實(shí)現方式是在兩種異質(zhì)網(wǎng)絡(luò )的結合點(diǎn)(網(wǎng)關(guān)節點(diǎn))上實(shí)現一個(gè)嵌入式的WebServer。對于多個(gè)監測網(wǎng)絡(luò ),這種實(shí)現方式在集中監管上存在一定的困難。

  本文給出了利用IBM的消息中間件技術(shù),對多個(gè)Zigbee監測網(wǎng)絡(luò )進(jìn)行遠程集中管理的實(shí)現方法。

  2.IBM中間件

  IBM的WebSphere消息中間件產(chǎn)品,根據功能、應用對象的不同有不同的版本。WebSphere Connection Server Micro Edition,稱(chēng)為微型消息代理,主要用于嵌入式的應用,使用MQTT通信協(xié)議。

  MQTT是IBM開(kāi)發(fā),在2001年發(fā)布的一個(gè)開(kāi)放、輕型的消息傳輸協(xié)議,專(zhuān)門(mén)用于遠程傳感應用等低帶寬的網(wǎng)絡(luò )通信,并支持發(fā)布/訂閱消息傳遞模式。

  消息中間件系統的基本元素是客戶(hù)端、消息和消息代理。在發(fā)布/訂閱消息傳遞模式中,發(fā)布者和訂閱者是客戶(hù)端,通過(guò)連接到消息代理在網(wǎng)絡(luò )中傳遞數據。發(fā)布者向消息代理發(fā)送特定主題的消息,訂閱者向消息代理訂閱特定主題的消息,發(fā)布者和訂閱者之間的連接由消息代理管理。當消息代理收到發(fā)布提供的消息后,由它向訂閱者傳遞所訂閱的消息。

  3.實(shí)現原理

  采用中間件技術(shù)后,整個(gè)系統結構由兩層結構變成了三層結構,如圖1所示。


圖1系統結構

  底層為多個(gè)Zigbee監測網(wǎng)絡(luò ),負責監測數據的采集。每個(gè)Zigbee監測網(wǎng)絡(luò )有一個(gè)網(wǎng)關(guān)節點(diǎn)和若干的數據采集節點(diǎn)。監測網(wǎng)絡(luò )采用星型結構,網(wǎng)關(guān)節點(diǎn)作為每個(gè)監測網(wǎng)絡(luò )的基站。網(wǎng)關(guān)節點(diǎn)具有雙重功能,一是充當網(wǎng)絡(luò )協(xié)調器的角色,負責網(wǎng)絡(luò )的自動(dòng)建立和維護、數據匯集;二是作為監測網(wǎng)絡(luò )與中間層交互的接口,與中間層的消息代理傳遞消息。

  中間層為消息代理,完成消息的路由功能。分別接收管理應用、網(wǎng)關(guān)節點(diǎn)發(fā)來(lái)的消息,然后進(jìn)行轉發(fā),使管理應用與監測網(wǎng)絡(luò )的網(wǎng)關(guān)間實(shí)現數據交互。

  上層為管理應用,作為人機接口,實(shí)時(shí)顯示各個(gè)Zigbee監測網(wǎng)絡(luò )的監測數據;接收用戶(hù)的各種設置參數和控制命令。

  網(wǎng)關(guān)節點(diǎn)與管理應用間的數據傳遞是雙向的,即網(wǎng)關(guān)節點(diǎn)接收到數據采集節點(diǎn)發(fā)來(lái)的監測數據后,預處理后形成消息發(fā)給消息代理,由消息代理轉給管理應用;管理應用收到用戶(hù)的設置參數或控制命令后,形成消息傳遞給消息代理,再由消息代理發(fā)給網(wǎng)關(guān)節點(diǎn)。所以,它們即是消息的提供者,也是消息的使用者。

  發(fā)布/訂閱模型允許多個(gè)消息提供者向同一主題發(fā)布消息。因此,多個(gè)Zigbee監測網(wǎng)絡(luò )通過(guò)其網(wǎng)關(guān)節點(diǎn)分別連接到消息代理,向同一主題發(fā)布有關(guān)監測數據的消息。管理應用通過(guò)訂閱同一個(gè)主題,就能獲得所有監測網(wǎng)絡(luò )的監測數據。

  另外,發(fā)布/訂閱模型還允許多個(gè)消息使用者訂閱同一個(gè)主題,消息代理會(huì )向不同的訂閱者廣播。因此,不同網(wǎng)關(guān)節點(diǎn)訂閱同一主題后,管理應用只需向消息代理發(fā)送一條控制命令,多個(gè)監測網(wǎng)絡(luò )的網(wǎng)關(guān)節點(diǎn)就能收到同一條控制命令。

  4.  具體實(shí)現

  4.1. 與消息代理間的消息傳遞

  通過(guò)MQTT協(xié)議實(shí)現管理應用、監測網(wǎng)絡(luò )中網(wǎng)關(guān)節點(diǎn)與中間層消息代理間的數據傳輸。

  首先需要對中間層的消息代理進(jìn)行配置,主要包括:創(chuàng )建連接工廠(chǎng)、創(chuàng )建主題、創(chuàng )建激活規范等。

  在消息代理上需要創(chuàng )建兩個(gè)主題,一個(gè)用于傳遞監測數據,一個(gè)用于傳遞控制命令。不同監測網(wǎng)絡(luò )的網(wǎng)關(guān)節點(diǎn)向監測數據主題提供消息,管理應用訂閱監測數據主題。管理應用向控制命令主題提供消息,不同的網(wǎng)關(guān)節點(diǎn)訂閱控制命令主題。

  網(wǎng)關(guān)節點(diǎn)、管理應用作為客戶(hù)端,還需要編寫(xiě)專(zhuān)門(mén)的消息收、發(fā)送模塊。雖然它們運行平臺不同,網(wǎng)關(guān)節點(diǎn)運行于嵌入式設備的Linux環(huán)境,管理應用運行于臺式機的Windows環(huán)境,但它們實(shí)現的步驟和原理是一樣的。用MQTT庫實(shí)現消息的發(fā)布和訂閱模塊,主要包括以下幾個(gè)部分。

  一、連接 MQTT

  1) 生成連接字符串:指定消息代理主機的IP地址和MQTT分配的端口號,端口號缺省值為 1883;

  2) 設置連接屬性,包括客戶(hù)機的標識、訂閱類(lèi)型、發(fā)送活動(dòng)消息的間隔時(shí)間;

  3) 創(chuàng )建 MQTT 客戶(hù)機對象。

  二、向代理發(fā)布信息

  直接使用MQTT 提供的API函數publish,需要提供主題、消息、服務(wù)質(zhì)量等參數。

  三、向代理訂閱消息

  訂閱是由 MQTT 對象處理的,要求有兩個(gè)數組參數。分別是訂閱主題數組、服務(wù)質(zhì)量數組。這兩個(gè)數組是“索引關(guān)聯(lián)的”。

  主題數組是一個(gè)字符串對象數組,主題按層次結構排列,并且通過(guò)“/”字符分隔。


  服務(wù)質(zhì)量數組是一個(gè)整數類(lèi)型的數組。服務(wù)質(zhì)量的值可以為 0、1 和 2,根據具體的應用設置。通常將服務(wù)質(zhì)量的值置為2,使消息僅傳遞一次,以減少傳輸開(kāi)銷(xiāo)。

  四、接收來(lái)自代理的消息

  要使應用能接收到訂閱的消息,必須創(chuàng )建一個(gè)回調處理函數,并且在MQTT客戶(hù)端注冊。

  用MqttSimpleCallback 接口創(chuàng )建簡(jiǎn)單接口的對象,并實(shí)現connectionLost 和 publishArrived兩個(gè)方法。

  當與代理的連接意外終止時(shí),就調用 connectionLost 方法。如果出現這種情況,則此方法試圖重新連接到代理。如果 connectionLost 方法無(wú)法重新連接,則會(huì )拋出異常來(lái)通知客戶(hù)機重新連接失敗。

  publishArrived 方法通知系統訂閱主題的消息已到達客戶(hù)端。

 


上一頁(yè) 1 2 下一頁(yè)

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>