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