引言
进入21世纪,移动互联网和移动智能终端成为发展最为迅速的技术,随着规模的扩大、产品的普及和中间平台的推广,移动互联网和智能终端逐渐成为改变世界的力量,从根本上影响着人们生活、工作、休闲、沟通的方式。近些年来,为了解决用户“最后100 m”的通信需求,短距离宽带无线通信技术迅速发展,应用范围越来越广。而随着科技不断进步,出现了智能家居,其具有安全、方便、高效、快捷、智能化、个性化的独特魅力,对于改善现代人类的生活质量,创造舒适、安全、便利的生活空间有着非常重要的意义[1]。
移动智能终端与智能家居的结合已经成为智能家居发展的必然趋势。建立一个高效率、低成本、具有良好用户体验的智能家居系统已经是当前社会的目标。本文将单片机、单片机软件程序和CC1101无线模块等外围电路组成的系统和移动智能终端iPad上运行的客户端应用程序有机结合,构成了较完整的无线控制系统。
1 系统设计的总体方案
智能家居无线控制系统根据技术可以划分为现场级和远程控制端。现场级采用工作频率为433 MHz的RF技术进行无线传输,利用CC1101无线系统收集各个节点的信息,存放在家庭中央控制器;远程控制端可以工作在内网和外网模式,内网模式是利用无线路由器组成局域网,外网模式是接入因特网利用无线路由器把有线信号转换为WiFi信号, iPad客户端APP输入IP地址,通过WiFi信号将相应的指令发送给中央控制器(中控系统),其对指令进行验证后把验证正确的指令再转发给被控节点,各个被控节点收到控制指令进行相应操作,并向客户端作出应答。系统的总体框架如图1所示。
图1 系统总体框图
2 现场级系统设计
2.1 现场级中控系统框图
现场级中控系统包括电源模块、STC12LE5A60S2单片机最小系统、CC1101无线通信模块、WiFi转串口模块、温控模块、LCD1602模块、LED灯指示电路、蜂鸣器报警电路、串口通信单元等,其中WiFi转串口模块负责iPad客户端APP与中控系统的数据传输;CC1101无线通信模块负责中控系统与节点的数据传输;LCD1602模块滚动显示当前时间和中控系统所在位置附近的温度;蜂鸣器报警电路的作用是当中控系统或者节点所在位置的温度过高时,发出报警声,并把报警信息发送到iPad客户端APP来提醒用户家中某位置温度过高,请及时处理;LED灯指示电路包括电源指示灯、中控系统与节点通信正常指示灯。中控系统框图如图2所示。
图2 中控系统框图
2.2 现场级节点系统框图
现场级节点硬件系统的组成模块电路有电源模块、STC12LE5A60S2单片机最小系统、CC1101无线通信模块、温控电路[2]、LED节能灯单元(包括MT7201C+驱动模块)、LCD1602显示单元、LED指示灯电路等。其中,LCD1602显示节点位置附近的当前时间及温度,LED指示灯包括电源指示灯、节点与中控系统通信正常指示灯,STC12LE5A60S2单片机系统能够根据接收到的命令控制MT7201C+模块产生出不同脉宽比的PWM脉冲来控制LED节能灯的亮暗程度。节点系统框图如图3所示。
图3 节点系统框图
CC1101模块与单片机STC12LE5A60S2的连接方式如图4所示。
图4 CC1101与单片机STC12LE5A60S2连接图
3 远程控制端设计
3.1 iPad客户端应用程序APP设计
远程控制端的应用程序的开发平台和集成开发环境分别为操作系统Mac OS X Mountin Lion和Xcode 5.0.2,开发语言是ObjectiveC和C++,调试工具为 iOS模拟器(版本为6.1),真机测试工具为iPad mini[34]。
该APP包括8大模块:主卧房、儿童房、客厅、厨房、卫生间、情景模式、家庭影院和可视对话与视频监控(摄像头)。用户界面上的每个房间模块均有照明灯开关控件及对应的调光滑块控件,客厅、主卧房和儿童房界面均有窗纱和窗帘的开、关、停按钮控件,空调的遥控按钮控件;此外,客厅界面有电视机遥控按钮控件,厨房还有吸油烟机开关控件,卫生间有电热水器开关控件。情景模式模块有:会客模式、就餐模式、就寝模式[5]、夜起模式、外出模式、休闲模式、在家模式、其他模式等;家庭影院模块包括看大片、欣赏CD、卡拉OK、高清播放机、数字电视、打游戏、灯光较亮、灯光较暗、灯光全关等按钮控件。通过点击不同的按钮控件来实现情景模式与家庭影院模块中的相应功能。可视对话与视频监控模块涉及音频和视频传输技术,有待进一步研究。该APP输入中控系统的IP地址和端口号的登录界面,如图5(a)所示。控制智能LED灯开或关和亮度调节分别由客厅界面中的吊灯开关控件和吊灯亮度滑块控件来完成,如图5(b)所示。
图5 iPad客户端APP
3.2 客户端APP与节点的通信设计
iPad开启WiFi,客户端APP输入中控系统的IP地址和端口号,登录后连接到网络,经过无线路由器连接到WiFi转串口模块,该模块把数据信息通过串口传输到单片机STC12LE5A60S2进行处理,然后发出的命令利用CC1101模块发送到节点。节点接收该命令后执行相应操作,如LED灯的开或关和亮度调节动作,并向客户端APP发送应答信号,其作用是提示用户某命令已执行。
客户端APP与节点通信协议部分如下:
① 上端命令。由客户端APP发出命令,终端作出应答。
② 下端命令。由终端发出命令,客户端APP作出应答。
注:所有的数据命令均采用一问一答形式。例如:室内机发送一条指令,将等待100 ms,如在此期间没有收到客户端APP的应答,将重复发送,最多发送次数为6次(命令重发,应答不重发)。
终端包括:室内机。室内机与iPad通信端口指定为50123(初定)。网络通信方式全部使用UDP。包头为“XXXCID”(数据包标志)[6]。命令类型:1为命令;2为应答。
单个设备控制如下所示:
设备类型如下: 0为开关灯,1为调光灯,2为窗帘,3为空调,4为热水器,5为电视,6为DVD,7为功放,8为电动窗户,9为模式模块,10为无线灯等。
房号:1~7依次为客厅、主卧、儿童房、厨房、卫生间、可视对话与视频监控、家庭影院。
设备号为调光灯或多路灯为实际物理序号。
具体动作(目前只用到第一个字节):0为开、1为关、2为停、3~8为6种亮度。对于2路的窗帘: 第1个字节为具体动作(0为开、1为关、2为停),第二个字节指示是第几路(1或2), 第二个字节为0,认为是第1路。
注:以客厅吊灯为例,其设备号为1,采用十六进制指令,指令“5858584349444101000101 0000”为吊灯开命令,指令“58585843494441010001010100”为吊灯关命令。
模式控制如下:
情景模式控制详细对应关系如表1所列。
表1 情景模式控制详细对应关系
4 智能LED节能灯控制系统的设计与实现[7]
智能LED节能灯控制系统的功能是实现对LED节能灯的开/关和亮暗程度调节的控制。此系统的驱动模块采用MT7201C+芯片,它是一款连续电流模式的降压恒流驱动芯片。LED灯驱动电路原理图如图6所示,LED照明灯采用功率为3 W、工作电压为24 V的LED节能灯。此电路的采样电阻RS为0.33 Ω,PWM脉冲信号通过ADJ端口输入,通过调节PWM信号的占空比调节输出电流的大小,本系统由STC12LE5A60S2的P1.0端口产生频率为100 Hz的PWM,频率f=11.0 592 MHzCOUNTT0×CIRCLE,单片机设置定时器T0工作在模式1,定时器T0计数范围为0~COUNTT0,计数溢出次数为CIRCLE,PWM信号脉宽为W,0≤W≤1/f。脉冲宽度的大小可以由改变PWM_ON的值来调节,从而改变LED灯的亮度,其中0≤PWM_ON≤CIRCLE。
图6 LED灯驱动电路原理图
设置PWM信号的占空比为D_PWM,D_PWM=wf,则MT7201C+模块的输出恒定电流为 Iout=(0.1×D_PWM)∕RS。该驱动模块的输入电压为24 V,通过系统实验测试可知,ADJ端口输入为低电平时,LED灯处于关状态,输入为高电平时,LED灯处于开状态;D_PWM取值为0.2、0.4、0.6、0.8、1.0时,LED灯的亮度由暗逐渐变亮,取值为1.0、0.8、0.6、0.4、0.2时,LED灯由亮逐渐变暗。
另外,在制作PCB版图的时候需要注意,合理的PCB布局对于最大程度保证系统稳定性以及降低噪声来说很重要,使用多层PCB板是避免噪声干扰的一种很有效的办法。
结语
现场级智能LED灯控制系统经测试,工作稳定,达到了预期要求,即实现了通过互联网控制LED灯的开或关和亮度调节功能。在距离20 m左右的无障碍环境下数据传输速率可达200 kbps,通信误码率小于1%,不过随着通信距离的增大,数据传输延迟现象逐渐突出。
系统结合了2.4 GHz WiFi通信技术和工作频率为433 MHz的短距离RF通信技术,一方面节省了系统布线,安装组网便捷,降低了成本;另一方面,用户不用对220V高压线路进行直接操作,增强了系统使用的安全性[8]。本系统具有低功耗、低成本、安全、远程无线控制、安装简单、界面友好易操作等优点,不过该系统只是实现了LED灯控制功能,温控模块的功能需实现,功能比较单一,智能家居系统的其他设备控制功能有待以后进一步研究。
虽然该系统不完善,但通过LED灯控制系统的开发为整个系统的构建和实现提供了一定高的参考价值,为下一步的研究与探索工作打下了坚实的基础。