隨著人們生活水平的提高,無線通信技術和全球衛星定位(GPS)技術逐步開始應用到日常生活的各個領域。不論是對汽車的防盜監控還是搜索和保護丟失的小孩或智障老人,無線通信(GSM)和DGPS技術都發揮著重要的作用。基于GSM網絡的無線通信方式覆蓋范圍大、數據保密性好、使用方便、成本低。結合GPS系統,GSM系統可以將車輛及人員的位置信息通過無線通信鏈路傳送到用戶手機,實現對車輛和人員的監控。 本設計利用GPS系統獲取丟失的小孩或智障老人的位置,通過GSM網絡將位置數據發送給用戶,由于短消息業務是按發送的短信條數收費,只要短消息每次限制在140個字節即可,這個數據長度足夠傳送GPS定位信息。可以以廉價的方式實現對小孩和老人的保護。本系統采用廣泛使用且便宜的AT89C52單片機、SIRF第三代GPS接收模塊和GSM模塊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,、、、、、、、、、、、、*hh 由于只需要知道位置信息,所以在實際應用中只用讀取其中的至即可。 :代表UTC當地時間。格式為“時分秒”,時、分、秒均為兩位。 :代表工作狀態!癆”表示數據可用,“V”表示接收器報警,數據不可用。 :代表緯度數據。格式為“度度分分.分分分分”。 :代表緯度半球,為“N”或“S”。 :代表經度數據。格式為“度度分分.分分分分”。 :代表經度半球,為“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精度以內的定位,并能根據用戶的設置向用戶提供定位服務。系統操作方便,適合保護智障老人和小孩的安全,有較好的實用價值。 |