国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

白洋淀濕地?zé)o人船自主定位監(jiān)控系統(tǒng)*

2015-09-21 01:30:12趙曉軍張紅北王晨康
關(guān)鍵詞:電子地圖串口無(wú)人

繩 丹,趙曉軍,張紅北,王晨康,李 瑞

(河北大學(xué) 電子信息工程學(xué)院,河北 保定 071002)

0 引言

白洋淀濕地是華北地區(qū)溫帶濕地的典型代表,對(duì)改善華北地區(qū)生態(tài)環(huán)境起著非常重要的作用[1]。由于華北地區(qū)持續(xù)干旱及近年來(lái)淀區(qū)經(jīng)濟(jì)發(fā)展、人口增加,使白洋淀濕地生態(tài)系統(tǒng)正受到前所未有的壓力,因此在白洋淀濕地建立長(zhǎng)期的監(jiān)測(cè)站點(diǎn)就顯得尤為重要。目前濕地生態(tài)監(jiān)測(cè)節(jié)點(diǎn)主要由靜態(tài)監(jiān)測(cè)節(jié)點(diǎn)組成,靜態(tài)節(jié)點(diǎn)覆蓋范圍小、維護(hù)困難,對(duì)于一些復(fù)雜水域很難利用靜態(tài)節(jié)點(diǎn)監(jiān)測(cè)。無(wú)人船可以在水上航行,因此可以利用無(wú)人船作為動(dòng)態(tài)節(jié)點(diǎn)進(jìn)入該區(qū)域完成任務(wù),無(wú)人船擴(kuò)大了濕地現(xiàn)場(chǎng)監(jiān)測(cè)范圍。系統(tǒng)主要對(duì)無(wú)人船遠(yuǎn)距離控制技術(shù)進(jìn)行研究,采用全球定位系統(tǒng)GPS(Global Positioning System)技術(shù)實(shí)現(xiàn)自主定位,為了更直觀地顯示無(wú)人船位置,引入了電子地圖進(jìn)行位置匹配[2];監(jiān)控中心完成船體位置顯示和船體控制命令下發(fā),真正實(shí)現(xiàn)了對(duì)無(wú)人船的遠(yuǎn)程控制。

1 系統(tǒng)總體設(shè)計(jì)方案

系統(tǒng)應(yīng)用GPS定位技術(shù)和GPRS無(wú)線通信技術(shù)實(shí)現(xiàn)對(duì)濕地?zé)o人船的遠(yuǎn)程監(jiān)控。無(wú)人船遠(yuǎn)程監(jiān)控包括遠(yuǎn)程監(jiān)測(cè)和遠(yuǎn)程控制兩部分,遠(yuǎn)程監(jiān)測(cè)實(shí)現(xiàn)船體位置定位及實(shí)時(shí)顯示,遠(yuǎn)程控制則是遠(yuǎn)距離控制無(wú)人船運(yùn)動(dòng)方向。

1.1 系統(tǒng)構(gòu)成

無(wú)人船監(jiān)控系統(tǒng)主要由船載單元和監(jiān)控中心兩部分構(gòu)成。采用無(wú)線通信方式實(shí)現(xiàn)監(jiān)控中心和船載單元之間的數(shù)據(jù)通信,系統(tǒng)結(jié)構(gòu)如圖1。

圖1 系統(tǒng)結(jié)構(gòu)圖

船載單元主要由GPS模塊、GPRS模塊、驅(qū)動(dòng)模塊和微處理器組成,監(jiān)控中心由一臺(tái)可以聯(lián)網(wǎng)的計(jì)算機(jī)組成,船載單元利用GPRS模塊連入GPRS網(wǎng)絡(luò),監(jiān)控中心連接Internet網(wǎng)絡(luò),兩者之間采用TCP/IP協(xié)議進(jìn)行信息交換。

1.2 系統(tǒng)功能分析

