基于GSM网络的智能车位控制系统

2014-09-20 09:23马继先朱致越许世豪
江苏科技信息 2014年2期
关键词:调用短信摄像头

马继先,朱致越,许世豪

(南京邮电大学通信与信息工程学院,江苏南京 210003)

1 TC35i设计

1.1 设计目标和工作特点

TC35i[1]是一个支持中文短信息的工业级GSM模块,由德国西门子(SIEMENS)公司推出,工作在EGSM900和GSM1800双频段,可传输语音和数据信号,功耗在EGSM900(4类)和GSM1800(1类)时分别为2W和1W,SIM电压为3V/1.8V。TC35i的数据接口通过AT命令可双向传输指令和数据,可选波特率为300b/s~115Kb/s,支持Text和PDU格式的SMS。

本系统的设计目标是通过TC35i收发短信的功能,结合单片机对其进行控制,进而控制车位锁的升降及一系列的附加功能。所使用的单片机为STC12C5A08S2[2],兼容8051的定时器与串口,且速度比普通8051快8~12倍。这一代宏晶芯片具有1个时钟周期,具有高速处理、高可靠性等特性。新增第二复位功能脚、额外外部中断以及可将CPU从掉电模式唤醒的管脚。

1.2 电路组成及工作原理

TC35i一共有40个引脚,通过一个ZIF连接器引出,ZIF连接器提供控制数据、音频信号和电源供应线的应用接口。这40个引脚可以划分为5类,即电源、SIM卡、数据输入/输出、控制和音频接口。第1~14脚为电源部分;24~29为SIM卡引脚,分别为 CCIN,CCRST,CCIO,CC-CLK,CCVCC,CCGND;16~23 为数据输入 /输出引脚,分别为 DSR0,RING0,RxD0,TxD0,CTS0,RTS0,DTR0,DCD0;15,30,31 和 32 为控制引脚,15 为点火线IGT,当TC35I通电后必须给IGT一个大于100ms的低电平,模块才启动,30为RTC backup,31为power down,32为SYNC;音频接口为33~40,用来外接电话。

本系统主要通过TC35i的短信收发来控制。它的短信模式有2种:第1种是TEXT模式,第2种是PDU模式。PDU模式可采用多种编码发送汉字,但其编码方法比较复杂,此处只需实现收发功能,故采用TEXT模式,此模式无需编码且只能发送英文,但实现起来十分简单。TC35i终端电路如图1所示。

图1 TC35i终端电路图

单片机通过2根I/O口控制TC35i的开关机、复位等,通过串口与TC35i进行数据通信,通信速率为9600Kbps,采用8位异步通讯方式。TC35i的SYNC引脚有2种工作模式,可用AT命令进行切换。本系统使用其来指示TC35i的工作状态:当LED为1s亮/1s熄时,表明SIM卡没有插入或TC35i正在搜索网络信号进行网络登入,当LED为3s亮/1s熄时,表明已经登入网络可以进行短信收发。单片机电路如图2所示。

本系统的主要功能是当TC35i模块收到特定的短信息内容时,通过relay时车位锁控制电路闭合,从而实现其升降,可以说起到了使能的作用。单片机串口设置成模式1(9600,N,8,1),依次将AT+XXX以ASCII码形式输出到UART口,接收TC35i的数据采用中断方式。当设置AT+CMGF=1<CR><LF>时,TC35i以TEXT模式识别短消息。读取短消息为AT+CMGR,相应内容在编程时写入便可以。

2 iOS7.0系统iPhone客户端的实现

2.1 核心模块:应用程序内部发送短信功能

2.1.1 模块实现综述

在应用程序内调用发送短信页面,需要使用SMS组合接口。使用SMS组合接口,必须在程序应用框架中增加MessageUI.framework框架,并且将该框架链接到相应目标。为了在程序中自由调用MessageUI.framework框架中的所有类和头文件,必须在应用程序的头文件(本应用程序中为AreaViewController.h)最顶部的调用列表中添加#import<MessageUI/MessageUI.h>陈述。为了提供标准的用户接口,需要使用MFMessageComposeViewController类。为这个类创造一个实例,并为该实例分配一个委托目标。这个委托必须遵从MFMessageComposeViewControllerDelegate协议。

