基于PXA270-Linux的智能家居系統(tǒng)研究
智能家居是通過綜合采用先進(jìn)的計算機(jī)、通信和控制技術(shù)(3C),建立一個由家庭安全防護(hù)系統(tǒng)、網(wǎng)絡(luò)服務(wù)系統(tǒng)和家庭自動化系統(tǒng)組成的家庭綜合服務(wù)與管理集成系統(tǒng),從而實(shí)現(xiàn)全面的安全防護(hù)、便利的通訊網(wǎng)絡(luò)以及舒適的居住環(huán)境的家庭住宅。智能家居是一個多功能的技術(shù)系統(tǒng),它包括可視對講、家庭內(nèi)部的安全防范、家居綜合布線系統(tǒng)、照明控制、家電控制、遠(yuǎn)程的視頻監(jiān)控、聲音監(jiān)聽、家庭的影音系統(tǒng)等。隨著技術(shù)發(fā)展和人們需求的增長家居智能化包含的內(nèi)容會更多。
1 智能家居系統(tǒng)結(jié)構(gòu)
目前完整的智能家居系統(tǒng)主要包括5個部分:主控模塊、電器控制子系統(tǒng)、照明控制子系統(tǒng)、安全控制子系統(tǒng)和網(wǎng)絡(luò)控制子系統(tǒng)。5個部分功能各司其職,邏輯上構(gòu)成一個完整的控制實(shí)體。整個系統(tǒng)能為人們提供智能、舒適、安全的家庭環(huán)境,同時提供遠(yuǎn)程信息監(jiān)控能力。智能家居系統(tǒng)組成如圖1所示。主控模塊負(fù)責(zé)子系統(tǒng)的信息集中、存儲、分析和決策。嵌入式芯片的發(fā)展使主控模塊越來越精巧,功能日益豐富。
智能家居是一個龐大的系統(tǒng),主控系統(tǒng)是系統(tǒng)的控制中樞,家庭網(wǎng)絡(luò)是系統(tǒng)的神經(jīng)系統(tǒng),傳輸系統(tǒng)信息流和控制流。家居中的設(shè)備眾多,設(shè)備的接口各異,實(shí)現(xiàn)各種設(shè)備的智能控制面對巨大挑戰(zhàn)。該設(shè)計采用分布式技術(shù)、總線技術(shù)和嵌入式技術(shù)構(gòu)造了一個多功能、通信能力強(qiáng)的智能家居系統(tǒng)。
2 開發(fā)平臺的選擇與構(gòu)建
2.1 智能家居系統(tǒng)硬件構(gòu)成
主控平臺:UP-SmarHome智能家居教學(xué)實(shí)驗(yàn)系統(tǒng)屬于一種綜合的教學(xué)實(shí)驗(yàn)系統(tǒng),主處理器選用基于ARM核的Intel XScale架構(gòu)的PXA270處理器,它集成了存儲單元控制器、時鐘和電源控制器、LCD控制器、AC97控制器等外圍控制器,可以實(shí)現(xiàn)豐富的外圍接口功能。其低電源運(yùn)行模式以及動態(tài)電源管理技術(shù)可以有效降低電源的功耗。內(nèi)置的LCD控制器和觸摸屏控制器簡化液晶顯示的電路設(shè)計,此系統(tǒng)中采用16 b 8 寸640×480真彩LCD顯示屏和觸摸屏。PXA270處理器主頻高達(dá)624 MHz,運(yùn)算能力強(qiáng),功耗低,可滿足主控模塊的運(yùn)算要求,外圍接口豐富,為主控模塊的擴(kuò)展提供良好的支持,用戶可以自己設(shè)計接口進(jìn)行其他模塊的功能實(shí)現(xiàn)。
2.2 嵌入式開發(fā)軟件平臺
嵌入式硬件資源日益豐富,成本也較低廉,資源的增強(qiáng)使軟件有更多的資源可以利用。該設(shè)計中主控模塊的硬件資源非常豐富,軟件系統(tǒng)也很龐大,軟件系統(tǒng)無法避免在訪問資源時遇到?jīng)_突、數(shù)據(jù)同步、數(shù)據(jù)交換的問題,所以需要一個嵌入式操作系統(tǒng)統(tǒng)一管理硬件資源,并對軟件開發(fā)提供良好的基礎(chǔ)環(huán)境,此系統(tǒng)采用在源代碼開放、可移植性強(qiáng)的Linux操作系統(tǒng)上進(jìn)行開發(fā)。
2.2.1 引導(dǎo)程序
引導(dǎo)加載程序Bootloader是嵌入式系統(tǒng)軟件開發(fā)的第一個環(huán)節(jié),是目標(biāo)板系統(tǒng)加電后運(yùn)行的第一段代碼,通過初始化硬件設(shè)備,建立內(nèi)存空間的映射表,為最終加載操作系統(tǒng)內(nèi)核建立適當(dāng)?shù)南到y(tǒng)軟硬件環(huán)境。Bootloader是嚴(yán)格地依賴于硬件而實(shí)現(xiàn)的,通用的Bootloader幾乎是不可能的。在此,由于U-boot是遵循GPL條款的開放源碼項(xiàng)目,能支持盡可能多的嵌入式處理器和嵌入式操作系統(tǒng)。此系統(tǒng)在PXA270開發(fā)
板上成功移植了U-boot。
2.2.2 Linux內(nèi)核移植和編譯
所謂Linux移植就是把Linux操作系統(tǒng)針對具體的目標(biāo)平臺做必要改寫之后,安裝到該目標(biāo)平臺使其正確地運(yùn)行起來。這個概念目前在嵌入式開發(fā)領(lǐng)域講的比較多。其基本內(nèi)容是:獲取某一版本的Linux內(nèi)核源碼,根據(jù)具體目標(biāo)平臺對這個源碼進(jìn)行必要的改寫,然后添加一些外設(shè)驅(qū)動,打造一款適合于目標(biāo)平臺的新操作系統(tǒng),對該系統(tǒng)進(jìn)行針對目標(biāo)平臺的交叉編譯,生成一個內(nèi)核映象文件,最后把該映象文件燒寫(安裝)到目標(biāo)平臺中。而通常對Linux源碼的改寫工作難度較大,這里采用的是目標(biāo)平臺提供商所給的文件。如果系統(tǒng)中有些硬件沒有驅(qū)動起來,就需要自己開發(fā)驅(qū)動程序。
3 軟件設(shè)計
3.1 主控模塊軟件設(shè)計
智能家居主控模塊上硬件資源豐富,軟件上有Linux操作系統(tǒng)的支持,各個子模塊在主控模塊的控制下協(xié)同工作。主控模塊和子模塊之間主要傳輸信息流和控制流。主控模塊到子模塊傳輸?shù)闹饕强刂屏?,這些控制流完成子模塊的配置或者命令子模塊系統(tǒng)完成特定的任務(wù)。子模塊到主機(jī)傳輸?shù)闹饕菙?shù)據(jù)流,數(shù)據(jù)流主要包含子模塊系統(tǒng)中各設(shè)備的運(yùn)行狀態(tài)或傳感器數(shù)據(jù)等。
主控平臺軟件的主要功能是系統(tǒng)初始化,建立人機(jī)交互界面,實(shí)現(xiàn)與GSM通訊,與各監(jiān)測、控制模塊通訊。
在初次使用時,由用戶設(shè)置手機(jī)號碼,號碼將保存在主控平臺配置的FLASH中,主控平臺等待用戶命令,此命令可能來自GSM模塊或當(dāng)前主控人機(jī)界面,當(dāng)用戶通過短消息向系統(tǒng)發(fā)送控制消息時,GSM模塊將接收的短消息通過串口發(fā)送給主控平臺,由主控平臺對短消息解析,并將消息組裝成命令幀,通過RS 485總線發(fā)送給被控模塊;如果命令來自當(dāng)前主控平臺,則主控平臺直接解析命令,組裝命令幀發(fā)送到對應(yīng)控制模塊。
3.2 子模塊軟件設(shè)計
子模塊初始化后,定時查詢RS 485總線接口,檢測是否有命令幀,如果有就接收幀,取幀中的機(jī)器號和此模塊的機(jī)器號比較是否相同,如果相同就解析此幀,執(zhí)行相應(yīng)的命令,否則繼續(xù)檢測總線接口。
4 結(jié)語
分析了家庭控制網(wǎng)絡(luò)的結(jié)構(gòu),提出了一種基于PXA270處理器和Linux操作系統(tǒng)的智能家居控制系統(tǒng),分析了系統(tǒng)軟硬件平臺設(shè)計。最后介紹了主控模塊和子模塊系統(tǒng)的軟件設(shè)計及主控模塊和其他功能子系統(tǒng)之間的RS 485總線通訊協(xié)議。該方案具有設(shè)計靈活,可裁剪性強(qiáng),集成度高,易于升級等優(yōu)點(diǎn),后續(xù)工作應(yīng)該是在此基礎(chǔ)上進(jìn)一步完善和改進(jìn),以提高效率和實(shí)用性。