基于GPS/GSM技術(shù)的防丟失個(gè)人定位系統(tǒng)的設(shè)計(jì)
2 系統(tǒng)軟件設(shè)計(jì)
2.1 GPS定位數(shù)據(jù)的接收
默認(rèn)情況卜,GPS接收模塊SIRF star III每秒輸出一次定位數(shù)據(jù),通常采用$GPRMC精簡(jiǎn)數(shù)據(jù)格式,該數(shù)據(jù)包含了目標(biāo)的經(jīng)度、緯度、速度(knot)、運(yùn)動(dòng)方向角、年份、月份、時(shí)、分、秒、毫秒、定位數(shù)據(jù)是有效的還是無效的等重要信息。語句格式如下:
$GPRMC,1>、2>、3>、4>、5>、6>、7>、8>、9>、10>、ll>、12>、*hhCR>LF>
由于只需要知道位置信息,所以在實(shí)際應(yīng)用中只用讀取其中的1>至6>即可。
1>:代表UTC當(dāng)?shù)貢r(shí)間。格式為“時(shí)分秒”,時(shí)、分、秒均為兩位。
2>:代表工作狀態(tài)?!癆”表示數(shù)據(jù)可用,“V”表示接收器報(bào)警,數(shù)據(jù)不可用。
3>:代表緯度數(shù)據(jù)。格式為“度度分分.分分分分”。
4>:代表緯度半球,為“N”或“S”。
5>:代表經(jīng)度數(shù)據(jù)。格式為“度度分分.分分分分”。
6>:代表經(jīng)度半球,為“E”或“W”。
軟件在讀取經(jīng)緯度數(shù)據(jù)后,對(duì)當(dāng)前位置進(jìn)行分析,判斷當(dāng)前位置是否處于用戶設(shè)定的安全區(qū)域。判斷方法是根據(jù)用戶設(shè)置的活動(dòng)中心點(diǎn)經(jīng)緯度及被保護(hù)對(duì)象當(dāng)前經(jīng)緯度計(jì)算出是否超出預(yù)先設(shè)定的安全活動(dòng)半徑。根據(jù)判斷結(jié)果設(shè)置相應(yīng)的標(biāo)志。其流程圖如圖4所示。
2.2 GSM模塊的控制及短消息處理
單片機(jī)可以通過AT指令來控制GSM模塊TC35i,發(fā)送短信常用TEXT和PDU模式,使用TEXT模式收發(fā)短信代碼簡(jiǎn)單,實(shí)現(xiàn)起來十分容易,但缺點(diǎn)是不支持中文短信;而PDU模式不僅支持中文短信,也能發(fā)送英文短信。
兩種模式的選擇由AT+CMGF來決定,當(dāng)AT+CMGF=0時(shí)為PDU模式,當(dāng)AT+CMGF=1時(shí)為TEXT模式,當(dāng)需要發(fā)送的短信中含有漢字時(shí),首先應(yīng)把發(fā)送模式設(shè)置為PDU模式,再把漢字轉(zhuǎn)換為16位的Unicode代碼然后進(jìn)行發(fā)送,而對(duì)于數(shù)字則在其ASCII碼之前補(bǔ)8位二進(jìn)制0,湊足16位后發(fā)送。當(dāng)手機(jī)收到短信時(shí),通過程序判斷收到的短信是否有漢字,再?zèng)Q定用何種模式來讀取短信。
單片機(jī)主要通過GSM模塊傳輸兩類信息:一類是接收用戶的設(shè)置及請(qǐng)求命令,并在處理后給予回復(fù);另一類是當(dāng)單片機(jī)判斷出在被保護(hù)對(duì)象離開了安全區(qū)域而發(fā)送給用戶的提醒及位置信息。
用戶設(shè)置及請(qǐng)求信息的格式如表1所示。單片機(jī)主程序流程圖如圖5所示。
當(dāng)用戶收到定位短信時(shí),即可確定被保護(hù)對(duì)象的位置。用戶可以通過智能手機(jī)或計(jì)算機(jī)通過谷歌地圖查詢經(jīng)緯度數(shù)據(jù)對(duì)應(yīng)的地理位置。
3 結(jié)束語
經(jīng)測(cè)試,本系統(tǒng)可實(shí)現(xiàn)10m精度以內(nèi)的定位,并能根據(jù)用戶的設(shè)置向用戶提供定位服務(wù)。系統(tǒng)操作方便,適合保護(hù)智障老人和小孩的安全,有較好的實(shí)用價(jià)值。
評(píng)論