在向用户呈现编写短信的界面之前,用户能够预先设定好短信的内容和发送收信号码。当设置短信内容和收信号码完毕后,调用 UIViewControllerpresentModalViewController:animated:方法进行模块化地呈现短信编写界面。当界面可用(如果没有预先设定收信号码和短信内容),用户就能编辑收信号码和短信内容,接下来用户就可以通过轻按界面上的相应功能按钮来发送短信或取消发送。如果用户要求发送信息,那么系统就会将用户所要发送的内容送入发送队列,然后调用委托目标的messageComposeViewController:didFinishWithResult:方法。调用这个方法后会产生一个返回值,这个值是“sent”(表示已发送)或“cancelled”(表示取消发送)或“failed”(表示发送失败)。最后,委托目标负责解除短信发送用户界面,要实现该步骤,必须调用UIViewController dismissModalViewControllerAnimated:方法。

图2 单片机电路图

2.1.2 MessageUI框架的介绍与使用

MessageUI框架为短信(SMS服务)和Email文本信息发送提供了标准化的用户界面及界面控制器。使用这个接口可使用户进入短信发送标准界面而不需要离开本应用程序,实现了程序内调用短信发送界面的功能。在向用户呈现出短信发送界面之前,必须对界面控制器进行初始化,可事先对收信号码和短信内容进行设定。在本系统中,为了与TC35I的GSM模块进行通信以实现远程控制功能,预先设定了收信号码以及短信内容。调用MessageUI框架源码如下:

2.1.3 MFMessageComposeViewController类的介绍和使用

MFMessageComposeViewController类可以为用户提供一个标准化的短信发送界面,我们也可以使用该类对短信收信人和短信内容进行预先设定。将收信人初始化为车位锁用户的车位锁控制模块的接收手机号,并结合单片机接收的特殊字段来初始化短信内容。在这里,我们将短信内容进行如下设置:当用户轻按屏幕“开锁”按钮时,弹出的短信发送界面的短信内容为:L1#OFF。当用户轻按屏幕“锁定”按钮时,弹出的短信发送界面的短信内容为:L1#ON。MFMessageComposeViewController类的实现源码如下:

其 中 ,presentModalViewController:picker animated:YES 方法用来调用短信发送界面,将短信发送界面放置在当前用户界面的上一层。

2.2 核心模块:应用程序内部调用远程监控视频

2.2.1 模块实现综述

与摄像头监控模块进行通信实现手机客户端远程监控的功能,需要使用到iOS常用类中的NSURLRequest类。NSURLRequest对象代表URL载入请求,这个请求是独立协议的并且是URL形式的。在此,为了实现客户端内查看远程监控的实时视频,我们需要调用该类中的方法:requestWithURL:。因为所使用的摄像头监控模块是连接在互联网中的,利用其VPN通道将实时视频、音频数据传输到一特定的外网上,或传输到局域网内一预先设定IP的用户设备上。用户通过输入摄像头设备ID及用户密码就可以在外网获取实时的摄像头监控图像,因此,在手机客户端上将获取实时监控视频的URL地址初始化,作为参数发送URL请求,那么用户就可以在手机上通过蜂窝数据网络或WLAN链接到该URL,并在输入摄像头设备id以及用户密码后获取监控视频。

2.2.2 requestWithURL方法的介绍和使用

调用requestWithURL方法可以产生一个URL请求,在这个请求中可以自定义一个URL参数表示需要访问的目标URL地址,并且requestWithURL方法中使用的缓存策略和超时数值都采用默认值即可。在实现视频监控车位锁实时状态的应用中,我们向视频所在的URL发起一个请求,在手机客户端上打开该页面,以供用户进行后续操作。requestWithURL方法的实现源码如下:

以上源码使用户在轻按菜单中的“车位情况监控”按钮之后,即可以输入自己的摄像头设备ID和用户密码,并且开始通过视频监控车位锁的实时情况。

在此部分中,通过对手机客户端程序的编写和用户界面的设计,让用户能够直观地通过手机短信对车位锁的开或闭进行远程控制,拥有延迟低、不受地域限制、用户界面友好、方便等特点。此外,用户在接入3G蜂窝数据或连接WLAN的条件下,还可以通过手机客户端实时监控车位情况和车辆情况,让用户在使用该套车位锁系统之后获得更加全面、更加及时的安全保障。

