0引言
隨著(zhù)智能手機和電視機的普及,利用智能手機的Wi-Fi功能對電視機的遙控就成為必然。因為在我國的城鎮人口中,基本上實(shí)現了人手一臺智能手機,而且,智能手機是隨身攜帶,但電視機的遙控器不是隨身攜帶,常常遇到要開(kāi)電視機或換臺時(shí)找不到電視機遙控器。如果使用智能手機來(lái)遙控電視機,那么,這個(gè)問(wèn)題就不存在了。
1硬件電路設計
雖然智能手機和目前大多數電視機都具有Wi-Fi,但電視機的Wi-Fi無(wú)法實(shí)現與智能手機的Wi—Fi鏈接,因為電視機不能額外加載Wi—Fi應用程序,導致智能手機無(wú)法對電視機的Wi—Fi進(jìn)行“額外”控制。
但是,智能手機可以加載“額外”的應用程序,實(shí)現Wi—Fi控制。所以,怎樣讓電視機接收智能手機的Wi—Fi控制就是實(shí)現這種控制的關(guān)鍵。
目前電視機都有紅外遙控功能,利用它的這個(gè)功能,將電視機的紅外接收電路去掉,改接一個(gè)Wi—Fi接收轉TTL控制電路、而傳給電視機的控制是紅外遙控編碼信號,就實(shí)現了智能手機利用Wi—Fi對電視機進(jìn)行遙控。
各種電視機的紅外遙控電路雖然各有不同,但原理都是一樣的。本文以海信LED55K560X3D電視機為例進(jìn)行設計,其紅外遙控電路與電視機的接口插座定義如圖1所示。

圖1 LED55K560X3D電視機紅外遙控電路的插座接口定義
在圖1中,IR是電視機紅外遙控接收器發(fā)給電視機的紅外控制信號。GND是公共信號。STANDBY是電視機給紅外遙控接收器的電視機待機/開(kāi)機信號。當電視機處于待機時(shí),此信號為高;當電視機開(kāi)機時(shí),此信號為低。+5V是電視機給紅外遙控接收器提供的5V電源。其它引腳無(wú)定義。
根據圖1的信號定義,就可以構建圖2所示電視機Wi-Fi轉TTL信號的控制電路。

圖2 Wi-Fi轉TTL信號的控制電路
圖2中,采用美國Qualcomm公司的OCA4004芯片作為主芯片來(lái)構成這種控制電路。因為OCA4004是一款帶有CPU、并嵌入IEEE802.11 a/b/g/n協(xié)議、支持英特網(wǎng)工作的Wi—Fi芯片,不僅外圍電路構成簡(jiǎn)單可靠,還能嵌入二次開(kāi)發(fā)的程序,而不要另外增加MCU、ROM和RAM電路。
為了保持電視機的主控電路不做改動(dòng),與電視機紅外遙控的接口依然不變,采用原有的HX1.25—9P—L—K插座,其信號腳的定義也不做改變。原紅外遙控接收電路的待機信號STANDBY電路也按照原電路設計。在此處改變的地方是,三極管V1集電極增加了一個(gè)電阻R1,將待機信號引入OCA4004,進(jìn)行開(kāi)機/待機檢測。紅外接收處理電路全部去掉,換成以QCA4004為核心的Wi—Fi收發(fā)電路。增加Wi—Fi信號處理程序,將控制信號轉換成對應的紅外遙控編碼,通過(guò)三極管V2進(jìn)行電壓幅值轉換后送給電視機主控板,實(shí)現對電視機進(jìn)行Wi—Fi遙控。
2手機使用界面和應用程序設計
因為人們習慣了普通電視機紅外遙控器的使用,所以,智能手機的電視機遙控界面模仿電視機紅外遙控器的按鍵順序設置,使人們熟悉易用。另外,各種智能手機的分辨率不同,而應用程序必須適應不同智能手機的分辨率。這就要求設計時(shí)不能僅考慮一款手機顯示屏的分辨率,而要考慮各種智能手機的顯示屏。為此,在手機應用程序設計中,采取讀取手機顯示分辨率,并根據分辨率進(jìn)行界面顯示處理。
由于現在的LED電視機紅外遙控器按鍵多達50多個(gè),無(wú)法在一個(gè)界面中全部顯示出來(lái)。所以,手機應用程序在顯示界面處理中還需要進(jìn)行上下拉動(dòng)的滾屏顯示處理。
手機對Wi—Fi的控制程序可以采用C++或Java等程序編程,具體控制程序流程見(jiàn)圖3的程序框圖。

