在以往內(nèi)河航道運輸中,航標(biāo)僅可提供單一視覺導(dǎo)航服務(wù),且極易出現(xiàn)漂移、丟失、故障定位不及時問題,同時還需要人工輔助采集風(fēng)向、風(fēng)速、GPS(全球定位系統(tǒng))信息,工作繁重且安全隱患高發(fā)。基于此,利用現(xiàn)代智能技術(shù),研究開發(fā)一種具備安全輔助機制的內(nèi)河航道智能航標(biāo)系統(tǒng)就具有非常突出的現(xiàn)實意義。
根據(jù)《航道養(yǎng)護管理規(guī)定》(交水發(fā)〔2010〕756號)、《中華人民共和國航標(biāo)條例》、《中華人民共和國內(nèi)河交通安全管理條例》的相關(guān)要求,基于現(xiàn)代智能技術(shù)的內(nèi)河航道航標(biāo)系統(tǒng)開發(fā)需求,航標(biāo)的運行正常率在90%~99%以上;同時,根據(jù)航道船只貨運量、年度通行情況劃分航道級別,以此進行航標(biāo)的智能編號,便于后期維護[1]。
如圖1所示,基于現(xiàn)代智能技術(shù)的航標(biāo)系統(tǒng)包括系統(tǒng)后臺、網(wǎng)絡(luò)節(jié)點、船載節(jié)點、組網(wǎng)節(jié)點4個模塊[2]。其中系統(tǒng)后臺主要是針對內(nèi)河航道行駛船只,搭載以GPS 模塊、ZigBee(紫蜂,低速短距離傳輸?shù)臒o線網(wǎng)上協(xié)議)模塊,實時獲取船只位置信息。隨后,經(jīng)紫蜂組網(wǎng)將獲取的內(nèi)河航道運行船只位置信息發(fā)送至組網(wǎng)節(jié)點;網(wǎng)絡(luò)節(jié)點負(fù)責(zé)以嵌入式ARM 主機(Advanced RISC Machine,RISC 微處理器)為核心,面向各個船載節(jié)點發(fā)出數(shù)據(jù)、航標(biāo)節(jié)點以及氣象傳感器、潮汐傳感器、水文傳感器模塊并進行解讀、剖析,經(jīng)4G 網(wǎng)絡(luò)將全部解析后的數(shù)據(jù)發(fā)送至網(wǎng)頁服務(wù)器。航標(biāo)管理者可以在后臺PC 端監(jiān)控模塊進行相關(guān)數(shù)據(jù)的實時處理;船載節(jié)點搭載了一個MCU(Microcontroller Unit,微控制單元)、紫蜂,可以與組網(wǎng)節(jié)點實現(xiàn)紫蜂點對點通信;組網(wǎng)節(jié)點搭載在航標(biāo)燈上,包括紫蜂和全球衛(wèi)星定位兩個模塊。
圖1 智能航標(biāo)系統(tǒng)總體結(jié)構(gòu)
基于現(xiàn)代智能技術(shù)的航標(biāo)系統(tǒng)硬件選用模塊化開發(fā)技術(shù)。即在紫蜂組網(wǎng)特點基礎(chǔ)上,將各承載紫蜂節(jié)點、全球衛(wèi)星定位模塊的數(shù)據(jù)轉(zhuǎn)發(fā)至網(wǎng)絡(luò)節(jié)點,在網(wǎng)絡(luò)節(jié)點上采用RISC 微處理器架構(gòu)的Tiny641DK 開發(fā)板,經(jīng)串口接口連接傳感器(溫濕度、風(fēng)速風(fēng)向等);隨后再經(jīng)模塊,將采集的環(huán)境信息、航標(biāo)節(jié)點位置信息轉(zhuǎn)移發(fā)送給后臺服務(wù)器。主控子模塊是微處理控制器,包括若干個模擬比較器、內(nèi)部時鐘源、模數(shù)轉(zhuǎn)換器、串口、定時器/脈寬調(diào)制器、鍵盤終端模塊及輸入/輸出管腳[3]。
基于內(nèi)河航道運輸特性,現(xiàn)代智能技術(shù)應(yīng)用下的航標(biāo)系統(tǒng)核心硬件為嵌入式主控制器,主要經(jīng)USB、UART 串口與DHT11 溫濕度傳感器(可輸出數(shù)字校準(zhǔn)信息號)、水流傳感器、降雨量傳感器、大氣壓強傳感器、能見度及水深傳感器、YGC-FX 風(fēng)速風(fēng)向傳感器(高強度材料、低延時)相連接。以風(fēng)向傳感器為例,其輸出為4 路5VTTL 開關(guān)格雷碼,需要經(jīng)電阻分壓后降至3.5VTTL 電平,并送入單片機IO管腳;同時考慮到固定在航標(biāo)燈上的風(fēng)向標(biāo)極易跟隨航標(biāo)燈的漂移而旋轉(zhuǎn)。因此,為避免標(biāo)定方向變化,需要在硬件上添加一個電子CMPS04 羅盤模塊;能見度及水深傳感器自身帶有485 總線輸出,可以直接采用航標(biāo)蓄電池的6V 電壓提升至24V 供其與多功能航標(biāo)終端對接通信;全球衛(wèi)星定位模塊則采用功耗低、性能優(yōu)越的UBLOXNEO 芯片,包括USB、單排串口兩種方式,且可支持熱啟動;電源模塊需要使用穩(wěn)壓電源LDO TPS56065 芯片,其具有高效率、低壓差的特點,可以將航標(biāo)燈上電池電壓降低至航標(biāo)系統(tǒng)運行水平。
基于現(xiàn)代智能技術(shù)的航標(biāo)系統(tǒng)軟件采購結(jié)構(gòu)劃分方式,包括底層、中間層、上層三個層次。其中,底層組網(wǎng)節(jié)點涵蓋了路由節(jié)點(搭載全球衛(wèi)星定位模塊)、主控節(jié)點、終端節(jié)點(搭載全球衛(wèi)星定位模塊),負(fù)責(zé)數(shù)據(jù)采集、組網(wǎng);中間層組網(wǎng)節(jié)點包括RISC 微處理器上的應(yīng)用程序,即客戶端傳感器采集、發(fā)送以及嵌入式Linux系統(tǒng)移植;上層程序主要負(fù)責(zé)基于網(wǎng)絡(luò)節(jié)點的數(shù)據(jù)收發(fā)、監(jiān)聽,即接收經(jīng)網(wǎng)絡(luò)傳輸?shù)母鞴?jié)點航標(biāo)全球定位系統(tǒng)數(shù)據(jù)、氣象環(huán)境信息(網(wǎng)絡(luò)節(jié)點),并將其實時存入數(shù)據(jù)庫內(nèi)。
在底層紫蜂終端軟件設(shè)計階段,為了保障其在搭載各航標(biāo)時順利獲取航標(biāo)經(jīng)度及維度信息,可以利用自組網(wǎng)的方式,經(jīng)紫蜂路由節(jié)點,將全球衛(wèi)星定位模塊上承載的航標(biāo)經(jīng)緯度數(shù)據(jù)發(fā)送到紫蜂網(wǎng)關(guān)節(jié)點。紫蜂組網(wǎng)拓?fù)浣Y(jié)構(gòu)多樣,對應(yīng)的應(yīng)用范疇也具有一定差異?;趦?nèi)河航道信息“多級跳”特點,本次采用具有自組織、自愈合功能的MESH 網(wǎng)絡(luò)結(jié)構(gòu)。主控節(jié)點與嵌入式主機開發(fā)板連接,實現(xiàn)數(shù)據(jù)實時遠距離交互;終端節(jié)點收集數(shù)據(jù),經(jīng)路由節(jié)點轉(zhuǎn)發(fā)至主控節(jié)點,達到多層級數(shù)據(jù)實時、全面、準(zhǔn)確采集的目的[4]。
在中層嵌入式客戶端設(shè)計階段,可以在RISC 微處理器架構(gòu)上進行類UNIX 操作系統(tǒng)搭建。并利用C語言,調(diào)用各接口,將風(fēng)速風(fēng)向、航標(biāo)經(jīng)緯度、溫濕度信息傳送至服務(wù)端。具體傳送程序主要依據(jù)Pthread多線程思維,經(jīng)創(chuàng)建線程互斥鎖→創(chuàng)建形成→設(shè)置串口參數(shù)→獲取航標(biāo)燈質(zhì)數(shù)據(jù)→獲取互斥鎖→設(shè)置串口參數(shù)→串口獲取參數(shù)→LCD 顯示串口數(shù)據(jù)流程,實現(xiàn)多個終端傳感器數(shù)據(jù)的連接與處理;并經(jīng)Socket 網(wǎng)絡(luò)編程,實現(xiàn)數(shù)據(jù)→服務(wù)器端的發(fā)送,在數(shù)據(jù)成功發(fā)送至服務(wù)器端后則可以順利解鎖。
在上層服務(wù)器端軟件開發(fā)時,需要運用JavaSocket編程理念,配合select 多路復(fù)用機制,實現(xiàn)嵌入式客戶端航標(biāo)數(shù)據(jù)發(fā)送及多客戶端的同時監(jiān)聽。其具體流程為:開啟服務(wù)端→初始化Socket 服務(wù)端→Bind 綁定IP地址、端口號→啟動Listen 監(jiān)聽程序→文件描述符初始化為0→設(shè)置文件描述符→啟動select 多路復(fù)用機制→等待客戶端連接請求→添加描述至連接描述符數(shù)組→小于最大文件描述符數(shù)時處理數(shù)據(jù)并存入數(shù)據(jù)庫→在PC 端顯示。需要注意的是,數(shù)據(jù)庫內(nèi)的數(shù)據(jù)不僅包括航標(biāo)經(jīng)緯度信息,而且還包括航標(biāo)周邊礁石區(qū)、重點航道、淺灘等,需要在服務(wù)器端以編程的模式模擬對應(yīng)類型的數(shù)字通道;隨后以內(nèi)河航道船舶的安全距離為安全評測依據(jù),結(jié)合氣象環(huán)境參數(shù),預(yù)先估測相向碰撞軌跡和結(jié)果,適時發(fā)出預(yù)先警報消息及解決方案。
鑒于現(xiàn)代智能技術(shù)應(yīng)用下的內(nèi)河航道航標(biāo)系統(tǒng)實時在線運行,功能模塊多種多樣,因此,可以硬件平臺為基礎(chǔ),利用黑盒專用性測試手段,確定其在執(zhí)行任務(wù)時的表現(xiàn)。同時利用恰當(dāng)?shù)臏y試方法、工具,對系統(tǒng)終端軟件、硬件外設(shè)備配合協(xié)同度進行測試。
內(nèi)河航道智能航標(biāo)系統(tǒng)測試包括模塊測試、硬件測試、系統(tǒng)測試幾個階段。
模塊測試需要在編程結(jié)束后,以穩(wěn)定硬件為基礎(chǔ),在無其他可用數(shù)據(jù)傳遞模塊的情況下編寫應(yīng)用測試程序,并對各程序單元是否與需求功能相符進行逐一評測。比如,編寫AD 程序,讀取工作電流、蓄電池電壓等。
硬件測試需要利用高精度電阻表、萬用表、電壓表等工具,對各電路板、硬件模塊進行逐一測試。比如電源管理模塊電壓是否處于正常水平、電流電壓轉(zhuǎn)換模塊是否處于正常運行狀態(tài)等。
系統(tǒng)測試需要面向整個軟硬件系統(tǒng)開展測試,比如對航標(biāo)系統(tǒng)進行長時期壓力測試并判定其長時期工作平穩(wěn)性能等。具體測試時,可以利用白盒測試(根據(jù)源代碼組織結(jié)構(gòu)尋找軟件缺陷)、黑盒測試(根據(jù)硬件工作現(xiàn)象、程序功能尋找軟件缺陷)等不同方法,判定系統(tǒng)是否與規(guī)定要求相符合。
在實驗室內(nèi),對航標(biāo)系統(tǒng)終端各模塊、傳感器運行情況進行72h 測試,得出航標(biāo)系統(tǒng)終端各模塊、傳感器均處于正常運行狀態(tài),與系統(tǒng)開發(fā)要求相符;同時于當(dāng)月在淮河進行200h 實地測試,得出系統(tǒng)、傳感器無異常,且數(shù)據(jù)編碼、傳送較為準(zhǔn)確、可靠,達到了預(yù)期系統(tǒng)開發(fā)要求。
綜上所述,基于現(xiàn)代智能技術(shù)的內(nèi)河航道航標(biāo)系統(tǒng),可以經(jīng)后臺服務(wù)端對航標(biāo)工作狀態(tài)、位置進行遠距離監(jiān)控,切實實現(xiàn)智能化管理?;诖?,針對當(dāng)前航標(biāo)系統(tǒng)的弊端,可以選擇以ARM 主機、ZigBee、GPS 分別為主處理器、節(jié)點通訊器、定位裝置的嵌入式Linux(自由和開放源碼的類 UNIX 操作系統(tǒng))系統(tǒng)架構(gòu);結(jié)合航標(biāo)的工作狀態(tài)進行各航標(biāo)節(jié)點通訊組網(wǎng),預(yù)先對航道軌跡進行碰撞分析并制定防護策略,降低后期維護成本及人員工作壓力。