基于Android的双控智能无线灯具控制系统*
2019-04-30孔德超杨海涛张家坤
孔德超,杨海涛,张家坤
(北方民族大学 电气信息工程学院,宁夏 银川 750021)
0 引 言
伴随着科技水平的迅速发展和生活水准的不断提高,人们对生活的各个方面都提出了更高要求,智能家居慢慢进入到千家万户[1]。灯具控制系统是人们日常生活中不可或缺的一部分,但是传统的有线灯具控制系统需要提前在墙内铺设电力线,已经无法满足人们对追求高质量生活的要求。针对此问题,目前市场上出现了许多无线灯具控制系统。经过对目前无线灯具控制系统的调查发现,灯具控制主要运用了ZigBee、蓝牙和WiFi三类无线通信技术。但是,这三种灯具控制方式存在以下缺点:ZigBee不能穿过墙体控制相邻房间的灯具,限制了其使用范围;蓝牙灯具控制系统需要把蓝牙集成到灯具中[2],如若控制多个灯具需要增加蓝牙个数,增加了控制系统的成本;WiFi灯具控制系统需要依赖WiFi网络[3],存在受限于网络的弊端。因此,市场上现存的无线灯具控制系统从价格、使用条件及安装的便利性方面来说,未能解决无线灯具控制系统的本质问题。
针对目前市场现存的无线灯具控制系统的弊端,结合人们对无线灯具控制系统的需求和Android智能手机的普及,本文设计了一种基于Android的双控智能无线灯具控制系统。本控制系统通过手机APP与蓝牙通信,蓝牙通过串口向无线中继系统发送控制信息,无线中继主控芯片STC89C51接收蓝牙数据进行解析,将解析得到的房间地址和灯具号通过编码芯片2262和315 MHz无线模块发送到灯具接收端实现灯具的控制。同时,可以通过低功耗触摸按键发射系统实现灯具的控制。本设计系统不仅可以通过Android手机端通过无线中继系统实现对灯具的控制,还可以通过低功耗无线触摸按键发射系统实现对灯具的控制,实现了对灯具系统的双控。
1 系统设计原理
本文设计的基于Android的智能双控无线灯具控制系统,主要由手机APP通过中继系统和低功耗无线触摸按键发射系统实现对灯具的控制。第一种控制方式由手机APP人机交互端、无线中继控制系统和灯具控制系统三部分组成。手机APP通过蓝牙协议与HC-05蓝牙进行通信,并把灯具的地址和被控灯具号通过蓝牙传送至无线中继系统。无线中继控制系统包括蓝牙、STC89C51最小系统、2262编码芯片及315 MHz无线发射模块。蓝牙负责将接收到的APP数据通过串口发送到STC89C51单片机;STC89C51单片机负责将得到的数据进行解析,从而得到被控灯具的地址和灯具号,并控制2262系列编码芯片通过315 MHz无线模块发射一次有效的数据信息。无线灯具接收端由解码芯片2272、315 MHz无线接收模块及灯具控制电路组成。315 MHz无线接收模块将接收到的数据通过解码芯片2272进行解码,并判断解码后的地址与灯具控制端所设地址是否匹配。若匹配,则控制灯具亮灭;若不匹配,则无任何动作。第二种控制方式是通过低功耗触摸按键芯片TTP223控制2262编码芯片无线发射编码信号实现对灯具的控制。本控制系统不仅可以通过手机实现对灯具的控制,还可以通过低功耗无线触摸按键发射系统实现对灯具的控制。总体系统结构原理如图1所示。
图1 系统结构原理
2 手机APP控制端
本系统使用的移动终端设备是Android智能手机,APP开发使用AndroidStudio开发平台,通过建立良好的人机交互界面给用户带来更好的体验[4]。首次登陆APP需要根据用户自身的需求增加房间,单击进入增加的房间为每个房间增加灯具。由于一个地址(房间)可以控制4个灯具,所以每个地址可以控制4个灯具。每个房间可以自己手动设定地址,设定的地址通过Android提供的SharedPreferences进行持久化保存,且房间地址根据需求可以进行更改。APP界面设计如图2所示。
图2 APP设计界面
进入房间设定好参数后,执行打开蓝牙、搜索蓝牙及连接蓝牙等操作。成功连接蓝牙后,可以与无限中继系统进行通信,并对灯具进行控制。APP工作流程如图3所示。
图3 APP工作流程
若软件正常运行,需要在Android的配置文件下添加蓝牙使用权限声明,否则无法正常使用蓝牙。添加蓝牙权限如下:
<uses-permission android∶name=”android.permission.BLUETOOTH”/>
<uses-permission android∶name=”android.permission.BLUETOOTH_ADMIN”/>
在Android开发中,只需调用Android本身提供的蓝牙API函数,即可和蓝牙建立无线数据通信[5-6]。一般Android系统与蓝牙建立通信流程,如图4所示。
图4 蓝牙建立通信流程
3 无线中继系统
无线中继系统由三部分组成:蓝牙模块、STC89C51单片机控制模块和无线发射系统。蓝牙模块用于接收手机APP发送的数据,通过串口将数据发送给STC89C51单片机;STC89C51单片机将接收的数据解析出房间地址和房间灯具号控制无线发射系统进行数据发送;无线编码芯片及315 MHz无线发射模块用于将单片机解析后的数据发送到对应地址的灯具接收端。无线中继系统原理如图5所示。
图5 无线中继系统
3.1 蓝牙及单片机系统
本无线中继系统使用HC-05蓝牙串口通信模块,通过单片机串口或者使用PC机上位机串口软件,用AT指令设置其蓝牙名称、密码、波特率及工作方式等。本系统使用蓝牙的波特率为9 600 b/s,工作模式为从机模式。STC89C51单片机负责解析蓝牙接收的数据。由于本无线中继系统能够控制256个地址,且每个地址可以控制4个灯具,因此可控制1 024组灯具。通过手机APP发送的数据共有4位数字,其中前3位是灯具地址,最后1位代表被控灯具号。因此,前3位数据取出作为灯具的地址送入单片机的P0口,用于控制无线发射的地址;将数据的最后1位取出送入单片机的P2口的低4位,用于选择控制指定的灯具号。原理如图6所示。
3.2 无线发射系统
无线发射系统包含编码芯片2262和315 MHz无线发射模块。2262系列编码芯片是一款CMOS工艺的低价位、低功耗的通用无线编码芯片[7-8],被广泛应用于低成本无线通信控制领域。本系统的数据发送模块采用的是工作频率为315 MHz的调幅方式,通过增加天线可以增加整个发射系统数据发送的距离范围。为了整个无线发射系统设计的紧凑性和美观性,本设计通过在PCB板上通过铺设铜线代替天线。无线发射系统原理如图7所示。
A1~A8为无线编码芯片的地址控制端已连接单片机的P0口,OSC1和OSC2用于连接振荡电阻本设计系统选用的电阻为1.2 MΩ。D0~D3为编码芯片的数据口连接至单片机P2口的低4位,用于控制灯具号。通过控制TE引脚的低电平时间,控制无线编码芯片有效发射编码信号的次数。本无线控制系统要求每次接收到数据时只发射一次有效数据,故需要精确控制TE引脚的低电平时间,以避免产生误操作。经过实际测试,TE管脚低电平时间控制在15 ms,可以控制无线发射系统发射一次有效信号。
图6 蓝牙及单片机原理
图7 无线发射系统原理
4 低功耗无线触摸按键发射系统
本系统由低功耗触摸按键芯片TTP223、2262编码芯片和315 MHz发射模块组成。编码芯片2262和315 MHz模块组成发射系统,实现对编码信号的发送。本系统由2块CR2032纽扣电池供电。当没有检测到触摸动作时,本系统只有低功耗触摸键芯片TTP223耗电,耗电电流极低,仅有12.6 μA。当检测到触摸动作时,TTP223输出端口输出高电平驱动整个无线发射系统工作,并发射一次有效编码信号控制灯具的亮灭。工作时,整个系统耗电电流为257.5 μA。经计算,2块CR2032纽扣电池完全满足一年的使用要求。低功耗无线发射系统原理如图8所示。
图8 低功耗无线触摸按键发射系统原理
5 无线灯具接收系统
本无线接收系统用于接收来自无线中继系统发射的编码信号,将接收到的编码信号通过2272系列解码芯片进行解码[9-10]。将解码得到的地址与本接收端地址进行匹配,如若两者地址一致,则控制灯具进行亮灭,否则无任何动作。灯具接收系统电路如图9所示。
图9 灯具接收系统原理
无线灯具接收端通过简单的限流、整流及稳压电路为无线接收系统供电,降低了使用变压器降压的成本。无线接收端地址可以根据用户需求通过拨码开关S1设置。同一地址下,可以通过拨码开关S2选择D0~D3任意一个数据口控制灯具的亮灭。无线灯具接收端设定的地址与APP客户端和低功耗无线触摸按键发射系统设定的地址相同,才能实现对灯具的双控。
6 结 语
本文针对目前市场上存在的无线开关用户体验差、成本高及安装不便的弊端,提出了一种基于Android的双控智能无线开关控制系统。本控制系统不仅可以通过手机APP端实现对灯具的控制,还可以通过低功耗无线触摸按键发射端实现对灯具的控制。本无线灯具控制系统相比市场上现存的其他无线灯具控制系统具有以下优点:本系统采用蓝牙与手机通信解决了WiFi网络的限制;手机APP端和无线灯具接收端可以由用户自由设置被控灯具的地址极大地方便了用户的使用;本系统的无线中继系统可以控制灯具的数目多达1 024组,因此用户可以通过手机APP和一个无线中继系统轻松控制1 024组灯具,极大地降低了使用成本;本无线中继系统采用315 MHz与灯具控制系统通信,解决了ZigBee不能穿墙控制灯具的弊端。