基于GPS/GSM技術的防丟失個人定位系統的設計
2 系統軟件設計
2.1 GPS定位數據的接收
默認情況卜,GPS接收模塊SIRF star III每秒輸出一次定位數據,通常采用$GPRMC精簡數據格式,該數據包含了目標的經度、緯度、速度(knot)、運動方向角、年份、月份、時、分、秒、毫秒、定位數據是有效的還是無效的等重要信息。語句格式如下:
$GPRMC,1>、2>、3>、4>、5>、6>、7>、8>、9>、10>、ll>、12>、*hhCR>LF>
由于只需要知道位置信息,所以在實際應用中只用讀取其中的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精度以內的定位,并能根據用戶的設置向用戶提供定位服務。系統操作方便,適合保護智障老人和小孩的安全,有較好的實用價值。
評論