查看: 7965  |  回复: 7
参赛作品《基于GSM和北斗卫星定位的汽车防盗系统设计》

主题

回复
发表于2017-06-21 23:41:55 | 显示全部楼层
1# 电梯直达

【报名阶段需要填写的内容】


1. 参赛者姓名(必填项):黄美锜、张盛明、古俊权


2. 单位或学校名称(必填项):广西师范大学、桂林电子科技大学


3. 当前职务或职称(必填项):学生


4. 参赛作品的名字(必填项):基于GSM和北斗卫星定位的汽车防盗系统设计


5. 简要陈述您的idea和作品(必填项):作品设计的主要内容是汽车防盗以及汽车被盗后能够通过卫星导航进行实时定位。作品主要包括硬件和软件部分。硬件部分具体包括显示电路的设计,GSM/GPRS模块电路的设计,卫星导航定位模块的设计,NRF24L01无线模块电路的设计,红外检测电路的设计,电源模块电路设计,声光报警电路设计和开门电路设计等。软件部分具体包括显示屏的驱动程序,GSM/GPRS模块的驱动程序,GPS和北斗卫星导航定位模块驱动程序和定位信号的接收以及解析程序等。各个模块软硬件调试成功后进行最后的组装拼接,然后形成一个完整的汽车防盗系统。


6. 拟用到的立创商城在售物料(必填项):芯片STM32F103XX、GSM模块、NRF24L01模块\稳压芯片7805、芯片LM1117、电池、晶振、电容、电阻


7. 拟用到的非立创商城物料或其它补充(必填项):RT9193ILI9341液晶屏、SIM900A模块、24C32芯片


【作品正式发表(报名成功后进入设计阶段)需要填写的内容】


一、作品简介

例如,可以包括但不局限于以下内容:

1.作品的整机外观图片或焊接组装好的PCBA图片;

   

  

2.作品的研究背景、目的和功能、市场应用前景;

如今社会科技发展迅速,随着人民生活水平的不断提高,我国汽车持有量逐年上升,成为了人民生活中必不可少的交通工具,然而,科技的进步也促使着汽车被盗事件愈发增高,使得广大车主对汽车的防盗性能方面有了更高的需求。同时,生产企业对汽车防盗的认识并不够重视,在这方面的资金投入不足,以至于汽车防盗水平处于落后状态,不能适应汽车电子发展对汽车防盗技术的更高需求。据统计,一般盗窃者在三分钟左右就能盗走一台汽车,也就是说三分钟内无法解除防盗器系统,即放弃另寻目标。因此在国外也有专业的人士用破解防盗系统的时间来评定防盗系统的级别。

汽车防盗系统,是指防止汽车本身或车上的物品被盗所设的系统。随着汽车电子科学技术的进步,盗车者的作案手段层出不穷,并不断升级,为了应对汽车被盗,人们需要更智能化的防盗装置。目前的汽车防盗系统主要分为四种类型:机械式防盗装置、电子防盗报警装置、芯片式防盗装置、网络式防盗系统。

据市场调研公司MarketsandMarkets预测,汽车防盗系统市场将从2016年的65.9亿美元增长到2021年的95.7亿美元,期间年复合增长率为7.76%。未来汽车防盗系统将向多功能化、网络化、可视化和便捷化发展。



3.作品在创新性、趣味性、实用性甚至公益性方面,有哪些亮点可体现?


二、系统构架图

用流程图或思维导图等形式,描述您的作品的组成构架,即方案图。

 

三、硬件部分的描述

1.附上原理图&PCB实物图的图片或者源文件(官方建议大家尽量用源文件上传),如果是图片,请确保图片是清晰可辨的;

  

      

SIM900A模块原理图和PCB图

 

 

GPS模块原理图:

 

     

2.用文字把该作品的实现原理、系统的工作过程大致讲解一下。