3 摄像头远程监控与碰撞报警的实现

3.1 系统所使用的无线摄像头综述

在该车位锁智能控制系统中,我们采用的是IP网络摄像头,该摄像头由高清晰度CMOS感光芯片、32Bit RSIC媒体处理器构成,使用JPEG压缩方式对每一帧传送的图片进行压缩。在数据传输上,该摄像头采用UDP协议进行传输。因此,能够保证在局域网内传输数据的可靠性。

3.2 压缩算法与传输协议

JPEG压缩算法[3]是由CCITT SG VIII(国际电信电话咨询研究委员会研究组VIII)的CCIC和ISO/JTC1/SC2/WG10成立的联合小组——Joint Photographic Expert Group(JPEG)开发的一种静止图像数据压缩标准。JPEG以DCT为基础,压缩具体过程如下:将图像分成互不重叠的块,对每块进行离散余弦变换(DCT),变换后的系数根据量化表进行量化,再对量化后的系数按折线扫描重新组织,最后进行编码。在摄像头的应用中,为了降低传输带宽,必须对图片进行压缩。图像的原始文件很大,必须对图像进行充分压缩才能够高效地利用带宽,节省资源,并且避免在实时观看过程中出现的卡顿现象,为了使图片数据能够快速传输,并且顺畅播放,本文采用的摄像头压缩比为行业多采用的5∶1。

3.3 UDP(用户数据包协议)传输的研究及应用

UDP 的全称是(User Datagram Protocol)[4],代表用户数据包协议,是OSI参考模型中的传输层协议。该协议所提供的是面向事务的简单的不可靠的信息传送服务,是一种无连接的传输层协议,UDP协议对网络质量要求较高,在网络质量不达标的情况下,丢包率较大,因此多用于对丢包率和数据要求不高的应用。

在摄像头的数据传输中,本文采用UDP的传输协议,为保证丢包率不至于过高,并且为保证视频传输的质量,必须把摄像头与监控端接入同一局域网中,这样可在局域网内将压缩数据包直接传输给目标监控设备。当然,也可将摄像头捕获到的视频图像发送到一个固定的IP地址上,供局域网外部的终端进行查看。

3.4 碰撞报警的实现

防碰撞模块的主要功能是当一个超过设定值的压力被施加到压力传感器时,系统蜂鸣器报警并向指定号码发送短信“Alert”到制定号码。发送短消息格式为AT+CMGS=目标号码<CR><LF>。本模块主要使用了一个 MCS-51 系列单片机[5],另有应变式压力传感器,HX711电子称[6]专用AD转换器。HX711是一款专为高精度电子称而设计的24位AD转换器芯片,它集成了包括稳压电源、片内时钟振荡器等一些必要的外围电路,具有高集成度、高响应速度、强抗干扰性等优点。其所有控制信号由管脚驱动,无需对芯片内部的寄存器编程,大大减少了编程时间与难度,芯片内提供的稳压电源可以直接向外部传感器和芯片内的A/D转换器提供电源。系统中所使用的应变式压力传感器利用弹性敏感元件和应变计将被测压力转换为相应的电阻值的变化。

[1]何光禹,李太全.基于 TC35i GSM模块的SMS设计和应用[J].现代电子技术,2010(16):157-159.

[2]周航慈.单片机应用程序设计技术[M].北京:北京航空航天大学出版社,1991.

[3]张海燕,王东木,宋克欧,等.图像压缩技术[J].系统仿真学报,2002(7):831-835.

[4]彭喜元,姜守达.新编 MCS-51单片机应用设计[M].哈尔滨:哈尔滨工业大学出版社,2003.

[5]程智.简易电子秤的设计[J].电子世界,2013(7):133-133.

猜你喜欢
调用短信摄像头
浙江首试公路非现场执法新型摄像头
摄像头连接器可提供360°视角图像
核电项目物项调用管理的应用研究
道歉短信
LabWindows/CVI下基于ActiveX技术的Excel调用
代发短信
基于系统调用的恶意软件检测技术研究
奔驰360°摄像头系统介绍
利用RFC技术实现SAP系统接口通信
“八一”节日短信之一