一种基于MMS的低成本汽车安防系统设计与实现
出JPEG格式图像、分辨率640X480,发送SetPackageSize命令设置数据包的大小为512字节。
2获取图像,包括:发送Snapshot命令捕获图像快照并压缩,发送GetPicture命令获取Snapshot类型图像,接收Data命令确认数据类型为Snapshot以及图像数据大小,并为图像分配对应空间,之后开始接收数据包,每收到一个数据包后发送带有数据包ID的ACK命令给摄像头,直到最后一个数据包ID为F0F0,数据接收过程结束。
通讯协议采用一种如图4的应答方式,ACK代表上一个命令或操作成功,NACK则说明失败,确保了通讯稳定。C328定义的命令是统一的6个字节长度,起始为固定的0xAA,然后是命令字节,后4个字节是与命令相关的参数字节。
3.3MMS制作
MMS可以包含静态图像、语音、动态图像等多种多媒体信息[34]。图5左侧为一个通用MMS结构,由MMS信息头、MMS信息体构成。MMS信息头包含如何从发送终端将数据发往接收终端的信息[5]。MMS信息体是MMS的实质内容,可以由多个部分多种类型媒体。本系统中目前仅有JPEG的图像数据,不需要支持所有格式的多媒体信息,因此可以实现针对多幅JPEG图像的简化版MMS制作模块。我们使用了最简化的MMS信息头,包括:消息类型、事务ID、版本号、From、To等,详情见表1。
MMS编码必须遵循无线会话协议(WirelessSessionProtocol,以下简称WSP)。WSP使用一种与HTTP/1.1相同的语法描述数据的组织结构,具体可参考RFC[2068]。HTTP/1.1使用ASCII字符编码来传输数据,而WSP为降低传输带宽,将HTTP/1.1中的一些著名域对应的字符串定义为一个字节,并在对这些紧凑格式编码时加上0x80,使著名域的编码大于127(扩展ASCII字符),从而将它们与普通ASCII字符区别开。因此MMS信息头的基本编码格式为:"域编码"+"内容",详情请参考表1。编码顺序如下:消息类型、事务ID、版本号必须依次排在最前面,而MMS信息体内容类型则应该排在MMS信息头的最后。
①用字符串表示一个随机数。②国内格式为:长度+"+86"+"11位手机号"+"/TYPE=PLMN."
紧跟在MMS信息头之后的就是MMS信息体,图5中所示这部分有:成员数量、成员(图像、文本、声音等)。成员数量是一个变长整形数。MMS信息体的成员由:成员信息头、成员数据构成。我们的系统中仅有JPEG图像,所以成员信息头可以编码为:0x01,YYYY(JPEG图像大小,变长整数),0x9E。最后将JPEG图像附在成员信息头之后即可完成MMS制作。注意,由于图像的存储空间为动态分配,之后要将所占内存释放。
3.4MMS发送
最后,系统使用了项目组针对嵌入式系统开发的MMS发送简化过程来发送彩信。该简化过程分为三个步骤:建立连接、发送数据、断开连接[6],如图6所示为发送数据简化过程的时序图。建立连接和断开连接的时序图与此类似,不在这里给出。在该简化过程的实现中,使用了一种直接构造PDU进行发送的实现方法。协议数据单元(ProtocolDataUnit,以下简称PDU)为MMS发送时各层所要增加的数据头,而这些数据头很多部分都固定。因此,通过直接发送PDU的方法,可以避免构造完整无线应用协议栈(WAP),摆脱对多线程的依赖,以及无关操作所需的存储消耗,实现单线程、高效、高速、稳定的MMS发送。
MMS发送的网络协议栈关系的简化过程仅仅需要嵌入式系统提供UDP支持,能连接到GPRS网络,即可发送MMS到终端。
4.结论与展望
本系统目前已经通过了长沙、深圳、北京、上海等地的测试。项目充分利用了GPRS网络覆盖广泛,通讯质量稳定的特点,提出了一个简单方便的、稳定的、易于扩展的基于MMS的安防系统框架,为提取犯罪嫌疑人的犯罪证据提供了一种新手段。该框架有较广泛的应用范围,可以为相关行业提供参考。
本文作者创新点:结合了短消息操作简单、彩信直观的特点,在低成本ARM7平台实现了基于彩信的安防系统;在系统中使用一种直接PDU构造方法实现了一个简化版的彩信发送过程,该过程实现简单,适合嵌入式系统。
- 通讯硬件接口综述(11-11)
- 基于ARM的车载GPS智能导航系统(11-19)
- 基于GPS定位的嵌入式汽车监控器设计(01-14)
- GSM/GPS车载系统中LCD中文显示的编程方法(05-06)
- 基于DSP技术汽车定位防盗系统的体系结构研究(05-26)
- 赛灵思与微软汽车业务部推出的智能车载信息系统(06-18)