一种基于MMS的低成本汽车安防系统设计与实现
1.引言
随着人民生活水平的不断提高,个人拥有汽车变得越来越普遍。但是,随之而来的车辆频繁被盗问题渐受关注。传统的汽车安防系统以全球卫星定位系统(以下简称GPS)为核心,这种技术最大的优势是可以定位被盗车辆所处的位置,可以远程控制车辆,但是无法获取图像声音信息不能了解车辆所处的环境,无法有效追捕犯罪嫌疑人。还有一些系统使用GPRS实时传输图像数据,这种方案受网络带宽的限制严重,图像质量差,对处理器运算能力要求高,系统使用费用高。
针对上述问题,我们提出并设计了一种基于多媒体信息服务(MultimediaMessageService,以下简称MMS)--也就是人们常说的"彩信"汽车安防系统。该系统利用了中国移动的MMS业务、短消息业务,无线网络覆盖面大,使用费用低廉,操控方法简单。图1所示为基于MMS的汽车安防系统的应用框图,用户在远程通过短信控制本系统,系统通过在车辆内适当部位安装的摄像头、麦克风获得高质量的图像语音信息,制作成MMS,通过我们专门针对低成本嵌入式系统研发的MMS发送程序将MMS发送到用户的终端,从而使用户能更清晰地掌握车辆内外的状况。
2.系统结构
我们使用了如图2所示的硬件框架,本系统以S3C44B0处理器为核心:辅以2MNORFlash存储引导程序、内核、ROM文件系统;16MNANDFlash承载YAFF文件系统,以弥补NORFlash空间不足无法容纳PPPD、系统应用程序、无法保存系统配置信息的缺陷;16MSDRAM运行代码、动态数据交换、RAM文件系统;UART0连接CWT2000GPRS模块,用于收发与用户交互的短信,发送MMS到用户指定的终端;UART1连接C328JPEG摄像头可以直接获取JPEG格式的高分辨率图像数据。
本系统的软件基于uCLinux操作系统内核版本2.4.32,图3展示的是本系统的软件结构框图。图3中,内核空间的MTD、UART驱动、TCP/IP、PPP等在编译内核时必须选择支持,PPPD/Chat拨号程序用于通过GPRS模块登陆互连网。上述软件结构框图中部分模块在uCLinux分发版中包含,因此本系统需要实现JPEG采集、MMS制作、MMS发送、短信收发以及系统控制流程模块。接下来的章节将介绍各模块的实现技术。
3.软件设计
本节将重点介绍图3中的系统控制流程、JPEG采集、MMS制作以及MMS发送模块。由于短信收发模块过于简单,且在许多资料中都有详细介绍,本文不再赘述。
3.1系统控制流程
系统控制流程模块负责对其它模块进行调用,对所有资源进行协调,实现系统设计的工作流程,满足良好的交互性、稳定性。
首先,系统需要初始化,如获取用户终端(手机)号码,MMS发送过程所需的MMS网关、端口、MMS中心地址,这些信息都保存在系统配置文件中,另外还需要初始化一些相关的数据结构。初始化之后系统进入到一个超级循环当中,随时准备接收来自用户终端的命令短信息。目前,命令短信息有两个,其中最重要的是"Get"命令,用以获取MMS信息;还有一个"Set"命令用以设置用户终端号码,该命令由于流程图的尺寸问题在图4中省略了。收到"Get"命令之后,系统依次调用JPEG采集模块、MMS制作模块、GPRS拨号、MMS发送模块。这些模块的调用,除了MMS制作模块,都遵循一个基本原则,我们称之为三次尝试原则。如果某模块调用不成功,将重复三次,三次都失败,将发送错误报告短信到用户终端。比较特殊的是GPRS拨号,在3次拨号失败后将对GPRS模块进行复位,再尝试拨号。该原则符合无线通讯自身的特殊性,可以有效提高程序的效率和稳定性。另外有一点需要注意,在GPRS状态下是无法发送短信的,因此,拨号登陆成功之后需要断开GPRS连接才能发送短信。这也是为什么无论MMS发送是否成功,都必须先断开GPRS,再发送报错或成功报告短信的原因。
3.2JPEG图像采集
JPEG图像采集模块通过串口控制C328JPEG摄像头直接获取JPEG图像,这种选择大大降低了处理器的负担。关于该摄像头的硬件信息见参考文献[1]。该软件模块大部分为顺序过程,后面的过程都建立在前一个过程正确执行的基础上。总体上可以分为三个步骤:初始化S3C44B0串口、初始化摄像头、获取图像,详细过程如下:
1.初始化S3C44B0串口,包括:O_RDWR|O_NOCTTY|O_NDELAY方式打开UART1也就是"/dev/ttS1"[2],设置波特率57600,8位数据位,1位停止位,无奇偶校验,读写超时设置为1秒,初始化jpeg_picture结构体:
structjpeg_picture
{
intfd;//串口的文件描述符
unsignedcharresolution;//图像分辨率代码
longjpeglength;//图像长度24位表示
unsignedchar*pjpeg;//图像存储地址
};
1JPEG摄像头,包括:发送SYNC命令与摄像头建立连接,,发送IniTIal命令设置输
- 通讯硬件接口综述(11-11)
- 基于ARM的车载GPS智能导航系统(11-19)
- 基于GPS定位的嵌入式汽车监控器设计(01-14)
- GSM/GPS车载系统中LCD中文显示的编程方法(05-06)
- 基于DSP技术汽车定位防盗系统的体系结构研究(05-26)
- 赛灵思与微软汽车业务部推出的智能车载信息系统(06-18)