《電子技術應用》
您所在的位置:首頁 > 通信與網絡 > 設計應用 > 基于ZigBee的空調集中控制系統
基于ZigBee的空調集中控制系統
來源:微型機與應用2013年第8期
王為亮,陶加祥,張萬超,李 驥
(中國地質大學 機電學院,湖北 武漢430074)
摘要: 為了對已安裝在多個分散點的混雜品牌空調進行統一高效管理,節約空調運行成本,提出了一種新穎的空調集中控制方案。首先給出了系統總體設計框圖,然后依次對系統的各子模塊進行論述。本設計方案的核心工作有兩點,一是解決紅外遙控器的碼型識別問題,二是描述空調集中控制系統的具體工作過程和實現方法。
Abstract:
Key words :

摘  要: 為了對已安裝在多個分散點的混雜品牌空調進行統一高效管理,節約空調運行成本,提出了一種新穎的空調集中控制方案。首先給出了系統總體設計框圖,然后依次對系統的各子模塊進行論述。本設計方案的核心工作有兩點,一是解決紅外遙控器的碼型識別問題,二是描述空調集中控制系統的具體工作過程和實現方法。
關鍵詞: 學習型遙控器;ZigBee;空調集中控制;嵌入式系統

    在使用多個獨立空調而非中央空調的場所,對多個位置分散、品牌型號混雜的獨立空調進行集中而靈活的控制,可提高管理的便捷性且節省能源。目前,市面上已經出現了針對普通家庭使用的學習型萬能遙控器。但這種遙控器只是將多個遙控器的功能整合到一個遙控器上,無網絡功能,且需手工操作,不適合多人同時使用的場合。本文提出的空調集中控制方案以精確性、實用性、學習性和可擴展性為設計理念。方案將網絡功能與數據庫技術應用于嵌入式控制方案,提高了系統的靈活性和可擴展性。文章主要介紹了系統總體結構及各子模塊的實現方法,對紅外編碼學習和數據庫技術運用進行了詳細研究。
1 系統總體方案
    集中控制系統的根本目的是將原遙控器所發出的紅外信號進行解調,獲得原遙控器功能鍵所對應的調制信號,然后根據這些調制信號,加上相配套的載波,再調制出原遙控器功能按鍵所發出的已調信號,最后通過該已調信號來控制空調而不使用原來的遙控器。基于上面的思路,設計了如圖1所示的系統總體結構。
    在圖1中,學習模塊的作用是對原遙控器進行學習,并判斷學習是否正確,如果學習正確就將解調出的信息進行緩存,然后學習模塊通過與集中控制模塊進行通信將其緩存數據存儲在集中控制模塊。學習模塊并不總是系統必需的部分,在學習完成后,可以將其從系統中移除。

    集中控制模塊是系統的核心,它由以ARM為核心的SoC以及一個ZigBee協調者(ZC)組成,可以響應用戶的本地操作和網絡操作。集中控制模塊的主要任務是進行數據存儲、數據查詢和數據發送,這些功能主要由SoC來完成,ZigBee協調者負責與所有的單控制模塊進行通信。單控制模塊的作用是接收集中控制模塊發送過來的數據包,從數據包中提取出調制碼,再控制紅外發射電路發送紅外信號。

 


    相應于圖1,圖2給出了系統運轉時的總框圖,以數據流向和工作流程為依據。

