<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > EDA/PCB > 設計應用 > 基于ZigBee智能家居控制系統(tǒng)的設計

          基于ZigBee智能家居控制系統(tǒng)的設計

          作者: 時間:2016-10-16 來源:網(wǎng)絡 收藏

          隨著無線通信技術和物聯(lián)網(wǎng)技術的深入發(fā)展,將無線通信技術應用在控制領域今后的發(fā)展趨勢。目前控制系統(tǒng)主要采用的是有線通信方式。包括串口線、以太網(wǎng)、同軸電纜等。有線通信方式的優(yōu)點是技術成熟、傳輸可靠、速度快,但需要進行大量的布線工作,可擴展性差,成本也高。與其他短距離無線技術相比,基于技術的無線傳感網(wǎng)絡以其低復雜度、低成本、低功耗等特點成為了組建控制網(wǎng)絡的首選方案。本文針對現(xiàn)有的智能家居控制系統(tǒng)的發(fā)展現(xiàn)狀,提出了一種基于智能家居控制系統(tǒng)的。

          本文引用地址:http://www.ex-cimer.com/article/201610/308316.htm

          1 無線通信技術簡介

          ZigBee起初是由IEEE 802.15工作組提出的,并制定規(guī)范了IEEE 802.15標準。ZigBee是基于此標準規(guī)范的一種近距離、低復雜度、雙向無線通信技術,主要適合于自動控制和遠程控制領域,可以嵌入各種設備中。Zigbee技術有如下主要特點:

          1)低功耗:ZigBee由于傳輸速率低,并且支持休眠模式,因此具有低碳節(jié)能的效果。經(jīng)測試,在低耗電休眠模式下,用2節(jié)5號干電池可支持1個功能節(jié)點工作最長達24個月,由此在相同情況下,藍牙可工作1月左右,而WiFi工作時間僅有幾個小時,這是Zigbee的突出優(yōu)勢。

          2)低成本:由于ZigBee標準協(xié)議的大幅簡化,降低了對通信處理器的要求,僅需要8位處理器,主節(jié)點需要32 kB的RAM,子功能節(jié)點的4 kB的ROM即可,在很大程度上降低了芯片的成本費用。

          3)短時延:的響應速度非常快,從休眠狀態(tài)喚醒,進入工作狀態(tài)僅需15 ms,ZigBee各節(jié)點連接,進入網(wǎng)絡只需30 ms。相比較,藍牙需要3~10 s、WiFi需要3 s。

          4)數(shù)據(jù)傳輸速率低:只有10k字節(jié)/秒到250k字節(jié)/秒,專注于低傳輸應用。

          5)網(wǎng)絡容量大:每個ZigBee網(wǎng)絡最多可支持255個設備。

          2 系統(tǒng)的總體設計

          2.1 系統(tǒng)架構設計

          智能家居控制系統(tǒng)的設計主要包括基于網(wǎng)關服務器設計、基于ZigBee無線傳感網(wǎng)絡的組建、控制終端的設計,被控制終端節(jié)點的設計。系統(tǒng)的整體架構如圖1所示。

          基于ZigBee智能家居控制系統(tǒng)的設計

          為智能家居控制系統(tǒng)的控制中心,智能手機和LCD觸摸屏作為控制終端,智能手機通過WiFi接入ARM控制中心,智能手機實現(xiàn)遠程控制,LCD觸摸屏實現(xiàn)本地近程

          控制。ZigBee無線技術將被控終端組建成一個內(nèi)部無線局域網(wǎng)?;贏RM家庭內(nèi)部控制中心(家庭網(wǎng)關)接受來自遠程(智能手機)和本地(LCD觸摸屏)的控制指令,協(xié)調(diào)處理這些控制指令,來控制底層的家用設備。底層構建的基于ZigBee技術的無線局域網(wǎng)覆蓋燈光控制、窗簾控制、環(huán)境參數(shù)的采集、常用家電的控制。最終實現(xiàn)智能手機、LCD觸摸屏通過系統(tǒng)控制中心能實時協(xié)調(diào)控制基于ZigBee技術無線傳感網(wǎng)絡所覆蓋的常用家庭設備和采集環(huán)境參數(shù)。

          2.2 系統(tǒng)組網(wǎng)設計

          本系統(tǒng)是采用ZigBee無線技術組建的內(nèi)部局域網(wǎng)絡。ZigBee定義了兩種物理設備類型全功能設備FFD(Full Function Device)和精簡功能設備RFD(Reduced Function Devi ce)。FFD支持任何拓撲結(jié)構,可以充當網(wǎng)絡協(xié)調(diào)器(Network Coordinator),能和任何設備通信。RFD通常只用于星型網(wǎng)絡拓撲結(jié)構中,不能完成網(wǎng)絡協(xié)調(diào)器功能,且只能與FFD通信,兩個RFD之間不能通信。但它們的內(nèi)部電路比FFD少,因此實現(xiàn)相對簡單,也更節(jié)能。

          ZigBee網(wǎng)絡支持3種功能設備:網(wǎng)絡協(xié)調(diào)器(Network Coordinator)、網(wǎng)絡節(jié)點(Network Node)及IEEE節(jié)點(IEEENode)。前兩種都是FFD,可以與任何節(jié)點通信。IEEE節(jié)點是RFD。

          ZigBee有3種網(wǎng)絡拓撲結(jié)構:星型(star)、簇樹型(Cluster)和網(wǎng)狀網(wǎng)(MESH),具體采用哪種網(wǎng)絡拓撲結(jié)構,應考慮家庭網(wǎng)絡的實際情況。由于家庭電器設備分布在不同的房間,屋內(nèi)墻壁等障礙物多,因此通信信號會受到干擾,在綜合成本、靈活性、可靠性等多因素的考慮,本次智能家居控制系統(tǒng)采用星型(Star)拓撲方式,星型(Star)拓撲具有延時時間短、操作簡單等其他網(wǎng)絡拓撲結(jié)構沒有的優(yōu)點。星型(Star)拓撲結(jié)構如圖2所示。

          基于ZigBee智能家居控制系統(tǒng)的設計

          3 系統(tǒng)硬件設計

          系統(tǒng)控制中心()采用Samsung S3C2440處理器,采用外接DM9000以太網(wǎng)卡與USB WIFI模塊來接入以太網(wǎng)與WIFI網(wǎng)絡,通過串口控制ZigBee協(xié)調(diào)器,同時配置了觸摸屏支持本地觸摸界面操作。被控終端子節(jié)點主要由ZigBee子節(jié)點模塊、MCU控制單元與被控終端(燈光、窗簾、家電)組成。

          Atmega16單片機作為控制單元通過串口接受來自ZigBee子節(jié)點的控制指令并產(chǎn)生了相應的控制指令控制被控終端。ZigBee模塊的微控制器是采用TI公司的CC2530,該芯片與控制單元通過串口通信。LED調(diào)光驅(qū)動芯片采用的是P4115,它是一款連續(xù)電感電流導通模式的降壓恒流源,通過DIM引腳輸入占空比可調(diào)的PWM,便能輸出大小可調(diào)的橫流LED驅(qū)動電流,最大輸出電流可達1 A,最大能夠驅(qū)動25~30 W的LED。窗簾控制是采用步進電機,家電控制是采用紅外方式,溫度采集是采用ZigBee內(nèi)部集成的溫度傳感器。系統(tǒng)硬件框圖與被控子節(jié)點硬件框圖如圖3所示。

          基于ZigBee智能家居控制系統(tǒng)的設計

          4 系統(tǒng)的軟件設計

          4.1 服務器的設計

          基于ARM平臺的控制系統(tǒng)移植了Linux操作系統(tǒng),因此服務器的設計是基于Linux平臺的服務器的設計。由于Linux內(nèi)核代碼開源、內(nèi)核可裁剪,因此Linux成為嵌入式平臺操作系統(tǒng)的首先。Linux是類Unix系統(tǒng),它繼承了Unix強大的功能和極佳的穩(wěn)定性,并降低了對硬件環(huán)境的要求。由于Linux的設計者重新改寫了TCP/IP協(xié)議,因此Linux具有更為穩(wěn)定和靈活的網(wǎng)絡性能。

          服務器設計技術有很多,按使用的協(xié)議來分有TCP服務器和UDP服務器。按處理方式來分有迭代服務器和并發(fā)服務器。一個好的服務器,一般都是并發(fā)服務器。本系統(tǒng)也是設計成并發(fā)服務器。在客戶端朋艮務器模式中,將請求服務的一方稱為客戶(client),將提供某種服務的一方稱為(server)。本系統(tǒng)就是采用的這種客戶、服務器(C/S)模式。服務器接受來自客戶端的控制指令后通過串口寫相應的指令Zigbee協(xié)調(diào)器。服務器是應用select模型實現(xiàn)的TCP并發(fā)服務器,服務器軟件流程圖如圖4所示。

          基于ZigBee智能家居控制系統(tǒng)的設計

          4.2 被控終端軟件的設計

          被控終端主要由ZigBee子節(jié)點模塊、MCU控制單元與被控終端組成??刂平K端發(fā)送控制指令,經(jīng)過服務器通過Zigbee協(xié)調(diào)器轉(zhuǎn)發(fā)給相應的Zigbee子節(jié)點。Zigbee子節(jié)點通過串口寫相應的指令給Atmega16單片機,單片機分別實現(xiàn)特定的功能(控制燈光、家電、窗簾)??刂平K端單片機的工作流程圖如圖5所示。

          基于ZigBee智能家居控制系統(tǒng)的設計

          5 系統(tǒng)測試與分析

          5.1 基于ZigBee的組網(wǎng)測試

          基于ZigBee協(xié)議成功組建了一個星型網(wǎng)絡,一個協(xié)調(diào)器,3個子節(jié)點(網(wǎng)絡節(jié)點、IEEE節(jié)點)。協(xié)調(diào)器負責組建網(wǎng)絡,子節(jié)點接入網(wǎng)絡后實現(xiàn)與協(xié)調(diào)器之間通信。通過串口助手對協(xié)調(diào)器與網(wǎng)綹節(jié)點之間的數(shù)據(jù)收發(fā)進行了測試。子節(jié)點接受數(shù)據(jù)時網(wǎng)絡通信方式為廣播方式,協(xié)調(diào)器每隔100 ms發(fā)送一字節(jié)數(shù)據(jù)給網(wǎng)絡節(jié)點。協(xié)調(diào)器接受數(shù)據(jù)時,網(wǎng)絡通信方式為點播方式,節(jié)點每隔100 ms向網(wǎng)絡協(xié)調(diào)器發(fā)送一字節(jié)數(shù)據(jù)。測試結(jié)果如表1所示。

          基于ZigBee智能家居控制系統(tǒng)的設計

          5.2 系統(tǒng)的聯(lián)合測試

          啟動Mini2440系統(tǒng)板(系統(tǒng)控制中心)并運行服務器程序和QT界面控制程序,啟動ZigBee協(xié)調(diào)器和子節(jié)點并連接與子節(jié)點相連接的被控終端,啟動客戶端程序。整個系統(tǒng)能穩(wěn)定協(xié)調(diào)運行。服務器能準確接收來自客戶端所發(fā)送的控制指令并寫相應的指令到與Mini2440開發(fā)板串口相連接的ZigBee協(xié)調(diào)器。

          基于ZigBee智能家居控制系統(tǒng)的設計

          服務器運行情況如圖6所示。QT界面程序能實現(xiàn)對常用設備的本地控制,QT控制界面如圖7所示。主控制界面如圖7(a)所示,燈光控制界面如圖7(b)、家電控制界面如圖7(c)

          所示。

          基于ZigBee智能家居控制系統(tǒng)的設計

          6 結(jié)論

          本文基于ZigBee無線通信技術、以ARM處理器為控制中心提出了一種智能家居的整體架構和。在ARM平臺上搭建一個并發(fā)服務器和一個QT界面程序。能協(xié)調(diào)接受來自智能手機和LCD觸摸屏發(fā)來的控制指令并且正確控制相應的被控終端。達到了智能家居控制系統(tǒng)控制智能、方便、可擴展性好等優(yōu)點。通過實際測試系統(tǒng)比較穩(wěn)定,人機界面友好,達到了設計要求。由于篇幅有限相關基于安卓平臺的客戶端程序的開發(fā)、組網(wǎng)設計、終端設計等技術細節(jié)就沒敘述。



          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();