一种静态图像的采集传输系统
扫描二维码
随时随地手机看文章
摘要:为实现低成本远程图像监控,文章设计了一套基于ZigBee和GPRS技术的远程图像采集传输系统。以CC2430为节点控制摄像头采集图像数据,本地通信时,图像数据通过ZigBee协调器直接和服务器通信;远程通信时,协调器将处理好的数据通过GPRS技术传到监控中心以实现图像数据的保存、读取和显示等目的。ZigBee无线传感网络节点间采用网状网络的自组网方式,通过修改协议栈的缓冲机制和改变串口波特率提高数据的传输效率。实验结果表明该系统能够很好地实现本地和远程静态图像的采集与快速传输,具有广泛的应用前景。
关键词:ZigBee;无线传感网络;CC2430;图像采集;GPRS
0 引言
目前,无线图像采集技术主要有蓝牙、Wi-Fi、CDMA、GPRS和新兴的3G技术。在实际运用过程中,蓝牙需要昂贵的认证费,传输距离短;其他技术的组网复杂、建设周期长。尤其是在偏远地区和恶劣的环境,这些技术建立的系统实时性、可靠性降低,受到环境因素的制约,用户需要承担费用,一旦基站出现故障则整个网络陷于瘫痪。
ZigBee网络可以很好地解决以上弊端。ZigBee是符合IEEE802.15.14标准,具有自组网、免执照、低功耗、低成本、低误码率、抗干扰性强等特点的新兴通信技术,理论上能够提供250kb/S的传输速率,它不依靠任何基站和基础设施。由于GPRS在信号覆盖区域内可接收到远距离传输过来的JPEG图像,为了实现不同环境下的监控,本文结合ZigBee和GPRS技术,设计出一套静态图像监控系统,完成本地图像的采集和远程图像的传输。
1 系统架构
本系统包括ZigBee无线传感网络、监控中心、图像采集和远程传输四部分,其中远程图像传输包括GPRS和Internet模块,见图1。
ZigBee无线传感网络由一个协调器、若干个路由器和若干个终端节点组成。协调器负责网络的组建和整个网络与监控中心的通信;路由器接收并转发数据、独立采集数据和接受协调器的命令;终端节点可采集、发送和接收数据,但不能自动转发数据。ZigBee无线传感网络有三种组网方式,星形网络、树形网络和网状网络。由于网状网络在通信允许范围内相邻节点间能相互通信,有较强的自组织、自愈功能,能组成极为复杂的网络,有很大的路由深度和网络节点规模,还能通过“多级跳”的方式来通信。因此,本系统采用网状网络的组网方式。
监控中心由具有服务器功能并安装监控软件的PC组成。本地图像采集时,监控中心通过RS232串口线控制数据的采集和传输。远程图像采集时,监控中心通过GPRS与协调器通信。为了便于服务器的移动,首先由GPRS1获取服务器的IP并通过SMS方式发送至GPRS2,GPRS2根据获取的IP和端口号连接到服务器,实现ZigBee网络与服务器的连接。
2 系统硬件设计
2.1 数据节点的硬件设计
图2为数据采集节点的硬件系统框图,包括图像采集模块、电源模块、控制器发基本外围电路。选用TI公司生产的CC2430为MCU,该芯片内置ZigBee射频前端、内存和微控制器,专门用于IEEE802.15.4和ZigBee应用程序,只需简单的外围电路即可工作。内置温度传感器和电压传感器,检测系统的工作环境。电源管理模块使系统工作在不同的模式,最大限度降低系统功耗。串口摄像头采集图像,采用标准JPEG图像压缩算法压缩图像数据。控制器通过RS232控制摄像头。
2.2 协调器节点的硬件设计
协调器的硬件系统包括图像采集模块、GPRS模块、电源模块、控制器及基本外围电路,GPRS模块只存在于远程图像传输系统,见图3。G PRS选用华为GTM900-C模块,ZigBee协调器通过AT指令控制GPRS模块。
3 系统软件设计
3. 1 协调器的软件流程
图4为系统的软件流程,系统初始化后,协调器根据设定的信道建立网络,ZigBee协调点选择0x0000作为网络地址并开始接受新节点的加入。为了减少网络之间的信号干扰,本系统节点之间的网络中心采取不同的信道,每个中心节点之间的信道间隔20MHz。
ZigBee协议栈通过事件触发机制执行任务,每个事件都有对应的事件ID号和优先级。正常运行时,依据任务和事件的优先级从高到低依次查询各个事件并执行;CPU收到紧急中断,优先执行中断任务。在该系统中,串口收发事件优先级最高。协调器的串口配置为DMA工作方式和不使用流控,波特率为115200kbp/s,能确保数据及时收发。
协调器收到服务器的命令并判断系统的工作模式,远程通信时,协调器启动GPRS模块。GPRS模块与ZigBee的串口通信速率为115200kbp /s,采用透明传输的模式,将GPRS不支持的十六进制数据进行转义再发送;本地通信时,直接转发命令给相应的节点。数据的接收与发送采用确认握手机制。收到数据后,首先确认数据包的序列号;若序列号错误,则申请定时重发,以确保图像数据的正确性。
3.2 数据采集节点软件流程
数据节点采用关联的方式加入网络,子节点通过扫描设定信道搜索它周围存在的父节点,只有协调器或路由器可以作为父节点,应用层从关联表中选择所发现的网络并加入。子节点加入成功后,网络层收到唯一的16位网络地址。若是其中一个节点断开网络,则系统会根据最短跳数算法自动寻找最优路径。
数据采集节点串口配置为中断方式和不使用流控,优先处理串口任务。为及时处理大量串口数据,串口设计双缓存机制,开辟缓存otabuf和otabuf2。该系统支持640*480、320*240和160*120三种图像的采集;若图像数据超过预设值,则丢弃该图像并重新拍照。物理层仅可传输小于127B的数据包,除去网络层的封装,MAC层和物理层最大数据是89B,因此,数据读取时,应用层采取分包传输,读到的数据立即通过最近的路由方式发送到协调器。利用事件的周期性触发,完成一张图片的读取。为了提高图像的采集速度,该系统设计实时转化串口波特率。当传输命令时,选用波特率115200kbp/s,快速发送数据命令和读取相应的返回参数;当传输大量数据时,选用波特率38400kbp/s,使得CPU有更多的时间处理串口数据。
3.3 服务器软件流程
在接收终端对接收到的数据进行重组、恢复图像。图5为远程图像采集系统监控中心的界面,该平台是采用Microsoft VC++6.0编写的基于TCP/IP协议的Sockct通信软件,该系统主要包括三个部分:图像显示部分,实时显示远程图像;命令发送部分,远程控制协调器;网络连接部分,获取本机IP和本地端口号。本地图像采集系统的监控中心界面是采用Microsoft VC++6.0编写的串口通信软件,见图7。该界面主要包括三个部分:图像显示部分,实时显示本地图像;命令发送部分,控制协调器;串口通信部分。
4 测试与结果
图6为远程图像采集系统的测试结果。选择编号为FFFFFFFFFFFFFFF8的节点进行测试,设置图像大小为320*240,压缩后图像大小约为12~13kb。将摄像头和节点放在实验室1走廊上,摄像头对着实验室1,GPRS2和协调器连接,监控软件装在已连接公网的电脑实验室2,GPRS1通过串口和电脑连接,GPRS1通过短消息的方式将IP和端口号发送给GPRS2。点击拍照,协调器即收到拍照指令并发送给路由节点,路由节点采集图像并在服务器显示,在室内无障碍物的情况下测试,单跳节点之间的距离约为100m,由于GPRS模块和Internet的入网连接延时1~3s,单跳时传输时间约为11s。目前中国移动建成的GPRS网络支持的最高理论速率为171.2 kb/s,实际接入速度大概在30kbps~40kbps,在使用数据加速系统后,速率大概可提高到60kbps~80kbps。因此,图像理论最长时间为13×8/30+3=6.47s。造成理论与实际差异的原因可能有:1)分次读取数据,累计延时长。2)采用确认机制,累计验证时间长。3)串口读取图像数据,检测每个数据包并去除非图像数据,累计耗费时间长。
图7为本地图像采集系统的测试结果。选择编号为FFFFFFFFFFFFFFF7的节点测试,设置图像大小为640*480,压缩后图像大小约为48~50kb,协调器通过串口线与实验1的PC机相连,将摄像头与路由器连接,在图7同样的测试环境下,打开串口,选择COM1,本地采集传输时间约为32s。
5 结论
利用ZigBee技术具有数据传输安全可靠、组网灵活、设备成本低、系统功耗低等独特的优势,本文设计和实现了基于无线传感网络ZigBee的静态图像采集系统,此系统主要对图像采集、网络传输、ZigBee网络的组网和服务器软件进行设计与实现。采用可靠的网状网络组网方式,系统工作稳定、性能优良。从采集的图像上看,通过ZigBee强大的自组网能力能够将数据、图像快速准确采集并显示在服务器上;此系统的用户界面友好,可实时显示远程图像和数据,同时控制远程的协调器;对于实时性要求不是很高的场合具有广泛的应用前景,尤其是在艰苦或恶劣环境条件下,此系统具有传统监测技术不可比拟的优势,可结合太阳能光伏技术运用在森林防火、油田、电力、井下等环境恶劣的场合。本地图像传输系统可用于家庭、汽车、小区的安防监控,或者军事、救灾等现有网络无法工作的领域。