摘要:結合電力線載波通信技術的發(fā)展狀況,提出了基于電力線載波通信技術的智能家居系統(tǒng)設計方案;詳細地闡述了該系統(tǒng)的總體框架設計、遠程終端系統(tǒng)軟件設計以及嵌入式μC/OS系統(tǒng)控制器的硬件設計和軟件設計。系統(tǒng)的實驗檢測結果表明,該方案能夠靈活、快捷地實現對家居設備的控制,而且成本較低。
關鍵詞:電力線載波;μC/OS實時操作系統(tǒng);ARM7微處理器;智能家居;Android系統(tǒng)
引言
電力線通信(Power Line Communication)技術是指把載有信息的高頻加載于電流,利用既有電力線進行傳輸,通過調制解調器將高頻信號從電流中分離出來,傳送給計算機或其他信息家電,以實現信息傳遞。
利用電力載波通信技術,系統(tǒng)網絡無需另外布線,降低了成本。電力網是覆蓋范圍zui大的網絡,只要是接入電力線的電力設備就能進行通信。每個導電插座都是網絡的接入點,數目多而且比較方便。無需撥號,只要導電就能接入網絡,具有靈活、方便、速率快等優(yōu)點,適合對家庭設備的控制和監(jiān)控。
1、智能家居控制系統(tǒng)方案
智能家居控制系統(tǒng)控制和監(jiān)視著家庭中各種設備的運行,如空調、微波爐等設備的開關及工作狀態(tài)的調節(jié)。本文綜合
智能家居系統(tǒng)的功能和要求,研究了一套基于電力線通信的智能家居控制系統(tǒng)方案,系統(tǒng)總體結構如圖1所示。
該控制系統(tǒng)主要分上層網絡和底層網絡兩個部分。底層網絡是指家庭內部的電力線網絡,將家中的所有家電、照明設備、各種報警探頭和水表等設備通過電力線終端連接到住宅中的220V電力線上,繼而通過μC/OS系統(tǒng)控制器,構成基于電力線載波的家庭內部網絡,用以實現家庭各種開關設備、電器設備以及各種儀器儀表的控制。上層網絡是指家庭內部網絡與外部以太網的連接,家庭內部網接入以太網以實現設備數據的存儲、PC端和手機終端的遠程控制和Android監(jiān)控功能。
μC/OS控制器是整個系統(tǒng)的控制核心,主要有現場控制和遠程控制兩種方式。現場控制時,通過人機交互界面,實現設備控制和信息顯示。遠程控制時,通過以太網與遠程PC機服務器建立連接,接收發(fā)來的各種控制和查詢命令,并通過電力線將這些命令傳送到控制節(jié)點,控制相應的設備執(zhí)行動作。μC/OS系統(tǒng)控制器還能夠監(jiān)測各控制節(jié)點的狀態(tài),家庭中的設備定時向μC/OS系統(tǒng)控制器發(fā)送狀態(tài)信息,如發(fā)現故障或者不正常的操作時,控制器將做一些緊急的處理,如關閉電源等,并發(fā)出故障報警信號給服務器,通過服務器將報警信號轉發(fā)給遠程Android手機終端。
家庭內部設備通過控制節(jié)點連接到220V電力線上??刂乒?jié)點不但能夠實現對電器設備的本地控制,還能接收μC/OS系統(tǒng)控制器發(fā)來的控制命令,根據編碼地址控制對應地址的設備發(fā)生動作。每個家電、設備、儀表都有自己*的地址來標識,從而保證控制的*性。各控制節(jié)點對從電力線傳過來的載波信號進行解析和地址判定。若地址與本節(jié)點所連設備相符,則執(zhí)行機構執(zhí)行相應命令,繼電器進行吸合或者釋放動作,實現對目標的開/關控制,同時返回目標的開/關狀態(tài)??刂乒?jié)點還可以向μC/OS系統(tǒng)控制器上傳所采集設備實時狀態(tài),如開/關狀態(tài)、電壓、電流等,同時還會定時上傳各種儀表的實時采集信息。
在μC/OS系統(tǒng)控制器和各控制節(jié)點上都內嵌有電力線載波通信模塊,它們之間通過電力線載波通信模塊進行通信。它們承擔系統(tǒng)的模擬量、脈沖量和開關量采集任務。戶內的溫度控制器、水浸控制器等設備中加裝的模塊進行模擬量采集,控制節(jié)點處的電力線載波通信模塊將輸入的模擬量轉換為電平信號,以0、1數字量通過單片機寫入數字幀,再經調制解調芯片轉換為載波信號,通過電力線發(fā)送給μC/OS系統(tǒng)控制器處的電力線載波通信模塊。采用類似原理,將接收的載波信號解調出數字幀,還原為數字量發(fā)給μC/OS系統(tǒng)控制器。各種開關設備以及模擬量上傳設備均通過該原理實現。
2、μC/OS系統(tǒng)控制器硬件設計
2.1系統(tǒng)控制流程
μC/OS系統(tǒng)控制器和控制節(jié)點內部均有電力線載波通信模塊,兩者通過該模塊進行通信。控制節(jié)點處的載波通信模塊把從家庭設備中采集到的開關量、模擬量處理后通過電力線傳輸到控制器的載波通信模塊,經過解調處理后還原為初始信號,再通過串口發(fā)送給μC/OS系統(tǒng)控制器,進行相應的數據處理。同樣,μC/OS控制器向下發(fā)送控制命令時,先通過控制器上的載波通信模塊進行調制、處理,再經過控制節(jié)點的載波通信模塊進行解調轉換后再發(fā)送給相應的設備,實現控制。
2.2硬件結構
μC/OS系統(tǒng)控制器采用ARM7TDMI內核的微控制器,外接電源模塊、電力線載波通信模塊、GPRS無線收發(fā)模塊、LCD模塊、觸摸屏模塊、Flash模塊等,硬件模塊結構示意圖如圖2所示。
2.3微控制器
微控制器是系統(tǒng)的主控點,向下通過電力線載波通信模塊與各控制節(jié)點進行通信,實現家庭內部網的本地監(jiān)控;向上通過GPRS無線收發(fā)模塊與局域網相連,進而通過以太網與遠程主機連接起來,實現了系統(tǒng)的遠程監(jiān)控功能。微控制器采用Atmel公司的AT91RM40008芯片,一款基于ARM7TDMI內核的32位控制器,工作頻率為66MHz,其片內集成了256KBRAM,可以將代碼直接運行在片內RAM上,使得應用程序的設計可以采用任務查詢方式,增強了系統(tǒng)的穩(wěn)定性。兩個全雙工通用同步/異步收發(fā)器(UART)與外圍控制器PDC連接,整段數據交給硬件自動收發(fā)處理,比單字節(jié)處理大大減輕系統(tǒng)處理壓力,保證了系統(tǒng)的實時性。電路圖略——編者注。
2.4LCD模塊
μC/OS系統(tǒng)控制器界面顯示采用7寸LCD屏幕,800×480像素分辨率,提供了良好的人機交互界面。驅動控制采用SSD1963Q芯片,可以顯示16×16、32×32等漢字和字符。觸摸屏模塊中采用TI公司的ADS7843芯片,它是12位取樣模/數轉換器,具有功耗低的優(yōu)點,適合用于該核心控制器。電路圖略——編者注。
2.5電力線載波通信模塊
電力線載波通信芯片是電力線載波通信系統(tǒng)的核心,在該控制系統(tǒng)中,選用了力合微公司生產的LME2980芯片,該芯片具有抗*力強、靈敏度高等優(yōu)點,集成了看門狗等電路,確保了工業(yè)環(huán)境下的可靠性。電力線載波通信電路設計如圖3所示。
3、μC/OS系統(tǒng)控制器軟件設計
μC/OS系統(tǒng)控制器的軟件設計可以分為3層:應用層、中間層和驅動層。驅動層是整個軟件控制系統(tǒng)工作的基礎,主要包括LCD驅動、定時器驅動、CPU驅動等;中間層主要實現中間層對底層不同設備的兼容和向上層提供各類應用程序開發(fā)的統(tǒng)一接口,主要包括一些C庫函數、底層功能函數以及μC/OS系統(tǒng)調用接口;應用層通過調用中間層提供的接口,完成界面控制、網絡通信、串口通信等功能用以控制智能家居設備??刂破鞯能浖K層次圖如圖4所示。
3.1載波通信模塊軟件設計
載波通信過程中,載波通信控制單元發(fā)送完一位擴頻數據后,自動產生一次中斷,允許下一位數據發(fā)送。根據捕獲和同步過程需要,首先發(fā)送至少42位的全“1”數據,本文中發(fā)送45位全“1”數據;然后按位發(fā)送同步幀頭0xA5;之后根據用戶的有關通信協(xié)議按位發(fā)送通信地址、數據長度、數據體、校驗等字節(jié)。數據全部發(fā)送完后,載波通信模塊即可轉為接收態(tài)。但為確保待發(fā)送數據的zui后一位發(fā)送成功,必須在發(fā)送完zui后一位數據后的下一次發(fā)送中斷到來后,才可以轉換載波發(fā)送態(tài)到接收態(tài)。載波發(fā)送過程中,CPU必須使計數器復位,避免自動復位提前進入載波接收態(tài)。
為了保證命令數據傳輸的實時性,將協(xié)議設計如下:設備地址+數據包+數據包類型+命令長度+命令設備+設備子命令+命令參數+校驗和。設備地址為命令上傳或者下發(fā)時從設備的物理地址;數據包根據數據的傳輸方向分為請求數據包和響應數據包,分別對應于處理器向下發(fā)送命令和子設備回復數據包;命令長度表示了后續(xù)命令包的長度;命令設備、設備子命令和命令參數等表示針對不同的子設備,需要發(fā)送的命令格式也不同;校驗和是指所有幀數據的數據和。
接在電力線上的子設備主要分為兩類:一類是需要上傳狀態(tài)信息的設備,主要包括空調、微波爐、冰箱、熱水器和洗衣機等;還有一類就是開關型設備,只需實時查詢即可,無需上傳狀態(tài)信息,如日光燈等開關型設備。
3.2圖形界面設計
為了給用戶提供良好地交互操作,在μC/OS系統(tǒng)控制器中還設計實現了人機互操作界面。當系統(tǒng)啟動以后,系統(tǒng)會*行初始化,并要求用戶輸入正確的賬號和密碼。在正確輸入密碼后,用戶就可以通過控制界面對家庭中子設備發(fā)送查詢、控制等命令了。如果輸入密碼錯誤次數超過3次,系統(tǒng)將自動上鎖,12小時內用戶將無法通過界面對設備進行控制。界面設計流程如圖5所示。
4、遠程Andriod終端軟件設計
隨著物聯網及互聯網在智能家居中的應用以及智能手機操作系統(tǒng)Android的不斷發(fā)展,結合2G/3G/WiFi網絡通信方式,通過Android系統(tǒng)的手機終端實現遠程控制家庭設備已經成為現實。
4.1遠程Andriod終端系統(tǒng)設計
系統(tǒng)主要包含了網絡連接、數據傳輸、消息包截取、消息包解析、消息包處理、用戶界面6個子模塊。當用戶啟動了該手機終端控制系統(tǒng)之后,首先和網關建立通信連接,為后續(xù)的數據傳輸奠定基礎。數據傳輸模塊是作為一個單獨的線程出現的一方面,主要是考慮到網絡數據傳輸的時間不確定性,避免阻塞主UI線程;另一方面,獨立出來是為了將來傳輸協(xié)議更改之后,數據傳輸不受影響,提高了代碼的重用性。由于接收到的數據都是字節(jié)流的,因此需要根據消息包的約定方式從數據中截取正確的消息包,同時根據消息包的類型和消息名調用相應的函數進行處理。用戶界面模塊則為用戶提供了一個友好操作的平臺。各模塊具體介紹如下。
網絡連接模塊:系統(tǒng)在啟動后,連接上網絡,然后通過網絡與服務器端的網關模塊建立通信連接,進而傳輸用戶所選擇的查詢或者控制命令。
數據傳輸模塊:該系統(tǒng)一方面要發(fā)送各種請求包向服務器請求房間、節(jié)點等狀態(tài)信息,發(fā)送一些控制包去管理各個節(jié)點設備的狀態(tài),另一方面也要接收從服務器端返回來的各種向用戶顯示的數據包。
消息包截取模塊:在接收到從服務器返回的數據之后,由于數據是字節(jié)流的,所以要根據約定按照包頭、包長和包尾從中截取出可用的正確消息包。
消息解析包模塊:在截取消息包之后,根據約定好的包組裝字段對消息包進行解析,從中得到包類型、消息名和附帶的消息數據,以便后續(xù)模塊進行相應的處理。
消息包處理模塊:依據解析得到的包類型和消息名,對包中的數據進行處理,取得所需要的控制節(jié)點的相關狀態(tài)信息。
用戶界面模塊:提供一個簡單易用的用戶界面,這里主要有以下幾個子界面,首先用戶看到的是軟件的歡迎及啟動界面;第2個是房間選擇界面,根據房間號碼選擇所要進行操作的房間;第3個是控制節(jié)點選擇界面,用戶選定節(jié)點,接著選擇對各種設備是進行控制還是查詢,若是查詢則把從服務器接收到的內容顯示到狀態(tài)顯示界面,如果是控制命令則將控制命令發(fā)送給網關,由網關轉發(fā)給控制器。
4.2遠程Android終端系統(tǒng)界面
通過Android系統(tǒng)遠程控制設備時的軟件界面如圖6所示。
5、結語
本文立足于電力線載波通信技術,基于μC/OS實時控制系統(tǒng)和Android終端控制系統(tǒng),研究開發(fā)了基于電力線載波通信的智能家居控制系統(tǒng),介紹了高可靠、高穩(wěn)定、強實時性的良好軟件設計和符合國內發(fā)展現狀的硬件設計,通過電力線載波通信方式為用戶提供安全、舒適、便利、信息暢通的居住和生活環(huán)境。經過實際測試,系統(tǒng)滿足運行要求,在進一步測試和優(yōu)化后可投入市場。