◎ 許娟 廖銘勝 郭婧 天津海事局
李棟 天津天元海科技開發(fā)有限公司
港域環(huán)境監(jiān)測(cè)系統(tǒng)是一個(gè)建于港口,用于監(jiān)測(cè)港域海洋環(huán)境素(如水溫、潮流、流向、水位、風(fēng)力、風(fēng)向等),并為船舶進(jìn)出港、離靠泊提供安全保障的監(jiān)測(cè)服務(wù)網(wǎng)絡(luò)。其核心是及時(shí)將海洋環(huán)境要素觀測(cè)值予以傳輸和顯示。
為通航服務(wù)的海洋觀測(cè)浮標(biāo),最好是布設(shè)在航道,如果遠(yuǎn)離航道,其數(shù)據(jù)有效性將會(huì)大大降低。但傳統(tǒng)的多功能浮標(biāo),忽略了浮標(biāo)做為導(dǎo)助航設(shè)施的基本功能。為有效利用導(dǎo)航浮標(biāo),提高多功能浮標(biāo)采集數(shù)據(jù)的可靠性。
天津港復(fù)式航道是國內(nèi)首條采用復(fù)式交通組織方式、世界最大集裝箱船舶可便捷進(jìn)出港、雙進(jìn)雙出“四車道”大幅提升通行效率,在復(fù)式航道保駕護(hù)航下,天津港已經(jīng)同世界上180多個(gè)國家和地區(qū)的500多個(gè)港口實(shí)現(xiàn)貿(mào)易往來,120條集裝箱航線和每月550余班航班直達(dá)世界各地。復(fù)式航道口門,距離河北省唐山市曹妃甸區(qū)南堡鎮(zhèn)10海里,距離大沽燈塔11海里,距離天津市濱海新區(qū)東突堤16海里,移動(dòng)、電信、聯(lián)通三大運(yùn)營商信號(hào)覆蓋比較弱,不能實(shí)現(xiàn)實(shí)時(shí)數(shù)據(jù)傳輸業(yè)務(wù),利用北斗衛(wèi)星導(dǎo)航系統(tǒng)的短報(bào)文功能可以實(shí)現(xiàn)觀測(cè)數(shù)據(jù)的實(shí)時(shí)回傳。
圖1是2019年2月27日,攜帶電信設(shè)備進(jìn)行拉距測(cè)試信號(hào)圖,實(shí)線是有信號(hào)區(qū)域,虛線是無信號(hào)區(qū)域。在大沽燈塔以內(nèi)信號(hào)很好,在東北和正東以及東南方向,離大沽燈塔12公里左右沒有信號(hào)。
圖2是2019年4月2日,攜帶電信設(shè)備進(jìn)行拉距測(cè)試信號(hào)圖,實(shí)線是有信號(hào)區(qū)域,虛線是無信號(hào)區(qū)域。在大沽燈塔以內(nèi)信號(hào)很好,在正東以及東南方向,離大沽燈塔12公里左右信號(hào)非常弱,在1號(hào)燈浮標(biāo)開始陸續(xù)有信號(hào)是河北省電信基站的信號(hào),推測(cè)是唐山市豐南區(qū)黑沿子鎮(zhèn)或者唐山市曹妃甸區(qū)南堡鎮(zhèn)轄區(qū)內(nèi)的基站。
圖3是2019年4月2日,攜帶移動(dòng)設(shè)備進(jìn)行拉距測(cè)試信號(hào)圖,實(shí)線是有信號(hào)區(qū)域,虛線是無信號(hào)區(qū)域。在大沽燈塔以內(nèi)信號(hào)很好,但在大沽燈塔以東信號(hào)就非常弱,在錨地和錨地東部航道,有河北省移動(dòng)基站的信號(hào),推測(cè)是豐南區(qū)黑沿子鎮(zhèn)轄區(qū)內(nèi)的基站。
2019年5月9日-6月19日在3號(hào)浮標(biāo)附近的2號(hào)浮標(biāo),進(jìn)行了長時(shí)間電信和移動(dòng)信號(hào)測(cè)試,在24號(hào)浮標(biāo)進(jìn)行了電信信號(hào)測(cè)試。
從圖4得知,2號(hào)浮標(biāo)電信信號(hào)通訊成功率20%左右,移動(dòng)信號(hào)通信成功率55%左右,但存在長時(shí)間無信號(hào)的情況,2019年6月11日-6月18日,移動(dòng)和電信信號(hào)都出現(xiàn)長達(dá)數(shù)小時(shí)無信號(hào)情況。無論是電信還是移動(dòng)信號(hào)都不穩(wěn)定。

