?

基于北斗系統的電力巡檢應用軟件的設計與實現

2018-06-05 09:35
電氣開關 2018年5期
關鍵詞:手持機字節報文

(福州大學 物理與信息工程學院,福建 福州 350000)

1 引言

國家電網公司要求電力巡檢系統滿足“全面性、準確性、及時性、可靠性”等需求。由于在我國偏遠地區,仍存在大量的牧區和山區,這些地區通信手段匱乏。針對這類地區的電力系統及突發事故的巡檢,目前還缺乏比較有力的手段?,F階段國內外使用的電力巡檢方式有人工巡檢、智能機器人巡檢、無人機巡檢和直升機巡檢等,其中后三種巡檢方式由于其成本較大,并且技術不夠成熟,目前只適用于實驗室研究以及小范圍內使用,而人工巡檢方式因其靈活度高、便利性強、成本低等特點,使得在巡檢中得到廣泛使用[1]。但這種方式存在工作量巨大,效率降低、故障報告不及時等嚴重問題。

近年來,隨著我國北斗衛星導航系統(Compass Navigation Satellite System)系統的投入使用,利用北斗衛星作為通信媒介成為現實。北斗衛星通信系統具有覆蓋范圍大、沒有通信盲區、安全、可靠等優點被廣泛應用于海洋、氣象、水利、農業、森林等偏遠環境數據傳輸的通信[2]。此外,北斗衛星導航系統在電力系統中的應用也逐漸增加[2-4]。

本設計基于不改變已投運設備和系統的前提下,采用北斗手持機來實現無移動信號覆蓋的偏遠地區的位置獲取及通信的方法。并且針對該手持機提出了其應用層軟件的設計思路及實現方法,同時解決北斗衛星通信報文發送的容量問題。

2 系統組成

本設計系統組成如圖1所示,主要包括:電力主站、北斗主站前置器、安卓手機、北斗手持機等。

圖1 北斗電力巡檢設計

2.1 北斗手持機

北斗手持機集北斗收發鏈路的硬件功能模塊于一體,可以實現北斗衛星上行信號的調制功能和北斗衛星下行信號的解調功能;北斗手持機集成了電池及充放電管理模塊,可實現戶外獨立工作,續航能力達15小時。北斗手持機還集成了藍牙功能模塊,一方面可以將從衛星中獲取當前位置信息以及衛星信號強度等有用信息通過藍牙發送到手機端,同時也能將手機端的指令和調度信息下發到北斗手持機,再通過北斗鏈路將信息傳回主站端的北斗用戶終端設備。

2.2 安卓應用軟件功能

本文設計實現的主要功能有:

(1) 基本功能:離線地圖、藍牙連接、ic檢測。

(2) 通信功能:長報文信息發送。

(3) 定位功能:北斗RNSS定位、電子圍欄。

3 系統軟件設計

本設計的界面功能模塊是基于模型-視圖-控制器( Model-View-Controller,MVC) 的架構模式進行設計,如圖2所示。

為了提高現場的指揮調度能力,可通過文字及時上傳異常點信息,交予后臺服務器分析處理、統籌規劃,確保遠端指揮人員實時了解現場狀況及電網受災情況。本設計調用了高德地圖API,并建立在安卓平臺的基礎上設計了良好的UI地圖界面,使巡檢人員更加直觀的了解自己所處的地理位置;同時也完善了電子圍欄巡檢提醒等功能,保障巡檢人員到位情況及安全,提高巡檢終端的智能化程度,實現整個巡檢過程的無紙化操作。

圖2 功能模塊關系

3.1 藍牙建立與連接的軟件實現

藍牙建立于連接的過程是北斗手持機(server端)設備一直處于等待狀態,當接受到安卓手機(client端)的連接請求的時候進入連接狀態。首先通過帶Bluetooth API的Android 手機調用BluetoothAdapter.LeScanCallback接口搜索藍牙設備,利用callback返回藍搜索結果,然后通過調用BluetoothAdapter的startLeScan()掃描藍牙設備,當搜索到手持機對應的藍牙硬件物理地址后,APP端立即停止掃描;藍牙連接流程圖如圖5所示。

藍牙通信的應用需需要建立GATT連接。首先調用BluetoothDevice的connectGatt()函數。此函數帶三個參數:Context、autoConnect(boolean)和BluetoothGattCallback。通信鏈路建立成功后,返回GATT profile的封裝BluetoothGatt對象。通過這個對象,我們就能在Android設備上對藍牙進行通信相關的操作。用BluetoothGattCallback傳遞一些連接狀態及結果,當兩個設備都在連接狀態時可以正常通信。

固定的北斗信息封裝有固定的報文頭格式,如固定的ic檢測S|icjc通過調用函數,定義操作類型。藍牙傳遞數據后在判斷數據是否接收完整。

3.2 北斗協議編解碼在安卓端的實現

由于手持機的藍牙只透傳北斗基帶結算出來的數據,并沒有把數據做進一步的解析,因此手機APP端需要完成北斗協議的編解碼。

北斗協議的解碼和完成北斗手持機通過藍牙下發到手機APP端的數據。首先監控藍牙收到的數據,對數據按照協議頭進行分類,所有的北斗協議,均以‘S|’字符開頭,以回車換行字符‘0x0D’、‘0x0A’結尾,因此,在軟件開始時需先建立數組,每個數組中包該包頭、包尾和數據,并定義兩個數組,分別存儲北斗RDSS和北斗RNSS的指令。

圖3 藍牙4.0的建立與連接流程圖