2 學習模塊
2.1 碼型識別

    在學習過程中,碼型識別是重點也是難點。紅外遙控的編碼方式紛繁復雜,從調試方式可分為調制碼和脈沖碼,從數據表示法可分為碼寬表示和相位表示,另外每種碼型的數據碼組合方式、引導碼、重復碼定義都有所不同[1]。
    根據前面所提到實用性原則,排除邊緣功能鍵的學習而只對核心功能鍵(例如開、關、制冷、輔熱、溫度加、溫度減功能鍵)進行學習是很好的選擇。這樣可以盡量避開對重復碼、翻轉碼的學習,減少按鍵學習數量和降低學習復雜性。另外,如果核心功能按鍵要涉及到重復碼、翻轉碼的學習,可以利用原遙控器提供的交互性界面來作為輔助。
    各廠商紅外編碼協議的不同給碼型識別帶來了很大的困難。編碼中對數據0和1的表示多種多樣,更有甚者并不直接表示0和1。例如用4種不同波形來表示00、01、10、11這4種組合。由此可見,在學習過程中識別0、1是很困難的。
    如果對0、1不加判別,而只是分別測量學習高低電平時間,則不管學習過程還是發射過程都要簡單得多[1]。下面是一個說明這一學習過程的例子。
    圖3中的已調紅外信號,數據0由528 μs的低電平加上527 μs的低電平表示,數據1由528 μs的低電平加上1 582 ?滋s的低電平表示??梢杂嬎愠鲈撔盘柍掷m時間為42 ms?,F在以“電平類別+持續時間+電平類別+持續時間+電平類別+ …”的方式來對它進行重新編碼(其中0表示低電平,1表示高電平,持續時間是相應電平保持的時長),則對圖3的信號重新編碼為:    1+8440+0+4220+1+528+0+527+1+528+0+527+1+528+0+527+1+528+0+1582+1+528+0+1582+1+528+0+527+1+528+0+1582+1+528+0+1582+1+528+0+4220+1+528+0+1582+1+528+0+527+1+528+0+527+1+528+0+527+1+528+0+1582+1+528+0+527+1+528+0+1582+1+528+0+527+1+528

    上面的編碼若用字符串來表示,要占用296個字符的空間,即296 B??梢钥闯鲞@種編碼將耗費更多的存儲空間,并且對于發碼結束的判斷也存在難點。在前文提到,本方案將重新編碼的數據先進行緩存,最后還要存入存儲容量足夠大的集中控制模塊,所以對于存儲空間的問題可以得到解決。對于發碼結束判斷的問題,本文提出“飽和截尾校正法”。該方法的解釋如下:在學習過程中,對碼的學習時間盡量延長,目的是確保學習一定完成。由于學習后要驗證碼型識別的正確性,驗證的過程中可以截去冗余的編碼信息。測試編碼時,在保證碼的學習正確的前提下,從后往前逐步刪除已經正確學習的編碼的尾部,直到編碼不能再執行正確控制功能,此時完成學習。
2.2 學習的流程
    圖4是對一個遙控器進行學習的過程。每一個遙控器的調制方式只需在最初判斷一次,對于每一個要學習的按鍵,先學習后測試,然后再存入單片機的ROM,當所有要學習的按鍵學習完后,再將單片機中ROM的內容一次性讀入ARM的ROM中進行存儲。考慮到單片機ROM的大小,學習完一個遙控器就進行清空。

3 集中控制模塊
    集中控制模塊是系統的核心,它由一個 ZigBee模塊和一個基于ARM的SoC組成,系統依靠它進行自動控制。
3.1 ZigBee模塊
    ZigBee是一種基于IEEE802.15.4標準的無線通信協議。根據該協議可以提供短距離、低功耗的無線通信技術。ZigBee技術具有功耗低、可靠性和安全性高、網絡容量大、成本低等特點,它的通信距離在100 m左右。
    ZigBee可以形成星形、樹形和網狀網絡,這些網絡結構由ZigBee協調器(ZC)、ZigBee路由器(ZR)和ZigBee終端結點(ZE)這3種結點類型組成。本設計方案使用星形拓撲結構。星形網絡由一個協調器與多個全功能設備(FFD)或精簡功能設備(RFD)組成,在該網絡結構中,只有協調器與終端設備間才存在直接的通信。
    ZigBee協議棧建立在IEEE802.15.4的PHY層和MAC子層協議之上。它另外實現了網絡層(NWK)和應用層(APL)。在應用層內提供了應用支持子層(APS)和 ZigBee設備對象(ZDO)。應用框架中則加入了用戶自定義的應用對象[2]。本設計方案主要是利用ZigBee網絡來傳送控制命令,在傳送過程中要用到ZigBee協議,在編程中主要關注的是協議棧中的應用層。
3.2 基于ARM的SoC
    ARM是一款功能強大的處理器,以它為核心擴展而成的片上系統(SoC)可以移植多種嵌入式操作系統,因而可以提供強大的軟件功能。ARM模塊是ZC和學習模塊的橋梁。
    為了實現數據的方便管理和集中控制,可以向ARM板中移植sqlite。sqlite是一款使用廣泛的開源數據庫軟件,它占用資源少,便于移植。sqlite使用類似于sql的結構化查詢語言,支持5種存儲類型:空值(NULL)、無符號整型(INTEGER)、浮點型(REAL)、文本字符串(TEXT)和存儲Blob數據(BLOB),這些存儲類型完全滿足需求。為了對所有空調進行管理,建立ac_type表、ac_name表和ac_type_function系列表來存儲數據。ac_type表用來表示所有同類型空調的公共信息,ac_type_function表則是存儲每一種不同類型遙控器被學習的功能鍵所對應的編碼信息,ac_name表用來描述每一個空調的基本信息。數據表的構建很靈活,可以方便地刪除、添加和修改數據表,而數據庫中表的相應變化與空調的變化相對應。為了直觀形象地說明數據如何存儲,給出了3個具體的表加以說明,如表1~表3所示。

    表1中的編碼字段是由學習模塊和原遙控器發出的紅外信號進行解調再編碼形成的字符串。表2中的調制方式字段記錄遙控器所使用的是何種類型的調制方式。表3對每一個空調的信息進行了詳細的記錄,地址字段對應每一個ZigBee芯片的MAC地址,通過ZigBee芯片的MAC地址可以唯一定位空調。
    當要控制某一個或多個空調時,具體的方法是先要對數據庫進行查詢,然后讀出所需要的字段數據,接著要對數據進行“組合”。如要關掉一個空調,先要進行一系列的查詢,查詢完后可得出組合字符串格式“地址+載波頻率+調制方式+編碼”。這些數據將通過ZigBee協議進行封裝,單控制模塊正是通過這些數據還原原遙控器紅外信號。
    向ARM SoC中移植開源的Web服務器即可將其構建成一個小型服務器,從而可以響應用戶從網絡中發來的控制請求。結合數據庫技術,集中控制系統可實現“軟件化控制”,使得控制動作、方式、權限和個性化可靈活定做。不僅實現集中化控制,并且可以因個人而靈活使用。
