基于Qt/Embedded觸摸屏的智能家居控制系統(tǒng)
摘 要: 設計了一個基于Qt/Embedded 觸摸屏的智能家居控制平臺,并通過zigbee 組網(wǎng)的方式,實現(xiàn)家居的智能化控制。首先,智能家居的界面用Qt/Embedded 設計,然后,界面被移植到以ARM9 為微處理器的控制平臺上,并實現(xiàn)界面的觸摸屏功能;最后,通過串口驅(qū)動將設計的具有觸摸屏功能的界面與zigbee 組網(wǎng)的協(xié)議連接起來,實現(xiàn)對智能家居控制的無線傳輸。
本文引用地址:http://m.butianyuan.cn/article/159860.htm1 引言
隨著生活質(zhì)量的提高,家居智能化已經(jīng)成為當今時代的一種主流。如何更好的設計智能家居的整體性控制就顯得越來越重要。由于ARM 和觸摸屏的迅速發(fā)展,采用更好的GUI,實現(xiàn)友好的界面控制成為了可能;同時由于zigbee 無限傳輸技術(shù)的廣泛應用,通過設計zigbee 的協(xié)議組網(wǎng),使ARM 能輕易的通過的串口驅(qū)動程序?qū)崿F(xiàn)智能家居的控制;同時,通過ARM 對萬能遙控器的識別碼的學習,實現(xiàn)了ARM 在智能家居上的多功能應用和智能家居的一體化控制。
2 系統(tǒng)設計概述
基于嵌入式智能家居的設計結(jié)構(gòu)框圖如圖1 所示。主要包括以下幾部分。Qt/E 及l(fā)inux 系統(tǒng)、ARM9微處理器、zigbee 模塊、語音模塊、GSM 模塊、串口和網(wǎng)絡模塊以及萬能遙控器。
圖1 智能家居設計結(jié)構(gòu)框圖
ARM9 微處理器采用Samsung S3C2440 CPU開發(fā)板,系統(tǒng)選擇嵌入式linux 系統(tǒng),其內(nèi)核使用2.6.25.8 的內(nèi)核,nandflash 采用256M 的內(nèi)存。且由于arm 內(nèi)核集成了多種外設控制模塊的驅(qū)動程序,所以要對其進行必要的裁剪,串口用于連接zigbee模塊。
Zigbee 采用TI 公司的CC24430 無線射頻芯片,zigbee 有顯著的低成本、低消耗、網(wǎng)絡節(jié)點多等的無線傳輸功能,所以可以將一個zigbee 作為路由,通過一個zigbee 向多個zigbee 傳輸?shù)墓δ?,實現(xiàn)zigbee 的組網(wǎng)的,也有效的延長了zigbee 的傳輸距離。
網(wǎng)絡模塊采用CS8900A通過連接路由器,實現(xiàn)遠程登入。
3 系統(tǒng)軟件設計實現(xiàn)
系統(tǒng)采用linux 作為操作系統(tǒng), 首先基于Qt/Embedded 進行圖形界面的設計,再在宿主機上建立交叉編譯環(huán)境,并制作yaffs 操作系統(tǒng),最后將嵌入式linux 系統(tǒng)移植到ARM9 開發(fā)板上。系統(tǒng)通過設計GUI 界面,實現(xiàn)通過觸摸屏對智能家居的一體化控制[1].文章軟件部分包括嵌入式linux 操作系統(tǒng)的移植、系統(tǒng)界面設計、串口驅(qū)動和zigbee 組網(wǎng)設計。
在ARM9 和zigbee 的傳輸過程中,有一個智能家居的單元端接口設置。為了區(qū)別于不同家庭之間的傳輸,首先ARM9 會有一個各自家庭的主機ID 號設置。在一個家庭的智能化控制上,給路由功能的zigbee 設計八個端口,每個端口有一個ID 號,然后其余的連接路由的zigbee 通過接受各自ID 號的分別傳輸信息,最后,這些zigbee 又分別設置各自的設備號,這樣就去除了干擾,實現(xiàn)智能家居的單獨控制。
3.1 觸摸屏和Qt/Embedded 交叉編譯環(huán)境的建立
在建立交叉編譯環(huán)境之前先要進行l(wèi)inux 系統(tǒng)移植,Linux 系統(tǒng)的移植主要主要包括BootLoad 移植、內(nèi)核移植與裁剪以及文件系統(tǒng)移植等部分[2].文章選用u-boot 作為BooLload 引導程序。Linux 內(nèi)核由于其公開性,很容易實現(xiàn)其移植和裁剪。文件系統(tǒng)這采用yaffs 根文件系統(tǒng)。
觸摸屏和Qt/Embedded 的交叉編譯環(huán)境的建立是linux 系統(tǒng)移植的關(guān)鍵部分。其步驟如下。
第一步是進行觸摸屏校正,設計中采用tislib-1.4作為觸摸屏的校正。其分為兩步:(1)編譯tislib,產(chǎn)生校正文件。(2)是下載校正文件和庫文件到arm 板,實現(xiàn)五點校正。其編譯過程如下。
第二步是Qt/E 的交叉編譯。設計中Qt/E 采用qt-embedded-linux-opensource-src-4.5.0.同時為了方便程序開發(fā),需要安裝X86 版和ARM 版。
先在PC 上使用x86 版和qvfb 開發(fā),完成以后再使用ARM 交叉編譯放到開發(fā)版上運行。所以需要先解壓一次,然后重命名為qt-embedded-linux-opensource-src-4.5.0-x86;再解壓一次,并重命名為qt-embedded-linux-opensource-src-4.5.0-arm.Qt/E 的編譯過程如下。
萬能遙控器相關(guān)文章:萬能遙控器代碼
linux相關(guān)文章:linux教程
評論