如果是報文信息,則輸根據協議頭中的報文長度標識位判斷該報文的長度,然后通過頭協議和報文的第一個字節是否為‘0xA4’來判斷報文發送類型是代碼、漢字或者混發,最后利用相對應的碼字組合方式將信息讀取出來顯示在手機短信中,并調用手機的震動提醒功能;如果是IC信息,則更新手機界面的IC信息號,并根據報文內容讀取序列號、通播地址、服務等級、服務類型和服務頻度5個信息顯示在手機端APP的界面中,如果是功率信息則直接更新APP的信號強度的圖標。由于北斗二代RNSS是單向傳輸的協議,除非更改波特率等配置信息外,無需額外進行操作,因此不需要對RNSS進行協議的編碼。北斗RDSS需要根據《北斗RDSS用戶機接口協議4.0版本》進行編碼。編碼內容包含IC檢測、功率檢測、時間輸出、自檢信息、通信申請、定位申請、第一類位置報告和第二類位置報告。APP端實時檢測用戶的操作,判斷用戶的指令需求,并根據北斗協議進行封裝后,通過藍牙發送給手持機。

3.3 拆分包機制的設計與實現

由于北斗通信收到用戶卡等級的限制和影響,3級用戶卡一次只能發送78.5字節的報文,然后實際電力巡檢應用過程中,往往需要發送更長的短信息,因此需要對短報文信息進行拆分包和組包處理。拆分包和組包處理,首先需要對北斗報文中的78.5字節數據字段進一步進行定義,并規范好相應的功能位,如表1所示。

表1

其中,拆分標志位用來表征本幀數據是否是拆分包數據,當該2字節內容為十六進制“AAFF”時,則判斷為拆分包數據,若為其它數據,則判斷為不是拆分包數據,將整個報文數據端作為短信內容輸出;編碼字節共占1.5字節,含12比特數據,其中的高比特用于指示該幀是否為最后一幀,第二比特數據用于表示是否要求應答為發送方定義,根據數據內容的重要性,判斷該包數據的重要級別,當重要級別較高的數據傳輸時,則該位置為1,否則置0;低10比特用于指示該幀是一組數據中的第幾包數據,取值范圍0~1023,如表2所示。

表2

報文內容用于填充所要傳輸的報文信息;校驗和為CRC校驗,共2字節,其中第一字節用于對拆分標志位和編碼字節進行糾錯,第二字節用于對接收報文內容進行檢錯,當收到報文出現誤碼時,如果誤碼出現在包頭中,則有可能會引起整個數據包的解析錯誤甚至引起系統故障,因此在協議中加入了一個字節的CRC檢驗和,用對包頭的糾錯。如果誤碼出現在報文內容中,則通過檢驗判斷是否有誤碼,而不對具體的誤碼進行糾錯處理。

其中,是否結束標志的優先級高于是否應答的優先級,當接收端手機APP收到最后一條報文包時,無論是否應答標志位是否置1,都需要給發送方發送應答信號。

當發送方收到所有需求接收方應答的應答標志后,需要給接收方發送結束通知包,該報數據的編碼字節中,結束標志和應答標志均置1,包序號寫1,報文內容為十六進制全1的1字節數。

當接收方接收到發送發送的具有應答需求標志的報文包時,需要給發送發做出應答反應,應答方式為回復報文,內容定義含5字節,如表3所示。

表3

圖4 長報文發送流程圖

3.4 組包和應答機制的設計與實現

手機接收到北斗RDSS的短報文信息時,首先需要通過協議頭判斷該報文是否為拆分包報文,如果不是,則直接輸出到手機端顯示;當收到拆分包報文時,APP軟件根據是否應答的標志位判斷是否給發送方進行應答處理,接著等待下一條報文的接收,并每收到一幀數據后都需要判斷是否為結束幀,當收到結束幀時,則給發送方發送應答信號,然后將收到的所有該幀數據按照包數號的順序進行組包,丟棄重復的報文包后發送到手機頁面顯示。

選擇重傳和時序沖突的解決方法:為了確保拆分包后,接收端不會因為偶然的系統丟包,造成對整條信息的誤讀或誤解,需要建立選擇重傳機制。當發送端發送一條需求應答的報文包時,連續3分鐘內未收到接收端發送的應答包,則需要將該報數據再次進行發送,直到所有帶有應答需求的報文包都收到應答信息為止,則發送方向接收端設備發送結束通知包,并等待接收機對該包數據的應答。

因為報文協議中,只對序號進行編碼,當有兩組長報文同時需要發送時,需要第一組數據發送后,收到全部的回執并且收到尾包數據的應答后,才能就行下一包數據的拆包和發送。

4 軟件系統測試

接收的信息主要有主站發來的“通信信息”以及巡檢人員自身的位置信息及ic卡的信息。最終得到以下界面圖6所示:經過現場測試,電力巡檢軟件的藍牙功能、長報文功能都符合設計預期目標。終端長報文通信界面截圖如圖6所示。

圖5 長報文接收流程圖

圖6 長報文功能

5 結論

本文提出了采用北斗衛星導航系統中的短報文服務作為定位和通信手段來解決無移動網絡下電力巡檢的方法,并且結合高德地圖,實現位置信息在地圖上的顯示。本設計針對電力巡檢人員的實際需求,融合了藍牙通信、高德地圖、北斗長報文等功能與一體,基于安卓系統的APP開發,并通過實際測試實現預期的功能,經檢驗符合電力巡檢人員的功能需求,達到設計的預期結果。

猜你喜歡
手持機字節報文
基于J1939 協議多包報文的時序研究及應用
No.8 字節跳動將推出獨立出口電商APP
CTCS-2級報文數據管理需求分析和實現
淺析反駁類報文要點
No.10 “字節跳動手機”要來了?
基于WIA—PA的無線手持機設計
簡談MC7字節碼
從拿手機 的姿勢看你是怎樣的人
北斗高精度手持機在航測外業中的應用
ATS與列車通信報文分析
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合