圖1 2019年2月27日電信拉距測(cè)試圖
2019年6月2日-2019年6月6日,因大沽燈塔電信基站故障,導(dǎo)致2號(hào)浮標(biāo)和24號(hào)浮標(biāo)電信信號(hào)中斷。
中國北斗衛(wèi)星導(dǎo)航系統(tǒng)(英文名稱:BeiDou Navigation Satellite System,簡稱BDS)是中國自行研制的全球衛(wèi)星導(dǎo)航系統(tǒng),也是繼GPS、GLONASS之后的第三個(gè)成熟的衛(wèi)星導(dǎo)航系統(tǒng)。北斗衛(wèi)星導(dǎo)航系統(tǒng)(BDS)和美國GPS、俄羅斯GLONASS、歐盟GALILEO,是聯(lián)合國衛(wèi)星導(dǎo)航委員會(huì)已認(rèn)定的供應(yīng)商。
北斗衛(wèi)星導(dǎo)航系統(tǒng)由空間段、地面段和用戶段三部分組成,可在全球范圍內(nèi)全天候、全天時(shí)為各類用戶提供高精度、高可靠定位、導(dǎo)航、授時(shí)服務(wù),并具備短報(bào)文通信能力,已經(jīng)初步具備區(qū)域?qū)Ш健⒍ㄎ缓褪跁r(shí)能力,定位精度10米,測(cè)速精度0.2米/秒,授時(shí)精度10納秒。
2020年7月31日上午10時(shí)30分,北斗三號(hào)全球衛(wèi)星導(dǎo)航系統(tǒng)建成暨開通儀式在人民大會(huì)堂舉行,中共中央總書記、國家主席、中央軍委主席習(xí)近平宣布北斗三號(hào)全球衛(wèi)星導(dǎo)航系統(tǒng)正式開通。
北斗衛(wèi)星的短報(bào)文通信功能是北斗衛(wèi)星系統(tǒng)相比于其他衛(wèi)星定位系統(tǒng)非常獨(dú)特和實(shí)用的功能,在海事系統(tǒng)應(yīng)用中,相對(duì)于其他的無線通信技術(shù),具有獨(dú)特的價(jià)值和優(yōu)勢(shì)。如AIS系統(tǒng)、公用無線蜂窩通信系統(tǒng)(3G、4G、GPRS)、海事VHF電臺(tái)無線通信方式的覆蓋范圍只能達(dá)到沿海數(shù)十海里的范圍,無法在廣闊的中國海域提供通信服務(wù);而海事衛(wèi)星或者其他衛(wèi)星通信服務(wù)的通信費(fèi)用非常昂貴,北斗衛(wèi)星的短消息通信功能對(duì)于在廣闊的中國沿海海域范圍內(nèi),可以提供費(fèi)用非常低的低帶寬通信功能,每個(gè)短消息可以發(fā)送約70個(gè)字節(jié)的信息量,這些信息量,對(duì)于海上船舶的指令傳遞、船舶、人員、貨物信息傳輸?shù)却罅筷P(guān)鍵的信息傳輸需求,具有很好的解決效果,同時(shí),可針對(duì)位置報(bào)告、指揮控制、身份識(shí)別、情況通報(bào)、海上救援、北斗系統(tǒng)公告等典型北斗通信應(yīng)用,設(shè)計(jì)精干高效、可靈活擴(kuò)展的專用短信代碼協(xié)議,實(shí)現(xiàn)基于北斗系統(tǒng)的海事業(yè)務(wù)信息的高效傳輸和精確應(yīng)用。
利用北斗傳輸?shù)暮Q笥^測(cè)航道浮標(biāo)采用“北斗通信終端”替換原有的數(shù)據(jù)傳輸單元,把原來的公網(wǎng)傳輸和北斗傳輸改造升級(jí)為北斗傳輸。在天津海事局船舶交通管理中心機(jī)房增加一臺(tái)“北斗指揮機(jī)”,該指揮機(jī)外接北斗天線,收發(fā)多功能浮標(biāo)的監(jiān)測(cè)數(shù)據(jù),該指揮機(jī)通過串口連接“北斗中轉(zhuǎn)服務(wù)器”,通過互聯(lián)網(wǎng)將多功能浮標(biāo)監(jiān)測(cè)數(shù)據(jù)傳輸給“服務(wù)器接收程序”并與之交互,在經(jīng)過改造后的“數(shù)據(jù)接口接入服務(wù)”程序?qū)崿F(xiàn)數(shù)據(jù)處理和保存。
當(dāng)要發(fā)送的消息長度超出北斗單條短消息最大允許長度時(shí),需要做好拆包、排序以及接收端的組包工作;做好數(shù)據(jù)丟包的續(xù)傳工作。
完整信息采用二進(jìn)制信息方式,以字節(jié)方式傳送。
指定文件被拆開并分包,每包為76個(gè)字節(jié),尾包不足76字節(jié),使用0填充為76個(gè)字節(jié),分包規(guī)則為:
(1)首包:
包標(biāo)識(shí)(1byte)+包數(shù)標(biāo)識(shí)(1byte)+有用信息總長度(2byte)+信息內(nèi)容(71byte)
包標(biāo)識(shí):一個(gè)數(shù)字,標(biāo)識(shí)此信息號(hào)碼,以后所有此信息子包均包含此包標(biāo)識(shí)。軟件自動(dòng)從16至255自動(dòng)輪流使用。0表示此包內(nèi)容為命令類型。(命令類型包用于保證包通訊中的重發(fā)流程)。1表示位置信息包。2-15數(shù)字暫時(shí)備用。
包數(shù)標(biāo)識(shí):表示此包在信息包流的位置。首包為1,類推。最多255包。(表示最大發(fā)送約255*74個(gè)字節(jié)。)
有用信息總長度:表示有用信息的總字節(jié)數(shù),不含包標(biāo)識(shí)、包數(shù)標(biāo)識(shí),有用信息總長度、校驗(yàn)碼等附加信息長度。
(2)中間包:
包標(biāo)識(shí)(1byte)+包數(shù)標(biāo)識(shí)(1byte)+有用信息總長度(2byte)+信息內(nèi)容(74byte)
(3)尾包:
包標(biāo)識(shí)(1byte)+包數(shù)標(biāo)識(shí)(1byte)+有用信息總長度(2byte)+信息內(nèi)容(74byte)

