随着嵌入式技术、网络技术的迅速发展以及人民生活水平的提高,人们开始更加注重家居环境的安全,伴髓人们需求的提高,基于嵌入式的实时监控系统应运面生。目前,视频监控系统经历了模拟监控、数字监控和网络监控3个阶段。虽然视频监控系统在20世纪90年代末就在中国市场兴起,有很多公司推出了自己的智能家居系统,但是现在仍来得到普及,而且目前智能家居的国际标准尚未成热,因此智能家居监控系统存在广阔的发展空间。
笔者提出的智能监控系统有煤气传感器、红外探头传感器、摄像头等数据采集模块。当监控终端探测到室内发生异常时,摄像头拍照并将到的图片信息经过压缩,通过内部总线发送到Web服务器,并将相关数据通过GPRS无线模块发送到用户手机上。用户可以通过浏览器进行访问,以查看Web服务器上的监控图片,并做出相应处理。
1 总体设计
本系统由室内监控终端和远程监控中心两部分组成。监控终端采用嵌入式系统,分为硬件平台和软件平台两部分,其中硬件平台由处理器和外围设备组成,而软件平台由嵌入式操作系统和应用软件组成。当检测模块检测到异常时,摄像头采集监控画面,并进行压缩编码处理,GPRS通过拨号的方式连入互联网,将压缩的码流经过互联网传输到监控中心,整个系统是基于B/S架构设计的,用户不需要安装任何专用的软件就可以查看室内监控系统的画面,总体设计框图如图1所示。
2 系统硬件设计
2. 1 主控模块
采用S3C2440处理器芯片作为智能家居控制系统的控制核心,CPU工作频率最高可达533MHz,拥有可进行乘累加单元(MAC)、指令和数据存储器管理单元(MMU)、16 kB的指令和数据缓存、16字深的写缓冲,为程序的高速运行提供了有力保证。S3C2440提供了外设有存储控制器、NANDFlash控制器、摄像头接口、USB控制器等。
2.2 GPRS无线传输模块
GPBS无线移动通信网络覆盖面广、网络能力强、系统性能稳定、价格低廉、易于安装使用。它基于IP的网络,传输速率理论上可达171.2 kb/s,且传输时延小。本文采用GF-5000 WGPRS模块,它是一个单面高集成度精巧结构设计,拥有GPRSClass10多时隙功能,支持GSM900/DCS1800双频,支持电路交换语音和短消息业务,拥有GSM07.07和增强型AT命令集。
2.3 图片采集模块
图像采集的设备有很多种,OV9650传感器具有130万像素,分辨率可达1 280x1024,具有标准的SSCB接口和10bit数据接口。由于S3C24 40片内有摄像头接口外设,所以将OV9650摄像头芯片直接与处理器摄像头接口引脚相连,图像并行传输,图像数据速度明显提高。
2.4 传感器模块
本文选用MC-112催化式传感器,来检测可燃气体浓度。具有半导体技术、高灵敏度、稳定可靠等特点。选用红外热释电传感器LHi778作为人体检测模块。采用红外热释电传感器专用信号处理芯片BISS0001来完成信号的处理放大。
网络芯片转换成一个以太网接口,DM9000芯片配备有标准10M/100M自适应功能,支持以太网接口协议,拥有一个通用的处理器接口、一个EEPROM接口和4kDWORDSRAM缓存数据区。
3 系统软件设计
3.1 嵌入式开发平台
Linux开放源代鹤、资源丰富、内核可裁剪等优点,因此我们采用Linux作为操作系统。构建嵌入式操作系统平台主要包括构建交叉编译环境、Boot Loader移植、内核的裁剪与编译、根文件系统的制作等。其中内核的裁剪的主要操作有:1)编辑Makefile文件。将CROSS_COMPI LE=opt/host/armv41/bin/armv41-un-know-linux改为CROSS_COMPILE=arm-linux。2)编译内核make menuconfig配置Linux内核。3)执行命令makedep创建内核的依赖关系。4)创建内核镜像make zImage。4)Linux内核压缩映像zImage建立根文件系统。
3.2 图像采集
在Linux下的视频采集是通过Video4Linux实现的,它是连接视频设备的内核程序,提供了一系列的接口函数API,专门服务于视频设备的应用程序编程。在编译内核时要将Video4Linux项选中,对应的设备文件目录是/dev/video。设备驱动提供了open、read、write、close等函数调用,采用内存映射mmap方式把设备内存映射到应用程序的内存空间中,用户空间和内核空间不需要交换数据,视频采集流程图如图2所示。
3.3 GPRS无线通信
利用TCP/IP协议将数据打包,再通过GPRS模块传到GPRS同络,GPBS网络通过路由器与Internet相连,将数据包送到固定IP地址的监控服务器端口,以实现系统无线传输。
在嵌入式linux操作系统下实现GPRS按号上网,需要PPP协议支持、拨号应用程序移植和拨号脚本程序编写。PPP即点到点协议,为在同等单元之间传输数据包。系统是通过拨号方式来建立点对点连接,按照顺序发送数据包。拨号应用程序移植为:
然后对拨号端口进行配置,最后调用ppp_on_dialer脚本文件实现同服务器会话。进而在会话程序中进行登录,实现无线接入。
3.4 嵌入式Web服务器
Boa是一种高性能单任务的HTTP服务器,能够支持实现动态Web技术的CGI(公用网关接口)技术,源代码开放,而且能够非常方便地在操作系统上进行移植。当有连接请求时,Boa不为每个连接单独创建进程,而是通过建立HTTP请求列表来处理多路连接请求,同时为CGI程序创建新的进程,这样在最大程度上节省了系统资源,所以十分适用于嵌入式系统。我们利用Boa在嵌入式linux操作系统上建立Web服务器,利用CGI最终实现对家庭设备的控制。
Linux下实现Boa,需要对Boa做一些配置和修改。主要通过对boa.conf和mime.type文件进行修改,需要将cgi文件扩展名和applicatio n/x-httpd-cgi类型关联;配置CGI脚本存放路径,在boa.conf中用ScriptAlias来指明,然后创建HTML文档目录、CGI脚本目录,最后将boa.conf放到/etc/boa目录下。Web服务器接收到请求,将浏览器发过来的参数传递给CGI程序,CGI程序完成处理,生成HTML页面代码写到重定向的标准输出。
4 结论
本系统采用嵌入式Linux作为软件开发平台,便于系统的开发、测试、升级及扩展,同时也提高了系统的稳定性、可靠性。通过GPRS无线传输,并应用Web服务器浏览网页,实现智能家居监控系统,能够满足家用的需求。