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