基于S3C2440家庭網(wǎng)關(guān)設計方案
為了方便調用遙控器的紅外脈沖信號,要將其接收到紅外碼保存,而保存數據就需要一個(gè)嵌入式的數據庫,在目前Linux 下常用的數據庫產(chǎn)品中,Oracel、BIMDB 等功能強大,但系統寵大,需付費使用,適用于大型商業(yè)型數據庫。而MysQL 在保持中等體積的情況下,提供了較為適用的功能己成為中小規模數據庫應用的首選,但商業(yè)應用也需付費,而且對于嵌入式系統來(lái)說(shuō)空間占用仍然太大。小型數據庫msQL 適用于嵌入式系統,但只有30 天的使用期限,并非完全開(kāi)源。而在開(kāi)源的數據庫中,PostgreSQL 功能完善,但體積較大。而B(niǎo)erkeley DB 則是開(kāi)發(fā)難度比較大。
SQlite 則在體積與功能之間做到了較好的平衡,是"理想的嵌入式數據庫"。此系統創(chuàng )建文件名為dc_main.
db 的sqlite3 數據庫文件,并在以創(chuàng )建的dc_main.db中創(chuàng )建一張數據表study 用來(lái)存儲各個(gè)房間各遙控器的紅外指令,SQL 命令為:
create table study(
id integer primary key autoincrement,--id 號,自動(dòng)產(chǎn)生
room varchar(10), --房間名稱(chēng)
appliance varchar(10), --電器名稱(chēng)
key varchar(10), --按鍵名稱(chēng)
command varchar(500)); --紅外脈沖信號
為了用戶(hù)方便與系統進(jìn)行交互,采用QT4 設計遙控器自學(xué)習界面,Qt 是Trolltech 公司開(kāi)發(fā)的一個(gè)多平臺的C++圖形用戶(hù)界面應用程序框架。包括直觀(guān)的API 和豐富C++ 類(lèi)庫、用于GUI 開(kāi)發(fā)和國際化的集成工具,支持使用JavaTM 和C++ 語(yǔ)言進(jìn)行開(kāi)發(fā)。該圖形系統最大的優(yōu)點(diǎn)是采用面向對象設計,移植性好,基于X Window 的Qt 桌面應用程序可以非常方便的移植到嵌入式系統上。在對硬件和容量都有限制的嵌入式環(huán)境上,Qt 可以直接在Framebuffer 上顯示圖形。
Qt 的這種特性在一定程度上提高了嵌入式GUI 程序的執行效率,這對硬件和容量都有限制的嵌入式環(huán)境非常重要。同時(shí)Qt4 為數據庫訪(fǎng)問(wèn)提供的QtSQL 模塊實(shí)現了數據庫與Qt 應用程序的無(wú)縫集成。
此系統用Qt4 和SQLite3 技術(shù)實(shí)現了遙控器自學(xué)習系統的前臺界面及數據的存儲,遙控器自學(xué)習界面如圖 5 所示。
圖 5 遙控器自學(xué)習界面
為了存儲時(shí)能將按鍵與其紅外指令對應,在遙控器自學(xué)習前臺界面要輸入房間、電器、按鍵的名稱(chēng),因此設計了鍵盤(pán)進(jìn)行內容輸入,用戶(hù)在界面輸入房間、電器、按鍵,之后對著(zhù)紅外一體化接收頭按下遙控器的對應按鍵接收紅外指令,按確認后,將房間、電器、按鍵信息以及所對應的遙控器紅外指令存入sqlite3 數據庫。
2.2 短信接收模塊
短信接收模塊實(shí)現的功能包括接收短信,以及根據短信內容調取數據庫中的紅外指令發(fā)送給Zigbee 模塊。
2.2.1 硬件設計
短信接收模塊采用GR64 模塊,通過(guò)串口連接到中央處理器,GR64 模塊是一款帶有GSM/GPRS 全套語(yǔ)音和數據功能的工業(yè)級無(wú)線(xiàn)調制解調模塊。集射頻電路和基帶處理器于一體,提供豐富的外設及接口,其硬件原理圖如圖 6 所示。
圖6 GR64 原理圖
紅外遙控器相關(guān)文章:紅外遙控器原理
評論