無(wú)人船利用裝載的GPS模塊可以對(duì)船體進(jìn)行定位,微處理器將接收到的GPS數(shù)據(jù)進(jìn)行解析,提取出位置信息并通過(guò)GPRS模塊發(fā)送到Internet服務(wù)器,監(jiān)控中心軟件通過(guò)添加電子地圖更直觀地顯示無(wú)人船位置,同時(shí)也可以利用SQL數(shù)據(jù)庫(kù)對(duì)數(shù)據(jù)進(jìn)行存儲(chǔ)。監(jiān)控中心可以向船載單元下發(fā)控制指令,當(dāng)微處理器通過(guò)GPRS模塊接收到控制指令后將其解析為相應(yīng)控制字并寫(xiě)入驅(qū)動(dòng)模塊,然后驅(qū)動(dòng)模塊根據(jù)控制字控制電機(jī)轉(zhuǎn)向,最終達(dá)到操控?zé)o人船運(yùn)動(dòng)的目的。

2 船載單元設(shè)計(jì)

2.1 船載單元硬件搭建

船載單元硬件主要包括微處理器、GPS模塊、GPRS模塊和驅(qū)動(dòng)模塊等。微處理器選擇STM32F103增強(qiáng)型系列,其內(nèi)核是ARM32位的Cortex-M3CPU,工作頻率最高可達(dá)72 MHz,同時(shí)配置128 KB閃存程序存儲(chǔ)器、最大64 KB SRAM (靜態(tài)隨機(jī)存取存儲(chǔ)器)、11個(gè)定時(shí)器、13個(gè)通信接口和2通道12位D/A轉(zhuǎn)換器,該增強(qiáng)型單片機(jī)具有功能強(qiáng)、能耗低、可靠性高等特點(diǎn)[3]。采用信號(hào)接收器G591作為GPS定位模塊,該模塊具備多徑探測(cè)和矯正功能,定位精度可達(dá)3 m,具有基準(zhǔn)時(shí)鐘范圍大、靈敏度高和抗干擾能力強(qiáng)等特點(diǎn),因此很適合在濕地環(huán)境中應(yīng)用。采用GTM900無(wú)線通信模塊作為系統(tǒng)GPRS模塊,該模塊支持標(biāo)準(zhǔn)的AT指令集,同時(shí)配有豐富的頭文件資料。系統(tǒng)選擇L293D作為船載單元的電機(jī)驅(qū)動(dòng)模塊,該模塊采用ST公司全新的L293D功率型雙向驅(qū)動(dòng)芯片,具有易于安裝、穩(wěn)定性高、使用方便等特點(diǎn)。船載單元硬件連接方式如圖2。

圖2 船載單元結(jié)構(gòu)圖

G591模塊通過(guò)串口1向STM32發(fā)送無(wú)人船定位信息;GTM900模塊通過(guò)串口2與STM32芯片建立通信,GPRS模塊主要完成數(shù)據(jù)打包發(fā)送和接收功能;STM32芯片通過(guò)串口3和RS232連接,通過(guò)RS232接口與計(jì)算機(jī)連接實(shí)現(xiàn)程序下載;STM32通過(guò)I/O口向驅(qū)動(dòng)模塊L293D發(fā)送控制字,驅(qū)動(dòng)模塊根據(jù)控制字對(duì)電機(jī)轉(zhuǎn)向進(jìn)行控制,從而達(dá)到操控?zé)o人船運(yùn)動(dòng)的目的。

2.2 船載單元軟件設(shè)計(jì)

船載單元程序主要包括以下兩個(gè)部分:GPS定位數(shù)據(jù)向監(jiān)控中心的發(fā)送和船載單元接收上位機(jī)控制命令并執(zhí)行。其中船載單元與監(jiān)控中心的數(shù)據(jù)通信是通過(guò)GPRS網(wǎng)絡(luò)和Internet網(wǎng)絡(luò)連接實(shí)現(xiàn)。

2.2.1 數(shù)據(jù)發(fā)送

