- 易迪拓培训,专注于微波、射频、天线设计工程师的培养
基于GPS/GSM技术的防丢失个人定位系统的设计
2 系统软件设计
2.1 GPS定位数据的接收
默认情况卜,GPS接收模块SIRF star III每秒输出一次定位数据,通常采用$GPRMC精简数据格式,该数据包含了目标的经度、纬度、速度(knot)、运动方向角、年份、月份、时、分、秒、毫秒、定位数据是有效的还是无效的等重要信息。语句格式如下:
$GPRMC,<1>、<2>、<3>、<4>、<5>、<6>、<7>、<8>、<9>、<10>、、<12>、*hh
由于只需要知道位置信息,所以在实际应用中只用读取其中的<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精度以内的定位,并能根据用户的设置向用户提供定位服务。系统操作方便,适合保护智障老人和小孩的安全,有较好的实用价值。
来源:维库开发网