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