船載單元程序需要對(duì)中斷、串口、I/O口進(jìn)行初始化,當(dāng)船載單元上電后,各個(gè)模塊開(kāi)始工作,STM32微處理器控制程序開(kāi)始初始化。首先需要建立無(wú)線通信,STM32利用GTM900模塊向控制中心建立的服務(wù)器申請(qǐng)網(wǎng)絡(luò)連接,建立TCP/IP連接;然后GPS模塊開(kāi)始獲取位置信息,當(dāng)STM32監(jiān)聽(tīng)到GPS數(shù)據(jù)到來(lái)時(shí)開(kāi)串口1中斷,讀取GPS數(shù)據(jù)并提取出經(jīng)緯度信息;最后單片機(jī)通過(guò)串口2向GTM900發(fā)送數(shù)據(jù)并啟動(dòng)GTM900模塊將數(shù)據(jù)打包通過(guò)TCP/IP協(xié)議發(fā)送到監(jiān)控中心[4]。數(shù)據(jù)發(fā)送過(guò)程如圖3。

圖3 數(shù)據(jù)發(fā)送流程圖

其中GPS數(shù)據(jù)遵從NMEA-0183協(xié)議,GPS數(shù)據(jù)有多種語(yǔ)句格式,本設(shè)計(jì)讀取GPRMC格式,其內(nèi)容格式為:$GPRMC,<UTC 時(shí)間>,<定位狀態(tài)>,<緯度>,<緯度半球>,<經(jīng)度>,<經(jīng)度半球>,<地面速率>,<地面航向>,<UTC 日期>,<磁偏角>,<磁偏角方向>,<模式指示>*hh。STM32芯片依據(jù)此協(xié)議格式提取出經(jīng)緯度信息?;具^(guò)程為:(1)STM32對(duì)讀取的語(yǔ)句進(jìn)行判斷,如果開(kāi)頭是GPRMC則進(jìn)行第二步判斷,否則繼續(xù)監(jiān)聽(tīng);(2)判斷語(yǔ)句的定位信息段是否為‘A’,若是‘A’則表明 GPS定位成功,信息有效;(3)提取出經(jīng)緯度信息[5]。

2.2.2 數(shù)據(jù)接收?qǐng)?zhí)行

GTM900模塊通過(guò)TCP/IP協(xié)議接收來(lái)自控制中心的指令,當(dāng)GTM900接收到控制命令后,單片機(jī)利用AT指令集調(diào)用GPRS數(shù)據(jù)并開(kāi)啟串口2中斷函數(shù)判斷收到的數(shù)據(jù),如果是控制指令則STM32根據(jù)設(shè)置好的規(guī)則進(jìn)行指令解析并通過(guò)I/O口向L293D寫(xiě)入控制字,L293D根據(jù)控制字驅(qū)動(dòng)電機(jī)運(yùn)轉(zhuǎn)完成無(wú)人船的運(yùn)動(dòng)控制。每個(gè)電機(jī)需要 3 個(gè)控制信號(hào):EN1(EN2)、IN1(IN3)、IN2(IN4),EN1是電機(jī)1的使能位,EN1為1時(shí)電機(jī)1轉(zhuǎn)動(dòng),為 0時(shí)電機(jī) 1停止;IN1、IN2控制電機(jī) 1的轉(zhuǎn)向,當(dāng)IN1、IN2分別為1、0時(shí),電機(jī)1正轉(zhuǎn);反之,電機(jī) 1反轉(zhuǎn)。例如,L293D 引 腳 IN1、IN2、IN3、IN4、EN1、EN2 分別接 STM 芯片的P1.0~P1.5口,當(dāng)接收的數(shù)據(jù)是控制命令 “左轉(zhuǎn)”時(shí),即左側(cè)電機(jī)反轉(zhuǎn)、右側(cè)電機(jī)正轉(zhuǎn)才能完成無(wú)人船左轉(zhuǎn)運(yùn)動(dòng),因此STM32芯片需要向P1.0~P1.5分別寫(xiě)入0、1、1、0、1、1,然后驅(qū)動(dòng)模塊根據(jù)此控制字完成電機(jī)的正反轉(zhuǎn)運(yùn)動(dòng),此過(guò)程就是船載單元命令接收?qǐng)?zhí)行過(guò)程。

