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