通过GPS模块和北斗模块二合一双定位对车辆进行精确定位,并将采集到的车辆位置信息利用无线系统传输到手机端或者PC端。可以传输车辆的经纬度,速度,时间等数据。并可以远程控制上报时间和上报频率,还可以将数据发送给多个手机端和PC端,以实现对车辆位置、安全状态等信息的监控和智能化管理。

 


      该主机系统由STM32F103ZET6作为主控,该主控通过串口2 来和GPS模块通信,将获取的天上卫星反馈回来的GPS的信息如(时间,经纬度,速度,海拔)等信息,经过转码变成人们易懂的信息,然后将其显示在ILI9341液晶屏上。当接收到从机发送的关门信号,STM32主控会通过I/O口控制三极管的截止继而继电器就会切断电源,门就会进入关门状态。而此时如果门未真正关紧,将会触声光报警,提醒人们汽车门未关紧。当门进入关门状态,红外检测模块就会实时监测汽车内部状态,如果有不明物体闯入,红外检测模块就会检测到,并会通过GSM/GPRS模块给车主发短信,提醒车主有不明物体闯入。车主也可以通过短信查看此时汽车的定位信息以及门锁的状态。


此设计实现的功能如下,第一,该系统能够通过终端即手机发短信来查看汽车的状态,该状态包括汽车的经纬度,速度,海拔,门的开关状态。该功能能够让车主通过手机了解车的动态,这就是人们所说的远程监测。第二该系统能实时接收GPS信号,并将该信号解析成易懂的信息显示在液晶屏幕上。第三该系统能够通过手部遥控器来开关门。该功能属于额外添加的功能。是模仿现在汽车的钥匙,让车主在短距离内直接用手部遥控器开关门,这样更方便快捷。第四该系统能够对汽车进行实时监测,假如有不明物体闯入就通过短息告知车主。该功能就是让车更智能,能够自己监测,发现异常报告车主。第五该系统拥有声光报警系统。


四、材料清单(BOM列表)

列出您这个作品所用到的主要器件(关键器件即可),比如单片机&ARM芯片、专用集成芯片(ASIC)、传感器、功能模块等。

如果所列出的芯片是来自我们立创商城上的,最好能写出该器件的商品编号或附上对应购买链接。

    STM32F103C8T6、GPS模块、NRF24L01模块、SIM900A模块、24C32芯片、RT9193芯片、LM1117芯片


五、软件部分的描述(选填)

如果您的作品涉及到软件,请列出作品对应的软件工作流程图,及关键部分的例程、源码(如果您想开源的话请上传全部源码)。

      


软件程序:

收发短信部分程序:

void sim900a_sms_read_test(int position)

{

       char p[100];

       u8 *p1;

       sim900a_send_cmd("AT","OK",200);

       sim900a_send_cmd("AT+CMGF=1","OK",200);                           sim900a_send_cmd("AT+CSCS=\"GSM\"","OK",200);         sprintf((char*)p,"AT+CMGR=%d",position);

       if(sim900a_send_cmd(p,"+CMGR:",200)==0)

       {

              p1=(u8*)strstr((const char*)(USART3_RX_BUF),"\r"); 

       }

       USART3_RX_STA=0;

}

void sim900a_sms_send_test(char*phone_number,char*send_content,char mode)

{

       char p[100];

       if (mode)

       {

              sim900a_send_cmd("AT","OK",200);

              sim900a_send_cmd("AT+CMGF=1","OK",200);                   

              sim900a_send_cmd("AT+CSCS=\"UCS2\"","OK",200);

              sim900a_send_cmd("AT+CSMP=17,167,2,25","OK",200);  

              sprintf(p,"AT+CMGS=\"%s\"",phone_number);

              if(sim900a_send_cmd(p,">",200)==0)                                          {

                     u3_printf("%s",send_content);

 

                     if(sim900a_send_cmd((u8*)0X1A,"+CMGS:",1000)==0);

              }

              USART3_RX_STA=0;

       }

       else if(mode ==0)

       {

              sim900a_send_cmd("AT","OK",200);

       sim900a_send_cmd("AT+CMGF=1","OK",200);                              sim900a_send_cmd("AT+CSCS=\"GSM\"","OK",200);                sprintf(p,"AT+CMGS=\"%s\"",phone_number);

              if(sim900a_send_cmd(p,">",200)==0)                           

              {

                     u3_printf("%s",send_content);

 

                     if(sim900a_send_cmd((u8*)0X1A,"+CMGS:",1000)==0);

              }

              USART3_RX_STA=0;

       }

 

}