圖2 2019年4月2日電信拉距測(cè)試

圖3 2019年4月2日移動(dòng)拉距測(cè)試?yán)鄿y(cè)試
尾包中信息內(nèi)容不足74字節(jié),使用0填充為74字節(jié)。解包時(shí)候,在保證有用信息總長度正確的前提下,系統(tǒng)應(yīng)自動(dòng)判斷接收所有包數(shù),同時(shí)尾包內(nèi)填充字節(jié)自動(dòng)忽略。
(4)命令包
包標(biāo)識(shí)為0(1byte)+命令符(1byte)+參數(shù)(76byte)
包標(biāo)識(shí)為0,標(biāo)識(shí)命令型包。
有用信息長度:信息內(nèi)容中有用的字節(jié)數(shù)目。
命令包主要用于北斗通訊丟包時(shí)候的重發(fā)機(jī)制。
命令包內(nèi)容如下:
①ACK包
表示接收完整的命令包。
命令符:1(二進(jìn)數(shù)),參數(shù):可以為無。
包內(nèi)容格式:
00 01
② END包
表示發(fā)送完畢,等待下一步的命令。
命令符:2(二進(jìn)數(shù)),參數(shù):可以為無。
包內(nèi)容格式:
00 02
3)RESEND包
表示要求重發(fā)的命令包。
命令符:3(二進(jìn)數(shù)),參數(shù):需要重發(fā)的包數(shù)標(biāo)識(shí),一個(gè)字節(jié)表示一個(gè)包。如果是0,表示全部重發(fā)。參數(shù)數(shù)目由消息長度決定。

圖4 2019年5月9日-6月19日長時(shí)間測(cè)試

圖5 信息接收流程圖

圖6 數(shù)據(jù)接收流程圖

