基于gps,gprs遠程監(jiān)控系統(tǒng)的實現(xiàn)

基于gps,gprs遠程監(jiān)控系統(tǒng)的實現(xiàn)

ID:3703587

大?。?.04 MB

頁數(shù):18頁

時間:2017-11-23

基于gps,gprs遠程監(jiān)控系統(tǒng)的實現(xiàn)_第1頁
基于gps,gprs遠程監(jiān)控系統(tǒng)的實現(xiàn)_第2頁
基于gps,gprs遠程監(jiān)控系統(tǒng)的實現(xiàn)_第3頁
基于gps,gprs遠程監(jiān)控系統(tǒng)的實現(xiàn)_第4頁
基于gps,gprs遠程監(jiān)控系統(tǒng)的實現(xiàn)_第5頁
資源描述:

《基于gps,gprs遠程監(jiān)控系統(tǒng)的實現(xiàn)》由會員上傳分享,免費在線閱讀,更多相關內(nèi)容在行業(yè)資料-天天文庫。

1、基于GPS,GPRS遠程監(jiān)控系統(tǒng)的實現(xiàn)????下面簡單畫畫整個系統(tǒng)的框圖:?從框圖中可以清楚的看到整個系統(tǒng)的工作流程是非常簡單的,被監(jiān)測端采用的是Cortex-M3內(nèi)核的stm32微控制器,GPS負責接收衛(wèi)星信號,然后根據(jù)計算得到地標信息通過串口傳送給stm32,stm32接收GPS數(shù)據(jù)進行相應的打包處理再通過串口發(fā)送給GPRS模塊,GPRS模塊通過基站傳送到Internet網(wǎng)絡中向指定IP的端口PC發(fā)送數(shù)據(jù)包,服務器端上位機通過監(jiān)控該端口來捕獲數(shù)據(jù),然后上位機通過串口再次將GPS數(shù)據(jù)發(fā)送到Google地球或者其它導航

2、軟件中實現(xiàn)對接,以便實時監(jiān)測觀察。在朋友的提示和幫助下,事實上本系統(tǒng)還加入了基站輔助定位功能,由于GPS衛(wèi)星信號的接收必須在室外,所以當被監(jiān)控端處于室內(nèi)或者在接收不到衛(wèi)星信號的惡劣情況下,系統(tǒng)仍然能夠通過基站信息定位到大致的區(qū)域。?????GPS使用的是微科電子(香港)公司的VK1513模塊,選擇它主要還是價格方面比較經(jīng)濟實惠,實測效果也不錯。GPS模塊會每秒鐘發(fā)出數(shù)據(jù)包,數(shù)據(jù)包是遵循NMEA-0183協(xié)議的,可以看看我實際接收下來的數(shù)據(jù)包:?主要包含定位信息的是GPGGA以及GPRMC,兩個數(shù)據(jù)包中都包含有時間以及經(jīng)

3、緯度等信息,因為我主要需要的就是當前的經(jīng)緯度信息就可以了,也為了減小GPRS數(shù)據(jù)傳輸負擔,因此我只選擇了將GPRMC這條數(shù)據(jù)進行傳輸,關于其數(shù)據(jù)包中具體每個數(shù)據(jù)的含義可以參照NMEA-0183的說明。值得注意的是,數(shù)據(jù)包都是以$開頭,以回車換行結尾的。回車換行用轉義符號表示便是r,這點忽視的話,那么服務器端與地圖軟件的對接將不會成功。因此我在stm32的程序上做了判斷處理,只傳送GPRMC數(shù)據(jù)包,并且同樣為了再次減小GPRS傳送壓力,每接收到兩個數(shù)據(jù)包傳送一個就可以了。實現(xiàn)代碼如下?接收GPS串口發(fā)來的數(shù)據(jù)通過串