3 監(jiān)控中心軟件設(shè)計(jì)

監(jiān)控中心軟件采用C#編程語(yǔ)言在VisualStudio 2010環(huán)境下開(kāi)發(fā),并加載Arcgis的二次開(kāi)發(fā)控件Map-Control實(shí)現(xiàn)電子地圖嵌入。監(jiān)控中心主要實(shí)現(xiàn)無(wú)人船在電子地圖中的定位顯示和控制命令的下發(fā)。

3.1 電子地圖功能

電子地圖是顯示無(wú)人船位置的較好方式,這種方法更直觀、更容易讓人理解。首先由ArcMap編輯制作出設(shè)計(jì)需要的電子地圖圖表,然后使用C#語(yǔ)言在Visual Studio2010開(kāi)發(fā)環(huán)境中設(shè)計(jì)監(jiān)控中心軟件,在監(jiān)控界面拖放二次開(kāi)發(fā)控件 MapControl和 ToolbarControl,MapControl來(lái)顯示電子地圖,ToolbarControl用來(lái)作為電子地圖工具欄,可以直接通過(guò)屬性設(shè)置實(shí)現(xiàn)添加地圖、放大、縮小等功能。值得注意的是,MapControl控件必須同Toolbar-Control控件綁定才可以實(shí)現(xiàn)地圖放大縮小等功能。ToolbarControl和MapControl屬于COM組件,一般不在Visual Studio的工具箱中直接顯示,但是可以通過(guò)右擊Visual Studio2010的工具箱進(jìn)行添加。

3.2 控制命令的下發(fā)

本文在Visual Studio2010開(kāi)發(fā)環(huán)境中使用C#語(yǔ)言編寫(xiě)控制命令。它同時(shí)具有Visual Basic的易用性以及C++的低級(jí)內(nèi)存訪問(wèn)性[6]。當(dāng)上位機(jī)軟件的某個(gè)控制按鈕被按下時(shí),該按鈕的Click()事件隨即被觸發(fā),控制中心將相應(yīng)的控制命令通過(guò)Socket建立的服務(wù)器使用TCP/IP協(xié)議發(fā)送到船載單元。在Visual Studio2010開(kāi)發(fā)環(huán)境中Socket類被稱為“嵌套字”,是一種描述IP地址和端口號(hào)的通信語(yǔ)句。Visual Studio為每個(gè)服務(wù)項(xiàng)目分配一個(gè)Socket,并將其與端口號(hào)進(jìn)行綁定,根據(jù)端口號(hào)識(shí)別不同的服務(wù)項(xiàng)目??刂泼钣小扒斑M(jìn)”、“倒退”、“左轉(zhuǎn)”、“右轉(zhuǎn)”、“啟動(dòng)”、“結(jié)束”等。

4 系統(tǒng)實(shí)驗(yàn)

4.1 實(shí)驗(yàn)過(guò)程

將船載單元安裝在小車中在河北大學(xué)新校區(qū)進(jìn)行現(xiàn)場(chǎng)實(shí)驗(yàn),PC上安裝控制中心軟件,首先運(yùn)行監(jiān)控中心程序,程序開(kāi)始時(shí)即建立Internet服務(wù)器并進(jìn)行監(jiān)聽(tīng);然后按下小車的開(kāi)關(guān)按鈕,船載單元開(kāi)始工作。當(dāng)船載單元和監(jiān)控中心建立TCP/IP連接之后,按下控制按鈕“啟動(dòng)”接收GPS數(shù)據(jù),其他控制按鈕可以實(shí)現(xiàn)對(duì)小車的運(yùn)動(dòng)控制。

4.2 實(shí)驗(yàn)結(jié)果

船載系統(tǒng)設(shè)置GPS的發(fā)送時(shí)間間隔為2 s,包括經(jīng)度、緯度和時(shí)間信息。小車的運(yùn)動(dòng)方向可以通過(guò)控制按鈕進(jìn)行改變,表1為小車運(yùn)動(dòng)的部分記錄。

