本文通过遥控技术和单片机的相互结合设计在智能家居应用的灯光控制系统,该系统是基于单片机的控制系统,用遥控的方式对系统灯光进行控制。本方案主要解决信号的发射和接收,在信号的处理接收之后对不同信号的程序处理,通过软件编程实现对灯泡的开关和亮度调节。
引言
智能家居是指利用先进的计算机技术、网络通信技术、综合布线技术 ,将与家居生活有关的各种子系统有机地结合在一起 ,通过统筹管理 ,让家居生活更加舒适、安全、有效。
随着人们生活水平的提高和电子技术的发展,家居智能化已经开始走进了我们日常的生活。人们已经不满足于按键式的手动开关来控制灯具,从而开发出了智能化水平更高的专业照明控制的遥控系统,其成本低,质量高,应用灵活方便。而由于具有体积小、功耗低、功能强、成本低的特点,红外线遥控已经是目前应用最广泛的一种通信和遥控手段。
1 红外线遥控基本原理
红外线遥控就是利用红外线(又称红外光)来传递控制信号,实现对控制对象的远距离控制。具体来讲,就是由发射器发出红外线指令信号,由接收器接收下来并对信号进行处理并识别,再通过相应的控制芯片,最后根据接收到的不同信号实现对控制对象的各种功能的远距离控制。
红外线发射器由指令按键、信号产生电路、频率调制电路、驱动电路及红外线发射器件组成,如图1 所示。当指令键按下时,指令信号产生电路便产生所需要的控制指令信号。
这里的控制指令信号是以某些不同的特征来区分的。常用的区分指令信号的特征是频率特征和码组特征,即用不同的频率或不同的编码的电信代号代表不同的指令。这些不同的指令信号经过频率调制,最后由驱动电路驱动红外线发射器件,发出红外线遥控指令信号。
图1 红外线发射的组成
红外接收器由红外线接收器件、前置放大电路、信号解调电路、指令检测电路组成,如图2。当红外线接收器件接收到发射器的红外线指令信号时,它将红外光信号变为电信号并送入前置放大器进行放大,再经解调器解调后由指令信号检出电路将指令信号检出,实现各种操作。
图2红外线接收器的组成
要实现系统的遥控功能,就必须先选择信号指令传送的方式。根据遥控的方式和使用者场合不同,可以把这些控制信号特征进行各种组合编码。如电压极性的组合方式,电信号相位的组合方式,电信号幅值的组合方式,频率的组合方式,脉冲的宽度、相位、幅度等参数的组合方式及脉冲编码组合方式等。脉冲编码组合方式具有指令容量大,抗干扰能力强,保密性好及便于用逻辑电路来实现等优点,得到了广泛的应用。
红外遥控电路由发射电路和接收电路组成,发射部分由按键开关电路、控制芯片和红外发射电路三部分组成。当按下遥控按钮时,单片机产生相应的控制信号,经红外发射二极管发射出去。接收部分由红外接收头、控制芯片、调光电路组成,当红外接收器接收到控制脉冲后,经单片机处理,判断是否对电灯进行调光或开关,根据需要执行相应的操作,接收系统采用的是5 伏单电源电压供电。如下图所示:
图3 系统设计框图
2.1 遥控系统主控芯片
在本系统中选择的是51 系列的AT89C51芯片,AT89C51是一种带4k字节闪烁可编程可擦除只读存储器(FPEROM—Flash Programmable and Erasable Read Only Memory)的低电压,高性能CMOS 8 位微处理器,俗称单片机。该器件采用ATMEL 高密度非易失存储器制造技术制造,与工业标准的MCS-51 指令集和输出管脚相兼容。由于将多功能8 位CPU 和闪烁存储器组合在单个芯片中,ATMEL 的AT89C51 是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。AT89C51 是一个低功耗高性能单片机,40 个引脚,32 个外部双向输入/输出(I/O)端口,同时内含2 个外中断口,2 个16 位可编程定时计数器,2 个全双工串行通信口,AT89C51 可以按照常规方法进行编程,也可以在线编程。
其将通用的微处理器和Flash 存储器结合在一起,特别是可反复擦写的Flash 存储器可有效地降低开发成本。
2.2 红外发射电路模块
在本系统设计中,单片机发出的信号如何被红外发射管识别,发射管能否正常发射红外信号是发射电路要解决的关键问题。
要发射红外信号,必须要有红外发射器件。红外发光二极管是一种能产生红外光的发光二极管,目前大量使用的红外发光二极管发出的红外线波长为940nm 左右,外形与普通发光二极管相同,只是颜色不同。常见的红外发射二极管有黑色,透明色,它与普通发光二极管的最大区别在于所发出的光为不可见光,而普通发光二极管发出的是各种颜色的可见光[5],通常,红外发光二极管分为两种结构形式:一种是遥控发射型红外发光二极管(即最常用的手持遥控器所用的红外发射二极管);一种是近距离发射型红外发光二极管,这种二极管把红外光的发射与接收共集为一体。由于本设计实现的是家居遥控,因此采用第一种即可。
如图4 所示为系统遥控发射原理图,P1.0 口为按键输入口;P2.0 口为红外发射端口,用于输出38kHz 载波编码,脉冲经9013(NPN)放大然后由红外发射管输出;第9 脚为单片机的复位脚,采用RC 手动复位电路;18、19 脚接晶振。
图4红外发射电路图
2.3 红外接收电路模块
1). 红外接收器件介绍。
一般的红外接收头主要由集成电路外加阻容元件,红外线接收管及滤波光片等组成,电路设计相对繁琐,在实际应用中不方便。而红外遥控接收头SM0038 集红外接收管,前置放大解调等于一体,无外部电路,体积小,密封性好,灵敏度高,应用简单,用小功率红外发射管发射信号接收距离达35 米,并且价格低廉。它仅有三条管脚,分别是电源正极、电源负极以及信号输出端,其工作电压在5V 左右,接收频率为38kHz,它的主要功能包括放大,选频,解调几大部分,要求输入信号需是已经被调制的信号。从而使电路达到最简化,灵敏度和抗干扰性都非常好,是一个接收红外信号的理想装置。如图5 所示:
图 5 SM0038
2). 接收电路及调光电路设计。
接收电路和调光电路的实现均是通过继电器实现的,给每一个继电器串联一个电阻,构成一个回路,本电路将四个继电器回路并联,连接在P0 口上,当四个继电器均闭合时,灯最亮,当三个继电器工作时,灯较亮,当两个继电器工作时灯次亮,当一个继电器工作时,灯最暗,当四个继电器都不工作时,灯泡处于关闭状态。接收电路图如图6 所示:
图 6 接收电路图
3 系统软件设计
本系统所用的红外线接收器SM0038 的解调中心频率为38KHz,故发射频率也采用38kHz,本电路采用一路按键,一种编码方式实现对家居灯的控制,接收端根据接收到的不同编码个数实现灯的不同亮度的调节控制。每一次P1.0 口为低电平时,则确定键被按下,由P2.0 口发射一个编码。接收端接收编码时进行判断,首个低电平是否大于2ms,如果是,再判断是否是正确的编码,如果是,num加1,亮度调暗一档。
3.1、遥控发射程序控制流程图
图 7 发射程序流程图
初始化程序后,开定时器产生38kHz 脉冲,再判断有无按键按下,当有按键按下时,根据定时器设定的时间发一帧脉冲,首先发3ms 高电平,再发1ms 低电平,1ms 高电平,接着停发10ms。
3.2. 遥控接收程序控制流程图
图8 接收部分调光程序流程图
接收端采用查询方式接收,当查询到P1.0 口为低电平时,累加器工作,通过累加器中变量个数判断控制灯的亮度及开关。当num为0 时,灯最亮,加1则调暗一个档次,当num等于4 时,继电器全部断开,灯灭。
4 结论
为了减少电路的繁琐,我使用单片机来实现软件编码解码,大大提高了电路的灵活性,降低了成本,仅仅使用一个键就能实现对一个灯具的开关和亮度调节,若是把一个按键开关改设成一个矩阵键盘,就可以实现对整个家里的灯具的开关和亮度控制,实用性很强。
二、基于ZigBee的智能家居系统设计
智能家居是以住宅为平台,利用综合布线技术、网络通信技术、安全防范技术、自动控制技术、音视频技术将家居生活有关的设施集成,构建高效的住宅设施与家庭日程事务的管理系统,提升家居安全性、便利性、舒适性、艺术性,并实现环保节能的居住环境。基于智能家居的最新定义,参考ZigBee技术的特点,设计出的本系统,在包含了智能家居必备系统(智能家居(中央)控制管理系统、家居照明控制系统、家庭安防系统)的基础上,加入了家居布线系统、家庭网络系统、背景音乐系统和家庭环境控制系统。在智能家居的认定上,只有完整地安装了所有的必备系统,并且至少选装了一种及以上的可选系统的家居系统才能称为智能家居。因此,本系统可以称为是智能家居。
1 系统设计方案
该系统设计由家庭内被控制设备和远程控制设备组成。其中家庭内被控制设备主要有能访问Internet的计算机、控制中心、监控节点和选择添加的家用电器控制器。远程控制设备主要由远程计算机和手机组成。系统组成如图1所示。
系统的主要功能有:1)网页前台页面的浏览,后台信息管理;2)通过Internet和手机两种远程控制方式实现室内家用电器、安防和灯光的开关控制;3)通过RFID模块实现用户识别,从而完成室内安防状态的开关,在盗贼入侵时通过短信息(SMS)向用户报警;4)通过中央控制管理系统软件完成室内灯光及家电的本地控制和状态显示;5)利用数据库完成个人信息存储和室内设备状态存储,通过中央控制管理系统方便用户查询室内设备状态。
2 系统硬件设计
系统硬件设计包括控制中心、监控节点和选择添加的家用电器控制器(这里以电风扇控制器为例)的设计。
2.1 控制中心
控制中心主要功能有:1)组建无线ZigBee网络,把所有监控节点加入网络中,并实现新设备的接收;2)用户身份识别,用户在离家或归来时通过用户卡实现室内安防的开关;3)当有盗贼入侵室内时,通过向用户发送短信息报警。用户也可通过短信息控制室内安防、灯光及家电;4)系统单机运行时,液晶显示当前系统状态,方便用户查看;5)存储电器设备状态并发送至PC机,以实现系统联机。根据控制中心的功能设计出它的组成框图如图2所示。
选用TI公司的CC2430单片机作为ZigBee模块的控制器,它是一款高性能、低功耗的805l内核的单片机。也是一款符合IEEE802.15.4规范的2.4 GHz的射频器件,硬件支持载波监听多路访问/冲突检测(CSMA/CA),2.0~3.6 V的工作电压有利于实现系统低功耗。通过连接在控制中心的ZigBee协调器模块,在室内建立无线星形ZigBee网络.并将所有监控节点、选择添加的家用电器控制器作为该网络中的终端节
点加入网络中,从而实现室内安防及家电的无线ZigBee网络控制。
控制中心MCU采用8位单片机ATMegal28,该器件是一款高性能、低功耗的RISC结构的单片机,大多数指令可在1个时钟周期内完成,最高工作于16 MHz,具有128 K的系统内可编程Flash,4 K字节的EEPROM和2个串行接口。它与GSM模块、RFID模块、液晶模块、ZigBee协调器和PC机相连,是整套硬件系统的核心,完成对中央控制管理系统的响应和对各模块的驱动。GSM模块采用TC35i模块。它通过串行UART接口直接与控制中心MCU相连。RFID模块采用ZLG500模块,其内部集成了MFRC500型ISO14443A读卡器,能够读写RC500内的.EEPROM。由于ZLG500并不是采用标准SPI接口规范,故只能与单片机的通用I/O接口相连才能实现通信。液晶模块选用1602液晶,采用4线接口与控制中心MCU的通用I/O接口相连。ZigBee协调器与控制中心MCU采用2线接口即可实现两者间的数据双向传输。控制中心MCU与计算机RS232串口相连,传输数据稳定、可靠,实时性好。
2.2 监控节点
监控节点的功能有:1)人体信号的检测,当盗贼入侵时进行声光报警;2)灯光的控制,其控制方式分为自动控制和手动控制,自动控制是根据室内光线的强弱自动打开/关闭灯光,手动控制是通过中央控制管理系统实现灯光控制:3)将报警信息及其他信息发送至控制中心,并接收来自控制中心的控制指令以完成设备控制。从监控节点的功能出发,监控节点组成如图3所示。
红外加微波的探测模式是目前在人体信号检测时最常用的方式。热释电红外探头这里选用RE200B,放大器件采用BISS0001。RE200B由3~10 V电压供电,内置热释电双敏感红外元件,当元件接收红外光时在每个元件两极发生光电效应而积累电荷。BISS0001是由运算放大器、电压比较器、状态控制器、延迟时间定时器以及封锁时间定时器等构成的数模混合专用集成电路。它与RE200B及少量元件就可构成被动式热释电红外开关。微波传感器选用ANT-G100模块,中心频率是10 GHz,建立时间最大值是6μs。与热释电红外模块复合使用,可有效降低目标探测错误率。
灯光控制模块主要由光敏电阻和灯光控制继电器组成。将光敏电阻与10 kΩ的可调电阻串联,再将光敏电阻另一端接地,可调电阻另一端接高电平。通过单片机的模数转换器获取两个电阻连接点的电压值,从而判定当前灯光是否打开。可调电阻可供用户调节,以满足用户设置灯光刚刚打开时的光线强度。室内灯光的开关通过继电器控制。只需一个输入输出口即可实现。
2.3 选择添加的家用电器控制器
选择添加的家用电器的控制主要根据设备功能实现设备控制,这里以电风扇为例。电风扇控制就是控制中心将上位机下达的电风扇控制指令通过ZigBee网络发送至电风扇控制器实现,不同的家电识别码是不同的,例如,本协议规定电风扇的识别码是122,家用彩电的识别码是123,这样就实现控制中心对不同家电的识别。而对于相同的指令代码,不同家电执行的功能是不一样的。图4为选择添加的家用电器组成。
3 系统软件设计
系统软件设计主要包括6部分,分别为远程控制网页设计、中央控制管理系统设计,控制中心主控制器ATMegal28程序设计、CC2430协调器程序设计、CC2430监控节点程序设计、CC2430选择添加设备的程序设计。
3.1 ZigBee协调器的程序设计
协调器首先完成应用层初始化,将应用层状态和接收状态设为空闲,然后打开全局中断并初始化I/O端口。接着协调器开始建立无线星形网络。协议中,协调器自动选择2.4 GHz的频段,每秒发送的最大比特数为62 500,默认的个域网网络号(PANID)是0x1347,最大的堆栈深度为5,最大单次发送的字节数为93,串口的波特率是57 600 bit/s,SL0W TIMER每秒产生中断10次。在ZigBee网络建立成功后,协调器将其地址传送给控制中心MCU。这里,控制中心MCU将ZigBee协调器识别为监控节点的一员,它被识别的地址为0。程序进入主循环。首先判断是否有终端节点发送的新数据,如果有,则直接把这个数据传送至控制中心MCU;判断控制中心MCU是否有指令下传,如果有则将下传的指令发送到相应的ZigBee终端节点;判断安防是否打开,是否有盗贼入侵,如果有则把报警信息传送至控制中心MCU;判断灯光是否处于自动控制状态,如果是,则打开模数转换器进行采样,采样值是灯光打开或关闭的关键,如果发生灯光状态改变则把新的状态信息传送到控制中心MC-U。ZigBee协调器程序流程如图5所示。
3.2 ZigBee终端节点的程序设计
ZigBee终端节点是指由ZigBee协调器控制的无线ZigBee节点,在系统中主要是监控节点和选择添加的家用电器控制器。ZigBee终端节点的初始化同样包括应用层初始化,打开中断和初始化I/O口。接着尝试加入ZigBee网络,需要强调的是:只有和ZigBee协调器设置一致的终端节点才能加入到网络中。如果ZigBee终端节点尝试加入网络失败,则每两秒重新尝试一次,直至顺利加入到网络中。加入网络成功后,Zi-gBee终端节点将其注册信息发送至ZigBee协调器,再由ZigBee协调器转发至控制中心MCU以完成ZigBee终端节点的注册。ZigBee终端节点如果是监控节点,则实现灯光及安防的控制,程序与ZigBee协调器部分类似,只是监控节点需将数据发送到ZigBee协调器,再由ZigBee协调器将数据传送至控制中心MCU。ZigBee终端节点如果是电风扇控制器,则只需接收上位机的数据,而不必上传状态,故它的控制可以在无线数据接收中断中直接完成。在无线数据接收中断中,所有终端节点都是将接收的控制指令翻译成对节点本身的控制参数,在节点主程序中不对接收的无线指令进行任何处理。
4 联机调试
由中央控制管理系统下发的对固定设备的指令编码递增的指令,通过计算机串口发送至控制中心MCU,并通过两线接口发送至协调器,再由协调器发送至ZigBee终端节点,在终端节点接收完成时将数据再次通过串口发送至PC机,在这台PC机上完成ZigBee终端节点接收的数据与控制中心所发送的数据的比较。中央控制管理系统每一秒发送2条指令,经过5 h的测试,测试软件显示共接收数据包数量为36000包时停止测试。多协议数据传输测试软件测试结果如图6所示。正确数据包36 000,错误数据包数为0,正确率为100%。
5 结束语
通过ZigBee技术实现智能家居内部组网,具有远程控制方便,添加新设备灵活和控制性能可靠等优点。通过RFTD技术实现用户身份识别,提高系统的安全性。通过GSM模块的接入,实现了远程控制和报警功能。
三、基于Linux系统和ZigBee的智能家居系统方案
摘 要:根据现代家居的发展需求,提出了一种智能家居系统的整体设计方案,以ARM11S3C6410为核心处理器,Linux嵌入式系统为家居总中心监控系统,使用Linux Qt完成了控制程序及人机界面的编写,采用GPRS通信技术完成了系统的远程通信及监控,组建基于ZigBee无线通信技术的系统内部网络,并完成了对家电的基于统一协议的控制,实现了家居的智能化。
0 引 言
随着网络技术和通信技术的不断发展以及人们对生活要求的不断提高,实现家庭智能的远程监控已经成为必然的趋势。国家建设部住宅产业化促进中心提出住宅小区要实现六项智能化要求,其中包括实行安全防范自动化监控管理:对住宅的火灾、有害气体的泄漏实行自动报警;防盗报警系统应安装红外或微波等各种类型报警探测器;系统应能与计算机安全综合管理系统联网;计算机系统能对防盗报警系统进行集中管理和控制。随着GPRS远程通信技术和短距离无线网络通信技术的不断发展和成熟,智能家居的监控技术也逐步成熟。GPRS网络通信业务是通信公司推出的一项数据传输通信业务,在GPRS网络覆盖区域内,传输距离不受限制,通信费用相对低廉,传输速率较快。Zig-Bee短距离无线通信技术是一种近距离、低复杂度、低功耗、低速率、低成本的双向无线通信技术,主要用于距离短、功耗低且传输速率不高的各种电子设备之间进行数据传输以及典型的有周期性数据、间歇性数据和低反应时间数据传输的应用。本文解决了家庭智能嵌入式系统、GPRS远程通信、ZigBee无线通信、家电解码及编码、家居控制协议等相关技术难点,分析了其各自基本特点和所要实现的基本功能,并在此基础上提出了基于Linux嵌入式系统和ZigBee网络及GPRS无线通信的智能家居系统的总体解决方案。
1 系统整体设计方案
智能家居网络指的是在一个家居中建立一个通信网络,将各种家电设备互相连接起来,实现对所有智能家居网络上设备的远程使用和控制及任何要求的信息交换,如音乐、门窗、电源、电视或数据等等。智能家居网络的构架包括家庭内部网络系统、智能家居控制器以及智能家居网络与外部网络之间的数据通信。其中,智能家居控制器是智能家庭网络的一个重要组成部分,起到核心的管理、控制和与外部网络通信的作用。它是通过家庭管理平台与家居生活有关的各种子系统有机结合的一个系统,也是连接家庭智能内部和外部网络的物理接口,完成家庭内部同外部通信网络之间的数据交换功能,同时还负责家庭设备的管理和控制。智能家居控制器一方面需要为家庭内部布线提供通信接口,采集家庭设备的信息,并进行处理、自动控制和调节;另一方面智能家居控制器作为家庭网关,也为外部提供网络接口,连通家庭内部网络和外部网络,使得用户可以通过GPRS网络等方式访问家庭内部网络,实现监视和控制。系统控制方案如图1所示。
图1 系统整体控制框图
本系统采用三星公司最新推出的ARM11S3C6410控制芯片为核心控制器,完成所有家庭内部数据的处理,包括数据的采集与控制命令的发出,是整个智能家居控制的核心,采用Linux嵌入式系统为家居总中心监控系统,能够自动运行、处理数据,通过串口管理、无线网络来控制各控制终端,并且中心控制器通过GPRS模块实现家庭系统与手机的通信,使用户可以通过短信方式实现家庭系统的远程控制,同时,控制器还采用10.3寸触摸屏为用户提供命令输入端,采用Linux Qt完成人机界面的编写,通过ZigBee无线通信协议完成家庭内部数据的传输,方便用户实现本地控制。控制终端为单片机组成的若干小的控制系统控制各家用设备,并通过控制总线将这些小的控制系统组成网络,连接到智能家居控制器,受智能家居控制器控制。
2 基于ZigBee无线网络和统一家电协议的家居网络系统
2.1 整体设计
整个智能家居系统全部采用无线网络进行数据传输和监控,以无线网络技术为通信平台,将家庭的安防系统、门窗控制系统、家电照明系统和能源计量系统等这些分立子系统融合成为一个真正意义上的综合智能家居网络系统。既可以使用智能手机或者终端实现本地集中控制,也可以通过使用远程接入Internet网络的智能手机或计算机实现远程监控。智能家居网络系统由分散智能终端层和上端总控制层组成。
上端总控制层主要是以ARM6410中控系统为核心、利用无线通信结构形成的中控网络完成对各种不同智能终端的管理控制。中控系统配置有触摸屏方便用户使用。使用GPRS通信技术,将家庭内部信息及时与主人手机终端进行通信联系,并可以通过手机控制上端总控制层,达到远程控制的效果。
分散智能终端层是由具有智能终端特性(即信号采集处理、输出控制和数据通信功能)的各种不同安防系统、家电控制、家庭照明、家庭安防、温湿度数据采集和通信系统等模块组成。
智能终端层以AT89C51为核心处理器,使用多个I/O口进行传感器检测阵列的信号采集,其中包括红外人体探测信号、火警探测信号、有毒气体探测信号、门窗开闭信号等信号的检测;使用红外发射芯片IR6721C芯片进行家电设备控制信号的发射,可以完成家庭内部控制和GPRS远程控制;使用通信串口1连接无线数据传输芯片XL02-232AP1,XL02-232AP1是UART 接口半双工无线传输模块。本文采用了加强型的ZigBee无线技术,符合工业标准应用的无线数据通信设备,可实现多设备间的数据透明传输;通过无线ZigBee进行组网通信;无线功能强大;具备中继路由和终端设备功能。单个终端硬件结构框图如图2所示。
图2 终端硬件结构框图
智能终端与中心控制器通过基于ZigBee的无线网络完成通信,传输一个指令的数据包由以下几部分组成:起始编码bite[0][1],地址编码bite[2],数据类型编码bite[4],功能编码bite[5],效验编码bite[6],结束编码bite[7]。每个编码1个字节,发送数据范围在0~255之间,不同家庭内部的起始编码都是惟一的,防止相互信号的干扰,每个接收终端在接收到数据后,都进行地址码判断是否为自己接收的数据包,是则接收,否则不接收,接收到数据包后,对数据要执行的功能进行校验,校验正确,则进行解码,并且在解码成功后通过ZigBee的无线网络发出一个确认接受码,中心控制器在接收到确认接收码后停止再次发生控制指令,否则间隔100ms再次发生相同指令,确保整个ZigBee的无线网络数据通信的准确性和完整性。每个智能终端在正确接收到中心控制器的控制信号后,必须根据信号完成相应家庭内部的控制工作,所以家电设备的控制信号都是由统一的红外编码完成的,不同家电的红外编码各不相同,必须进行红外编码的解码和重新的编码,解码工作利用400MHz的具有存储功能的高精度示波器采集完成,编码采用AT89C51芯片的两个定时器交互中断进行,中断程序控制相应的I/O口产生对应的脉冲,脉冲输出测试结果如图3所示。
图3 AT89C51产生的红外解码脉冲
2.2 GPRS远程通信设计
以ARM11S3C6410为总控制核心,通过GPRS进行远程数据的发送与处理,使用6410串口2与GPRS进行数据通信,可以将家庭内部数据信息发送给远离房间的主人手机,并可以通过主人手机发送的控制信息控制房间内家电设备,包含摄像头的摄像处理、空调温度设置等。GPRS通信模块安装在智能家居控制器中,主要功能为通过GPRS网络连接到Internet网络,并主动与监控中心建立通信链路,进行双向数据通信。GPRS通信模块设计采用了Freescale公司生产的内嵌TCP/IP协议的G24GPRSOEM[8]。该模块尺寸小,功耗低,便于集成。GPRS通信终端收发模块主要由G24模块、天线、SIM 卡、相关的电平转换电路和RS 232串口组成。其供电电压为5V,可采用USB端口供电;通过RS 232串行口与智能家居控制器ARM 进行通信。
G24收发模块采用AT指令操作,通过RS 232串行口进行数据通信。
GPRS网络通信原理如下:首先通过SGSN节点使通信终端模块附在GPRS网络上;然后通过GGSN 节点由PPP(Point to Point Protocol)协议获得一个随机分配的IP地址,连接到Internet上;最后通信终端模块通过Internet,按照监控中心设定的端口号与监控中心建立通信链路。
2.3 系统软件
系统采用Linux操作系统,Linux内核是一种源码开放的操作系统,采用模块化的设计。在此只保留了必需的功能模块,删除了冗余的功能模块,并对内核重新编译,从而使系统运行所需的硬件资源显着减少。
Linux系统内核集成了大量的网络应用程序,支持全部的标准因特网协议和几乎所有的联网技术,因此将其应用于智能家居控制器的设计,具有代码量小、运行消耗系统资源少、可靠性高、开发周期短等优点,适应智能家庭数据采集控制器对于操作系统的要求。Qt作为一种跨平台的基于C++ 的GUI系统,能够提供给用户构造图形用户界面的强大功能。本文选用移植性强的Qt软件设计图形用户界面,所设计的GUI实用、简洁、实现了人机交互,可通过键盘或面板对程序进行输入、保存、修改和编译,信息和临时信息及时输出、显示,通过GUI达到了整合系统的目的。在Qt系统中,不仅有着构造完善的系统结构,而且为了满足用户对编写图形用户界面应用的种种需求,还创建了许多新的系统机制,其中Qt所特有的内部进程通信机制具有独特的反应速度,本文采用的Qt应用进程之间通信机制是Signal-Slot机制和FIFO 机制。Linux 系统不断侦查本地GUI消息,任何一个Qt消息被触发,系统都会立即执行相应程序,提高了整个系统的反应速度和稳定性,系统软件设计流程如图4所示。
图4 系统软件设计流程
3 结 语
整套系统的设计充分利用了ARM11S3C6410的硬件功能和处理速度,成功移植了以S3C6410为硬件核心的Linux嵌入式系统,并完成了基于Linux Qt的控制程序的开发,解决了多项技术难点,其中包括构建基于ZigBee通信协议的无线网络、基于AT89C51的统一家电控制协议、基于S3C6410的GPRS远程通信、家电控制的直接解码与编码等,实验产品的控制结果效果令人满意,验证了该系统的先进性、稳定性和实用性,具有广泛的推广和应用价值。
四、远程自动控制系统在智能家居中的应用
21 世纪是信息化的世纪, 各种通信和互联网等技术推动了人类文明的巨大进步。智能家居控制系统的出现使得人们可以通过手机或者互联网在任何时候、任意地点对家中的任意电器(空调、热水器、电饭煲、灯光、音响、DVD 录像机) 进行远程控制; 可以在下班途中, 预先将家中的空调打开、让热水器提前烧好热水、电饭煲煮好香喷喷的米饭?而这一切的实现都仅仅是轻轻的点几下手机按键或鼠标。此外, 该系统还可使家庭具有多途径报警、远程监听、数字留言等多种功能,如果不幸出现某种险情, 您和110 可以在第一时间获得通知以便进一步采取行动。舒适、时尚的家居生活是社会进步的标志, 智能家居系统能够在不改变家中任何家电的情况下, 家内家外(在家内通过无线局域网,在家外通过电信或互联网) 都能对家里的电器、灯光、电源、家庭环境进行方便的控制, 使人们尽享高科技带来的简便而时尚的现代生活。
1 智能家居系统控制的工作原理
本系统是基于红外和GSM 网络的用于智能家居环境中的一种远程自动控制系统。其工作原理为: 用户通过自身的手机发出命令短消息, 在家值守的GSM 模块接收到命令后发送给主机(单片机) , 主机通过对命令的处理, 把命令通过红外传输到相应的分机(单片机) 上, 分机对命令处理后, 启动相应设备, 完成用户给出的命令并向主机回复应答, 主机收到应答后, 通过GSM 模块发出回复短消息, 报告用户完成命令。若在规定的时间内(这里定时60s) 主机没有接收到分机的回复信息, 即把该操作认为无效, 回复操作无效短消息给用户手机, 要求用户重新发出命令。若收到的短信息有误, 主机便立刻回复用户该操作无效, 请求重新发出命令。系统构成如图1 所示。
图1 系统构成图
2 硬件设计
2.1 MCU 与GSM 通信模块
本单片机通过RS232 串行通信接口与GSM 模块通信, 提取GSM 设备的短信, 发送相关的信息, 并通过串行通信接口与红外模块相连, 利用红外模块, 达到主、分机之间的通信, 因此, 选用A T 89S52 芯片。控制上需要用到两个串行接口, 但89S52 只有一个串口, 故还需要在程序中进行模拟串行接口通信。其最简外部接线电路如图2 所示。
图2 A T 89S52 外部接线
89S52 与TC35 之间通过异步串行接口进行通信,通信速率为9 600b?s, 具有1 位起始位、8 位数据位、1位停止位, 无奇偶校验。
单片机启动后, 便发出A T + CM GD = 2 指令, 清除第二存储空间的数据, 然后不断地发出指令读取第二存储空间。若有数据, 即表示接收到数据, 并开始对数据进行处理, 处理完毕后再把该空间数据删除。当单片机向手机发出短消息时, 单片机会向GSM 模块发出A T、A T + CM GF = 0、A T + CM GS= X 一系列的指令, 当接收到回复信息后, 最后发出短消息的内容。
2.2 红外无线通信模块
红外发送器电路如图3 所示包括38kHz 晶体振荡器、反相器、与非门、驱动门Q1 和红外发射管D1 等部分。其中38kHz 晶体振荡器、电阻R3 和反相器组成脉冲振荡器, 用以产生38kHz 的脉冲序列作为载波信号,红外发射管D1 选用V ishay 公司生产的TSAL 6238, 用来向外发射950nm 的红外光束。
图3 红外发射器电路图
红外接收器电路如图4 所示, 当接收器收到数位"0"时,Q2 管导通, 使得RXD 接收到低电平, 收到数位"1"时,Q2 管截至, RXD 接收到高电平。
图4 红外接收器电路图
2.3 模拟控制
本系统将以不同的电机做出不同的动作, 来模拟说明智能家居对系统控制的响应。如图5 所示, 当分机的单片机收到本机的地址信息, 便提取信息中的数据,根据数据的命令, 若把P 10, P011 脚置成低电平, 其他为高电平, 则Q3、Q4 管导通, 电机便正向旋转, 若把P012, P013 脚置成低电平, 其他为高电平, 则Q5、Q6 管导通, 电机便反向旋转( 以前一情况为正向时)。若一台分机上连多个电机, 有多台分机, 便可以实现在智能家居环境中对家庭各个设备的同步控制。
图5 电机驱动电路
3 软件设计
3.1 单片机主程序设计
主机上电复位后进行初始化, 然后不断地对GSM模块进行扫描查询。当查询到GSM 模块接收到用户发送的短信时, 便对短信进行处理, 提取相关信息, 然后通过红外模块相分机发送相应的命令数据。接着就在一定时间(可根据用户需要调整, 这里设为60s) 内等待分机的回复信息。当接收到回复信息或规定时间内没有接收到分机的回复信息, 主机都返回到扫描查询状态。主机主程序流程图如图6 所示。
分机上电复位后进行初始化, 然后等待接收主机发送的命令信息。接收到命令信息后, 从中提取地址和数据信息, 若为本分机地址, 则对数据进行处理并作出响应, 同时向主机发送确定信息; 若非本分机地址, 则返回, 继续等待主机发送的命令信息。分机主程序流程图如图6 (b) 所示。
3.2 中断程序设计
本系统需要模拟串行数据发送和接收, 所以需要用上外部中断来接收数据, 确保数据传输的同步性和实时性。每接收一位数据, 中断都会响应一次, 接收8位为一个有效数据, 接收8 个数据为一个数据帧。外部中断流程图如图7 (a) 所示。
为了确保主机正常工作, 加入主机等待分机回复的等待时间。而为了时间的实时性和准确性, 用到单片机内部的定时器1.设定其工作模式为模式1, 初值为0x4bff (50m s)。中断20 次为1s, 60 次循环为60s, 当60s到时, 标志位置位后返回。时间中断流程图如图7 (b)所示。
4 结 论
本系统安全可靠, 性能稳定。同时本系统除用于家庭设备远程自动控制外, 也可用于家庭通信、家庭安全防范, 共同组建智能家居控制系统。
评论
查看更多