3.3 數據封裝
    當應用程序需要發送數據時,將通過應用支持子層(APS)數據實體發送數據請求到APS,下面的每一層都會為數據附加相應的幀頭,組成要發送的幀信息[3]。圖5顯示了在ZigBee協議中數據是如何層層封裝的。
    在分層的通信協議中,層與層之間通過服務接入點(SAP)相連接。SAP是層與層之間的唯一接口,其具體的服務以通信原語的形式供上層調用。在上層調用下層服務時,只要遵循統一的原語規范,并不需要去了解如何處理原語,這樣就做到了數據層與層之間的透明傳輸[4]。

4 單控制模塊
      單控制模塊中ZE負責接收和解封裝ZC發送過來的數據包,單片機的工作就是根據解封裝出來的數據信息控制紅外發射電路。
      單控制模塊中的所有ZE與集中控制系統中的ZC形成星形網絡,每一個空調與一個ZE相對應。圖6中左邊的流程是集中控制模塊向單控制模塊發送數據包的過程。ARM中的主控程序接受用戶操作請求,根據用戶命令查詢數據庫,獲得要控制空調的記錄信息,記錄信息經層層封裝成幀,通過ZC發送到相應的ZE。右邊的流程是單控制模塊發送紅外控制信號的過程,ZE接收到數據,在應用層對它進行解析,得到想要的數據,然后由單片機對編碼進行調制,從而產生調制的紅外控制信號。

    本文提出的空調集中控制方案具有很好的兼容性、實用性和擴展性。另外它還可以很好地適應物聯網的發展,如果空調廠商在空調內置ZigBee模塊,那么這種無線的集中控制方案硬件設計將會更加精簡,并且實現預定的功能將更加方便。
參考文獻
[1] 顧曉紅.學習型遙控器中的碼型識別[J].電子與封裝,2009,9(10):42-43.
[2] ONDREJ S,ZDENEK B,PETR F,et al.ZigBee technology and device design[C].Networking,International Conference  on Systems and International Conference on Mobile Communications and Learning Technologies,2006.
[3] 章偉聰,俞新武,李忠成.基于CC2530及ZigBee協議棧設計無線網絡傳感器節點[J].計算機系統應用,2011,20(7):186-189.
[4] 賴聯有.ZigBee協議分析及其實現[J].齊齊哈爾大學學報,2010,26(1):50-53.

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 美女黄色免费在线观看 | 综合激情文学 | 免费一级特黄特色大片∵黄 | 国产一级淫片免费播放 | 亚洲色图欧美 | 日韩伦理网在线视频 | 狠狠躁夜夜躁人人躁婷婷视频 | 麻豆精品国产剧情在线观看 | 成人a视频高清在线观看 | 国产成人深夜福利短视频99 | 欧美a级在线 | 国产私人影院 | 国产成人久久精品麻豆二区 | 午夜看片网站 | 中国黄色片视频 | xx网址| 日本一区二区三区免费在线观看 | 亚洲天堂网站在线 | 91探花福利精品国产自产在线 | 免费综合网 | 久久久久国产精品免费看 | 欧美专区在线观看 | 亚洲成人免费网址 | 天天骑天天干 | 黄色激情在线 | h片在线播放 | 精品国产一区在线观看 | 欧美在线视频精品 | 中文字幕日韩国产 | 一个人看的在线www片高清 | 成人免费观看视频久爱网 | 快播制服丝袜 | 成人国产精品高清在线观看 | 日韩深夜 | 成人国产永久福利看片 | 在线免费观看黄色片 | 日本韩国一区二区三区 | 男女污污无遮挡免费观看 | 一级毛片在线免费观看 | 亚洲视频欧美视频 | 一级特黄录像免费播放中文版 |