表1 控制中心記錄的經(jīng)緯度數(shù)據(jù)

通過(guò)實(shí)驗(yàn)結(jié)果可知,系統(tǒng)實(shí)現(xiàn)了GPS數(shù)據(jù)傳輸、電子地圖實(shí)時(shí)顯示和船載單元運(yùn)動(dòng)控制,基本達(dá)到了設(shè)計(jì)要求。

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

本方案是基于GPS/GPRS的系統(tǒng)軟硬件設(shè)計(jì)方法,系統(tǒng)利用TCP/IP協(xié)議實(shí)現(xiàn)了Internet網(wǎng)絡(luò)與GPRS網(wǎng)絡(luò)的互聯(lián),可以很好地完成無(wú)人船定位數(shù)據(jù)采集和傳輸,最后利用監(jiān)控中心的電子地圖進(jìn)行顯示。多次實(shí)驗(yàn)表明,系統(tǒng)具有良好的穩(wěn)定性和實(shí)用性。此外為了對(duì)濕地進(jìn)行更全面的環(huán)境監(jiān)測(cè),還可以添加不同傳感器來(lái)完成任務(wù),使無(wú)人船監(jiān)測(cè)功能更加豐富完善。

[1]溫志廣.建立白洋淀濕地自然保護(hù)區(qū)芻議[J].河北師范大學(xué)學(xué)報(bào)(自然科學(xué)版),2003,27(5):527-530.

[2]崔峰,張明路,丁承君,等.基于 GPS/GIS/GSM的移動(dòng)機(jī)器人定位技術(shù)研究[J].微計(jì)算機(jī)信息,2005(11):99-100.

[3]卜峰,李傳江,李歡,等.基于 GPS/GPRS的客車遠(yuǎn)程監(jiān)控系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn) [J].計(jì)算機(jī)測(cè)量與控制,2014,22(1):79-81.

[4]張洋溢,王忠.基于ARM的 GPS/GPRS多功能手持終端的設(shè)計(jì)與實(shí)現(xiàn) [J].計(jì)算機(jī)測(cè)量與控制,2011,19(12):50-53.

[5]馬騰,楊宏業(yè).基于GPS/GPRS的車載監(jiān)控終端的設(shè)計(jì)與實(shí)現(xiàn)[J].電子測(cè)量技術(shù),2009,32(4):71-74.

[6]陳文剛,宋述勇,韓啟華.用C#編程語(yǔ)言實(shí)現(xiàn)變電站GPS 遠(yuǎn)程監(jiān)控的探討[J].山西電力,2013(5):54-57.

猜你喜歡
電子地圖串口無(wú)人
中國(guó)公豬站引種指南電子地圖
淺談AB PLC串口跟RFID傳感器的通訊應(yīng)用
無(wú)人戰(zhàn)士無(wú)人車
反擊無(wú)人機(jī)
基于Mapserver的增強(qiáng)現(xiàn)實(shí)電子地圖的設(shè)計(jì)與實(shí)現(xiàn)
詩(shī)到無(wú)人愛(ài)處工
無(wú)人超市會(huì)流行起來(lái)嗎?
USB接口的多串口數(shù)據(jù)并行接收方法探索
基于藍(lán)牙串口適配器的GPS接收機(jī)與AutoCAD的實(shí)時(shí)無(wú)線通信
電子地圖在初中地理教學(xué)中的應(yīng)用實(shí)踐
惠安县| 巫溪县| 安阳市| 共和县| 绥德县| 龙山县| 焦作市| 江城| 天门市| 香港 | 沁源县| 绥滨县| 兴山县| 太仆寺旗| 铅山县| 安乡县| 丰都县| 东兴市| 昌都县| 稻城县| 屏山县| 宜昌市| 来安县| 尤溪县| 焉耆| 赤峰市| 抚顺市| 秦安县| 广元市| 桦川县| 营山县| 田阳县| 吉木乃县| 高唐县| 喀什市| 上栗县| 敦煌市| 平山县| 宿迁市| 浦东新区| 平湖市|