摘要:采用GPS" title="GPS">GPS/GSM" title="GSM">GSM技术开发防丢失个人定位系统" title="个人定位系统">个人定位系统。该系统用于搜索和保护丢失的小孩或智障老人。系统利用GPS定位技术获得被保护人员的位置,判断其是否脱离安全区域,并可通过GSM网络,将其位置信息发送给用户。用户可以通过GSM网络对系统的工作状态进行设置。系统内部的控制是通过单片机完成的,其接收GPS数据和来自用户的命令,在分析后给出相应的处理。系统的定位精度在10米以内,能够及时将被保护人员的位置通知用户。
0 引言
随着人们生活水平的提高,无线通信技术和全球卫星定位(GPS)技术逐步开始应用到日常生活的各个领域。不论是对汽车的防盗监控还是搜索和保护丢失的小孩或智障老人,无线通信(GSM)和DGPS技术都发挥着重要的作用。基于GSM网络的无线通信方式覆盖范围大、数据保密性好、使用方便、成本低。结合 GPS系统,GSM系统可以将车辆及人员的位置信息通过无线通信链路传送到用户手机,实现对车辆和人员的监控。
本设计利用GPS系统获取丢失的小孩或智障老人的位置,通过GSM网络将位置数据发送给用户,由于短消息业务是按发送的短信条数收费,只要短消息每次限制在140个字节即可,这个数据长度足够传送GPS定位信息。可以以廉价的方式实现对小孩和老人的保护。本系统采用广泛使用且便宜的AT89C52单片机、 SIRF第三代GPS接收模块和GSM模块TC35i" title="TC35i">TC35i设计。
1 个人定位系统硬件设计
个人定位系统主要由四部分组成,即GSM模块、GPS接收机模块、单片机控制电路和电源电路。GPS模块负责接收定位数据;GSM模块在单片机的控制下收发短信;单片机控制电路对GPS定位数据进行分析,并根据用户的设置做出相应的处理。电源电路由7805和LM294lCS分别产生为+5V和+4.2v 直流电压。+5V直流电压作为单片机、GPS模块的工作电源,+4.2V直流电压提供给GSM模块使用。系统的结构框图如图1所示。
1.1 单片机控制电路
系统选用广泛应用的AT89C52单片机作为MCU。其内部有8k字节的Flash程序存储器和1256字节的RAM。该单片机内部仅有一个通用异步串口。为了能够同时与GPS以及GSM模块通信,单片机需要两个串口。所以本系统利用串口扩展芯片GM8123实现对GPS数据和GSM数据的同时收发。单片机与GM8123模块的接口电路如图2所示。
串口扩展芯片GM8123工作在多通道工作模式下时,模式控制引脚MS=0。多通道模式允许3个子串口同时全双工地工作。在此工作模式下,芯片的地址线 STADDl~O是输入口,由MCU控制选择希望发送数据的子串口,地址线SRADDl~0是输出口,用于向MCU返回接收到数据的子串口地址。通过对该芯片的控制,单片机可以同时与GPS模块和GSM模块全双工通信。
1.2 GSM模块
GSM模块负责在被保护对象和监控用户之间传递信息。本系统采用德国西门子工业的GSM模块TC35i。TC35i模块是一个的工业级GSM模块,工作在 GSM900和GSMl800双频段,支持中文短信息。TC35i的数据接口(CMOS电平)通过AT命令可双向传输指令和数据,它支持Text和PDU 格式的SMS(短消息)。GSM模块接口电路如图3所示。
1.3 GPS模块
本系统采用的GPS模块为SIRF第三代高灵敏度引线式GPS接收模块SIRF starⅢ。该芯片定位精度在10m以内,最多可以同时追踪20个卫星信道。其内部有可充电电池,可以保存星历数据,便于快速定位。串口数据格式为TTL 电平数据输出,通讯速率为4800通讯波特率,每秒输出一次GPS全数据。该模块GPS天线采用MMCX接口,数据线接口为6线接插件,排线输出,使用简单,一般情况下只需用到三根输出线,第一脚接3.5~5.5V的直流正电源,第五脚是电源地,第二脚是GPS的输出线,它是TTL电平的串口信号,高电平大于2.4V,低电平小于0.4V,输出驱动能力为2mA,可以直接和单片机接口。如果只使用默认设置,单片机只从该模块读取数据即可。
2 系统软件设计
2.1 GPS定位数据的接收
默认情况卜,GPS接收模块SIRF star III每秒输出一次定位数据,通常采用$GPRMC精简数据格式,该数据包含了目标的经度、纬度、速度(knot)、运动方向角、年份、月份、时、分、秒、毫秒、定位数据是有效的还是无效的等重要信息。语句格式如下:
$GPRMC,<1>、<2>、<3>、<4>、<5>、<6>、<7>、<8>、<9>、<10>、
由于只需要知道位置信息,所以在实际应用中只用读取其中的<1>至<6>即可。
<1>:代表UTC当地时间。格式为“时分秒”,时、分、秒均为两位。
<2>:代表工作状态。“A”表示数据可用,“V”表示接收器报警,数据不可用。
<3>:代表纬度数据。格式为“度度分分.分分分分”。
<4>:代表纬度半球,为“N”或“S”。
<5>:代表经度数据。格式为“度度分分.分分分分”。
<6>:代表经度半球,为“E”或“W”。
软件在读取经纬度数据后,对当前位置进行分析,判断当前位置是否处于用户设定的安全区域。判断方法是根据用户设置的活动中心点经纬度及被保护对象当前经纬度计算出是否超出预先设定的安全活动半径。根据判断结果设置相应的标志。其流程图如图4所示。
2.2 GSM模块的控制及短消息处理
单片机可以通过AT指令来控制GSM模块TC35i,发送短信常用TEXT和PDU模式,使用TEXT模式收发短信代码简单,实现起来十分容易,但缺点是不支持中文短信;而PDU模式不仅支持中文短信,也能发送英文短信。
两种模式的选择由AT+CMGF来决定,当AT+CMGF=0时为PDU模式,当AT+CMGF=1时为TEXT模式,当需要发送的短信中含有汉字时,首先应把发送模式设置为PDU模式,再把汉字转换为16位的Unicode代码然后进行发送,而对于数字则在其ASCII码之前补8位二进制0,凑足16位后发送。当手机收到短信时,通过程序判断收到的短信是否有汉字,再决定用何种模式来读取短信。
单片机主要通过GSM模块传输两类信息:一类是接收用户的设置及请求命令,并在处理后给予回复;另一类是当单片机判断出在被保护对象离开了安全区域而发送给用户的提醒及位置信息。
用户设置及请求信息的格式如表1所示。单片机主程序流程图如图5所示。
3 结束语
经测试,本系统可实现10m精度以内的定位,并能根据用户的设置向用户提供定位服务。系统操作方便,适合保护智障老人和小孩的安全,有较好的实用价值。