随着社会电子信息化的不断发展,人们在家居中使用的电器越来越多,由此带来的安全隐患也有了明显的增多。在这些电器中一旦出现一些异常,便会给人们带来很大的损失。为了降低电器的不合理使用带来的异常情况,就要求在异常发生时用户能及时得到信息,并通过实时监控采取一定的操作排除异常。因此,远程监控系统的作用是非常巨大的。
随着安防行业的高速发展,国内外对安防监控系统的研究越来越热门,昆明理工大学信息工程与自动化学院的张俊才提出的基于嵌入式Web服务器的信息家电安防监控系统,实现了嵌入式系统与Internet相连、家庭内部得安全监控、信息传输。缺点是传输速率不是很高,并且通过网页与监控端交互比较麻烦。新的系统将对以上地方进行完善,新的系统需要实用家居环境的要求,降低成本,改变原先不间断监控模式,并需要为用户提供友好的交互界面,使用户在不同的场所下对设备进行监控操作。
在此设计的基于GPRS的远程安防监控系统,是采用的是摄像机传送视频信号经压缩编码后,通过内部总线传送到内置的Web服务器。用户在监控端可以直接通过浏览器观看Web服务器上的摄像机视频图像,授权用户还可以控制监控机的动作。这样就实现了对监控点的远程控制,通过浏览器很方便地实现了对监控机控制。
系统以ARM 9处理器S3C2410为MCU,作为控制器,负责从红外传感器,温度传感器,摄像头采集数据,并且控制报警措施和灭火措施的执行,通过GPRS模块向用户发送短信,同时监控机可以通过Internet和网页进行交互,用户可以通过登录网页对监控机进行控制,同时监控机可以将采集到的数据通过Web服务器传输给网页端。本系统的总体设计框架如图1所示。
主控系统电路主要由三星公司的处理器S3C2410组成,主控电路连接的外围包括摄像头,GPRS模块,温度采集模块,蜂鸣器报警模块,灭火处理模块,红外传感模块组成。处理器采用轮询的方式不断的从温度采集模块和红外传感模块读取数据,当读取的温度值超过设定的临界值,或者红外传感模块有中断来临时,说明家里有火灾,或者家里出现小偷,处理器此时去驱动蜂鸣器报警模块报警,并通过GPRS模块发送报警短信给用户。处理器在处理这些动作的同时还一直获取摄像头的视屏流。
首先将蜂鸣器接到S3C2410处理器的一个GPB0管脚上。首先配置GPBCON的GPB0为输出模式,当数据寄存器里写入1时。蜂鸣器打开,写0关闭蜂鸣器。软件上是通过ioctl来进行相应的控制的。报警电路如图2所示。
温度值由主控板从温度传感器中得到,得到的温度值通过A/D转换器转换后传送给主控板。A/D转换器是模拟信号源和CPU之间联系的接口,它的任务是将连续变化的模拟信号转化为数字信号,以便计算机和数字系统使用。FS2410开发板用的A/D转换器是ARMS3C2410自带的一个一路10位的A/D转换器。并且支持触摸屏功能。最大转化率是500 kHz,A/D转换器频率的计算公式为:系统时钟/(比例值+1)。本电路的特点是通过改变滑动变阻器的阻值来改变模拟电压量来模拟温度的变化。软件是通过read,write来进行对A/D的读和写的操作。温度采集模拟电路如图3所示。
2.4 灭火电路设计
将4个LED灯与S3C2410处理器的4个管脚相连接,由于GPIO是复用管脚,所以首先进行相应寄存器的配置,也就是首先配置控制寄存器GPFCON,配置为output.然后就是对灯的相应控制,这个是对数据寄存器GPFDAT,如果写0,led灯亮,灯亮模拟的是启动灭火装置。否则灯灭,软件是通过ioctl进行相应的控制。灭火模块模拟电路如图4所示。
2.5 红外传感器电路设计
本设计用键盘电路来模拟红外传感器,当有键盘按下时,说明有人闯入,主控板接收到键盘中断时,通过蜂鸣器报警,并发送短信给用户,启动灭火装置。根据硬件电路图可知4×4键盘扫描的工作原理,软件上首先完成对相应的寄存器作配置,这里主要涉及GPFCON,GPGCO N,GPECON三个寄存器,把相应的位设置为0UTPUT和INPUT工作模式,这个根据原理图。然后就是对中断的处理,设置下降沿有效。红外传感器模拟电路如图5所示。
2.6 GPRS电路设计
GPRS是通用分组无线业务的简称,目前理论传输速率为115kpbs,GPRS的基本原理是:当用户上传或下载互联网数据时,系统利用分组将数据在网络中传送,达到多用户间对网络资源的共享。选择SIEMENS公司推出的MS35模块,MS35支持语音,数据传输,短消息,提供RS 232全双工数据口,使用AT指令进行控制。模块的UART0口接开发板的UART1口,当MS35模块睡眠时,需要对模块发AT指令来唤醒模块。GPRS模块电路如图6所示。
3 软件设计
图7~图10是主程序流程图功能描述。项目中主要的进程,其中包括2个线程等待控制命令,在代码中采用轮询的形式来对线程状况进行检测,发生问题的时候进行相应的处理,用户可通过网络访问本系统并远程进行控制操作,其中系统对外围设备的操作需要互斥信号量的保护,并且由于在系统中实现了对各个报警功能以及对报警动作的控制,所以在在设计互斥量的时候就同时设计有全局的变量,分别代表相应模块在功能上是否被关闭以及在动作上是否被关闭。
4 测试结果与分析
4.1 平台搭建
硬件平台选择的是S3C2410的开发板,软件平台为一种流行的linux操作系统:Ubuntu 8.10发行版。然后是交叉工具链的建立,由于开发是在x86体系结构进行的,最终需要在ARM体系结构上运行,所以必须建立交叉工具链。在终端执行命ARM-software-linux-gcc-v显示gcc vrsion 3.4.5。说明交叉工具链建立成功;第2步是uboot移植,选择的uboot版本为u-boot-1.3.1,修改好uboot源码后,编译执行命令make fs2420-config,make,将生成的uboot.bin烧写到开发板的nandflah的第一个分区;第3步是Linux内核编译与移植,采用的是Linux-2.6.22.6版本内核,编译内核前,在内核中静态加载网卡驱动,如图11所示。静态加载nandflash驱动,如图12所示。静态加载usb驱动,如图13所示。执行make ZImage命令,生成内核镜像ZImage,将ZImage烧写到nanflash的第2个分区。最后是根文件系统制作,选用cramfs作为根文件系统,cramfs文件系统的特点为只读,用户不能修改,很适合作为根文件系统。将制作根文件系统的工具busybox编译后,运行命令make install,再创建etc,lib,mnt,etV,proc,var,tmp,sys,root目录,再在etc下建立初始化启动所需要的文件,在etc/init.d /rcs加入执行主程序的脚本命令./main。并将ad驱动,蜂鸣器驱动,键盘驱动的加载命令加入rcs脚本文件中。rcs是内核启动执行的第一个脚本,所以主程序和一些驱动的加载放在rcs中。最后执行mkfs.cramfs rootfsrootfs.cramfs命令。这样就生成了文件系统rootfs.cr amfs,将生成的rootfs.cramfs烧写到nandflash的第3个分区。
4.2 功能测试与分析
插上USB摄像头和GPRS,在GPRS中插上手机卡,GPRS连接到开发板的串口线上,连接网线,启动开发板。在任何一台联网的PC机上打开浏览器,输入192.168.1.1,结果如图14所示。点击网页上的实时监控按钮,浏览器窗口出现监控机端传输过来的实时画面。点击拍照按钮,默认每隔1 s进行拍照。也可以在网页设置间隔拍照的时间。按开发板的键盘任意一个键,此时蜂鸣器报警,用户收到报警短信,短信内容为“有小偷”。点击网页上的关闭报警按钮,蜂鸣器停止报警。当点击网页上的关红外感应按钮后,再按下开发板键盘的任意一个键,监控机不进行任何操作。当旋转开发板上电位器时(调整A/D的输入电压),输入电压模拟的是温度值,当输入的温度值达到设置的临界值60℃时,蜂鸣器报警,监控机通过GPRS模块发送短信,短信内容为“火灾”。当点击网页上的按钮关闭报警时,蜂呜器停止报警。当点击网页上的关温度感应按钮时,当监控机读取到的温度值达到设置的临界值时,监控机不进行任何操作。
5 结语
本系统结合嵌入式Web服务器,GPRS技术以及嵌入式相关技术,实现用户通过网络对家中情况的实时监控。该系统可以进行方便的扩展,结合用户自身需求进行定制,使得用户通过手机获得家中异常报警,并通过网络对家中情况进行实时监控,通过远程的操作来降低异常带来的损失。在系统中Web服务器通过Internet提供远程访问服务,并通过GSM短信息通知用户异常,用户通过网络对异常进行相应的指令操作。用户可使用系统的GPRS上网功能提供扩展功能。