高旭旭 陳富強
基于GPRS+GPS的遠程定位系統的設計與實現
高旭旭 陳富強
本文設計了一個基于GPS+GPRS的遠程目標定位監控系統;定位終端使用單片機作為核心處理器,將GPS接收模塊得到的地理位置信息通過GPRS無線通信網絡傳輸到服務器端,并在服務器端進行處理以達到遠程定位的功能。仿真和實際測試結果表明,該系統方案可行,能夠準確實現對目標的遠程定位。
當今時代,高精度的定位系統迅速發展,其中發展比較成熟的定位系統有美國的全球定位系統(GPS)、歐洲的伽利略以及中國正在建設的北斗。這些定位系統被廣泛應用于各行各業。其中美國的全球定位系統(GPS)有著較高精確度。這里我們介紹一種基于GPS+GPRS的定位系統,該系統能夠在實現定位的同時,還能通過GPRS將地理位置信息發送到終端,從而用戶就能夠隨時獲得系統所處的地理位置,該系統已成功應用于地理位置的實時監控,并且能正常運行。
整體結構
該定位系統主要由終端定位系統,服務器、GPRS網絡以及空中的衛星組成,系統原理圖如圖1所示。終端定位系統包括SIM300的GPRS數據傳輸模塊、LEA-5H定位模塊以及STC12C5A60S2中央處理器模塊。簡單工作流程如下:當SIM300接收到來自用戶的短信時,會給處理器反饋代表接受到新消息的信息,處理器會提取短信內容。若為查詢地理位置的信息的指令時,處理器會從GPS獲取地理位置信息,并將該信息以短信或GPRS網絡的方式發送到用戶,從而實現遠程定位的功能。

圖1 黑匣子遠程系統的示意圖
遠端服務器主要功能是通過GPRS網絡和定位終端的SIM300建立連接,從而實現數據交換的功能,當接收到來自定位終端的信息時,服務器會對其進行存儲和處理,通過相關經緯度確定相應的地理位置。
定位終端
終端定位系統總體結構如圖2所示。所示,其中主要包括中央處理器模塊,GPS定位模塊、GPRS數據傳輸模塊以及電源模塊。

圖2 定位單元系統框圖
微處理器
本系統的中央處理器采用的是STC12C5A60S2,該系列單片機具有抗干擾能力強、高速可靠、低功耗的特點。掉電模式下,可以外部中斷超低功耗喚醒,當單片機進入休眠模式時,工作電流很小,功耗很低。該單片機還具有兩個串口,可以分別和GPS模塊、GPRS模塊進行通信,進而協調整個系統的工作,處理來自SIM300的信息,以及從GPS獲取位置信息,串口連接示意圖如圖3所示。

圖3 外部串行接口連接圖
GPS模塊
定位模塊采用的是LEA-5H模塊,該模塊可同時支持GPS和伽利略兩種定位系統,屬于第五代GPS定位模塊,通道數增加到50個,和單片機之間通過串口進行連接,GPS模塊接口電路如圖4所示。

圖4 GPS模塊接口電路連接圖
GPRS模塊
SIM300是一款三頻段GSM/GPRS模塊,可在全球范圍內的GSM 900MHz、DCS 1800MHz、PCS 1900MHz三種頻率下工作,能夠提供GPRS的信道類型多達10個,并且支持CS-1、CS-2、CS-3和CS-4四種GPRS編碼方案。在啟動方式上,設計了自啟動和手動啟動兩種方式,可以通過跳線帽來進行切換。
SIM300可以直接通過串口與單片機進行通信,其內部集成了TCP/IP協議棧,以及擴展了相應的AT指令集,極大方便了用戶的使用。這里使用的 GPRS數據傳輸功能,下行數據傳輸速率85.6kbps,上行數據傳輸速率42.8kbps,對于傳輸較為簡單的地理位置信息,已經能夠滿足
要求。該模塊的外圍電路圖如圖5所示。

圖5 SIM300的外圍電路圖
微處理器的軟件設計
系統上電時,處理器會初始化GSM模塊和GPS模塊,通過檢測模塊反饋回來的信息來判斷是否初始化成功。初始化完成后,單片機進入低功耗模式,并通過看門狗定時器設置一個定時時間,定時時間一到,處理器會被從低功耗的模式下喚醒,檢測此時是否有控制指令到達,若沒有就繼續進入休眠狀態,并自動重裝定時器的裝載值,若有就進行相應處理分析,一直重復進行。單片機流程圖如圖6所示。

圖6 單片機流程圖
GPS模塊的軟件設計
GPS上電后,會定時返回數據,數據格式為:$信息類型,x,x,x,x,x,x,x,x,x,x,x,x,x每行開頭的字符都是‘$’,然后是信息類型,后面是數據,以逗號分隔。信息類型可分為六種,GPGSV:可見衛星信息GPGLL:地理定位信息GPRMC:推薦最小定位信息GPVTG:地面速度信息GPGGA:GPS定位信息GPGSA:當前衛星信息。
這里選用的是“$GPRMC”格式,完整的數據格式如下所示:$GPRMC,080655.00,A,4546.40891,N,12639.65641,E,1.045,328.42,170809…A*60,第一部分表示UTC時間,是格林尼治時間,格式是時分秒,需把它轉換為北京時間;第二部分表示定位狀態,A為有效定位,V為無效定位;然后是經緯度,N表示北緯, E表示東經,需要按相應的格式將具體的度分秒提取出來;接著是地面速率(000.0~999.9節)和地面航向(000.0~359.9),其中速率單位是海里/時,航向是偏離正北的角度;緊接著是UTC日期,格式為日月年,可直接提取。
GPS模塊通過串口和單片機連接,并按照GPRMC信息類型進行數據傳輸。
GPRS模塊的軟件設計
這里主要利用SIM300的GPRS功能來進行數據傳輸。單片機通過串口發送AT指令來對GPRS進行初始化配置,同時SIM300會反饋相應的應答信息,通過判斷這些信息來做出相應的處理。并通過TCP連接方式連上目的IP,進而和服務器進行連接,實現了定位終端與服務器通過GPRS網絡進行數據交換的功能。這里涉及的AT指令如表1所示。

表1 GPRS數據傳輸的AT指令
GPRS模塊數據發送流程圖(如圖8所示)。

圖8 GPRS模塊數據發送流程圖
服務器端軟件設計
由于GPRS只能連接到公網,因此需要一個公網IP地址,這里我們通過在花生殼注冊賬戶來獲取一個免費的公網IP,然后設置路由器,將申請的域名和路由器的動態DNS進行綁定,從而就能通過域名找到路由器的IP地址,然后再通過設置路由器虛擬服務器的轉發功能,將接收到的數據發送到指定的上位機。該系統中使用TCP/IP協議,在客戶機/服務器模型下采用Socket技術實現網絡通信。將上位機作為服務器端,定位終端作為客戶端,這就形成了典型的C/S結構,即Client/Server結構,最終信息傳輸到上位機進行處理。監控中心的軟件設計流程圖如圖9所示。

圖9 監控中心端的軟件設計流程圖
本系統基于GPRS+GPS并采用了相關的計算機技術,設計了能夠獲取準確位置信息的定位系統。該系統通過GPRS無線網絡實現無線數據傳輸,從而實現遠程定位的功能,具有良好的應用前景和實用價值。


高旭旭 陳富強
北方工業大學電子信息工程學院
高旭旭,女,在讀本科生。
10.3969/j.issn.1001-8972.2015.16.022
北京市大學生科學研究與創業行動計劃項目(編號:15006)