圖3 智能手機應用程序流程圖
由于目前許多家庭都擁有二臺及二臺以上的電視機,所以,需要智能手機選擇具體要控制的電視機。為了對每臺電視機都能分別單獨控制,需要在智能手機中對各個(gè)電視機注冊,并按照注冊地址進(jìn)行控制,從而實(shí)現每臺電視機的獨立控制。
電視機在智能手機中的注冊,就是智能手機通過(guò)Wi-Fi發(fā)起的引導所需電視機將MAC地址發(fā)給智能手機,并將該電視機的MAC地址存儲在智能手機中,同時(shí),將智能手機Wi-Fi的MAC地址發(fā)給對應的電視機,在電視機增加的Wi—Fi控制板中將智能手機的MAC地址保存在注冊地址存儲區的過(guò)程。完成這個(gè)過(guò)程,就使智能手機與對應的電視機形成了Wi—Fi局域網(wǎng)的組網(wǎng)。
3 Wi-Fi轉TTL信號控制電路程序設計
Wi—Fi轉TTL信號控制電路如圖2所示。該電路中的芯片OCA4004己嵌入了Wi-Fi收發(fā)處理底層程序,所以,只要設計檢測芯片11腳(電視機待機/開(kāi)機)信號,將OCA4004收到符合該電路地址的控制信號幀轉換成符合電視機紅外遙控碼的程序以及應答智能手機的應答幀并送OCA4004的發(fā)送緩沖器就可以了。具體程序框圖如圖4所示。

圖4 Wi—Fi轉TTL信號控制電路控制程序流程圖
4 Wi—Fi控制抗干擾的處理
由于無(wú)線(xiàn)信號環(huán)境的開(kāi)放性,Wi—Fi信號在空中傳輸時(shí)會(huì )受到各種電磁干擾和空中傳輸衰減,造成傳輸錯誤,導致控制失敗。所以,在本方案中,采用被控對象應答是否正確執行控制命令的方法來(lái)確?刂剖欠癖徽_執行。具體方法是,如果智能手機收到的應答幀不正確或規定時(shí)間內沒(méi)有收到正確應答幀,智能手機重發(fā)該控制命令,直到收到正確應答幀,或規定次數的發(fā)送該控制命令而沒(méi)有收到正確應答幀(此時(shí),智能手機給出通信故障告警)。這種方法解決了智能手機對電視機發(fā)出控制命令是否被電視機正確執行的問(wèn)題,但是,沒(méi)有解決電視機正確執行控制命令后,應答智能手機的應答幀在傳輸給智能手機時(shí)受到空中干擾、造成出錯,使智能手機不知道電視機已正確執行該命令,而再次發(fā)送同樣的命令,使電視機出現不應有的現象。如,按下開(kāi)關(guān)鍵,電視機正確執行控制命令,返回的應答受干擾出錯,導致智能手機重復發(fā)開(kāi)/關(guān)機命令,出現電視機反復不斷地開(kāi)/停機。
為避免上述情況的出現,在智能手機發(fā)給電視機的控制命令中,增加一個(gè)字節的發(fā)送次數。這樣,當智能手機發(fā)送新控制命令時(shí),該字節的數據為0.如果智能手機重發(fā)一次該命令,該字節就加1.以此類(lèi)推,直到該字節數值達到通信故障次數。電視機收到該控制命令后,如果該字節數值為0,就執行該命令,并置該命令標志為1,清前一個(gè)控制命令標志,然后發(fā)正確執行應答幀給智能手機;如果不為0,就檢查該控制命令標志是否為0.為0,按照上面該字節為0的流程處理;不為0,不再執行該控制命令,而是發(fā)正確執行應答幀給智能手機,告訴智能手機該控制命令己執行了,避免電視機重復執行命令。
5結束語(yǔ)
在智能手機普及的今天,使用智能手機來(lái)控制家電的時(shí)代已經(jīng)到來(lái)。為了適應這個(gè)時(shí)代的要求,我們進(jìn)行了這方面的探索研究,并通過(guò)二年多的時(shí)間使用,證實(shí)這種方法是可行和可靠的。為進(jìn)一步探索智能手機控制家中所有家電的可行性給出了借鑒,也為進(jìn)一步研發(fā)以Wi-Fi為基礎的物聯(lián)網(wǎng)智能家居提供參考。
|