張海燕 馮赟 王廣帥
摘 要:針對復(fù)雜地形環(huán)境下,地埋式光纜線路巡護管理信息化程度低、巡護記錄不健全、事后檢查取證難等問題,提出了利用北斗衛(wèi)星定位技術(shù)和WebGIS(網(wǎng)絡(luò)地理信息系統(tǒng))技術(shù),設(shè)計開發(fā)了北斗軌跡記錄儀、軌跡采集軟件和WebGIS軌跡呈現(xiàn)系統(tǒng),實現(xiàn)對光纜線路巡護軌跡的實時記錄與事后回放,提高了光纜維護管理的信息化水平。
關(guān)鍵詞:線路巡護 北斗 WebGIS 軌跡記錄 軌跡呈現(xiàn)
中圖分類號:S7 文獻標識碼:A 文章編號:1672-3791(2019)01(c)-0005-06
光纜作為光纖傳輸系統(tǒng)的物理傳輸媒介,其安全、可靠、穩(wěn)定運行是傳輸系統(tǒng)正常運行的前提,經(jīng)過農(nóng)田、戈壁、流沙區(qū)、工業(yè)區(qū)等復(fù)雜地形區(qū)域的地埋式光纜,極易發(fā)生人為的非故意中斷。為確保光纜的安全可靠運行,及時排除中斷隱患,解決中斷故障,應(yīng)當制定嚴格的巡線制度。然而,巡視時人員乘坐光纜巡護車沿光纜路由全程巡護,巡護記錄依賴紙質(zhì)記錄,巡線是否全面,效果無法檢驗;巡線計劃是否落實,事中無法監(jiān)督、事后很難查證。為提高光纜線路巡護管理的科學(xué)化、正規(guī)化和信息化水平,該文設(shè)計開發(fā)了基于北斗和WebGIS的光纜線路巡護管理系統(tǒng),有效解決了復(fù)雜地形環(huán)境下地埋式光纜線路巡護管理存在的不足。
1 相關(guān)技術(shù)簡介
1.1 北斗導(dǎo)航定位技術(shù)
北斗衛(wèi)星導(dǎo)航定位系統(tǒng)包括北斗一代導(dǎo)航定位系統(tǒng)(BD1)和北斗二代導(dǎo)航定位系統(tǒng)(BD2)。北斗二代導(dǎo)航定位系統(tǒng)和普通GNSS(GPS/GLONASS/GALILEO)系統(tǒng)相似,系統(tǒng)由空間導(dǎo)航衛(wèi)星星座、地面測控站和用戶終端三大部分組成。
其定位原理是:用戶接收機對視野內(nèi)觀測到的衛(wèi)星信號進行偽距或者載波相位測量而獲得偽距觀測量,偽距測量方式又可以分為C/A碼和P碼兩種測量方式,在接收衛(wèi)星數(shù)目大于等于4顆時,用戶可通過后方交會方式,根據(jù)偽距觀測量解算出三維位置,并可以進一步通過多普勒頻移測量獲得三維速度,同時獲得高精度的時間信息。
1.2 WebGIS技術(shù)
GIS地理信息系統(tǒng),應(yīng)用較早,不便于更新,不便于跨平臺,不便于用戶在不安裝指定客戶端的情況下使用。隨著Internet進入了爆發(fā)式增長階段,網(wǎng)絡(luò)的鋪設(shè)以及網(wǎng)速都有了大幅度的提升,出現(xiàn)了WebGIS,也就是展現(xiàn)于網(wǎng)絡(luò)上的GIS,于是,基于B/S的GIS系統(tǒng)越來越多的開始提供服務(wù),并且在RIA(富客戶端)技術(shù)、AJAX(動態(tài)網(wǎng)頁)技術(shù)的涌現(xiàn)和成熟下,WebGIS也基本能展現(xiàn)出與C/S一樣的效果和功能。目前發(fā)展WebGIS技術(shù)的公司可以大致分為兩個方向:一個是互聯(lián)網(wǎng)方向,一個是行業(yè)應(yīng)用方向?;ヂ?lián)網(wǎng)方向比如:百度地圖、高德地圖、谷歌地圖等,該系統(tǒng)計劃采用的就是谷歌地圖。
2 系統(tǒng)總體設(shè)計思路
系統(tǒng)的總體設(shè)計思想如圖1所示。
在光纜巡護車上安裝自行研制的基于北斗的光纜巡護記錄儀(以下簡稱記錄儀),該記錄儀會自動記錄光纜巡護車的行駛軌跡,每間隔30m,采集一次地理位置信息,并記錄在光纜巡護記錄儀的內(nèi)置存儲器中。
當巡線車回到車場時,值班員通過軌跡采集終端采集記錄儀記錄的軌跡信息,該采集終端是通過射頻方式與記錄儀通信,將采集到的軌跡信息存入相關(guān)數(shù)據(jù)庫。
用戶打開瀏覽器,訪問基于WebGIS的光纜線路巡護管理系統(tǒng),即可以查看指定車輛在指定日期的行駛軌跡,該行駛軌跡詳細顯示了到達某個地點的時間,以及該地點的坐標,此外,還可以動態(tài)再現(xiàn)巡護過程。
3 北斗光纜巡護記錄儀設(shè)計與實現(xiàn)
3.1 總體設(shè)計
記錄儀的主要功能就是獲取北斗信號,定位當前光纜巡護車的地理位置,并保存起來,同時,還要具有與軌跡采集軟件通信的功能,因此,其結(jié)構(gòu)設(shè)計如圖2所示。
可以分為如下幾個功能模塊。
(1)MCU:主要作用是控制各個外圍模塊的正常工作,同時接收外部模塊傳入的數(shù)據(jù)、指令等信息。需要能夠支持多種接口協(xié)議,以與不同的外圍模塊交互。
(2)BD2定位模塊:主要作用是接收北斗衛(wèi)星的信號,計算得到當前的地理位置,并通過一定的接口將位置信息傳送到MCU,此處選擇的接口是串口。
(3)SD卡控制器:主要作用是接收MCU的指令,存儲、讀取SD卡中的數(shù)據(jù)。記錄儀會將巡線過程中的位置信息都存儲在SD卡,當接收到軌跡采集軟件的讀取指令后,會從中讀出指定的數(shù)據(jù)。此處設(shè)計SD卡控制器通過SPI接口與MCU交互。
(4)RF通信模塊:主要作用是與軌跡采集軟件建立通信鏈路,接收軌跡采集軟件傳過來的指令,然后交給MCU,同時,將MCU的回復(fù)信息發(fā)送給軌跡采集軟件。此處設(shè)計RF通信模塊通過串口與MCU交互。
(5)電源模塊:主要作用是將車載的24V或者12V直流電源轉(zhuǎn)換為適合MCU、BD2定位模塊、RF通信模塊、SD卡控制器使用的5V直流電源。
3.2 北斗定位模塊選型與配置
3.2.1 北斗定位模塊選型
BD2定位模塊的作用是接收北斗衛(wèi)星的信號,并加以計算,得到時間信息、定位信息,最后通過一定接口將時間信息、定位信息輸出,該文BD2定位模塊選擇的是“和芯星通”的UM220-III NL。UM220-III NL是一款BD、GPS雙模的定位導(dǎo)航芯片,能夠同時支持BD2 B1、GPS L1兩個頻點。
3.2.2 北斗定位模塊配置
UM220-III NL芯片默認是同時接收、處理BD、GPS兩個定位系統(tǒng)的信號,該文主要使用的是BD定位功能,因此需要配置以屏蔽GPS。
為了屏蔽GPS,可以通過UART接口向UM220-III NL發(fā)送如下配置指令:
$cfgsys, h10
其中消息名是cfgsys,作用是設(shè)定或輸出衛(wèi)星系統(tǒng)配置,其后面跟一個參數(shù),類型是32bit整數(shù),此處采用16進制的形式表示,其各個bit的含義如圖3所示,如果要開啟對應(yīng)的頻點,那么對應(yīng)的bit設(shè)置為1。所以此處設(shè)置為0x10,就表示只開啟BDS B1頻點。
此時,UM220-III NL會通過UART接口以1Hz的頻率,輸出如下格式的一些消息:
$BDGGA,003358.000,4058.939449,N,10012.779013,E,,00,3.781,1024.750,M,0,M,,*6D
$BDGLL,4058.939449,N,10012.779013,E,003358.000,V,N*57
$BDGSA,A,3,,,,,,,,,,,,,0.000,3.781,0.000*2E
$BDGSV,3,1,10,161,27,128,,162,38,209,,163,17,114,,16
4,14,110,*66
$BDRMC,003358.000,V,4058.939449,N,10012.779013,E,0.010,177.924,280715,,E,N*23
可以發(fā)現(xiàn)有五類消息,BDGGA、BDGLL、BDRMC中均包含此文所需要的定位信息,并且這3個信息中的內(nèi)容多有冗余,采用其中一種即可,可以屏蔽其他幾種,該文屏蔽了除BDRMC之外的其余信息。
BDRMC消息的格式如下:
$BDRMC,time,status,Lat,N,Lon,E,spd,cog,date,mv,mvE,mode*cs
各個字段的含義如下:
time:UTC時間,格式為hhmmss.sss,其中hh為小時,mm為分鐘,ss.sss為秒。
status:位置有效標識,V表示無效,A表示有效。
Lat:緯度,格式為ddmm.mmmmmm,其中dd為度,mm.mmmmmm為分。
N:北緯或南緯指示,N表示北緯,S表示南緯。
Lon:經(jīng)度,格式為dddmm.mmmmmm,其中ddd為度,mm.mmmmmm為分。
E:東經(jīng)或西經(jīng)指示,E表示東經(jīng),W表示西經(jīng)。
spd:地面速率,單位是節(jié)。
cog:地面航向,單位是度,從北向順時針計算。
date:UTC日期,格式為ddmmyy,其中dd為日,mm為月,yy為年。
mv:磁偏角,固定填空。
mvE:磁偏角方向,固定填E。
mode:定位模式,N表示未定位,A表示單點定位,D表示差分定位。
cs:校驗和,從'$'到'*'之間的所有字符進行異或得到的 16 進制數(shù)。
UM220-III NL經(jīng)過上述配置,將按照1Hz的頻率通過UART接口輸出BDRMC消息,MCU將分析該消息,提取其中有效的信息。
3.2.3 北斗模塊電路設(shè)計
北斗模塊UM220-III NL的集成度很高,外圍電路設(shè)計并不復(fù)雜,需要注意的是其采用的是3.3V供電。另外,UM220-III NL提供了兩個UART口,該系統(tǒng)計劃都使用,其中一個連接到ATMega2560,另一個通過電平轉(zhuǎn)換芯片MAX232,連接到PC機,便于后期的調(diào)試。其電路設(shè)計如圖4所示。
3.2.4 固件編寫
需要為ATMega2560編寫固件,才能使其按照預(yù)期設(shè)想進行工作。ATMega2560中固件的主要工作流程如圖5所示。
按照完成的主要工作,可以分為三步。
第一步:初始化。包括設(shè)置ATMega2560中各個端口的工作方式、時鐘設(shè)置、串口速率設(shè)置、中斷設(shè)置、檢查SD卡是否可讀等。
第二步:等待初始定位。因為剛剛加電的的時候,UM220-III NL是冷啟動,需要至少30s才能輸出有效數(shù)據(jù),所以,需要不斷的檢查UM220-III NL的輸出數(shù)據(jù),直到數(shù)據(jù)是有效的,將其中的位置信息,作為初始位置信息保存。
第三步:實時記錄位置信息。這實際是一個不斷地循環(huán)檢查,獲取UM220-III NL的輸出數(shù)據(jù),如果無效,那么舍棄,如果有效,那么計算新的位置與舊的位置之間的距離是否大于30m,如果不大于30m,那么舍棄,如果大于30m,那么使用新的位置信息更新舊的位置信息,并將新的位置信息保存到SD卡,如此不停的循環(huán)。
4 軌跡采集軟件設(shè)計與實現(xiàn)
4.1 軌跡采集協(xié)議設(shè)計
4.1.1 軌跡采集軟件與光纜巡護記錄儀建立連接協(xié)議
軌跡采集軟件通過軌跡采集器,向指定車輛的光纜巡護記錄儀發(fā)送一個握手信號“SYN:E”,記錄儀接收握手信號后,向軌跡采集軟件發(fā)送一個確認信號“OK”。軌跡采集軟件收到確認信號,認為連接建立成功。
4.1.2 軌跡采集軟件發(fā)送、讀取軌跡數(shù)據(jù)協(xié)議
軌跡采集軟件與記錄儀建立連接后,軌跡采集軟件向指定車輛的記錄儀發(fā)送獲取特定日期軌跡信息的指令,格式是“XXXXXX:E”,其中6個X是日期,格式是YYMMDD,前兩位是年,接著兩位是月,最后兩位是日。記錄儀收到指令后,將對應(yīng)日期的軌跡數(shù)據(jù)發(fā)送到軌跡采集器端,一次發(fā)送一個軌跡采集點數(shù)據(jù),格式如下:
xxxxxx;xxxxxx;xxxx.xxxxxx;xxxxx.xxxxxx
數(shù)據(jù)中第一個分號前的6位是采集日期,格式是YYMMDD,第二個分號前的6位是采集時間,格式是hhmmss,第三個分號前的11位是采集點經(jīng)度,格式是hhmm.mmmmmm,最后12位是采集點緯度,格式是hhhmm.mmmmmm。
4.2 軌跡采集軟件的實現(xiàn)
軌跡采集軟件的主要功能是讀取指定車輛、指定日期的巡線軌跡數(shù)據(jù),并將數(shù)據(jù)存儲到數(shù)據(jù)庫服務(wù)器。軟件主要包括通信建立模塊、軌跡數(shù)據(jù)采集模塊和軌跡數(shù)據(jù)存儲模塊。
4.2.1 通信建立模塊
首先,通過讀取電腦注冊表信息獲取主機上所有可用串口,然后依次向各個串口發(fā)送握手信號“SYN:E”。若某個串口收到響應(yīng)信息“OK”,則認為通信建立成功;若所有串口沒有收到響應(yīng)信息,則認為通信建立失敗,數(shù)據(jù)采集結(jié)束并給出提示信息。
4.2.2 軌跡數(shù)據(jù)采集
用戶選定車輛和日期后,點擊“軌跡數(shù)據(jù)采集”按鈕,軌跡采集軟件向記錄儀發(fā)送“XXXXXX:E”指令,然后讀取串口收到的數(shù)據(jù),并保存到臨時存儲文件patrolTrack.txt中。如果讀取到“EOF”,則表示數(shù)據(jù)傳送結(jié)束。
4.2.3 軌跡數(shù)據(jù)存儲
軌跡采集軟件在軌跡采集結(jié)束后,會接著打開軌跡數(shù)據(jù)臨時存放文件patrolTrack.txt,讀取每一行數(shù)據(jù)(一行數(shù)據(jù)為一條巡線軌跡數(shù)據(jù)),判斷數(shù)據(jù)是否完整,如果數(shù)據(jù)不完整,那么丟棄該數(shù)據(jù);如果數(shù)據(jù)完整,那么將該數(shù)據(jù)保存到數(shù)據(jù)庫中。
5 軌跡呈現(xiàn)系統(tǒng)設(shè)計與實現(xiàn)
5.1 總體設(shè)計
軌跡呈現(xiàn)系統(tǒng)主要實現(xiàn)對指定時間段內(nèi)指定車輛行駛軌跡的呈現(xiàn)、回放、行駛里程計算等。系統(tǒng)結(jié)構(gòu)如圖6所示,采用B/S模式,分為3層,分別是數(shù)據(jù)層、服務(wù)層、顯示層。
(1)數(shù)據(jù)層:用來提供軌跡數(shù)據(jù),采用就是第5節(jié)中軌跡采集軟件儲存在MySQL數(shù)據(jù)庫中的數(shù)據(jù)。
(2)服務(wù)層:是顯示層與數(shù)據(jù)層的中間層,接收顯示層提供的查詢請求,依據(jù)該請求查詢數(shù)據(jù)層,并將結(jié)果返回給顯示層,后者進行可視化顯示。采用的是Servlet方式,與顯示層交互采用的是Ajax方式。
(3)顯示層:有3個主要的功能模塊,即用戶接口、軌跡顯示、軌跡回放。
用戶接口模塊的作用是提供一個查詢界面,供用戶選擇需要查詢的時間段及車牌號,并能將用戶選擇的查詢參數(shù)通過Ajax方式發(fā)往服務(wù)層。
軌跡顯示模塊接收服務(wù)層返回的數(shù)據(jù),并在地圖上呈現(xiàn)出來。服務(wù)層返回的是采集的車輛行駛軌跡點的信息,有兩種呈現(xiàn)方式:點繪制和路線繪制。點繪制是將所有采集的軌跡點在地圖上用標記點圖標繪制出來。路線繪制是通過不斷繪制點標記和系統(tǒng)自動繪制的直線標記形成行駛路線。
軌跡回放模塊實現(xiàn)行駛軌跡的動態(tài)再現(xiàn),方便用戶直觀地了解車輛的運行軌跡,此外,當用戶查看軌跡回放時,可點擊圖標按鈕實現(xiàn)軌跡回放的暫停與繼續(xù)。
5.2 軌跡呈現(xiàn)系統(tǒng)的實現(xiàn)
為了便于理解,下面按照用戶接口、服務(wù)層、軌跡顯示、軌跡回放的順序介紹軌跡呈現(xiàn)系統(tǒng)的實現(xiàn)。
(1)用戶接口的實現(xiàn):用戶接口提供日期、車牌號供用戶選擇。本系統(tǒng)采用ExtJS實現(xiàn)用戶接口。
(2)服務(wù)層的實現(xiàn):用戶選擇的日期、車牌號會提交給服務(wù)層,后者查詢數(shù)據(jù)庫獲取對應(yīng)的軌跡信息。服務(wù)層采用Java Servlet實現(xiàn)。
(3)軌跡顯示的實現(xiàn):服務(wù)層返回的軌跡信息會交給顯示層的軌跡顯示模塊,后者將在Google Map上繪制對應(yīng)的行駛軌跡,既可以繪制獨立的軌跡點,也可以將軌跡點連接成線,當鼠標點擊某個軌跡點時,會顯示這個軌跡點的詳細信息,包括經(jīng)緯度、到達時間、行駛距離等。顯示軌跡點的效果如圖7所示。
(4)軌跡回放的實現(xiàn):通過使用定時器逐段繪制出軌跡點,可以實現(xiàn)軌跡回放。
6 結(jié)語
該文從基地出口光纜線路巡護管理工作存在的現(xiàn)實問題入手,提出了一種基于北斗衛(wèi)星定位技術(shù)和WebGIS技術(shù)的光纜線路巡護管理系統(tǒng),設(shè)計開發(fā)相關(guān)的軟硬件系統(tǒng),并進行實用化驗證測試,實現(xiàn)了對巡線車輛軌跡的記錄與回放,系統(tǒng)工作穩(wěn)定可靠,達到了設(shè)計目的,滿足了使用要求。
該文的研究工作為光纜線路巡護管理的信息化進行了有益探索,為其他軌跡記錄提供思路。但是在使用范圍的廣泛性、小型化和便捷性方面還要進一步的研究和改進,這是我們后續(xù)研究的內(nèi)容和方向。
參考文獻
[1] 和芯星通科技有限公司.GNSS數(shù)據(jù)接口協(xié)議UM220-III N[Z].2014.
[2] 和芯星通科技有限公司.UM220用戶手冊(第二版)[Z].2012.
[3] Atmel. Atmel ATmega640/V-1280/V-1281/V-2560/V-2561/V DataSheet[Z].2014.
[4] 億佰特電子科技有限公司.E30超低功耗無線串口模塊[Z].
[5] Google Maps Javascript API V3[Z].
[6] 徐曉茵.基于WebGIS的系統(tǒng)定位信息分析處理的研究與實現(xiàn)[D].北京郵電大學(xué),2013.
[7] 陶留鋒,邢廷炎,呂建軍,等.實時富客戶端WebGIS框架研究與實現(xiàn)[J].計算機應(yīng)用與軟件,2014(2):55-57.