陈德裕,王华建,王 洋,陈海龙,周青青
(1.南通大学 计算机科学与技术学院,江苏 南通226019;2.南通大学 电子信息学院,江苏 南通226019;3.南通大学 交通学院,江苏 南通226019)
随着物联网的日益普及,人们对图像采集的要求越来越高,远程图像的采集问题已经引起广大科研人员重视,近年来已经有一些实时的远程图像采集系统设计并实现。文献[1,2]中分别设计了一种基于Zig Bee 的无线远程安防监控和图像采集系统,通过自主网建立多个节点的家居远程监控和电表远程图像采集;文献[3]给出了一种通过MMS 通信方式的无线远程图像采集系统;文献[4]中给出了在传感器驱动下双路视频的采集等。尽管这些系统实现了图像数据采集与控制中心的交互,但仍然是被动式的图像采集,人工参与较多。有的是实现了远程图像采集,但是被动式的,有的虽然实现了主动式采集,但不支持远程传输。
本文给出了一种基于传感器技术的远程图像采集系统,不仅实现了图像数据的主动式采集,而且满足了各种个性化远程图像采集的需要,在智能安防、车联网、智慧城市等领域有着广泛的应用。
本系统的设计思路是:以嵌入式处理器作为系统的主控芯片[5],通过双路、广角、红外视频摄像头作为图像采集装置,以震动传感器和人体红外传感器作为触发源,借助于GPRS 模块和WiFi 模块实现采集图像信息的远程传输。采用嵌入式控制方式是考虑到系统的工作环境较差和体积不能太大,同时采用独立式电源供电方式以保证系统运行的环境中可能会出现无有线电源场景。采用双路、广角、红外视频采集方式是为了保证系统能采集到更大范围、更多图像信息。采用传感器触发,一是为了降低功耗,二是为了实现主动式的图像采集。通过GPRS 方式进行通信是考虑到它的覆盖面广,保证系统的无线传输不需要另外组网[6]。通过WiFi 方式进行通信,是作为一种冗余,以适应智慧城市建设下的无线通信。
系统分为硬件和软件两个部分,其总体结构如图1 所示。硬件部分包括主控中心、图像采集、传感器和无线远程通信等4 个模块。软件部分包括系统的主控程序、手机端应用程序和PC 端应用程序等3 个模块。主控中心是整个系统的核心,负责系统的硬件驱动、接口通信和主程序的运行。图像采集模块是系统的中心,系统中的图像数据是由图像采集模块提供,其性能指标决定了整个系统采集和传输图像的质量。传感器触发模块是用来使系统在更多情况下是处于待机状态,当系统周边有异常情况发生(如人员走动、震动)时,驱动视频头进行图像采集。无线远程通信模块是通过GPRS 技术,借助SIM 卡来完成采集数据与智能终端、PC 的交互。该模块中的WiFi 无线远程通信方式可以保证系统能够在多环境下实现廉价的信息交互。软件部分是整个系统的灵魂,不仅要保证系统稳定可靠地工作,而且还要为用户提供尽可能方便的界面,保证在智能手机和PC 上与系统无缝交互。
图1 系统结构图Fig 1 Framework of system
按照系统的功能要求,确定系统的主控芯片为STM32F407ZGT6。该芯片集成了FPU 和DSP 指令,具有192 kB SRAM 和1 024 kB FLASH 以及众多的接口,能够满足系统中各个硬件模块的需求[7,8]。视频采集端选用OV2640 200 万像素的摄像头,加配广角镜头和TS—LED20—3红外LED 补光以实现夜间图像的采集。传感器驱动模块主要由人体红外传感驱动模块和震动传感驱动模块组成。系统中选用HC—SR501 人体红外热释电传感器,选用高灵敏度的常闭型震动传感器SW—420,以保证系统在工作时能感知周边情况并驱动视频图像采集。无线远程传输模块中GSM 模块选用的ATK—SIM900A—V15 模块。它是一种高性能工业级双频(900/1 800 MHz)的GSM/GPRS 模块,可以低功耗实现语音、SMS(短信、彩信)数据的传输。WiFi 模块使用了USR—WIFI232—A,可以支持AP+STA 的方式。USR—WIFI232—A 的STA 接口可以直接和路由器相连,通过TCP 与计算机网络中的服务器相连,手机/PAD 等可以连接到AP 接口上。整个系统的硬件结构如图2 所示。
图2 系统硬件结构图Fig 2 System hardware structure diagram
系统的PCB 与硬件组成如图3 所示。硬件部分采用了双摄像头机制以保证能够采集到更多的远程图像信息,同时增加了图像信息的SD 卡存储机制,以保证信息的更大安全性。
图3 系统的PCB 与硬件组成实物Fig 3 System PCB and hardware components
系统的软件部分主要包括主控程序、手机APP 和服务器端程序三部分。其中,主控程序的开发平台选用ARM 嵌入式开发的主流工具Keil MDK,手机APP 分别在Android和IOS 两种主流OS 下进行设计。服务器端程序主要是为了在GPRS 下利用Internet 实现远程图像采集功能。
2.2.1 主控程序
分为四个子模块:1)图像采集模块:系统初始化时,为图像数据开辟一块缓存,并对OV2640 摄像头进行相应的参数设置,对CPU 内部的DCMI 接口和DMA 数据传输通道等进行相应的配置。当CPU 接收到相应的指令后,则启动摄像头采集当前的实时图像并通过指定的路径发送给用户。2)传感器驱动模块:如果用户开启了传感器驱动功能,系统通过人体红外传感器和震动传感器重复感知周围环境,检测相应的传感器信号,并实时将传感器信号传送给控制系统。控制系统进行分析处理,再根据处理结果决定是否发送指令启动摄像头进行图像数据采集。3)GSM 传输模块:系统在初始化时,需要发送一条开机指令到用户手机,之后GSM 则负责接收用户发送的指令并将指令传输给CPU,若为预先定义的有效的指令,且权限符合,则由CPU完成一系列的运算、操作之后,如果需要发送文本短信,则将GSM 配置为普通文本短信模式进行相应短信的发送;如果需要发送图片,则由系统将GSM 模块配置为彩信模式,进行彩信的发送;通过该模块可以对系统进行如卡号、用户信息等进行相应的参数配置。4)WiFi 传输模块:当用户连接到WiFi 模块后,系统完成类似GSM 模块的操作功能。主控程序的指令设计如表1 所示。
表1 控制指令列表Tab 1 List of control instruction
2.2.2 手机APP 设计
设计分为Android 和IOS 下两种情况进行。基于Android 的APP 设计采用Java 语言,通过http 协议、Android 平台与服务器进行数据交互,对JSON(JavaScript Object Notation)数据进行处理。实现了远程图像信息的下载、上传、显示和验证用户信息等功能。APP 的开发同时遵循模板方法模式,定义操作的算法骨架,并将一些步骤延迟到子类中,不改变算法的结构,这样可以重定义某些特定步骤。基于IOS 的APP 设计,在APPKit 平台下完成了与Android 端APP 程序的同样功能。
2.2.3 服务器端的程序设计
为了实现GPRS 和WiFi 远程图像信息的传输,在Windows 下采用Java 语言,运用Myeclipse 和MySQL 数据库管理系统,通过SSH 框架(Struts2+Spring+Hibernate)搭建了系统的服务器。借助于MySQL 数据库管理系统实现对用户信息录入、修改、图像信息的存储与管理等操作。
系统经过调试和测试,实现了在震动传感器和人体红外感应传感器驱动下的远程图像采集功能。图4 是在上述两种传感器远程开启之后,当系统周边产生震动或有行人走过后感应所采集的图像。图5 是通过PC 端实现远程图像的采集,图6 是系统与手机端进行交互采集的图像。从运行情况来看,系统支持了MMS,GSM 和互联网三种方式的远程图像采集,分别适用于手机短信方式、智能手机方式和WiFi 方式等三种工作模式,满足了各种外部环境下的系统运行要求,具有较好适用性。从采集的图像质量来看,尽管系统中可以分别设置8 种规格大小的图像,但在800×600 下所采集的图像就已经达到清晰、可信的目的,能够满足诸如监控、仪表数据采集、停车记录等多种应用的需要。通过手机端WiFi 通信方式所采集并发送到手机端的图像如图6 所示。
图4 传感器感应下采集的图像Fig 4 Image captured by sensors
图5 PC 端远程采集的图像Fig 5 Image remote acquired by PC
图6 手机端远程采集到的图像Fig 6 Image remote acquired by mobile phone
传感器驱动下的远程图像采集系统实现了对远程图像信息的实时、交互式采集,具有MMS,WiFi 和GPRS 三种方式的远程通信,适用于多种不同的远程网络环境,同时支持PC、智能手机的终端控制,系统具有一定的可靠性、可用性。系统如果要真正应用到具体的社会生产实际中并做相应的产品,则在外形设计、系统能耗优化等方面还有许多工作要做。相信在广大科研工作者的共同努力下,一种传输速度更快、采集图像信息更广、应用性更强的远程图像采集系统必将在不久会出现。
[1] 杨国斌,李秋红,王太宏.基于WSNs 和3G 网络的无线远程安防监控系统[J].传感器与微系统,2012,31(12):76-78.
[2] 张开风,胡艳军,许耀华,等.WSNs 与GPRS 结合的远程图像等数据采集系统设计[J].安徽大学学报:自然科学版,2011,35(4):53-57.
[3] 张 舰,刘建新.基于ARM 和MMS 的无线远程图像采集系统[J].电子技术,2010(3):20-21.
[4] 曹庆红,陈德裕,王华建,等.传感器驱动下双路视频采集与处理系统的实现[J].计算机测量与控制,2015,23(2):565-567.
[5] 霍春宝,吴 峰,梁 波.基于ARM9 和GPRS 的图像采集与远程传输系统的设计[J].辽宁工业大学学报:自然科学版,2012,32(6):351-356.
[6] 陈晶岩.基于ARM 的嵌入式远程图像监控系统设计与实现[D].长沙:中南大学,2012.
[7] 张逢雪,王香婷,王通生,等.基于STM32 单片机的无线智能家居控制系统[J].自动化技术与应用,2011,30(8):98-101.
[8] 黄智伟,于红利,宁志刚,等.基于STM32F417 的图像采集系统设计[J].单片机与嵌入式系统应用,2012(10):48-51.
[9] 汤武当,黎福海.基于FPGA 的双通道CMOS 图像采集系统设计[J].传感器与微系统,2010,29(11):120-122.