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