1系统工作原理
如图1所示,本系统通过单片机控制继电器切换单片机与GPS模块及无线通信模块TC35i之间的通讯。在车主不需要对车辆进行监控时,单片机的串口输入和TC35i的串口输出相连。当车主离开车辆时手动驱动继电器吸合,将单片机的串口输入和GPS的串口输出连接,系统自动采集GPS位置数据后开始对车辆进行实时监测。当系统连续两次检测出由GPS模块采集到的位置信息有一定差异时,由继电器恢复单片机的串口输入和TC35i的串口输出连接,并发送警告短信息“车辆情况危险,当前位于东经XX、北纬XX”给车主。
图1系统通讯模块框图
2系统硬件组成
本系统采用单片机作为微处理器,利用GPS模块采集汽车的位置信息,然后通过无线通信模块实现与车主的实时通信。本系统硬件部分的组成具体如下:
(1)STC89C52:该款单片机价格低廉,能很好完成本系统的控制任务,具有较高的性价比。
(2)TC35i无线通信模块:TC35i西门子工业GSM模块是支持中文短信息的工业级GSM模块,工作在EGSM900和GSM1800双频段,其数据接口通过AT命令可双向传输指令和数据,可以很好地实现信息的传输。
(3)一体化GPS模块:采用XN934系列型号为XN934+的GPS模块,工作电压为3.3V,工作温度为-40~85℃,定位精度为5m,其输出接口为RS232,可以直接与单片机接口连接,且耗能低、体积小、便于集成。
(4)继电器:采用松川小型继电器,其触点形式为三开三闭。
(5)电源:系统由12V 直流电源供电,单片机系统与GPS模块由以7805芯片为核心的稳压系统供电。
系统硬件结构框图如图1所示。
3系统软件设计
系统流程图如图2所示。
图2系统流程及控制框图
程序:
#include< P>
#include< P>
#define OVER 0x0d
#define S_OVER 0x1a
void Delay(unsigned char ms) //延时子程序
void UART1_Init(void) //串口1初始化
void UART_Init(void)
void SendASC(char ASC)
void ClrRsBuf(void) //清理缓存
void SendToTc35(char*p,unsigned char Long) //发送命令到TC35
nsigned char idata*mystrstr(char q[],unsigned char qx)//查询匹配字符
void Rs485_Do(void)interrupt 4using 1 //通讯中断接收程序
void Send_AT(void) //发送AT连机命令
void SetText(void) //设置文本
unsigned char EraseMsg() //删除短信息
unsigned char ReadMsg() //读取短信息
void SendMsgStart(void) //发送短信息
void UART2_Init(void) //串口2
void Read_Gps(void) //读GPS
void Check_GPS(unsigned char j,char undercheck[]) //检查GPS
void main()
{
D11=1; //开机完成
while(1)
{
if(!b){ //是否处于固定位置模式
if(bn){ //检测GPS间隔
{
Check_GPS(5,SNalarm_GPS); //分别读出开始和当前经纬度
if(((aa1-aa2)>80)||((ba1-ba2)>80)) //检测位置是否变化
{
b=1; //位置已变,发送完警告信息,关闭固定位置模式
}
}
}
}
4系统实物图及测试结果图
系统实物图(图3)列出了本系统的全部硬件。本系统结构设计较为紧凑,便于安装,系统安装在汽车上后可以采用汽车的电瓶为其供电,进一步简化了本系统,并降低了其成本。
图3系统实物图
测试结果图(图4)是在车主离开汽车后,汽车位置发生移动的情况下系统发送的警报信息,包括当前时间、车辆所处经纬度及车辆安全状态等信息。
图4系统实际测试结果图
5结束语
本文提出并实现了基于GPS-GSM的汽车短信防盗系统,并给出了测试结果。本系统在实际应用中操作方便,定位精度高,实现了汽车防盗及发生汽车盗窃后对汽车进行定位跟踪的功能。由于本系统利用了分布广泛的无线通信网络,因而使本系统对车辆的监控范围更加广泛,改善了现有汽车防盗系统监控范围的局限性。同时,随着通信技术的不断提高与通信设备的普及,使本系统性能较高、成本低廉,有较高的实用性。