基于智能手机服务菜单的远程控制系统设计
2016-05-14陈崇辉邓筠
陈崇辉 邓筠
摘 要: 针对手机语音通话中听录音来确定远程控制服务对象,设计一种基于智能手机控制服务菜单的远程控制系统,提出Android智能手机可视化菜单远程控制灯光的系统结构,设计并分析系统硬件电路组成及工作原理,论述软件程序工作流程,重点研究并提出新的可视化控制服务菜单的操作方法。实验调试结果显示,通过操作智能手机运行的可视化控制服务菜单APP,系统能够可靠地、准确地接收远程控制指令,点亮或熄灭灯泡,实现设计效果。
关键词: 远程控制; 服务菜单; 控制服务; 双音多频; 过零检测
中图分类号: TN92?34 文献标识码: A 文章编号: 1004?373X(2016)06?0082?04
Design of remote control system based on smart phone service menu
CHEN Chonghui, DENG Jun
(School of Electrical Engineering, Guangzhou College of South China University of Technology, Guangzhou 510800, China)
Abstract: Since the remote control service object is determined by listening recording in the phone voice calls, a remote control system based on smart phone control service menu was designed. The system structure of visual menu remote control lighting for Android smart phone is proposed. The system hardware circuit and working principle are designed and analyzed. The workflow of software program is discussed. The new operating method of the visual control service menu is proposed and emphatically researched. The experimental debugging results show that the system can receive the remote control commands reliably and accurately, and light or extinguish the bulb by operating the visual control service menu APP of smart phone. The design effect was realized.
Keywords: remote control; service menu; control service; DTMF; zero crossing detection
0 引 言
远程控制系统能够让身在异地的人对灯光或其他电器进行远程控制,已经有非常多的成熟设计以及产品面世,也有大量的论文进行了论述。目前的远程控制方式主要有基于因特网的计算机或手机的远程网络控制[1?2],但网络存在一定的时延,实时性较差,控制效果不尽人意;第二种方式是通过手机短信进行远程控制[3?5],但短信的时延有时更加难以保证,实时性更差;第三种方式是通过手机建立实时语音电话[6],实时性较好,但要听录音电话,按1控制什么,按2控制什么,要集中注意力去听,否则听完还找不到要控制的数字与对象。针对这些问题,本文通过建立实时语音电话,把控制服务语音录音设计成为一个控制服务菜单,一旦手机与远程控制系统成功建立语音电话,手机就自动弹出控制服务菜单,要控制什么都是可视化的操作即可完成,非常直观与实用。
1 系统总体方案设计
本文综合运用单片机技术、GSM通信技术和智能手机APP技术,设计了基于手机服务菜单的远程控制系统,系统由智能手机和控制系统两部分组成。系统结构如图1所示。
图1 系统结构图
智能手机运行自行设计的手机控制服务菜单APP,而控制系统以单片机MCU为控制核心,控制GSM模块与手机建立语音电话,语音输出端经过DTMF解码电路还原出手机端所按的数字,单片机输出高低电平控制继电器的动作,从而实现灯光或其他电器设备的远程开关控制,同时设计了反馈检测电路,对受控灯光交流电源进行实时检测,同时对受控灯光是否发光进行实时检测,并通过某个频率的声音反馈回手机APP界面实时显示,从而得知控制指令触发之后是否成功驱动了控制对象。
2 硬件电路设计
2.1 单片机及GSM模块设计
系统采用SIMCom公司SIM900A模块作为语音电话的无线通信模块,负责将远程控制系统与用户手机建立语音电话,从而在智能手机端APP服务菜单实现直观的远程控制功能。系统单片机MCU选用IAP15W4K58S4高性能8051单片机芯片,其集成4组全双工异步串行通信口(UART)[7],而SIM900A模块的通信端口为USART方式,两者兼容,因此单片机MCU通过串行口通信对其发送AT指令即可控制SIM900A模块,建立语音电话的步骤及涉及到的关键AT指令如表1所示[8]。
2.2 按键音解码电路
通过智能手机服务菜单传递过来的数字按键音的解码需要DTMF解码电路实现,由MT8870解码芯片组成的DTMF电路通过对双音多频信号的解码还原成二进制数字信号,MT8870电路原理图如图2所示。
图2中DTMF连接SIM900A模块的语音输出端,经过芯片内部的滤波、放大、高低音频分离以及译码等运算处理后,从Q4~Q1输出8421码作为单片机MCU的数据输入端口,为了使系统获取有效数据,MT8870的STD引脚只有在获取有效双音多频信号后,才会输出高低电平的变化,从而触发单片机的外部中断,识别4位二进制代码,还原手机端所按的数字按键。
2.3 控制及反馈检测电路
控制电路采用继电器或者固态继电器来实现弱电对强电的控制,由于是远程控制,所以控制对象有没有相应的动作效果无从得知。通过设计相应的反馈检测电路实现动作执行的效果监控,以一路灯光控制为例,控制及反馈检测电路原理图如图3所示。图中一路是通过光耦合器检测灯泡两端是否有交流供电电压,另一路是通过光敏传感器检测灯泡是否发光,并传输回手机服务菜单实时显示,从而远程获取灯泡收到指令后实时的控制情况。
当P10为高电平时,V2截止,继电器J1释放,灯泡LAMP两端没有电压,因此光耦合器U3处于截止状态,CHECK1输出高电平,同时灯泡熄灭状态,光敏传感器RG没有接收到光照,三极管V3处于导通状态,CHECK2输出低电平;反之当P10为低电平时,V2导通,继电器J1闭合,灯泡LAMP两端有交流220 V电压,该电压经过VD8半波整流,R10,R11,R13分压而导致光耦合器U3处于导通状态,CHECK1输出低电平,同时灯泡发光,光敏传感器RG接收到光照,三极管V3处于截止状态,CHECK2输出高电平。此时如果灯泡本身坏了,能够检测到灯泡两端的电压,但无法检测到灯泡发出光照,因此通过设计反馈检测电路能够实时了解远程控制的实际动作效果,提高了远程控制的可靠性。
2.4 过零检测电路
过零检测电路由V1及外围元件构成,如图4所示。输入交流220 V电压经过变压器T1降压后,输出低压交流信号,经过VD5和VD6整流形成100 Hz脉动直流信号,电阻R5和R6分压后经过电容C5滤波,减去高频成分,进入晶体三极管V1的基极。
当输入信号为0时,三极管V1截止,其集电极在上拉电阻R7作用下输出高电平;当V1基极输入电压大于0.7 V时,V1导通,其集电极输出低电平。所以在输入信号的零点附近时,会形成脉冲信号。该脉冲信号与交流50 Hz信号同步,并进入单片机MCU产生中断,检测电压的零点,从而减小控制部分开关器件在电路中打开和关断时产生的浪涌电流,有效降低浪涌电流对电路器件的冲击,延长器件的使用寿命[9]。
3 控制系统软件流程设计
控制系统软件流程图如图5所示。
为了提高控制系统远程实时控制操作的安全性,首先判断手机模块来电号码是否是预存的合法号码,如果不是,不予接收;如果是,则接听语音电话,将收到的数字按键声音代码送入DTMF解码,经过单片机处理并还原出所按数字并输出控制信号。比如打开一个灯泡,则输出低电平信号,驱动继电器闭合,灯泡接通交流电压并发光,此时,反馈检测电路实时检测灯泡两端的电压和发光情况,并通过某个频率的声音信号反馈回智能手机APP进行处理显示,从而实时得知此次打开灯泡指令的执行情况。关闭一个灯泡的过程类似,除了发出相应的指令,输出相应的控制信号外,还需要实时检测控制对象的操作结果。控制指令完成后,则挂断语音电话,完成一次远程控制操作。
4 手机服务菜单APP设计
在智能手机电话的呼出流程中,输完对方号码后,最后需要按下拨号键,才能将电话拨打出去,此时远程控制系统自动识别来电号码并接通语音电话,这两个界面都是InCallScreen。控制服务菜单APP通过InCallScreen.java中的call_card控件,在后台检测到所拨打的号码以及通话时间,随即激活成为当前控制服务进程。控制服务菜单APP设计效果如图6所示。
控制服务菜单界面通过调用incall_touch_ui控件,实现可视化的控制服务菜单列表,提供通话挂断按钮incomingCallWidget、免提按钮audioButton、麦克风静音按钮muteButton、呼叫保持按钮holdButton等;通过调用dtmf_twelve_key_dialer_stub控件,显示DTMF拨号控制键盘按钮,该控件为DTMF控件,也就是0~9以及*和#的拨号键盘对应的功能实现[10]。拨号按键的音量大小以及按键音的长短对DTMF编码传输的成功率有一定的影响,通过对DTMFTwelveKeyDialer.java中的startDialerSession控件进行设置的方法可改变拨号按键音量大小;通过对手机触摸屏按压操作可调整按键音的长短,从而提高语音通话过程中数字按键DTMF编码的可靠传输。
5 系统测试
5.1 过零检测脉冲信号测试
交流电压信号是标准的正弦波波形信号,经过桥式整流变成脉冲直流电压信号,示波器实测波形如图7(a)所示,图中频率为100.10 Hz,是交流电压频率的2倍;输入交流信号的零点左右会形成窄脉冲信号,示波器实测波形如图7(b)所示,图中频率为100.05 Hz。数据测试中所使用的设备为固纬GDS?1152A数字存储示波器,波形为示波器直接存储原图。
5.2 远程控制功能测试
通过智能手机拨打远程控制系统的号码,建立语音电话,此时按下数字按键,即可控制相应灯泡的点亮和熄灭。如图8所示为一个灯泡点亮效果图。
经过多次手机数字按键控制测试,对于智能手机的电容式触摸屏的操作,按下数字按键时,需要稍微按住按键并持续一点时间,而不应过于急促,保证手机数字的双音多频编码信号能够可靠传输,提高远程控制的可靠性,实现设计效果。
6 结 语
本文针对实时语音电话可视化服务菜单远程控制系统进行了设计,提出Android智能手机服务菜单和远程控制灯光的系统结构,分别对系统硬件电路原理、软件流程和控制服务菜单APP进行设计和说明。实验证明基于智能手机服务菜单的远程控制系统,在智能手机与远程控制系统成功建立语音电话后,通过可视化的菜单操作控制,能够直观方便地对灯光等电器进行远程控制。
参考文献
[1] 张修建,张铁犁,印朝辉,等.一类远程控制系统的时延补偿H∞鲁棒控制[J].计算机测量与控制,2012,20(5):1261?1264.
[2] 田欢.远程控制环境下的网络延时特征[J].自动化与仪器仪表,2014(10):113?114.
[3] 刘天成,田学军,许景生.基于MCU+GSM的全自动电饭锅远程智能控制系统[J].现代电子技术,2013,36(20):127?130.
[4] 刘权,李哲涛,杨国华,等.基于TC35i短信通信的多功能远程控制终端[J].兵工自动化,2012(9):82?85.
[5] 李中平,邱健峰,李璐,等.Android手机远程控制关键技术分析[J].计算机应用与软件,2013,30(4):113?115.
[6] 陈崇辉.基于GSM和电力线载波的智能家居控制系统的研究与设计[D].广州:华南理工大学,2011.
[7] 丁向荣,陈崇辉.单片微机原理与接口技术:基于STC15W4K32S4系列单片机[M].北京:电子工业出版社,2015.
[8] 周正,高惠芳.基于GSM的煤气实时报警系统[J].物联网技术,2014,4(6):27?28.
[9] 张志林,胡旻,袁旺.交流固态功率控制器控制技术[J].现代电子技术,2012,35(18):182?184.
[10] 杜江,周渊平.基于Android的电话拨号功能[J].计算机系统应用,2014(12):245?248.