4、口中斷實現(xiàn),接收代碼如下。對于這段程序有點比較有意思的事情,這段代碼是在我單獨調(diào)試GPS的時候寫的,想法也很簡單,以$觸發(fā)開始接收,遇到’’結束,然后當時就出現(xiàn)了一個很不合我邏輯的問題,反復讀了幾十遍代碼沒有發(fā)現(xiàn)問題,如我注釋中寫的為什么放入結束符的那個地址要減一,這是實際調(diào)試出來的,就沒管它一直這樣用了,前幾天才意識到上面說的是以”r”結尾的這個問題,這才恍然大悟,原來還有一個壓根看不見摸不著的’r’。這也受我們平時用電腦的習慣有影響,當敲下鍵盤上的回車鍵,實際上執(zhí)行了兩步操作,回車和換行,這誰看得見呢。

5、?????GPRS模塊采用的是華為GTM900C模塊,比較常見的一般也就是SIM900和GTM900,選擇華為的主要還是因為國產(chǎn),數(shù)據(jù)手冊肯定有中文官方原版的,所以學習起來不那么費勁,橋哥可不想在大好假日被英文給磨掉學習的信心。對于其TCP/IP鏈接的建立,可以參照華為GTM900TCP_IP使用指導書。我在程序中已列舉了我所用到的AT指令:?實際上,這個指令定義的順序已經(jīng)表明了我在初始化GTM900C并進行TCP鏈接的初始化過程:1、?關閉回顯,回顯的意思是你給它發(fā)條指令它會原封不動的給你回發(fā)一份你發(fā)的指令,這里關掉

6、,以便串口專心監(jiān)測GTM900C實際返回的參數(shù)2、?設置GPRS網(wǎng)絡附著,將模塊附著到GPRS網(wǎng)絡中,下面的操作都是基于GPRS網(wǎng)絡下進行的,設置它的目的是保證下面的操作能夠順利進行。如果已經(jīng)附著上GPRS網(wǎng)絡,而再次發(fā)送此命令,會返回ERROR8,不過沒有關系不影響附著狀態(tài),以防萬一每次建立鏈接我都發(fā)。3、?配置APN,即GPRS接入點的配置4、?進入TCPIP功能,網(wǎng)絡傳輸基于這個協(xié)議,那是必須。5、?域名解析,這點很重要值得特別說明。實際上GTM900C建立一條TCP鏈接最后用的都必須是這條指令:AT%IPOPE

7、N="TCP","111.164.240.229",1332,這個指令里面包含的是我們接收端作為服務器的IP地址和端口。我們知道網(wǎng)絡上標識唯一一臺電腦的地址用的是IP地址,這個由于不好記誕生了域名,例如www.#,這個域名實際上也是指向了一個IP,為了讓這個域名指向IP就需要一個域名服務器來解析。而家里撥號上網(wǎng),每次撥號都會動態(tài)的分配到一個IP,況且橋哥家最近是一天掉線20多次,IP隨時都會變化,不可能每次變化我都更改stm32的程序然后重新燒錄,因此我用的一個固定的域名xiaoiqiao.oicp.net來

8、跟我的IP進行實時綁定,而GTM900C模塊每次建立鏈接都要先得到這個固定域名指向的IP,然后根據(jù)IP進行鏈接,確保無論我當前的IP是多少,它都可以正確連上我這里。而提供這個域名解析到IP服務的是花生殼這款軟件,注冊一個賬號便得到一個免費的域名,并且為該域名提供免費的域名解析服務。??6、?正式建立一條TCP鏈接。得到上步所說的返

當前文檔最多預覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當前文檔最多預覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學公式或PPT動畫的文件,查看預覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權歸屬用戶,天天文庫負責整理代發(fā)布。如果您對本文檔版權有爭議請及時聯(lián)系客服。
3. 下載前請仔細閱讀文檔內(nèi)容,確認文檔內(nèi)容符合您的需求后進行下載,若出現(xiàn)內(nèi)容與標題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。