摘 要:运用GSM和GPS技术,开发了基于STC12C5A08S2单片机控制器的物品安全报警系统。通过上位机设置物品放置的原始位置,当物品被移动的距离超过10 m时,将向设定的手机号码发送短信(短信内容可由物主自由设置)并报警,同时定时向该手机发送该物品的位置信息。物主也可随时发送特定命令的短信给系统,系统就会返回物品的位置信息。物主通过发送带密码的短信到系统的SIM卡号,表明是自己移动的物品,从而减少错误报警,节约短信费用。
关键词:GPS;GSM通信;安全报警系统
贵重物品安全问题一直是困扰人们的一个难题。人们外出时总是担心家里重要物品是否丢失,尽管远程视频监控技术日益成熟,但是针对控制器的要求很高、视频传输速度慢、成本高等问题还是让人望而却步。基于远程视频监控技术,只能知道物品丢失了,但物品究竟去了何方?又该如何寻找?本文运用GPS和GSM技术完成了基于STC12C5A08S2单片机控制器的物品安全报警系统的开发。该系统可在贵重物品移动超出一定范围时发出警告,并能监控贵重物品的行踪,为贵重物品的安全监控提供了一种便捷可靠的解决方案。
1 系统目标
初次记录物品(汽车、保险箱等)所在地点的地理位置,包括经度、纬度和海拔高度。物品的坐标由GPS模块提供,以此经度、纬度和海拔高度作为物品的基坐标,并将此坐标通过上位机软件存储,当物品的位置发生移动时,控制器将计算移动的距离,距离超过某一设定值(例如10 m)时,通过GSM模块向物主发送短信,并且每隔一定的时间向物主手机发送物品当前位置的坐标,为追回物品提供引导,物主也可通过发送特定的信息,排除其移动物品所引发的报警。
2 系统设计
该监控系统的设计包括硬件和软件两部分。硬件部分由电源、GPS模块、STC12C5A08S2单片机、TC35模块构成。图1给出了系统硬件部分的结构框图,GPS负责接收物品位置信息,单片机负责将GPS信息解码与计算,进而控制整个系统,TC35负责将各种信息发送到目标手机。
51单片机作为核心来控制GPS和GSM模块。GPS接收到的经度、纬度等地理信息通过串口传输到51单片机,物品最初的地理信息经GPS接收、上位机软件设置作为参照信息存储到单片机的Flash中,同时上位机将目标手机号码、要发送的短信内容发送给单片机进行存储,单片机将每次接收到的地理信息解码,与参照地理信息对比算出距离,两者相差10 m时,则单片机通过另外一个串口向GSM模块发送AT指令,向目标手机发送信息,通知安保人员物品位置被移动,并且将当前物品的准确位置信息发送给安保人员;安保人员也可以通过发送特定的字符命令,随时获得物品所在地的地理信息。STC12C5A08S2作为本系统的控制器,具有两个串口分别与GPS、GSM通信,芯片AMS1117将5 V直流电压转换为3.3 V为GPS模块供电。芯片LM2941S将5 V直流电压转换为4.2 V为GSM和单片机模块供电。
3 GPS通信的实现
GPS模块在系统中用来接收物品的地理信息,将这些信息传送给单片机控制器,方便单片机做计算处理[1]。采用台湾鼎新科技的royaltek LE3571作为GPS模块,该模块以SIRF3为主芯片。
模块的引脚4和引脚5是标准的TTL接口,可以直接连接到单片机的UART,将GPS信息输出到单片机。单片机对这些信息进行运算处理,再通过GSM系统将相关信息发送到指定的手机。模块输出信息数据每行开头都是以字符‘$’作为起始标记,接着是信息类型,最后是数据,之间以逗号分隔开。一行完整的数据为:$GPRMC,080655.00,A,4546.40891,N,12639.65641,E,1.045,328.42,
170809…A*60。这一串字符中4546.40891是经度,12639.65641是纬度。物品被移动的距离计算原理是:设第一点A的经纬度为(LonA,LatA),第二点B的经纬度为(LonB,LatB),按照0°经线的基准,东经度取正值(Longitude),西经取经度负值(-Longitude),北纬取90-纬度值(90-Latitude),南纬取90+纬度值(90+Latitude),经过上述处理后两点的经纬度被记为(MLonA,MLatA)和(MLonB,MLatB)。根据三角公式,可计算得到A、B两点的距离:
C=sin(MLatA)×sin(MLatB)×cos(MLonA-MLonB)+
cos(MLatA)×cos(MLatB)
距离=R×arccos(C)×Pi/180(1)
GPS将地理信息通过UART传送给单片机,单片机根据式(1)计算得到A、B两点的距离,并将计算结果通过单片机的UART口传送给GSM模块,最后将物品移动距离的信息发送给目标手机。
4 GSM在系统中的应用
GSM模块TC35在系统中接收单片机发送的相关命令,将需要发送的短信内容发送到指定的手机[3]。TC35可工作在双频(900/1800),电源范围为直流3.3~4.8 V,电流消耗在休眠状态时为3.5 mA,空闲状态时为25 mA,发射状态时为300 mA(平均),峰值2.5 A;可传输语音和数据信号, 功耗在EGSM900(4类)和GSM1800(1类)分别为2 W和1 W,通过接口连接器和天线连接器分别连接SIM卡读卡器和天线。SIM卡电压为3 V/1.8 V,带有TTL电平输入输出,可选波特率为300 b/s~115 kb/s,自动波特率为1.2 kb/s~115 kb/s。它支持Text和PDU格式的短消息SMS(Short Message Service),可通过AT命令或关断信号实现重启和故障恢复。可直接连接到单片机串口,通过串口向TC35发送命令就可以实现打电话和发短信的功能。TC35通常的外围电路设计如图2所示,管脚1~5是电源引脚,接4.2 V电压;6~10脚接地;15脚是启动引脚,此引脚保持50 ms低电平触发,就可启动TC35;18脚和19脚是UART,用来与STC12C5A08S2单片机通信,实现短信的发送;24~29脚用来连接SIM卡;32脚是GSM信号指示灯,当GSM搜索网络成功,32脚输出高电平,点亮LED。单片机通过AT指令与TC35通信。
5 软件设计
软件流程框图如图3所示。本系统的软件设计包含上位机软件设计和STC12C5A08S2单片机的软件设计,上位机软件要处理的任务是将初次的定位信息、目标手机号码、要发送的短信内容发送给单片机,让单片机将这些信息存储起来,软件上面能显示初次的地理信息。当上位机软件设置好后,系统即可与PC断开,单独执行任务,上位机软件只是在最初的阶段起作用。单片机软件要实现与PC、GPS、TC35的通信,与PC之间的通信只有一次,就是最开始设置目标手机号码、短信内容、传输基座标。与GPS通信比较简单,因为GPS会每隔1 s自动地向单片机发送地理信息,单片机只需要做好接收工作、计算工作。与TC35之间的通信关键是如何使用AT命令来控制TC35。根据GSM的定义,短信息的发送和接收模式共有3种:Block模式、基于AT命令的Text模式和基于AT命令的PDU模式。使用Block模式需要模块生产厂家提供驱动支持, 而用于中英文短信息传送应使用PDU模式, 只传送英文短信息使用Text模式。Text模式的短信息发送和接收比较简单, 如不需要传送中文则最好采用Text模式发送和接收短信息。采用Text模式发送接收短信息的步骤分为初始化GSM模块、发送文本短信息和接收短信息。而对于发送和接收中文或中英文混合的短信息必须采用PDU模式,根据GSM的定义,只要软件上按照PDU格式解读或编写相应的数据格式即可接收或发送短消息。PDU格式的收发最多为70个汉字字符,中文字符按照UNICODE进行编码。
GSM和GPS的快速发展和日趋成熟,为本监控报警系统的开发提供了有力的技术支持。该系统体积为90 mm×60 mm×20 mm,价格便宜,使用方便。测试结果表明,监控距离为100 m时,在GSM信号正常的情况下,响应时间不足1 min,误报率<1%,能够实现物品安全的实时监控,人们将不再担心外出时重要物品遗失,具有很好的市场前景。
参考文献
[1] 郭良金.GPS卫星定位及若干问题的分析[J].中国西部科技,2010,9(22):10,92.
[2] 孙德辉,卫革,杨扬.基于ARM的GPRS远程数据传输系统的设计[J].自动化技术与应用,2010,29(7):26-28.
[3] 何光禹,李太全.基于TC35 i GSM模块的SMS设计和应用[J].现代电子技术,2010,33(16):157-159,163.