0 引言
隨著智能手機和電視機的普及,利用智能手機的Wi-Fi功能對電視機的遙控就成為必然。因為在我國的城鎮(zhèn)人口中,基本上實現(xiàn)了人手一臺智能手機,而且,智能手機是隨身攜帶,但電視機的遙控器不是隨身攜帶,常常遇到要開電視機或換臺時找不到電視機遙控器。如果使用智能手機來遙控電視機,那么,這個問題就不存在了。
1 硬件電路設計
雖然智能手機和目前大多數(shù)電視機都具有Wi-Fi,但電視機的Wi-Fi無法實現(xiàn)與智能手機的Wi—Fi鏈接,因為電視機不能額外加載Wi—Fi應用程序,導致智能手機無法對電視機的Wi—Fi進行“額外”控制。
但是,智能手機可以加載“額外”的應用程序,實現(xiàn)Wi—Fi控制。所以,怎樣讓電視機接收智能手機的Wi—Fi控制就是實現(xiàn)這種控制的關鍵。
目前電視機都有紅外遙控功能,利用它的這個功能,將電視機的紅外接收電路去掉,改接一個Wi—Fi接收轉TTL控制電路、而傳給電視機的控制是紅外遙控編碼信號,就實現(xiàn)了智能手機利用Wi—Fi對電視機進行遙控。
各種電視機的紅外遙控電路雖然各有不同,但原理都是一樣的。本文以海信LED55K560X3D電視機為例進行設計,其紅外遙控電路與電視機的接口插座定義如圖1所示。
在圖1中,IR是電視機紅外遙控接收器發(fā)給電視機的紅外控制信號。GND是公共信號。STANDBY是電視機給紅外遙控接收器的電視機待機/開機信號。當電視機處于待機時,此信號為高;當電視機開機時,此信號為低。+5V是電視機給紅外遙控接收器提供的5V電源。其它引腳無定義。
根據(jù)圖1的信號定義,就可以構建圖2所示電視機Wi-Fi轉TTL信號的控制電路。
圖2中,采用美國Qualcomm公司的OCA4004芯片作為主芯片來構成這種控制電路。因為OCA4004是一款帶有CPU、并嵌入IEEE802.11 a/b/g/n協(xié)議、支持英特網工作的Wi—Fi芯片,不僅外圍電路構成簡單可靠,還能嵌入二次開發(fā)的程序,而不要另外增加MCU、ROM和RAM電路。
為了保持電視機的主控電路不做改動,與電視機紅外遙控的接口依然不變,采用原有的HX1.25—9P—L—K插座,其信號腳的定義也不做改變。原紅外遙控接收電路的待機信號STANDBY電路也按照原電路設計。在此處改變的地方是,三極管V1集電極增加了一個電阻R1,將待機信號引入OCA4004,進行開機/待機檢測。紅外接收處理電路全部去掉,換成以QCA4004為核心的Wi—Fi收發(fā)電路。增加Wi—Fi信號處理程序,將控制信號轉換成對應的紅外遙控編碼,通過三極管V2進行電壓幅值轉換后送給電視機主控板,實現(xiàn)對電視機進行Wi—Fi遙控。
2 手機使用界面和應用程序設計
因為人們習慣了普通電視機紅外遙控器的使用,所以,智能手機的電視機遙控界面模仿電視機紅外遙控器的按鍵順序設置,使人們熟悉易用。另外,各種智能手機的分辨率不同,而應用程序必須適應不同智能手機的分辨率。這就要求設計時不能僅考慮一款手機顯示屏的分辨率,而要考慮各種智能手機的顯示屏。為此,在手機應用程序設計中,采取讀取手機顯示分辨率,并根據(jù)分辨率進行界面顯示處理。
由于現(xiàn)在的LED電視機紅外遙控器按鍵多達50多個,無法在一個界面中全部顯示出來。所以,手機應用程序在顯示界面處理中還需要進行上下拉動的滾屏顯示處理。
手機對Wi—Fi的控制程序可以采用C++或Java等程序編程,具體控制程序流程見圖3的程序框圖。
由于目前許多家庭都擁有二臺及二臺以上的電視機,所以,需要智能手機選擇具體要控制的電視機。為了對每臺電視機都能分別單獨控制,需要在智能手機中對各個電視機注冊,并按照注冊地址進行控制,從而實現(xiàn)每臺電視機的獨立控制。
電視機在智能手機中的注冊,就是智能手機通過Wi-Fi發(fā)起的引導所需電視機將MAC地址發(fā)給智能手機,并將該電視機的MAC地址存儲在智能手機中,同時,將智能手機Wi-Fi的MAC地址發(fā)給對應的電視機,在電視機增加的Wi—Fi控制板中將智能手機的MAC地址保存在注冊地址存儲區(qū)的過程。完成這個過程,就使智能手機與對應的電視機形成了Wi—Fi局域網的組網。
3 Wi-Fi轉TTL信號控制電路程序設計
Wi—Fi轉TTL信號控制電路如圖2所示。該電路中的芯片OCA4004己嵌入了Wi-Fi收發(fā)處理底層程序,所以,只要設計檢測芯片11腳(電視機待機/開機)信號,將OCA4004收到符合該電路地址的控制信號幀轉換成符合電視機紅外遙控碼的程序以及應答智能手機的應答幀并送OCA4004的發(fā)送緩沖器就可以了。具體程序框圖如圖4所示。
4 Wi—Fi控制抗干擾的處理
由于無線信號環(huán)境的開放性,Wi—Fi信號在空中傳輸時會受到各種電磁干擾和空中傳輸衰減,造成傳輸錯誤,導致控制失敗。所以,在本方案中,采用被控對象應答是否正確執(zhí)行控制命令的方法來確??刂剖欠癖徽_執(zhí)行。具體方法是,如果智能手機收到的應答幀不正確或規(guī)定時間內沒有收到正確應答幀,智能手機重發(fā)該控制命令,直到收到正確應答幀,或規(guī)定次數(shù)的發(fā)送該控制命令而沒有收到正確應答幀(此時,智能手機給出通信故障告警)。這種方法解決了智能手機對電視機發(fā)出控制命令是否被電視機正確執(zhí)行的問題,但是,沒有解決電視機正確執(zhí)行控制命令后,應答智能手機的應答幀在傳輸給智能手機時受到空中干擾、造成出錯,使智能手機不知道電視機已正確執(zhí)行該命令,而再次發(fā)送同樣的命令,使電視機出現(xiàn)不應有的現(xiàn)象。如,按下開關鍵,電視機正確執(zhí)行控制命令,返回的應答受干擾出錯,導致智能手機重復發(fā)開/關機命令,出現(xiàn)電視機反復不斷地開/停機。
為避免上述情況的出現(xiàn),在智能手機發(fā)給電視機的控制命令中,增加一個字節(jié)的發(fā)送次數(shù)。這樣,當智能手機發(fā)送新控制命令時,該字節(jié)的數(shù)據(jù)為0。如果智能手機重發(fā)一次該命令,該字節(jié)就加1。以此類推,直到該字節(jié)數(shù)值達到通信故障次數(shù)。電視機收到該控制命令后,如果該字節(jié)數(shù)值為0,就執(zhí)行該命令,并置該命令標志為1,清前一個控制命令標志,然后發(fā)正確執(zhí)行應答幀給智能手機;如果不為0,就檢查該控制命令標志是否為0。為0,按照上面該字節(jié)為0的流程處理;不為0,不再執(zhí)行該控制命令,而是發(fā)正確執(zhí)行應答幀給智能手機,告訴智能手機該控制命令己執(zhí)行了,避免電視機重復執(zhí)行命令。
5 結束語
在智能手機普及的今天,使用智能手機來控制家電的時代已經到來。為了適應這個時代的要求,我們進行了這方面的探索研究,并通過二年多的時間使用,證實這種方法是可行和可靠的。為進一步探索智能手機控制家中所有家電的可行性給出了借鑒,也為進一步研發(fā)以Wi-Fi為基礎的物聯(lián)網智能家居提供參考。