圖7 信息發(fā)送流程圖
包內(nèi)容格式:示例
00 03 00 resend命令全部重發(fā)
00 03 01 02 03 表示重發(fā)1,2,3號(hào)包
00 03 04 06 表示重發(fā)4,6號(hào)包
00 03 24 30 表示重發(fā)24,30號(hào)包
如果一條resend命令無法表示所有重發(fā)的包數(shù)(超過76個(gè)包),用戶則需要利用協(xié)議分步發(fā)送resend包。即先要求一部分重發(fā),再要求另外一部分重發(fā)。
(1)加密。采用DES密機(jī)制。針對(duì)信息文件采用密鑰進(jìn)行加密運(yùn)算。后臺(tái)計(jì)算機(jī)采用同樣密鑰進(jìn)行解密。
(2)壓縮。采用ZIP壓縮方式。利用JAVA壓縮代碼庫進(jìn)行壓縮。北斗硬件包發(fā)送和接收規(guī)則
約定:一個(gè)完整信息稱為“一條記錄”。
一個(gè)記錄被分包發(fā)送后,每一個(gè)發(fā)送包稱為“一個(gè)數(shù)據(jù)包”
發(fā)送方為:T方
接收方為:R方
考慮到多點(diǎn)對(duì)一點(diǎn)的情況(船對(duì)岸)以及北斗1分鐘發(fā)送的限制,通訊無法采用雙向握手通訊機(jī)制。故采用如下對(duì)話機(jī)制。
①理想情況無丟包
T方掃描數(shù)據(jù)庫,發(fā)現(xiàn)新的“一條記錄”后,將此記錄讀出,拆包,隨后將每個(gè)“發(fā)送包”存入發(fā)送臨時(shí)表中。
T方向R方發(fā)送首包。
R方收到首包后,存入接收臨時(shí)表中。
T方等待1分鐘,隨后發(fā)送第二包。
R方收到包后,存入接收臨時(shí)表中。

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

圖9 確認(rèn)接收幀流程圖

圖10 確認(rèn)超時(shí)流程圖
T方發(fā)送尾包后,等待R方回應(yīng)。
R方收到尾包后,如果完整收到,發(fā)送命令包(ACK)至T方。表示完整收到。
T方接收到ACK包,則刪除臨時(shí)表,寫入正是表信息發(fā)送正確,表示一條信息發(fā)送順利完成。
② 存在丟包T方
T方發(fā)送時(shí),任何時(shí)候都可能丟包,包括首、中、尾包。T方始終每分鐘發(fā)送,直至所有包發(fā)送結(jié)束。隨后進(jìn)入等待狀態(tài)。等待時(shí)間為W(W一般可以設(shè)定為3)分鐘,如果依然沒有回應(yīng),則重復(fù)發(fā)送命令包(END),直至回應(yīng)。如果發(fā)送N(一般為5)次后,依然沒有回應(yīng),則結(jié)束此記錄發(fā)送。
T方收到ACK命令包,則結(jié)束此記錄發(fā)送。
T方收到RESEND包,則依照RESEND內(nèi)容規(guī)定,連續(xù)發(fā)送數(shù)據(jù)包,直至所有resend包發(fā)送結(jié)束,進(jìn)入等待狀態(tài)(重復(fù)上面等待過程)。等待時(shí)間為W(W一般可以設(shè)定為3)分鐘,如果依然沒有回應(yīng),則重復(fù)發(fā)送命令包(END),直至回應(yīng)。如果發(fā)送N次后,依然沒有回應(yīng),則結(jié)束此記錄發(fā)送。
③存在丟包R方

圖11 浮標(biāo)圖片

圖12 系統(tǒng)展示圖
R方收到任何一個(gè)信息包后,均可以根據(jù)包內(nèi)容,獲取信息總字節(jié)數(shù)目,計(jì)算出總信息包數(shù)目。進(jìn)而判斷出自接收到此包后,至最后尾包發(fā)送結(jié)束,需要等待的分鐘數(shù)。如果收到命令包,則無需等待,直接回復(fù)。
R方待等待時(shí)間(等待所有包發(fā)送結(jié)束)過后,檢索接收臨時(shí)表,如果有遺漏數(shù)據(jù)包,則發(fā)送命令包(RESEND)至T方,同時(shí)計(jì)算出等待時(shí)間。
R方持續(xù)等待,待T 方將遺漏數(shù)據(jù)包發(fā)送。檢索接收臨時(shí)表,如果有遺漏數(shù)據(jù)包,則發(fā)送命令包(RESEND)至T方,同時(shí)計(jì)算出等待時(shí)間。
等待時(shí)間過后,R方如果接收完整,則給出ACK命令包。如果未完整,則給出RESEND命令包。
如果R方在等待期間收到任何END命令包,則按照等待時(shí)間結(jié)束處理。則根據(jù)信息完整性,給出RESEND或ACK命令包。如果此時(shí)R方臨時(shí)表為空(即沒有收到任何數(shù)據(jù)包),則R方給出的RESEND包中,參數(shù)為ALL,等待時(shí)間為2分鐘。
如圖11,12。
本文介紹了利用北斗傳輸?shù)暮Q笥^測(cè)航道浮標(biāo),該浮標(biāo)在2020年1月17日拋設(shè),經(jīng)歷了兩個(gè)冬季冰期考驗(yàn),連續(xù)1年運(yùn)行正常。