• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于云服務器與Arduino 的GPS定位系統(tǒng)設計*

      2018-05-16 09:29:11,,,
      關鍵詞:單片機服務器定位

      ,,,

      (沈陽工業(yè)大學 軟件學院,沈陽 110023)

      引 言

      物聯(lián)網(wǎng)是新一代信息技術的重要組成部分,也是信息化時代的重要發(fā)展階段。由美國國防部領導下的衛(wèi)星導航聯(lián)合計劃局(JPO)主導研究的全球定位系統(tǒng)(Global Positioning System,GPS)[1]是目前應用最廣泛和成功的定位技術。GPS在許多嵌入式系統(tǒng)中被用于定位服務,如基于藍牙4.0模塊的電子防丟器[2]和基于Android操作系統(tǒng)、WiFi以及GPS等技術為核心的GPS導航應用系統(tǒng)[3]等。由于GPS只能提供定位的數(shù)字信息,而不能直接傳送到服務器,所以需要使用單片機將GPS的數(shù)據(jù)發(fā)送到服務器。

      其中Arduino單片機是一款便捷靈活、方便上手的開源電子原型平臺,包含硬件(各種型號的Arduino板)和軟件(Arduino IDE)。它是一個基于開放原始碼的軟硬件平臺,構建于開放原始碼simple I/O介面版[4],并且具有使用類似Java、C語言的Processing/Wiring開發(fā)環(huán)境。

      本文設計了一種基于Arduino的GPS定位系統(tǒng),將Arduino與GPS相結(jié)合,能夠?qū)崿F(xiàn)對GPS信息的定位并且上傳到服務器中,服務器的信息同時可以傳送給用戶智能終端。

      1 總體方案設計

      本文設計的GPS定位系統(tǒng)主要包括三個部分:信息采集與處理模塊、服務器傳送模塊、用戶智能終端模塊,系統(tǒng)如圖1所示。用戶智能終端主要是支持GSM的智能手機。

      圖1 系統(tǒng)組成結(jié)構圖

      信息采集與處理模塊主要完成GPS信號的接收、數(shù)據(jù)解析和發(fā)送功能。GPS接收單元GPS信號信息,控制單元對此信息進行處理,提取經(jīng)緯度,通過GSM網(wǎng)絡傳送單元把經(jīng)緯度信息位置上傳到云服務器中。云服務器把位置信息傳送到用戶智能終端中,同時,信息采集模塊也可以通過短信方式把信息傳送到用戶智能終端中。

      同時,開發(fā)Android手機應用程序?qū)脑品斋@取來得數(shù)據(jù)通過高德地圖進行顯示。

      2 系統(tǒng)硬件設計

      系統(tǒng)硬件主要由單片機、GPS模塊、GPRS模塊和GSM模塊等構成。由于GPS模塊只能提供定位的數(shù)字信息,而不能直接傳送到服務器,所以需要使用單片機對GPS模塊的數(shù)據(jù)進行接收,通過GSM網(wǎng)絡將數(shù)據(jù)發(fā)送到服務器。該系統(tǒng)硬件由控制單元嵌入式系統(tǒng)、GPS信息接收處理單元、GSM位置信息傳輸單元和電源組成。硬件設計中只對控制單元、GPS信息接收處理單元、GSM位置信息傳輸單元進行設計。 如圖2所示。

      圖2 硬件平臺組成圖

      ① 控制單元模塊:嵌入式系統(tǒng)作為控制單元,負責控制終端的整個運作,以單片機為核心,用于協(xié)調(diào)和控制模塊各個功能單元,主要實現(xiàn)監(jiān)控中心指令并相應獲取坐標信息、發(fā)送坐標數(shù)據(jù)等功能。

      ② GPS信號處理單元:通過GPS模塊實時獲取使用者地理位置信息,并進行壓縮處理以方便傳輸。

      ③ GSM位置信息傳輸單元:通過訪問服務器地址,將坐標數(shù)據(jù)實時上傳到中轉(zhuǎn)服務器上。

      2.1 Arduino 單片機

      單片機采用的是Arduino的Mega2560單片機,其有54路數(shù)字輸入/輸出端口(其中15個可以作為PWM輸出)、16路模擬輸入端口、4路UART串口、16 MHz的晶振、USB連接口、電池接口、ICSP頭和復位按鈕。簡單地用USB連接電腦或者用交直流變壓器就能使用,適合需要大量I/O接口的設計。它的優(yōu)點是簡單易學,適合剛?cè)腴T的單片機使用者,并且有多端I/O接口,適合本系統(tǒng)GPS/GPRS模塊的接入。 Mega2560單片機結(jié)構如圖3所示。

      圖3 Mega2560單片機結(jié)構示意圖

      2.2 GPS/GSM/GPRS模塊

      GPS/GSM/GPRS模塊為集成的A7模塊,定位采用GPS模塊、GSM模塊和GPRS模塊都集成在此模塊中,具體結(jié)構如圖4所示。

      圖4 GPS/GSM/GPRS模塊結(jié)構示意圖

      2.3 通信串口連接設計

      單片機與GPS模塊進行連接,實現(xiàn)GPS數(shù)據(jù)向單片機的傳送。具體接線方式為,單片機的GND與GPS模塊的GND(3)引腳相連,圖3中的7(4路UART)中的TXD14、RXD15、RXD19引腳分別與圖4中GPS模塊的4、5、11引腳相連接。

      3 系統(tǒng)軟件設計

      3.1 服務器的搭建

      本系統(tǒng)采用的服務器搭載的操作系統(tǒng)是Windows操作系統(tǒng),服務器為租用的騰訊云服務器,服務器程序是以C#語言為基礎進行開發(fā)的,服務器的后臺程序接收到Arduino單片機數(shù)據(jù)后,將其存入數(shù)據(jù)庫。

      在GPS獲取用戶的經(jīng)緯度坐標之后,將數(shù)據(jù)封裝好,上傳至服務器,以方便客戶端訪問。

      通信程序在接收到發(fā)送的指令后,先創(chuàng)建socket對象,再通過bind()函數(shù)將ipv6地址和端口號組合賦給socket對象,進行通信地址和指定端口的綁定,通過listen()、connect()函數(shù)對服務器進行監(jiān)聽和連接,用accept()函數(shù)接收服務請求。在服務器端依次調(diào)用socket()、bind()、listen()之后,就會監(jiān)聽指定的socket地址。客戶端依次調(diào)用socket()、connect()后就向服務器發(fā)送了一個連接請求。服務器監(jiān)聽到這個請求之后,就會調(diào)用accept()函數(shù)接收請求,成功建立連接。

      3.2 Arduino通信

      本系統(tǒng)的通信方式是通過GSM模塊來完成的,主要完成信息上傳到服務器和發(fā)送短信的功能。它是傳統(tǒng)調(diào)制解調(diào)器與GSM無線移動通信系統(tǒng)相結(jié)合的一種數(shù)據(jù)終端設備。它的出現(xiàn)給GSM的發(fā)展注入了新的活力,改變了傳統(tǒng)的以話音為主的通信手段,打開了GSM網(wǎng)絡數(shù)據(jù)通信及其應用的大門。調(diào)制解調(diào)器必須通過PSTN或其它專用通信網(wǎng)進行通信,因而受地域、線路等影響在應用上有很大的局限性。而GSM模塊則無此限制,所以基于這種模塊以GSM網(wǎng)絡作為無線傳輸網(wǎng)絡可以開發(fā)出前景極其樂觀的各類應用。

      3.2.1 短信的發(fā)送

      GSM模塊啟動后,都處于命令狀態(tài),在該狀態(tài)下,它以AT命令形式接收命令。GSM模塊接收到AT命令后,對命令進行解釋和執(zhí)行,并返回相應的結(jié)果碼。

      首先設置AT+CMGS=0的PUD格式;然后把“> ***** ”語句的*號部分轉(zhuǎn)換成了十六進制的 1A中文文本格式+手機號碼,若返回OK字符串,即為發(fā)送成功。

      memset(send_buf, 0, 20);//設置短信文本長度

      strcpy(send_buf,"AT+CMGS="");

      strcat(send_buf, number);//設置PUD格式

      strcat(send_buf, "" ");

      if(sendCommand(send_buf,">",3000, 10) == Success);

      if (sendCommand(msg, msg, 3000, 10) == Success);

      //短信內(nèi)容

      memset(send_buf, 0, 20);

      send_buf[0] = 0x1a;//以16進制發(fā)送

      send_buf[1] = '

      平泉县| 乐至县| 旬邑县| 玉龙| 永州市| 神农架林区| 三江| 民权县| 蕉岭县| 炎陵县| 台中县| 蓝山县| 彩票| 尉氏县| 武夷山市| 保靖县| 新野县| 栾川县| 大冶市| 太湖县| 合川市| 大同县| 东山县| 河源市| 尤溪县| 浦县| 灯塔市| 上林县| 扎鲁特旗| 克山县| 绍兴县| 闽清县| 来安县| 德兴市| 方城县| 中宁县| 文化| 平遥县| 靖江市| 桐乡市| 汪清县|