0引言
随着智能手机和电视机的普及,利用智能手机的Wi-Fi功能对电视机的遥控就成为必然。因为在我国的城镇人口中,基本上实现了人手一台智能手机,而且,智能手机是随身携带,但电视机的遥控器不是随身携带,常常遇到要开电视机或换台时找不到电视机遥控器。如果使用智能手机来遥控电视机,那么,这个问题就不存在了。
1硬件电路设计
虽然智能手机和目前大多数电视机都具有Wi-Fi,但电视机的Wi-Fi无法实现与智能手机的Wi—Fi链接,因为电视机不能额外加载Wi—Fi应用程序,导致智能手机无法对电视机的Wi—Fi进行“额外”控制。
但是,智能手机可以加载“额外”的应用程序,实现Wi—Fi控制。所以,怎样让电视机接收智能手机的Wi—Fi控制就是实现这种控制的关键。
目前电视机都有红外遥控功能,利用它的这个功能,将电视机的红外接收电路去掉,改接一个Wi—Fi接收转TTL控制电路、而传给电视机的控制是红外遥控编码信号,就实现了智能手机利用Wi—Fi对电视机进行遥控。
各种电视机的红外遥控电路虽然各有不同,但原理都是一样的。本文以海信LED55K560X3D电视机为例进行设计,其红外遥控电路与电视机的接口插座定义如图1所示。
图1 LED55K560X3D电视机红外遥控电路的插座接口定义
在图1中,IR是电视机红外遥控接收器发给电视机的红外控制信号。GND是公共信号。STANDBY是电视机给红外遥控接收器的电视机待机/开机信号。当电视机处于待机时,此信号为高;当电视机开机时,此信号为低。+5V是电视机给红外遥控接收器提供的5V电源。其它引脚无定义。
根据图1的信号定义,就可以构建图2所示电视机Wi-Fi转TTL信号的控制电路。
图2 Wi-Fi转TTL信号的控制电路
图2中,采用美国Qualcomm公司的OCA4004芯片作为主芯片来构成这种控制电路。因为OCA4004是一款带有CPU、并嵌入IEEE802.11 a/b/g/n协议、支持英特网工作的Wi—Fi芯片,不仅外围电路构成简单可靠,还能嵌入二次开发的程序,而不要另外增加MCU、ROM和RAM电路。
为了保持电视机的主控电路不做改动,与电视机红外遥控的接口依然不变,采用原有的HX1.25—9P—L—K插座,其信号脚的定义也不做改变。原红外遥控接收电路的待机信号STANDBY电路也按照原电路设计。在此处改变的地方是,三极管V1集电极增加了一个电阻R1,将待机信号引入OCA4004,进行开机/待机检测。红外接收处理电路全部去掉,换成以QCA4004为核心的Wi—Fi收发电路。增加Wi—Fi信号处理程序,将控制信号转换成对应的红外遥控编码,通过三极管V2进行电压幅值转换后送给电视机主控板,实现对电视机进行Wi—Fi遥控。
2手机使用界面和应用程序设计
因为人们习惯了普通电视机红外遥控器的使用,所以,智能手机的电视机遥控界面模仿电视机红外遥控器的按键顺序设置,使人们熟悉易用。另外,各种智能手机的分辨率不同,而应用程序必须适应不同智能手机的分辨率。这就要求设计时不能仅考虑一款手机显示屏的分辨率,而要考虑各种智能手机的显示屏。为此,在手机应用程序设计中,采取读取手机显示分辨率,并根据分辨率进行界面显示处理。
由于现在的LED电视机红外遥控器按键多达50多个,无法在一个界面中全部显示出来。所以,手机应用程序在显示界面处理中还需要进行上下拉动的滚屏显示处理。
手机对Wi—Fi的控制程序可以采用C++或Java等程序编程,具体控制程序流程见图3的程序框图。
图3 智能手机应用程序流程图
由于目前许多家庭都拥有二台及二台以上的电视机,所以,需要智能手机选择具体要控制的电视机。为了对每台电视机都能分别单独控制,需要在智能手机中对各个电视机注册,并按照注册地址进行控制,从而实现每台电视机的独立控制。
电视机在智能手机中的注册,就是智能手机通过Wi-Fi发起的引导所需电视机将MAC地址发给智能手机,并将该电视机的MAC地址存储在智能手机中,同时,将智能手机Wi-Fi的MAC地址发给对应的电视机,在电视机增加的Wi—Fi控制板中将智能手机的MAC地址保存在注册地址存储区的过程。完成这个过程,就使智能手机与对应的电视机形成了Wi—Fi局域网的组网。
3Wi-Fi转TTL信号控制电路程序设计
Wi—Fi转TTL信号控制电路如图2所示。该电路中的芯片OCA4004己嵌入了Wi-Fi收发处理底层程序,所以,只要设计检测芯片11脚(电视机待机/开机)信号,将OCA4004收到符合该电路地址的控制信号帧转换成符合电视机红外遥控码的程序以及应答智能手机的应答帧并送OCA4004的发送缓冲器就可以了。具体程序框图如图4所示。
图4 Wi—Fi转TTL信号控制电路控制程序流程图
4 Wi—Fi控制抗干扰的处理
由于无线信号环境的开放性,Wi—Fi信号在空中传输时会受到各种电磁干扰和空中传输衰减,造成传输错误,导致控制失败。所以,在本方案中,采用被控对象应答是否正确执行控制命令的方法来确保控制是否被正确执行。具体方法是,如果智能手机收到的应答帧不正确或规定时间内没有收到正确应答帧,智能手机重发该控制命令,直到收到正确应答帧,或规定次数的发送该控制命令而没有收到正确应答帧(此时,智能手机给出通信故障告警)。这种方法解决了智能手机对电视机发出控制命令是否被电视机正确执行的问题,但是,没有解决电视机正确执行控制命令后,应答智能手机的应答帧在传输给智能手机时受到空中干扰、造成出错,使智能手机不知道电视机已正确执行该命令,而再次发送同样的命令,使电视机出现不应有的现象。如,按下开关键,电视机正确执行控制命令,返回的应答受干扰出错,导致智能手机重复发开/关机命令,出现电视机反复不断地开/停机。
为避免上述情况的出现,在智能手机发给电视机的控制命令中,增加一个字节的发送次数。这样,当智能手机发送新控制命令时,该字节的数据为0.如果智能手机重发一次该命令,该字节就加1.以此类推,直到该字节数值达到通信故障次数。电视机收到该控制命令后,如果该字节数值为0,就执行该命令,并置该命令标志为1,清前一个控制命令标志,然后发正确执行应答帧给智能手机;如果不为0,就检查该控制命令标志是否为0.为0,按照上面该字节为0的流程处理;不为0,不再执行该控制命令,而是发正确执行应答帧给智能手机,告诉智能手机该控制命令己执行了,避免电视机重复执行命令。
5结束语
在智能手机普及的今天,使用智能手机来控制家电的时代已经到来。为了适应这个时代的要求,我们进行了这方面的探索研究,并通过二年多的时间使用,证实这种方法是可行和可靠的。为进一步探索智能手机控制家中所有家电的可行性给出了借鉴,也为进一步研发以Wi-Fi为基础的物联网智能家居提供参考。