高旭旭 陳富強
基于GPRS+GPS的遠(yuǎn)程定位系統(tǒng)的設(shè)計與實現(xiàn)
高旭旭 陳富強
本文設(shè)計了一個基于GPS+GPRS的遠(yuǎn)程目標(biāo)定位監(jiān)控系統(tǒng);定位終端使用單片機作為核心處理器,將GPS接收模塊得到的地理位置信息通過GPRS無線通信網(wǎng)絡(luò)傳輸?shù)椒?wù)器端,并在服務(wù)器端進行處理以達(dá)到遠(yuǎn)程定位的功能。仿真和實際測試結(jié)果表明,該系統(tǒng)方案可行,能夠準(zhǔn)確實現(xiàn)對目標(biāo)的遠(yuǎn)程定位。
當(dāng)今時代,高精度的定位系統(tǒng)迅速發(fā)展,其中發(fā)展比較成熟的定位系統(tǒng)有美國的全球定位系統(tǒng)(GPS)、歐洲的伽利略以及中國正在建設(shè)的北斗。這些定位系統(tǒng)被廣泛應(yīng)用于各行各業(yè)。其中美國的全球定位系統(tǒng)(GPS)有著較高精確度。這里我們介紹一種基于GPS+GPRS的定位系統(tǒng),該系統(tǒng)能夠在實現(xiàn)定位的同時,還能通過GPRS將地理位置信息發(fā)送到終端,從而用戶就能夠隨時獲得系統(tǒng)所處的地理位置,該系統(tǒng)已成功應(yīng)用于地理位置的實時監(jiān)控,并且能正常運行。
整體結(jié)構(gòu)
該定位系統(tǒng)主要由終端定位系統(tǒng),服務(wù)器、GPRS網(wǎng)絡(luò)以及空中的衛(wèi)星組成,系統(tǒng)原理圖如圖1所示。終端定位系統(tǒng)包括SIM300的GPRS數(shù)據(jù)傳輸模塊、LEA-5H定位模塊以及STC12C5A60S2中央處理器模塊。簡單工作流程如下:當(dāng)SIM300接收到來自用戶的短信時,會給處理器反饋代表接受到新消息的信息,處理器會提取短信內(nèi)容。若為查詢地理位置的信息的指令時,處理器會從GPS獲取地理位置信息,并將該信息以短信或GPRS網(wǎng)絡(luò)的方式發(fā)送到用戶,從而實現(xiàn)遠(yuǎn)程定位的功能。
圖1 黑匣子遠(yuǎn)程系統(tǒng)的示意圖
遠(yuǎn)端服務(wù)器主要功能是通過GPRS網(wǎng)絡(luò)和定位終端的SIM300建立連接,從而實現(xiàn)數(shù)據(jù)交換的功能,當(dāng)接收到來自定位終端的信息時,服務(wù)器會對其進行存儲和處理,通過相關(guān)經(jīng)緯度確定相應(yīng)的地理位置。
定位終端
終端定位系統(tǒng)總體結(jié)構(gòu)如圖2所示。所示,其中主要包括中央處理器模塊,GPS定位模塊、GPRS數(shù)據(jù)傳輸模塊以及電源模塊。
圖2 定位單元系統(tǒng)框圖
微處理器
本系統(tǒng)的中央處理器采用的是STC12C5A60S2,該系列單片機具有抗干擾能力強、高速可靠、低功耗的特點。掉電模式下,可以外部中斷超低功耗喚醒,當(dāng)單片機進入休眠模式時,工作電流很小,功耗很低。該單片機還具有兩個串口,可以分別和GPS模塊、GPRS模塊進行通信,進而協(xié)調(diào)整個系統(tǒng)的工作,處理來自SIM300的信息,以及從GPS獲取位置信息,串口連接示意圖如圖3所示。
圖3 外部串行接口連接圖
GPS模塊
定位模塊采用的是LEA-5H模塊,該模塊可同時支持GPS和伽利略兩種定位系統(tǒng),屬于第五代GPS定位模塊,通道數(shù)增加到50個,和單片機之間通過串口進行連接,GPS模塊接口電路如圖4所示。
圖4 GPS模塊接口電路連接圖
GPRS模塊
SIM300是一款三頻段GSM/GPRS模塊,可在全球范圍內(nèi)的GSM 900MHz、DCS 1800MHz、PCS 1900MHz三種頻率下工作,能夠提供GPRS的信道類型多達(dá)10個,并且支持CS-1、CS-2、CS-3和CS-4四種GPRS編碼方案。在啟動方式上,設(shè)計了自啟動和手動啟動兩種方式,可以通過跳線帽來進行切換。
SIM300可以直接通過串口與單片機進行通信,其內(nèi)部集成了TCP/IP協(xié)議棧,以及擴展了相應(yīng)的AT指令集,極大方便了用戶的使用。這里使用的 GPRS數(shù)據(jù)傳輸功能,下行數(shù)據(jù)傳輸速率85.6kbps,上行數(shù)據(jù)傳輸速率42.8kbps,對于傳輸較為簡單的地理位置信息,已經(jīng)能夠滿足
要求。該模塊的外圍電路圖如圖5所示。
圖5 SIM300的外圍電路圖
微處理器的軟件設(shè)計
系統(tǒng)上電時,處理器會初始化GSM模塊和GPS模塊,通過檢測模塊反饋回來的信息來判斷是否初始化成功。初始化完成后,單片機進入低功耗模式,并通過看門狗定時器設(shè)置一個定時時間,定時時間一到,處理器會被從低功耗的模式下喚醒,檢測此時是否有控制指令到達(dá),若沒有就繼續(xù)進入休眠狀態(tài),并自動重裝定時器的裝載值,若有就進行相應(yīng)處理分析,一直重復(fù)進行。單片機流程圖如圖6所示。
圖6 單片機流程圖
GPS模塊的軟件設(shè)計
GPS上電后,會定時返回數(shù)據(jù),數(shù)據(jù)格式為:$信息類型,x,x,x,x,x,x,x,x,x,x,x,x,x每行開頭的字符都是‘$’,然后是信息類型,后面是數(shù)據(jù),以逗號分隔。信息類型可分為六種,GPGSV:可見衛(wèi)星信息GPGLL:地理定位信息GPRMC:推薦最小定位信息GPVTG:地面速度信息GPGGA:GPS定位信息GPGSA:當(dāng)前衛(wèi)星信息。
這里選用的是“$GPRMC”格式,完整的數(shù)據(jù)格式如下所示:$GPRMC,080655.00,A,4546.40891,N,12639.65641,E,1.045,328.42,170809…A*60,第一部分表示UTC時間,是格林尼治時間,格式是時分秒,需把它轉(zhuǎn)換為北京時間;第二部分表示定位狀態(tài),A為有效定位,V為無效定位;然后是經(jīng)緯度,N表示北緯, E表示東經(jīng),需要按相應(yīng)的格式將具體的度分秒提取出來;接著是地面速率(000.0~999.9節(jié))和地面航向(000.0~359.9),其中速率單位是海里/時,航向是偏離正北的角度;緊接著是UTC日期,格式為日月年,可直接提取。
GPS模塊通過串口和單片機連接,并按照GPRMC信息類型進行數(shù)據(jù)傳輸。
GPRS模塊的軟件設(shè)計
這里主要利用SIM300的GPRS功能來進行數(shù)據(jù)傳輸。單片機通過串口發(fā)送AT指令來對GPRS進行初始化配置,同時SIM300會反饋相應(yīng)的應(yīng)答信息,通過判斷這些信息來做出相應(yīng)的處理。并通過TCP連接方式連上目的IP,進而和服務(wù)器進行連接,實現(xiàn)了定位終端與服務(wù)器通過GPRS網(wǎng)絡(luò)進行數(shù)據(jù)交換的功能。這里涉及的AT指令如表1所示。
表1 GPRS數(shù)據(jù)傳輸?shù)腁T指令
GPRS模塊數(shù)據(jù)發(fā)送流程圖(如圖8所示)。
圖8 GPRS模塊數(shù)據(jù)發(fā)送流程圖
服務(wù)器端軟件設(shè)計
由于GPRS只能連接到公網(wǎng),因此需要一個公網(wǎng)IP地址,這里我們通過在花生殼注冊賬戶來獲取一個免費的公網(wǎng)IP,然后設(shè)置路由器,將申請的域名和路由器的動態(tài)DNS進行綁定,從而就能通過域名找到路由器的IP地址,然后再通過設(shè)置路由器虛擬服務(wù)器的轉(zhuǎn)發(fā)功能,將接收到的數(shù)據(jù)發(fā)送到指定的上位機。該系統(tǒng)中使用TCP/IP協(xié)議,在客戶機/服務(wù)器模型下采用Socket技術(shù)實現(xiàn)網(wǎng)絡(luò)通信。將上位機作為服務(wù)器端,定位終端作為客戶端,這就形成了典型的C/S結(jié)構(gòu),即Client/Server結(jié)構(gòu),最終信息傳輸?shù)缴衔粰C進行處理。監(jiān)控中心的軟件設(shè)計流程圖如圖9所示。
圖9 監(jiān)控中心端的軟件設(shè)計流程圖
本系統(tǒng)基于GPRS+GPS并采用了相關(guān)的計算機技術(shù),設(shè)計了能夠獲取準(zhǔn)確位置信息的定位系統(tǒng)。該系統(tǒng)通過GPRS無線網(wǎng)絡(luò)實現(xiàn)無線數(shù)據(jù)傳輸,從而實現(xiàn)遠(yuǎn)程定位的功能,具有良好的應(yīng)用前景和實用價值。
高旭旭 陳富強
北方工業(yè)大學(xué)電子信息工程學(xué)院
高旭旭,女,在讀本科生。
10.3969/j.issn.1001-8972.2015.16.022
北京市大學(xué)生科學(xué)研究與創(chuàng)業(yè)行動計劃項目(編號:15006)