本系统只需检测出监控区域内有无物体运动,无需提取出对象的完整区域,因此只需在图像差分时,统计大于阈值T的像素点数。如果像素点数超过报警阈值,表明有物体运动;反之则可能是光线变化或噪声干扰。这样不仅避免帧差法无法精确计算运动区域的缺点,同时也减轻了处理器的运算压力。程序流程如图2所示。
2.4 GPRS无线数据传输
本系统的GPRS模块主要用于将送入图像发送队列中的有运动物体的监控图像传输至监控中心。数据的发送流程图如图3所示。
GPRS模块GTM900B的主要初始化流程为:配置APN->进入TCPIP功能->打开一条TCP链接,由于该模块内嵌TCP/IP协议,直接操作AT指令就可实现数据传输,主要初始化部分代码如下:
SendData(″AT+CGDCONT=1,″IP″,″CMNET″″,13);
… //检查是否配置成功
SendData(″AT%ETCPIP″,13);
… //检查是否进入tcpip
SendData(″AT%IPOPEN=″TCP″,″202.206.1.26″,23″,13);
…
函数SendData()的功能是向串口设备发送数据。
初始化时需注意两点:
(1)模块上电20 s~30 s后再进行TCPIP相关命令的使用,因为模块需要时间搜索网络,以及相关信息初始化等。
(2)使用AT%ETCPIP命令,当命令还没有返回时,串口有任何输入都会导致该命令强制结束,有%IPCLOSE:5的返回,表明模块退出TCPIP功能,这时必须重新使用AT%ETCPIP进行TCPIP功能的打开操作。
当GPRS模块初始化成功后,模块就已经接入Internet,此时就可进行无线数据传输了,主要操作AT指令:AT%IPSEND。需要注意的是,在设置AT%IOMODE=1的数据传输模式下,数据包大小不能超过1 024 K,因此一幅图像须分割成多个数据包进行传送,而且数据收发时需要进行ASCII和HEX的格式转换。
3 测试结果
实际测试时,监控环境的阈值计算值为11,报警阈值取1 000,灰度值转换公式为gray=r×0.3+g×0.6+b×0.1,计算出的大于阈值的像素点有13 562个,大于报警阈值,GPRS模块开始传送图像。试验图像如图4所示。
S3C2440A的核心工作频率为406.425 MHz,当GPRS模块空闲时,从采集两幅320×240分辨率的图像开始到运动检测结束,时间约为55 ms,当GPRS忙时,时间约为115 ms,基本可以实现对有运动物体的监控图像的捕捉。GPRS模块发送一幅采集的JPEG图像,在网络正常情况下,系统延时通常不超过5 s。
本文简要介绍了无线监控终端的系统构成,详细阐述了应用软件的3个核心模块的实现方法。试验运行结果表明,本系统实现了将有运动物体的监控画面传输至监控中心的要求,具有成本低、结构简单等特点。与传统的无线监控系统相比,本系统可大大降低无线数据传输中的数据流量,同时也省去了监控人员长时间监视监控图像的工作。此外,本系统在软硬件设计时充分考虑了不同用户的需求,只需对软硬件稍加扩展,就可实现将监控画面或报警短信传送至用户的彩信手机,具有很好的使用和推广价值。