基于安卓系統(tǒng)手機(jī)WiFi的家用智能遙控器開發(fā)
一、引言
由于紅外遙控器價(jià)格低廉、技術(shù)成熟等優(yōu)點(diǎn),許多智能家電設(shè)備仍普遍采用紅外遙控器進(jìn)行控制,包括電視、空調(diào)、DVD機(jī)、電視機(jī)頂盒等等。然而,隨著家庭中智能家電設(shè)備的增多,紅外遙控器數(shù)量也在增加,一個(gè)家庭使用的遙控器數(shù)量少則數(shù)個(gè),多則十幾個(gè),這會(huì)帶來三大問題:
(1)數(shù)量眾多的遙控器給使用者帶來使用和管理上的不便;
(2)紅外遙控器使用的一次性堿性電池,廢棄后給環(huán)境帶來極大的危害;
(3)遙控器意外損壞后,很難找到匹配的遙控器。
基于安卓手機(jī)WiFi的家用智能遙控器,可同時(shí)控制多個(gè)不同品牌不同型號(hào)的家用電器,取代傳統(tǒng)的實(shí)物遙控器,實(shí)現(xiàn)“一個(gè)家庭只需一個(gè)遙控器即可控制所有紅外遙控的家電設(shè)備”的目標(biāo),極大減少遙控器數(shù)量和一次性電池的使用量,為人們創(chuàng)造便捷舒適、環(huán)保節(jié)能的居家環(huán)境。
二、系統(tǒng)的結(jié)構(gòu)
整個(gè)系統(tǒng)主要包括客戶端軟件、WiFi轉(zhuǎn)紅外模塊,如圖1所示??蛻舳塑浖ㄟ^WiFi,將已編碼的數(shù)據(jù)通過WiFi傳送至WiFi轉(zhuǎn)紅外模塊,然后WiFi轉(zhuǎn)紅外模塊根據(jù)編碼規(guī)則,傳遞指令至內(nèi)部紅外發(fā)射模塊,實(shí)現(xiàn)紅外數(shù)據(jù)的發(fā)送。
(一)家用智能遙控器客戶端的構(gòu)成
1.鍵碼數(shù)據(jù)包的采集與設(shè)計(jì)
(1)鍵碼數(shù)據(jù)包的采集
紅外遙控器的編碼格式通常有NEC.
NEC格式的特征:使用38kHz載波頻率,引導(dǎo)碼間隔是9ms+4.5ms,使用16位客戶代碼,使用8位數(shù)據(jù)代碼和8位取反的數(shù)據(jù)代碼。
隨著家庭電器種類、型號(hào)的不斷增多,相對(duì)應(yīng)的遙控器也隨之增加,為了便于管理、存取與更新家電遙控器的紅外代碼,需要為繁多冗雜的代碼建立一個(gè)數(shù)據(jù)包。
(2)遙控器按鍵數(shù)據(jù)包的設(shè)計(jì)
由于紅外協(xié)議各不相同,并且又相互不兼容,所以直接發(fā)送紅外數(shù)據(jù)會(huì)導(dǎo)致WiFI轉(zhuǎn)紅外模塊處理十分繁瑣。因此,收集多種紅外協(xié)議數(shù)據(jù),按照自定義編碼規(guī)則,將多種協(xié)議編碼化,并保存于后臺(tái)數(shù)據(jù)庫(kù)。
為了實(shí)現(xiàn)按鍵界面與遙控器數(shù)據(jù)包的匹配,定義數(shù)據(jù)包格式如下:
文件起始標(biāo)志位4位。
鍵碼屬性128位:設(shè)備的信息,訪問中文字庫(kù)編碼、ASCII碼。
載波頻率4位:35-42kHz;分辨率0.5kHz,以適應(yīng)不同載波的遙控器。
鍵碼編碼:對(duì)遙控器界面軟件的所有按鍵進(jìn)行編碼,鍵碼位數(shù)根據(jù)實(shí)際紅外協(xié)議確定。
2.遙控器界面軟件的設(shè)計(jì)
(1)數(shù)據(jù)庫(kù)設(shè)計(jì)
安卓操作系統(tǒng)采用標(biāo)準(zhǔn)SQLite數(shù)據(jù)庫(kù),提供管理數(shù)據(jù)庫(kù)相關(guān)的API.利用SQLiteOpenHelper類中的onCreate()Call Back方法以及onUpdate()Call Back方法創(chuàng)建與打開各種遙控器紅外代碼表Table,存進(jìn)數(shù)據(jù)庫(kù)中,方便數(shù)據(jù)的及時(shí)更新。
(2)按鍵與數(shù)據(jù)包匹配
在手機(jī)界面中,每個(gè)按鍵都與其相對(duì)應(yīng)的紅外代碼相匹配,即按鍵功能與數(shù)據(jù)庫(kù)中各種遙控器數(shù)據(jù)相連接。通過調(diào)用getReadableDatabase()方法當(dāng)用戶按下按鍵時(shí),軟件會(huì)查找數(shù)據(jù)包,將與該按鍵相連的數(shù)據(jù)包數(shù)據(jù),即相對(duì)應(yīng)的控制家電的紅外代碼以WiFi的形式發(fā)送至WiFi轉(zhuǎn)紅外模塊。
(二)WiFi轉(zhuǎn)紅外模塊
本模塊負(fù)責(zé)數(shù)據(jù)接收、紅外發(fā)射。包含WiFi數(shù)據(jù)接收與傳送、串口數(shù)據(jù)解析、紅外電平發(fā)射。采用WiFi芯片USR-WIFI232,提供WiFi信號(hào)及獲得客戶端所發(fā)送數(shù)據(jù),再將數(shù)據(jù)通過串口傳送至中控CPU.
本模塊內(nèi)部采用單片機(jī)作為中控CPU,處理編碼化數(shù)據(jù)與紅外協(xié)議的轉(zhuǎn)化。由于單片機(jī)價(jià)格低廉,資源足夠,功能滿足中控CPU的需求,因此,采用單片機(jī)作為中控CPU.在單片機(jī)程序中設(shè)置多個(gè)紅外協(xié)議入口點(diǎn),當(dāng)編碼化的數(shù)據(jù)傳送至單片機(jī)后,按照自定義的編碼規(guī)則,尋找對(duì)應(yīng)的紅外協(xié)議入口,從而發(fā)射對(duì)應(yīng)的紅外電平。
中控CPU功能硬件電路由單片機(jī)最小系統(tǒng)及紅外發(fā)射電路成。在中控CPU程序中,包含定時(shí)器功能、串口數(shù)據(jù)讀取功能、紅外電平控制功能。中控CPU的程序流程圖如圖2.定時(shí)器功能主要是用于產(chǎn)生載波,并與紅外信號(hào)疊加,從而提高紅外信號(hào)在空氣中傳播的抗干擾能力。串口數(shù)據(jù)讀取,將WiFi芯片傳遞的數(shù)據(jù)加以分析,按照自定義的編碼規(guī)則,進(jìn)入不同的紅外協(xié)議功能函數(shù)。紅外電平控制功能,實(shí)現(xiàn)具體的紅外協(xié)議函數(shù),通過串口讀取功能提供的數(shù)據(jù),發(fā)射出匹配的紅外信號(hào)。
三、實(shí)驗(yàn)測(cè)試
本次試驗(yàn)采用專用的紅外測(cè)試儀器,可以監(jiān)測(cè)到紅外信號(hào)并將其波形顯示出來。采用安裝客戶端的安卓手機(jī)及WiFi轉(zhuǎn)紅外模塊,對(duì)比于實(shí)物遙控器。將實(shí)物遙控器、WiFi轉(zhuǎn)紅外模塊都對(duì)準(zhǔn)紅外測(cè)試儀器。按下實(shí)物遙控器的某個(gè)按鍵之后,觀察紅外測(cè)試儀器顯示的波形,如圖3所示;接著按下安卓手機(jī)上對(duì)應(yīng)的遙控器按鍵后,觀察紅外測(cè)試儀器上的波形,如圖4所示。
由圖3、圖4可以看得出,安裝客戶端的安卓手機(jī)及WiFi轉(zhuǎn)紅外模塊可以實(shí)現(xiàn)實(shí)物遙控器的功能。
四、結(jié)束語
本項(xiàng)目設(shè)計(jì)的運(yùn)行在安卓手機(jī)上的新型遙控器,實(shí)測(cè)數(shù)據(jù)證明,其實(shí)現(xiàn)的功能與原配的實(shí)物遙控器性能一致,完全可以取代現(xiàn)有的各種實(shí)物遙控器,實(shí)現(xiàn)實(shí)物遙控設(shè)備數(shù)據(jù)化,降低成本。由于它基于安卓手機(jī)平臺(tái),具有成本低、擴(kuò)展好、“一機(jī)多控”、環(huán)保、智能等優(yōu)點(diǎn),作品成熟后,具有較高的市場(chǎng)應(yīng)有價(jià)值。