智能家居模块创建探析

智能家居模块创建探析

作者:邓昀 程小辉 单位:桂林理工大学信息科学与工程学院

电话模块设计报警时需要拨打用户电话。考虑到已经使用了单片机,因此电话的摘挂机都由单片机控制继电器来完成。电话模块主要是一个音频变压器,它的作用是将电话线上的语音交流信号耦合到功放电路,同时也将拨号信号与语音提示信号耦合到电话线路上。变压器的另外一个线圈连接到了主板的声卡上,作用是将声卡的音频信号耦合到电话线上,同时也将电话线上的声音耦合到了声卡的线路输入端。通过软件声音合成,方便地实现电话拨号、对输入的音频信号进行识别就可以知道对方电话按键音的数字信号。

家电控制模块设计大部分电器只要控制它的开和关就可以了,通过设计一个智能开关就可控制它。还有一部分电器不仅需要控制开和关,还需要控制量,如空调的温度和湿度、电视的音量和频道等,这些电器可以通过红外遥控器来控制。因此设计一个无线转红外协议转换器,将网络控制指令转化为相应电器的红外遥控指令来实现控制。协议转换器的结构如图4所示。无线红外协议转换器主要由无线接收模块、红外接收头、单片机和红外发射管组成。无线模块用于接收无线遥控指令,控制协议转发。红外接收头用于接收用户的遥控器指令,“学习”后存到EEPROM里[4]。发射时,根据无线遥控指令,从EEPROM读出红外数据,并产生38kHz的调制信号,以调幅的方式发射出去,从而还原红外遥控指令。家电控制模块集成了单片机、电力载波X10协议模块,还集成了315M射频无线模块。通过电力载波或无线遥控,可以控制智能开关。家电控制模块模型如图5所示。

系统软件设计

整个软件系统由几部分组成:单片机里的单片机软件、智能家居主机里的视频监控与智能家居控制软件、手机里的手机观看软件、客户端的远程观看软件等,其中运行在主机里的视频监控与智能家居控制软件是主要部分。视频监控与智能家居控制软件主要实现的功能有:视频采集与录像;将视频按需要传送到客户端软件或手机软件那里;控制单片机模块输出控制信号;接收单片机模块采集的报警信号;处理电话拨号、报警、控制等;设置各种参数。

1视频监控模块的设计视频监控模块主要包括视频采集与编码模块、视频录像与视频远程传输模块。(1)视频采集模块,利用philips7130芯片的视频采集卡来完成的。利用Windows的VFW接口,可以完成视频采集的功能。(2)视频编码模块,采用了MPEG4视频压缩格式,主要流程为:调用回调函数获得视频数据→数据缓存→调XVIDcode编码。(3)视频录像模块,经过编码后的MPEG4数据流可保存到硬盘中,主要流程为:从MPEG4数据缓冲区读数据→检查硬盘空间→将数据写入到硬盘。(4)视频远程传输模块,编码后的视频数据是通过Internet网络以TCP/IP协议传输到手机软件或客户端软件。主要流程为:创建套接字,监听,接受连接,连接成功,从MPEG4数据缓冲区读数据,传送数据,最后断开连接。

2报警模块设计报警信息来自各种探测器,如红外探测器、烟雾探测器、煤气探测器等。这些报警信号都可以看成是一个开关量:开或关状态。模块将紧急情况发生的状态定义为开,正常状态定义为关,那么只要某个探测器处于开状态,就认为有报警发生了。为了区分不同的报警点信号,将探测器进行了地址编码。地址码分为两部分:第一部分是主机地址码,用来区分不同智能家居主机,以免相互干扰;第二部分是探头的地址码,用来区分不同的探测器地址。地址结构:主机地址码+探测器地址码。地址编码采用台湾产的PT2262和深圳产的1527编码,直接写在芯片内部。报警模块由报警录入、报警器修改、报警处理等部分组成。上位机从串口接收到报警信号后,进行主机地址码核对,如果是本机的地址码就进一步处理,否则就放弃。探头在生产时随机生成不同的地址,在第一次使用时先让探头发出一个测试信号,主机接收到后就记录到数据库里,该探头就属于该主机了。探头录入流程如图6所示。报警处理模块收到报警信号后,首先查找数据库,是否为已录入的探头地址,如果是,就看是否在布防状态,然后发出报警信号,否则,简单提示收到信号就可以了。这一过程如图7所示。

3智能家居控制模块设计该模块实现对家电设备的远程控制,控制流程为:远程客户端软件先将控制命令使用TCP/IP协议通过Internet发送到智能家居主机,主机将控制信号转化为X10协议,由电力载波传送到智能开关,从而实现对家用电器的控制,或者将控制信号转发为遥控信号控制无线遥控智能开关。智能家居控制模块主要由控制协议转换、控制软件等部分组成,它们之间的通信协议定义为:波特率9600,数据位8,无校验,停止位1。控制指令格式:起始码1字节(@)+1字节长度(不包括@和长度字节本身)+1字节指令+若干字节数据。起始码“@”的ASCII值的10进制值是64,16进制值是40,可以用“#”号与16进制值40来表示,“@”与#40都是同一个意思,都是1个字节。1字节长度字段紧跟在起始字节后面,指出后面内容的长度,不包括@和长度字节本身,长度字节使用2进制值。指令字段只有1字节长度,采用16进制的值。为了便于记忆和叙述,使用了助记符,由于连接线很短,通讯可靠,所以指令没有加校验码。现以无线遥控协议转换为例进行介绍,控制软件将无线智能开关的地址码通过串口发送到协议转换模块,智能遥控开关的地址码与无线探测器的地址码一样,如2节所示。协议转换模块在接收到无线遥控指令后,根据智能遥控开关的地址码,控制315M无线发射模块输出调幅的波形,智能开关收到波形码后解码。智能开关一般是单片机解码,具有自学习功能,可以记忆遥控器的码波形。当学习成功后,下次接收到相同波形的码,就打开或关闭电器,完成遥控操作。

系统测试

以下是对智能家居系统进行部分测试的结果。探测器的录入和修改如图8所示。使用远程客户端登录到智能家居系统,可进行视频观看、布防撤防、电器控制等,其界面如图9所示。报警功能的测试:触发一个门磁,智能家居主机立即拉响了警报,原来设置的电话已经拨打成功,从电话里听到了报警发生的时间地点。此时打开手机,就可以看到家里的画面,手机客户端软件基于J2ME平台开发,其界面如图10所示。表1为不同网络带宽下客户端接收数据的测试情况。

结束语#p#分页标题#e#

智能家居系统以工控PC主板和51单片机为硬件平台,设计了远程视频监控、报警信号采集、家电控制等模块,通过有线和无线网络将各种家电设备连接在一起,从而实现信息家电的网络化和远程监控。家庭数字化的道路在我国还有漫长的路要走,智能家居系统具有广阔的应用前景,值得更深入地研究和探讨。