摘要:介绍了多媒体消息服务(Multimedia Message Service,MMS)的工作原理,研究了基于ARM11和MMS的远程监控系统。系统采用S3C6410为核心控制器,并且移植了资源丰富的嵌入式操作系统Linux。当被监控的数据超过警报值时,系统采集现场的温湿度、烟雾浓度、图像数据,将其封装成MMS信息,并利用GPRS传输模块SIM300z发送MMS信息给终端用户,以达到实时反馈的目的。
引言
随着国民经济的快速发展和人民生活水平的日益提高,各种监控系统应运而生,广泛应用于银行、铁路、民航等重点领域,并逐步进入到个人家居监控应用领域中。目前大多数监控系统都是将现场信息发送到远程计算机上,但计算机携带不方便,不能满足人们随时随地查看现场信息的需求。而手机相对计算机来说普及率高、成本低、携带轻便,尤其是近年来GPRS无线数字移动通信网的快速发展,为手机终端提供了无线接入Internet业务,使得手机成为互联网中最普遍的终端设备。多媒体消息服务(Multimedia Message Service,MMS)作为GPRS一项基本业务,被广大手机用户所使用。它不仅实现了终端之间、终端和电子邮件之间的信息传递,还实现了内容的多样性,包括图片、音频、视频、图像、数据和文本的各种组合。可见,利用GPRS和MMS技术可完全满足远程监控系统对距离、图像、声音、高实时性的要求,具有重要的研究意义和使用价值。本文利用S3C6410作为微控制器,设计了一种基于ARM11和MMS技术的远程监控系统。
1 MMS概述
MMS是由3(3PP(Third Generation Partnership Project,3G伙伴计划)和WAP Forum(Wireless Application Protocol Forum,无线应用协议论坛)制定的一种手机消息业务,是短信业务和图片信息的进一步发展。MMS系统主要包括多媒体信息中心(MMSC)、WAP网关、数据库服务器和增值服务系统等。它的实现方式有2种:基于WAP和基于IP。目前,GPRS网络采用基于WAP的方式发送和接收MMS彩信,其具体实现方式如图1所示。
从图1中可以看出,MMS业务是以WAP为载体来传送信息的,可见WAP技术在多媒体消息服务中扮演了重要的角色。WAP(Wireless Applica-tion Protocol,无线应用协议)是开发移动网络上类似Internet应用的一系列协议的组合,实现了Internet和移动通信网的互联。在WAP体系结构中,WTP协议与WSP协议起到核心作用。WSP协议层在会话服务中提供了一致的接口,并针对无线网络通信进行了优化,而WTP协议为互动式浏览(请求/应答)提供服务。
在GPRS网络中,使用MMS PDU(协议数据单元)对MMS信息进行发送和接收,并采用多媒体邮件扩展(MIME)协议进行打包。MMS PDU由MMS Header和MMS Body两部分组成。Header描述了PDU的特定信息。Body包括了SMIL表述,用来设定多媒体片段的位置、播放时间等。当用户终端发送MMS信息时,会将MMS PDU作为WAP协议的数据单元进行封装,并在移动网络中寻址、存储和转发,最终传递给接收用户。
2 系统总体架构
为了全面、详细地掌握现场情况,本系统所采集的信息包括温度、湿度、烟雾浓度、图像数据,以满足人们在生产和生活中的需求。系统的总体架构如图2所示。
由图2可知,本系统主要包括控制模块、传感器模块、图像采集模块、报警模块、GPRS模块以及存储器模块等部分。各个模块的主要功能如下:
①控制模块是整个系统的核心部分。运行系统的主控程序,完成设备的初始化工作;通过对图像采集模块的控制,完成对图像信息的采集、编码以及存储等工作;通过传感器模块,采集远程终端的温度、湿度、烟雾浓度,并将这些信息转换成ASCII码;完成MMS信息的封装、发送任务。
②传感器模块主要完成对现场信息的采集,包括温度、湿度、烟雾浓度,实现非电信号向电信号的转换。
③图像采集模块实现对原始图像信息的采集、数据的传送等功能。
④GPRS模块通过PPP协议连接到GPRS无线网络,可实现对MMS信息的发送,以及对来自终端用户SMS(短信息)的接收。
⑤存储器模块主要用于存储经过编码处理的图像信息。
⑥当现场温度、湿度或烟雾浓度超过预设报警值时,报警模块产生报警信号,提示工作人员及时处理现场发生的事故。
监控系统的工作原理:当系统正常工作时,微控制器模块会定时采集现场的温度和烟雾浓度,并与预设的报警值进行对比。当温度或烟雾浓度高于此值时,微控制器模块将会控制图像采集模块采集现场图像,并将采集到的数据进行编码和处理,作为MMS消息的图片数据进行存储;同时,通过传感器模块采集现场的温湿度、烟雾浓度,并作为MMS消息的文字部分进行存储。而后将这两部分数据进行封装,以MMS消息的形式传递到终端用户。在完成发送任务的同时,系统会驱动报警模块产生报警信号,达到报警的目的。
用户也可以通过向系统发送短信息(SMS)的形式,要求监控终端发送现场的温度、湿度、图像等信息,以实现用户对现场的远程监控。
3 系统硬件设计
3.1 控制模块的设计
为了使远程监控系统可以稳定、持续、高效地工作,并能对突发事件做出迅速反应,控制模块采用嵌入式微处理器S3C6410。该处理器是基于16/32位ARM11版本内核的低成本、低功耗、高性能微处理器,广泛应用于移动电话和其他便携式应用。为了给2.5G和3G移动通信业务提供最佳的硬件性能,S3C6410采用64/32位内部总线结构,内部集成了多个功能强大的硬件加速器,如移动图像处理、显示控制和图像缩放。其内部集成的JPEG编解码器,支持对YCbCr4:2:2/YCbCr4:2:0格式的图像进行编码,输出的图像文件尺寸可满足MMS信息对图片大小的要求。除此之外,S3C6410还具备相机接口,该接口支持ITU R BT-656/601 8位模式,最大输入尺寸可为4096×4096像素,支持YCbCr4:2:2格式的数据作为输入,可生成RGB 16/18/24位格式和YCbCr4:2:2/YCbCr4:2:0格式的图像,这一特点可降低系统对图像采集模块的要求。
3.2 传感器模块的设计
系统的传感器模块由两部分组成,分别是温湿度传感器和烟雾浓度传感器。温湿度传感器采用广州奥松公司的高性能AM2301电容式数字温湿度传感器。该传感器具有超快响应、抗干扰能力强、性价比高、温湿度测量范围大、分辨率高等优点,可应用于各类环境中,甚至在条件极为恶劣的场合也可正常工作。AM2301是一种单总线器件,其数据格式:40位数据=16位湿度数据+16位温度数据+8位校验和。在本系统中,通过S3C6410的引脚GPE1并加上拉电阻与控制模块进行通信,使系统集成变得更为简易快捷,节省了引线数量,降低了产品成本。
烟雾浓度传感器采用MQ-2作为感应器件。MQ-2是一种电阻性的传感器,对天然气、液化石油气、氢气等烟雾具有很高的灵敏度,可长期稳定地工作,抗干扰性强。通过测量其输出电阻,可以检测现场的烟雾浓度。
3.3 图像采集模块的设计
图像采集模块采用美国Omnivision公司生产的OV7650。它是一款高集成度、高分辨率的CMOS图像传感器,支持YCbCr4:2:2数据输出格式,可完全满足系统的设计要求。其输入输出接口与S3C6410的相机接口具备良好的兼容性,为系统的开发提供极大的便利。
3.4 GPRS模块的设计
系统采用Simcom公司的SIM300z作为GPRS模块。它利用GPRS技术与GSM移动通信网络作为传输介质,可为用户提供快速的无线GPRS连接以及较高的数据传输速率。该模块有较宽的工作温度范围,可满足监控系统对恶劣条件的要求。SIM300z与S3C6410通过串口通信,能及时处理S3C6410发出的AT指令。对于S3C6410传递的数据,SIM300z也可及时转发,满足监控系统对数据传送的要求。
4 系统软件设计
完成硬件的设计只是实现系统功能的第一步,良好的软件设计才是系统能够稳定运行的关键,下面将详细介绍监控系统的软件结构和重要的软件模块。
4.1 嵌入式操作系统的移植
嵌入式操作系统是一种用途广泛的系统软件,负责远程监控系统的全部软件硬件资源的分配、调度等工作,是整个系统的基础。Linux因其内核完全开放、可以灵活配置等特性,被选为本系统的操作系统。其移植过程如下:
①在PC机上利用虚拟机,建立交叉编译环境GNU;
②根据系统需要选择TCP/IP等模块,编译生成Linux内核;
③编译生成根文件系统rootdisk;
④向底层硬件下载Bootloader映像,Bootloader的主要作用是初始化硬件,引导Linux内核启动;
⑤烧写Linux内核和rootdisk映像。
4.2 GPRS连网模块的设计
在Linux下通过GPRS上网,必须使用PPP协议进行拨号,而移植到ARM中的Linux没有提供PPP协议,需要在内核编译时配置网络设备支持PPP协议。在此基础上,利用pppd源码包,使用“ATD*99***1#”进行拨号连接,即可登录中国移动的GPRS网络。在拨号过程中,需要进行如下设置:
①设置串口速率为115 200 bps,校验位为NONE,数据位为8,停止位为1,并取消硬件流控制;
②用户名与密码为空;
③使用“AT+CGDCONT=1,“IP”,“CMNET””指令,设置接入点为CMNET。
4.3 信息采集模块的设计
信息的采集包括两部分:一部分是图像信息的采集,另一部分是温湿度、烟雾浓度的采集。由于S3C6410具备相机接口和强大的JPEG编解码器作为硬件支持,可直接调用Linux函数完成图像的采集和编码工作,极大地缩短了开发周期。
温湿度的采集通过AM2301模块进行,在其上电后,需等待1s以越过不稳定状态,在此期间不能发送任何指令。AM2301与S3C6410之间采用单总线数据格式进行通信和同步,一次通信时间大约5 ms。
微控制器S3C6410采集温湿度流程如下:通信开始时S3C6410拉低总线DATA,500μs后释放总线,延时20~40 μs后S3C6410开始检测AM230 1的响应信号。AM2301的响应信号是一个80μs左右的低电平,随后AM2301再拉高总线80μs左右代表其即将进入数据传送状态。而后AM2301传递40位的有效数据,当最后一位数据传送完毕后,AM2301将再次拉低总线50μs左右,最后释放总线,并由上拉电阻拉高。
烟雾浓度的采集过程:感应器件MQ-2将烟雾信息转变成电信号,经放大电路后再进行A/D转换,最终传递给S3C6410进行存储。
4.4 MMS发送模块的设计
当系统成功连接到GPRS网络后,需要通过WAP协议发送MMS信息。在此过程中,WAP网关的IP设置为10.0.0.172,端口为9201。发送MMS信息的具体过程如下:
①微处理器向WAP网关发送会话建立连接请求,发送的数据为0E 00 00 12 01 10 00 00(8字节)。前4字节为WTP invoke PDU,后4字节为WSP协议数据单元,代表WSP Connect PDU。
②服务器返回连接确认,其数据为13 80 00 02 92 C7 59 0E…(30字节)。前3字节为WTP Result PDU,其余为WSP协议数据单元,代表WSP ConnectReply PDU。
③微处理器发送WTP确认(WTP Acknowledgement PDU),完成会话连接,发送的数据为18 00 00。
④微处理器发送WTP、WSP和MMS包,主要包括WTP Invoke PDU、WSP Post PDU和M-send.req PDU。
⑤网关返回事务操作结果,微处理器发送WTP确认(WTP Acknowledgement PDU)完成会话,发送的数据:18 00 01。
5 系统测试
经过多次测试,由监控终端发送的MMS信息,其绝大部分都能在发送5 s后由终端接收,即使不发送WTP确认也可以被接收,能够满足监控系统对实时性的要求。系统测试如图3所示。
结语
本文详细介绍了基于ARM11和MMS的远程监控系统。系统具有较好的稳定性,可以适应不同的工作环境。所采用的MMS技术可以传送图片、声音、文字和视频等信息,通过该技术实现远程监控已成为当今的一大热点。随着嵌入式技术的不断发展、GPRS网络的逐步成熟,以及3G
网络的迅速发展,通过MMS的方式实现远程监控必定成为流行趋势。相信在不久的将来,人们不出家门,就可以实时对远程场景进行监控,及时处理突发事件。