GPS模块程序:

int nmea_decode_test(void)

{

    char buffer[100];

    nmeaINFO info;         

    nmeaPARSER parser;     

    uint8_t new_parse=0;   

    nmeaTIME beiJingTime;   

    nmea_property()->trace_func = &trace;

    nmea_property()->error_func = &error;

 

    nmea_zero_INFO(&info);

    nmea_parser_init(&parser);

 

    while(1)

    {

      if(GPS_HalfTransferEnd)    

      {

      

        nmea_parse(&parser, (const char*)&gps_rbuff[0], HALF_GPS_RBUFF_SIZE, &info);

       

        GPS_HalfTransferEnd = 0;  

        new_parse = 1;           

      }

      else if(GPS_TransferEnd)  

      {

 

        nmea_parse(&parser, (const char*)&gps_rbuff[HALF_GPS_RBUFF_SIZE], HALF_GPS_RBUFF_SIZE, &info);

      

        GPS_TransferEnd = 0;

        new_parse =1;

      }

     

      if(new_parse )              

      {   

    

        GMTconvert(&info.utc,&beiJingTime,8,1);

        info1=info;

 

 

        sprintf(buffer,"TIME:%d-%02d-%02d,%02d:%02d", beiJingTime.year+1900, beiJingTime.mon+1,beiJingTime.day,beiJingTime.hour,beiJingTime.min);       

                            GUI_ShowString(70,70,buffer,32,RED,BACKCOLOR);

                            memset(buffer, '\0', sizeof(buffer));

                            sprintf(buffer,"LAT:%0.2f,LON:%0.2f",info.lat/100.0,info.lon/100.0);

                            GUI_ShowString(70,102,buffer,32,RED,BACKCOLOR);

                            memset(buffer, '\0', sizeof(buffer));

                            sprintf(buffer,"ALTITUDE: %0.2f m",info.elv);

                            GUI_ShowString(70,134,buffer,32,RED,BACKCOLOR);

                            memset(buffer, '\0', sizeof(buffer));

                            if(info.speed>10)

                            {sprintf(buffer,"SPEED: %0.2f km/h",info.speed);

                            GUI_ShowString(70,166,buffer,32,RED,BACKCOLOR);

                            memset(buffer, '\0', sizeof(buffer));

                            }

                            else{

                            sprintf(buffer,"SPEED: %0.2f km/h",0.0);

                            GUI_ShowString(70,166,buffer,32,RED,BACKCOLOR);

                            memset(buffer, '\0', sizeof(buffer));      

        new_parse = 0;

                            }

                             NRF_RX_Mode();

                            sms_test();

      }

       }

}


六、作品演示

请上传您的作品的功能演示到腾讯视频,并编辑到本楼(或附上视频链接)。按要求上传视频可获得5分,具体详见活动规则。

https://v.qq.com/x/page/a054045hpzy.html

七、总结

例如您在完成该作品过程中的一些体会、碰到的技术问题或调试经验、作品的未来规划,及对我们主办方的建议和意见等。

    从硬件的设计到软件的调试,需要做的工作很多,同时需要克服的的困难也不少。当遇到困难时我们学会了冷静,认真思考问题的本质,并坚持下去,只要坚持下去,问题终究会被解决。


主题

回复
发表于2017-06-29 11:57:08   |  显示全部楼层
6#

上期参赛作品不就有关于北斗定位么??


模块化之间通讯,连天线都不用调试了,总感觉离电子设计有不少距离!


主题

回复
  • 温馨提示: 标题不合格、重复发帖、发布广告贴,将会被删除帖子或禁止发言。 详情请参考: 社区发帖规则
  • 您当前输入了 0 个文字。还可以输入 8000 个文字。 已添加复制上传图片功能,该功能目前仅支持chrome和火狐

禁言/删除

X
请选择禁言时长:
是否清除头像:
禁言/删除备注:
昵 称:
 
温馨提示:昵称只能设置一次,设置后无法修改。
只支持中文、英文和数字。

举报

X
请选择举报类型:
请输入详细内容:

顶部