您当前的位置:五五电子网电子知识单片机-工控设备嵌入式系统-技术基于ARM9和GSM/GPRS的无线可移动红外监测报警系统 正文
基于ARM9和GSM/GPRS的无线可移动红外监测报警系统

基于ARM9和GSM/GPRS的无线可移动红外监测报警系统

点击数:7728 次   录入时间:03-04 11:46:02   整理:http://www.55dianzi.com   嵌入式系统-技术

  ioctl(fd,V IDIOCGCAP,&capability); //获取视频设备的基本功能信息

  ioctl(fd,VIDIOCGPICT,&picture); //设置和获取采集图像的各种属性

  ioct l(fd,VIDIOCGMBUF,*mbuf); //获取缓冲区信息

  ioctl(fd,VIDIOCMCAPTURE,&mmap); //捕捉图像,获取图像信息

  ioctl(fd,VIDIOCSYNC,&frame); //等待捕获完成的图像

  本设计中主要设置的参数有:捕获的图像大小为320×240像素,图像帧的调色板palette值为21,图像色彩深度为8位。

  最后,使用read方法实现图像的获取,read方法则可以直接读取设备文件来获取一帧数据保存到缓冲区中。通过convertframe()函数将pFramebuffer中的数据转成完整的jpeg格式的数据保存到ptframe缓存中去,再调用fwrite()函数将pt-frame缓存中的jpeg式数据写入到指定的文件中去,即得到一幅jpeg格式的图像。另外要提到的是本设计中为了方便服务器端读取上传的图片,将图像文件重名为系统时间格式。这时需要调用Linux系统函数time和1ocaltime。综上,图像采集模块已经实现。

  3.4.2 GPRS无线传输模块

  本设计中使用socket(套接字)编程技术来实现GPRS网络中FTP文件的传输,它是网络通信中应用进程和网络协议之间的接口。在Linux操作系统中,socket属于文件系统的一部分,网络通信就像文件读取一样方便。并且socket用IP地址加上端口号来唯一地标志一个进程。利用socket实现通信就像网络上大部分通信一样,是在客户机/服务器(client/server)模式下进行的。这种模式下,将请求服务的一方称为客户端,将提供服务的一方称为服务器端。和大多数的应用程序一样,客户端和服务器端使用传输协议进行通信。应用程序通过传输协议进行交互时所用的接口称为应用程序接口(Application Program Interface,API)。一个API定义了应用程序与协议软件进行交互时可以使用的一组操作。本设计中使用了FTP协议来传输图像数据文件。一次完整的FTP文件传输需要建立两种类型的连接,一种为文件传输下命令,称为控制连接,另一种实现真正的文件传输,称为数据连接。

  本系统中使用socket编程技术实现GRPS网络中无线FTP传输图像的具体步骤是这样的;首先,建立socket客户端的部分,用来发送FTP命令等参数。调用socket()创建了套接字,返回了该socket的描述符。接着,将服务端的IP地址、端口号和网络地址类型(本设计中是PF INET,表明该socket在Internet域中进行通信)填充到该socket结构体中。然后建立刚创建的套接字的连接,通过此套接字发送登录该FTP服务器的相关命令:发送登录名和密码;使用TYPE命令设置文件的传输类型为I。接着,建立作为socket服务器端的部分,用来发送数据文件。与socket客户端不同的是需要先创建socket,然后绑定本地地址(也就是由GPRS系统DHCP分配的IP地址)到该socket上。接着是监听这个socket,当监听到与socket客户端(也是FTP服务器端)连接上时,开始请求发送图像数据文件的命令。这部分实际也充当了FTP的客户端工作。在监听到连接后,使用PORT命令监听等待连接的端口,接着使用STOR命令发送上传文件的请求。

  在收到连接成功的回应后,作为socket服务器端的代码,要调用aCCept函数,表示可以接受socket客户端,即FTP服务器端的连接请求,然后开始打开最新的图像数据文件,通过数据链路发送文件。图像文件传输完成后,需要关闭文件流,并关闭以上创建的socket连接,以免在下次传输时出现错误。如此便完成了GPRS无线传输模块的设计,GPRS无线传输模块的流程图如图4所示。

GPRS无线传输模块的流程图

  3.4.3 应用层主程序

  在各个模块的功能实现之后,终端的应用层主程序进行模块的集成,完成系统的功能,如图5即为终端的应用层主程序的流程图。

终端的应用层主程序的流程图

  3.5 终端的软件实现

  终端的软件实现主要包括对引导加载程序和操作系统内核的定制和裁减、文件系统的配置、驱动程序和应用程序的编写和交叉编译。终端的驱动程序和应用程序在Linux宿主机上以C语言编写,以arm-linux-gcc.3.3.2完成交叉编译后随文件系统一起烧写到嵌入式终端的NAND FLASH存储系统中,驱动程序以模块方式插入系统内核,应用程序在系统加电后一直运行。经过测试,终端的软件系统能够完成红外监测、图像采集、GPRS传输图像和GSM短信息报警的功能,达到了实际应用的要求。

  4 结语

  通过上述工作,完成了基于 ARM9 和GSM/GPRS网络的无线可移动红外监测报警系统的软硬件设计和实现。本系统可以使用在无人值守的重要场合,完成对敏感物体的监测和报警,防止外来入侵障碍物的影响,实现远程监测和报警的功能。系统有无线可移动和红外监测触发传输图像等特点,可以节省布线成本和使用时的GPRS网络费用,并且处理速度高、性能好、通用性强、可行性和性价比高,在实际应用中有一定的价值。



上一页  [1] [2] 


本文关键字:无线  报警系统  嵌入式系统-技术单片机-工控设备 - 嵌入式系统-技术