亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于UM220的北斗數(shù)據(jù)接收處理及簡(jiǎn)單應(yīng)用

        2017-09-08 14:03:25索菲
        科技創(chuàng)新與應(yīng)用 2017年24期
        關(guān)鍵詞:網(wǎng)絡(luò)通訊操作系統(tǒng)

        索菲

        摘 要:文章以北斗2號(hào)和GPS雙系統(tǒng)接收模塊UM220為硬件平臺(tái),利用嵌入式C#二次開發(fā)BD2/GPS-OEM板的方法,開發(fā)出了能同時(shí)運(yùn)行于PC和Windows CE的跨平臺(tái)程序,實(shí)現(xiàn)了PDA與OEM板之間的串行通訊,同時(shí)對(duì)接收到的北斗數(shù)據(jù)進(jìn)行簡(jiǎn)單的解析應(yīng)用,如利用GDI+繪制北斗二維星空?qǐng)D、采集PDA終端運(yùn)行軌跡等。

        關(guān)鍵詞:北斗2號(hào);Windows CE 操作系統(tǒng);PDA;串口通訊;網(wǎng)絡(luò)通訊

        中圖分類號(hào):TN967.1 文獻(xiàn)標(biāo)志碼:A 文章編號(hào):2095-2945(2017)24-0001-03

        1 概述

        北斗衛(wèi)星導(dǎo)航系統(tǒng)是中國(guó)正在實(shí)施的自主研發(fā)、獨(dú)立運(yùn)行的全球衛(wèi)星導(dǎo)航系統(tǒng),是除美國(guó)的全球定位系統(tǒng)(GPS)、俄羅斯的GLONASS(GLOBAL NAVIGATION SATELLITE SYSTEM)之后第三個(gè)成熟的衛(wèi)星導(dǎo)航系統(tǒng)。北斗衛(wèi)星導(dǎo)航系統(tǒng)可在全球范圍內(nèi)為用戶提供全天候、全天時(shí)、高精度的定位、導(dǎo)航、受時(shí)服務(wù),并具有短報(bào)通信能力。近年來隨著北斗導(dǎo)航系統(tǒng)的逐步建設(shè)完善,北斗巨大的經(jīng)濟(jì)效益已初具端倪,但是由于北斗導(dǎo)航系統(tǒng)建設(shè)不久,整體用戶數(shù)量少,未形成一定規(guī)模的產(chǎn)業(yè)化機(jī)制,從而導(dǎo)致北斗系統(tǒng)的終端價(jià)格昂貴,所以如何將北斗數(shù)據(jù)有效接收加以廣泛利用成為了當(dāng)前中國(guó)衛(wèi)星導(dǎo)航產(chǎn)業(yè)的關(guān)鍵課題[1]。

        加快推進(jìn)北斗民用化進(jìn)程,不僅需要設(shè)備有較好的性能,而且具有便攜、低功耗、低價(jià)格等特點(diǎn)。UM220接收機(jī)模塊是目前市場(chǎng)上尺寸最小的BD2/GPS雙系統(tǒng)模塊,具有集成度高,啟動(dòng)時(shí)間快,功耗低,協(xié)議簡(jiǎn)單通用等特點(diǎn),可用于車輛導(dǎo)航、車輛監(jiān)控、氣象探測(cè)、海洋漁業(yè)和電信電力受時(shí)等領(lǐng)域[2],特別適合北斗系統(tǒng)大規(guī)模應(yīng)用的需求。

        2 UM220接收機(jī)模塊性能特點(diǎn)和通訊協(xié)議

        作為BD/GPS接收機(jī)的核心部件,BD/GPS-OEM板接收來自BD/GPS天線單元的衛(wèi)星信號(hào),通過變頻、放大、濾波等處理過程產(chǎn)生大量的數(shù)據(jù)信息,通過進(jìn)一步的解析數(shù)據(jù)可以為地理信息系統(tǒng)、車載導(dǎo)航、氣象探測(cè)等領(lǐng)域提供三維定位功能[3]。本文所用的UM220模塊支持NMEA-0183通信標(biāo)準(zhǔn)格式,輸入ASCII形式的數(shù)據(jù)信息。BD/GPS-OEM板輸出的NMEA-0183語(yǔ)句有多種數(shù)據(jù)句型,每種句型包含的數(shù)據(jù)信息不同,通過解析提取可以得到所需要的數(shù)據(jù),例如:經(jīng)緯度、高程、方位角、地面速率、UTC時(shí)間、幾何精度、衛(wèi)星顆數(shù)、仰角、信噪比等。UM220模塊提供的北斗語(yǔ)句有$BDGGA、$BDGLL、$BDGSA、$BDGSV、$BDRMC、$BDVTG等,每條語(yǔ)句都以特定的格式承載著不同的數(shù)據(jù)信息,例如$BDGSV語(yǔ)句,它的信息內(nèi)容是當(dāng)前衛(wèi)星狀態(tài)信息,其格式如下:

        $BDGSV,NoMsg,MsgNo,NoSv,sv1,elv1,az1,cno1,sv2,elv2,az2,cno2,sv3,elv3,az3,cno3,sv4,elv4,az4,cno4*cs

        其中:$為起始符;BD為信息來源;GSV為句型識(shí)別符;其后依次為GSV消息總數(shù)(NoMsg);本條GSV消息的編號(hào)(MsgNo);本系統(tǒng)可見衛(wèi)星總數(shù)(NoSv);第一~第四顆衛(wèi)星的衛(wèi)星號(hào)(sv1~sv4);第一~第四顆衛(wèi)星的仰角(sv1~sv4);第一~第四顆衛(wèi)星的方位角(sv1~sv4);第一~第四顆衛(wèi)星的信噪比(sv1~sv4);校驗(yàn)和(cs)。

        3 PDA與BD/GPS-OEM之間的串行通訊

        PDA終端軟件是從串口接收數(shù)據(jù),首先判斷是否需要數(shù)據(jù),如果不需要,則不進(jìn)行緩存,僅僅顯示數(shù)據(jù),如果需要?jiǎng)t將接收到的數(shù)據(jù)緩存起來,繼續(xù)接收數(shù)據(jù),與此同時(shí)異步調(diào)用緩存起來的數(shù)據(jù)。發(fā)送之前,需要先檢驗(yàn)數(shù)據(jù)的完整性,如果不完整則將數(shù)據(jù)緩存起來,將下一次接收到的原始數(shù)據(jù)補(bǔ)充在不完整數(shù)據(jù)之后,接收校驗(yàn)數(shù)據(jù)的完整性。如果數(shù)據(jù)完整,則對(duì)數(shù)據(jù)進(jìn)行校驗(yàn),校驗(yàn)不通過,校驗(yàn)不通過的數(shù)據(jù)直接舍棄,若校驗(yàn)通過,則將數(shù)據(jù)發(fā)往各個(gè)子窗體,解析處理數(shù)據(jù),數(shù)據(jù)流程圖如圖1所示。

        由于.NET Framework 2.0類庫(kù)中提供了Serial Port類,方便地實(shí)現(xiàn)了所需要串口通訊的多種功能。Serial Port中數(shù)據(jù)的讀取與寫入有較大不同。由于串口不知道數(shù)據(jù)何時(shí)到達(dá),因此有兩種方法可以實(shí)現(xiàn)串口數(shù)據(jù)的讀取:一、線程實(shí)時(shí)讀串口;二、事件觸發(fā)方式實(shí)現(xiàn)。由于線程實(shí)時(shí)讀串口的效率不是十分高效,因此本文采用事件觸發(fā)的方式。在Serial Port類中有Data Received事件,當(dāng)串口的讀緩存有數(shù)據(jù)到達(dá)時(shí)則觸發(fā)Data Received事件,需要注意的是Serial Port. Data Received事件運(yùn)行在輔線程,不能與主線程中的顯示數(shù)據(jù)控件直接進(jìn)行數(shù)據(jù)傳輸,必須用間接的方式實(shí)現(xiàn),本文采用了同步委托的方法Invoke[4],實(shí)現(xiàn)結(jié)果如圖2所示。

        {

        int n = com.BytesToRead;

        byte[] buf = new byte[n];

        com.Read(buf, 0, n);

        if(getBinaryData!=null&&com.IsOpen)

        {

        lock (thelock)

        {

        binaryData.Enqueue(buf);

        }

        }

        stringbuilder.Remove(0, stringbuilder.Length);

        this.Invoke((EventHandler)(delegate

        {

        stringbuilder.Append(Encoding.ASCII.GetString(buf, 0, n));endprint

        this.txtShowData.Text+= stringbuilder.ToString();

        }));

        }

        4 北斗數(shù)據(jù)簡(jiǎn)單應(yīng)用

        前面我們已經(jīng)通過串口通訊獲得了北斗數(shù)據(jù),本文在移動(dòng)終端開發(fā)出了一個(gè)簡(jiǎn)單的程序?qū)Λ@得的北斗衛(wèi)星數(shù)據(jù)加以簡(jiǎn)單的分析利用。

        本文所選的PDA終端操作系統(tǒng)為Windows Embedded CE 6.0,其設(shè)計(jì)的內(nèi)核具有32,000個(gè)處理器的并發(fā)處理能力,每個(gè)處理有2GB虛擬內(nèi)存尋址空間,同時(shí)還能保持系統(tǒng)的實(shí)時(shí)響應(yīng),這使得Windows Embedded CE 6.0具備更強(qiáng)的圖形處理能力[5]。

        GDI+(Graphics Device Interface Plus)也就是圖形設(shè)備接口,它提供了各種豐富的圖像處理功能,在Windows CE 6.0系統(tǒng)中,它充當(dāng)應(yīng)用程序和硬件設(shè)備之間的中間層,封裝與硬件交互所需的低級(jí)API,這些API函數(shù)可用于繪制圖形和文本。作為GDI的升級(jí)版,GDI+新增了諸如漸變畫筆、基數(shù)樣條、alpha混合等功能,并且實(shí)現(xiàn)了繪制邊框和填充的分離,使得GDI+在繪圖方面比GDI更加出色[6],使用GDI+的這些新特性可以輕松繪制出漂亮的衛(wèi)星視圖界面和PDA終端運(yùn)行軌跡。

        4.1 二維星空?qǐng)D的繪制

        為了繪制星空?qǐng)D,首先需要對(duì)包含衛(wèi)星方位信息數(shù)據(jù)的$BDGSV語(yǔ)句進(jìn)行解析,以$BDGSV數(shù)據(jù)為例,$BDGSV,2,1,7,161,50,126,38,163,47,235,40,164,32,109,37,166,65,148,40*53

        可以看出本系統(tǒng)中的GSV消息總數(shù)2,本條消息為1號(hào)消息,本系統(tǒng)可見的衛(wèi)星總數(shù)為7顆,第1~第4顆衛(wèi)星的衛(wèi)星號(hào)依次為:161、163、164、166, 第1~第4顆衛(wèi)星的仰角(0~90度)依次為:50、47、32、65,第1~第4顆衛(wèi)星的方位角(0~359度)依次為:126、235、109、148,第1~第4顆衛(wèi)星的信噪比(0~99dBHz)依次為:38、40、37、40。提取繪圖所需的衛(wèi)星的顆數(shù)以及各個(gè)衛(wèi)星的衛(wèi)星號(hào)、方位角、仰角、信噪比等信息,利用GDI+繪制出北斗二維星空?qǐng)D,實(shí)現(xiàn)結(jié)果如圖3所示。程序運(yùn)行繪制過程中為避免繪制時(shí)間過長(zhǎng)或者星空?qǐng)D界面閃爍,采用了雙倍緩沖的方法,即先把文本繪制到圖像上,再在完成了所有的繪圖操作后,把整個(gè)圖像繪制到窗口中。

        4.2 PDA移動(dòng)終端的軌跡采集

        當(dāng)前基于衛(wèi)星導(dǎo)航系統(tǒng)的巡檢、監(jiān)控和導(dǎo)航等軟件已經(jīng)非常成熟,但是大多都是基于美國(guó)的GPS系統(tǒng)的,基于北斗衛(wèi)星導(dǎo)航系統(tǒng)的巡檢監(jiān)控軟件剛開始發(fā)展不久,還處于起步階段,而其中,PDA終端的軌跡采集無(wú)疑是這類應(yīng)用軟件中的核心功能之一,這類導(dǎo)航監(jiān)控軟件大部分的其他擴(kuò)展應(yīng)用功能都是建立在此基礎(chǔ)之上完成的。因此本文對(duì)PDA終端的軌跡采集功能的實(shí)現(xiàn)原理進(jìn)行了初步討論并且編寫了程序進(jìn)行實(shí)現(xiàn)。

        首先對(duì)$BDGGA數(shù)據(jù)進(jìn)行解析,提取出經(jīng)緯度等信息。以$BDGGA數(shù)據(jù)為例:$BDGGA,071437.000,2258.8881,N,11321.4923,E,1,5,0.702,48.137,M,0,M,*58

        可以看出當(dāng)前移動(dòng)終端所處的位置是:北緯22度58.8881分,東經(jīng)113度21.4923分,橢球高是48.173米,接收時(shí)間是7點(diǎn)14分37秒(UTC),參與定位的北斗衛(wèi)星是5顆,定位狀態(tài)為單點(diǎn)定位,這里每隔1秒接收一次數(shù)據(jù),因此在進(jìn)行跟蹤定位時(shí)可以實(shí)時(shí)得到所處的位置。然后提取出精度、緯度信息,通過高斯正算轉(zhuǎn)換為平面坐標(biāo),通過屏幕校正處理,利用GDI+將坐標(biāo)繪制在終端屏幕上,繼而得到終端的運(yùn)行軌跡。

        5 網(wǎng)絡(luò)通訊

        PDA終端作為客戶端,通過IP地址和PC端服務(wù)器進(jìn)行網(wǎng)絡(luò)通信,將采集的衛(wèi)星數(shù)據(jù)發(fā)送至PC服務(wù)端,這樣可以利用PC機(jī)對(duì)衛(wèi)星數(shù)據(jù)進(jìn)行進(jìn)一步的存儲(chǔ)應(yīng)用。為節(jié)省資源同時(shí)提高通信效率手持機(jī)端將數(shù)據(jù)重新組織按照自定義的格式發(fā)網(wǎng)PC服務(wù)端,自定義數(shù)據(jù)格式表1所示,PC服務(wù)器端接收自定義的定位數(shù)據(jù)進(jìn)行相關(guān)的解析和應(yīng)用。

        本文采用Socket接口進(jìn)行PDA端和PC端的網(wǎng)絡(luò)通訊,Socket接口是TCP/IP網(wǎng)絡(luò)的API,通常也稱作“套接字”,應(yīng)用程序通常通過“套接字”向網(wǎng)絡(luò)發(fā)出請(qǐng)求或者應(yīng)答網(wǎng)絡(luò)請(qǐng)求[7]。Socket接口定義了許多函數(shù)或例程,可以用它們來開發(fā)TCP/IP網(wǎng)絡(luò)上的應(yīng)用程序,程序根據(jù)連接啟動(dòng)的方式以及本地套接字要連接的目標(biāo),套接字之間的連接過程可以分為三個(gè)步驟:服務(wù)器監(jiān)聽,客戶端請(qǐng)求,連接確認(rèn)。

        PDA客戶端:

        socketSender = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);

        IPHostEntry ipHost = Dns.GetHostEntry(ipaddress);

        PAddress ipAddress = ipHost.AddressList[0];

        IPEndPoint ipEndPoint = new IPEndPoint(ipAddress, portnumber);

        socketSender.Connect(ipEndPoint);//連接

        socketSender.Send(bytesenddata);//發(fā)送組織好的數(shù)據(jù)

        PC服務(wù)端:

        listener = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);

        portnumber = int.Parse(txtPortNumber.Text.Trim());endprint

        listener.Bind(new IPEndPoint(IPAddress.Any, portnumber));

        listener.Listen(10);

        byte[] receivedBytes = new byte[4096];

        int bytesNum = socket.Receive(receivedBytes);

        receivedValue = Encoding.ASCII.GetString(receivedBytes, 0, bytesNum);

        6 結(jié)束語(yǔ)

        本文討論了在Windows CE6.0操作系統(tǒng)基礎(chǔ)之上如何接收北斗衛(wèi)星數(shù)據(jù),實(shí)現(xiàn)了OEM板與PDA之間的通訊,并且對(duì)接收到的北斗數(shù)據(jù)進(jìn)行解析,初步實(shí)現(xiàn)了對(duì)于北斗數(shù)據(jù)的簡(jiǎn)單應(yīng)用,可進(jìn)一步應(yīng)用于車輛監(jiān)控、車載導(dǎo)航、氣象探測(cè)、海洋漁業(yè)和電信電力受時(shí)等領(lǐng)域,對(duì)推動(dòng)實(shí)現(xiàn)北斗衛(wèi)星導(dǎo)航系統(tǒng)民用化、產(chǎn)業(yè)化有著現(xiàn)實(shí)的意義。

        參考文獻(xiàn):

        [1]劉偉.基于“北斗一號(hào)”車載導(dǎo)航終端系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[D].成都:電子科技大學(xué),2010:1-80.

        [2]劉興,王德明,劉維亭.基于Windows CE的GPS-OEM板的數(shù)據(jù)接收與處理[J].華東船舶工業(yè)學(xué)院學(xué)報(bào),2005,19(2):50-53.

        [3]Zhou Jing translate. Visual C# 2005 From approaches to master. Beijing Tsinghua University presse [M].2006.

        [4]李永隆.PDA程序設(shè)計(jì)[M].北京:清華大學(xué)出版社,2002.

        [5]徐成,秦云川,劉彥.Windows CE內(nèi)核定制與驅(qū)動(dòng)程序開發(fā)[M].中國(guó)電力出版社,2011.

        [6]John C.Database design and programming with access,SQL and visual C[M].[S1]:The MacGraw-Hill Co.Ltd,2002.

        [7]Joan Daemen,Vincent Aijme. The Design of Rijindael:AES-the Advanced Eneryption Standard[J]. Springer Verlag, 2003:57-72.endprint

        猜你喜歡
        網(wǎng)絡(luò)通訊操作系統(tǒng)
        無(wú)線傳感器網(wǎng)絡(luò)在環(huán)境監(jiān)測(cè)中的應(yīng)用
        基于紅外控制的智能家居網(wǎng)絡(luò)系統(tǒng)
        智能手機(jī)操作系統(tǒng)的分析與比較
        卷宗(2016年10期)2017-01-21 14:04:15
        國(guó)產(chǎn)桌面操作系統(tǒng)中虛擬化技術(shù)應(yīng)用研究
        計(jì)算機(jī)維護(hù)中操作系統(tǒng)還原技術(shù)的分析
        對(duì)計(jì)算機(jī)進(jìn)行操作系統(tǒng)重裝的維護(hù)
        基于單片機(jī)的嵌入式系統(tǒng)的開發(fā)研究
        “操作系統(tǒng)原理”實(shí)驗(yàn)教學(xué)設(shè)置初探
        關(guān)于網(wǎng)絡(luò)通訊中信息安全的保障研究
        別克君越高速網(wǎng)絡(luò)通訊異常
        97色综合| 一卡二卡国产av熟女| 国产女主播在线免费观看| 国产精品视频免费一区二区三区 | 福利视频偷拍一区二区| 中文字幕在线亚洲三区| 成人免费播放视频777777| 亚洲 卡通 欧美 制服 中文| 啦啦啦www播放日本观看| 奇米影视777撸吧| 8ⅹ8x擦拨擦拨成人免费视频| 人妻无码久久一区二区三区免费| 日韩精品无码久久一区二区三| 成人无码h真人在线网站| 91最新免费观看在线| 丰满熟妇人妻av无码区| 一本大道久久精品一本大道久久 | 国产中文三级全黄| 中文字幕网伦射乱中文| 国产精品r级最新在线观看| 成人三级a视频在线观看| 欧美人与动牲猛交xxxxbbbb| 无码一区二区三区老色鬼| 久久99久久99精品免观看女同| 国产偷拍自拍在线观看| 中文字幕亚洲一区视频| 亚洲国产成人极品综合| 日韩av无码一区二区三区不卡| 最近中文字幕免费完整版| 日本三级欧美三级人妇视频| AV无码人妻一区二区三区牛牛| 精品麻豆一区二区三区乱码| 三级全黄裸体| 好吊妞无缓冲视频观看| www插插插无码免费视频网站 | 嫖妓丰满肥熟妇在线精品| 亚洲一区爱区精品无码| 国产中文久久精品| 老岳肥屁熟女四五十路| 亚洲人成网站在线播放2019| 欧美精品亚洲精品日韩专区 |