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