技术中心
 
 

智能家居远程监控系统的解决方案分析

   日期:2013-06-04    
核心提示:智能家居又称为数字家庭,一般是指以计算机接口技术和网络技术为基础,将各种家用数字化设备有机结合为一体的智能化的网络系统。

智能家居又称为数字家庭,一般是指以计算机接口技术和网络技术为基础,将各种家用数字化设备有机结合为一体的智能化的网络系统。这些家用数字化设备包括电话、计算机、数字化的视听设备、数字化的家用电器及安全监控设备等,通过有线或无线的方式将这些设备连接起来,为家庭用户提供简单、安全、可靠、智能化的综合服务。本文以Web技术为核心,在基于S3C2440微处理器和嵌入式Linux操作系统的软硬件平台上构建了Web服务器和视频服务器,Web服务器采用Boa,视频服务器采用Servfox,结合CGI技术处理HTML表单,完成用户认证,门窗控制等家居监控功能。

1系统总体结构设计

图1为智能家居远程监控系统的总体结构图。室内部分主要包括家电控制、防盗报警、远程监控、防火报警等功能模块,这些功能模块通过Web服务器接入 Internet网,用户可通过计算机登录因特网,远程监控室内情况,同时室内如检测到火、盗等异常情况可通过Internet向用户报警。

2系统硬件设计

智能家居远程监控系统的硬件系统由YC2440-F开发板、网络接口、门窗控制、照明设备、温度传感器、USB摄像头等组成。YC2440-F开发板作为整个系统的控制核心,负责信息的采集和处理,并控制各个模块协调工作,如图2所示。

控制核心采用YC2440-F开发板。该开发板是扬创科技公司使用三星S3C2440处理器开发的ARM9开发板。YC2440-F开发板采用核心板+扩展板的结构。

门窗控制模块可以让用户通过互联网远程控制室内门窗的开启与关闭,如有人以非正常方式通过门窗进入室内,可向用户报警。在实验中选用一个步进电机来模拟门窗控制,电机正转表示门窗开启,电机反转表示门窗关闭,步进电机如强行被破坏则报警。步进电机通过集成芯片ULN2003驱动,门窗控制电路如图3所示。

照明控制模块可以让用户通过互联网远程控制室内照明系统的打开与关闭。在实验中使用4个发光二极管来模拟照明系统,图4为照明控制模块硬件电路图。

温度监测模块可以实时监测室内温度,如果检测到室内温度超过50℃则报警。温度监测电路采用DS18B20温度传感器来实现。DS18B20使用1- Wire技术,具有线路简单,精度高、体积小、低功耗等特点。硬件电路只需将DS18B20连接到通用I/O端口GPB0端即可。图5为温度监测模块电路。视频监控系统可以通过摄像头实时监控室内情况,用户可以通过互联网随时观察室内的情况。视频监控采用用普通USB摄像头实现。

3系统的软件设计

3.1智能家居远程监控系统的软件组成

智能家居远程监控系统的软件系统由设备驱动程序、嵌入式Linux操作系统和应用程序构成,如图6所示。其中嵌入式Linux操作系统采用2.6版本的内核。

Web服务器使用Boa,视频服务器使用Servfox5,这是两款Linux下的开源软件,将源码进行适当修改就可以移植到嵌入式系统中。

3.2驱动程序的开发

用户进程是通过设备驱动文件控制硬件,对设备文件的操作方式就是系统调用,如open、read、write、close等。编写设备驱动程序的主要工作就是编写子函数,并填充file_operations结构体的各个域。步进电机、LED和温度传感器DS18B20都是通过通用I/O控制的,做为字符型设备。USB摄像头属于USB设备。下面以步进电机驱动程序为例说明Linux驱动程序的开发过程,具体步骤如下:

(1)编写驱动程序源代码,将程序源文件motor.c,添加到内核的drivers/char目录下。

(2)编辑drivers/char目录下的配置文件Kconfig,添加如下内容:configMOTORtristate"MotorDriver"

(3)在char目录下打开Makefile,添加obj-$(CONFIG_MOTOR)+=motor.o

(4)在内核目录下执行makemenuconfig命令,进行内核配置:在DeviceDriver-CharacterDriver下将MOTOR选为M,模块方式,退出保存设置。

(5)执行命令makemodules,编译驱动模块。在char目录下产生motor.ko的文件,即所需的步进电机驱动模块。通过NFS方式传到开发板上。

(6)加载驱动模块,执行insmodmotor.ko.

(7)建立文件节点,执行mknod/dev/MOTOR_Driverc2280.

3.3实现基于Web的远程监控

智能家居远程监控系统可以通过Web服务器为用户提供简洁,美观的操作界面。网络控制部分包括登录界面、用户认证、主界面、门窗控制、照明控制、温度监测及视频监控。

参数action指明处理该表单的CGI程序,此表单所填的内容会通过Web服务器以name=value1&pwd=value2的方式传给 logon.cgi程序处理,该程序对用户名和密码进行认证。用户认证界面如图7所示,门窗控制界面如图8所示。使用表单在网页中添加2个按钮,分别控制门窗的打开和关闭。对应的CGI程序调用步进电机的驱动程序,控制电机转动,模拟门窗控制。

照明控制界面如图9所示,在网页中添加4个复选框,分别配有4个发光二极管。对应的CGI程序调用LED的驱动程序,控制发光二极管。温度控制界面如图10所示。CGI程序调用 DS18B20的驱动程序,读取温度传感器的值,然后计算温度,最后返回一个网页显示DS18B20的信息和温度。视频监控界面如图11所示,在网页中添加Java插件,接收并显示视频服务器Servfox发送的视频数据。添加2个按钮控制视频服务器的打开与关闭。

以 S3C2440微处理器为控制核心,完成了智能家居硬件平台的设计。实现了嵌入式Linux操作系统在S3C2440微处理器平台上的移植。编写了步进电机、发光二极管以及DS18B20温度传感器的驱动程序。完成了Web服务器Boa和视频服务器Servfox的移植。使用HTML语言编写静态网页,完成基于Web的智能家居远程监控部分的主体框架。使用CGI技术处理HTML表单,控制系统硬件,实现交互操作,完成用户认证、门窗控制、照明控制、温度监测、视频监控等功能。

 
  
  
  
  
 
更多>同类技术
 
全年征稿 / 资讯合作
 
推荐图文
推荐技术
可能喜欢