錢燦軍,曹毓華,房崇鑫
(1.揚(yáng)州萬方電子技術(shù)有限責(zé)任公司,江蘇 揚(yáng)州 225006;2.揚(yáng)州大學(xué) 信息工程學(xué)院,江蘇 揚(yáng)州 225127)
隨著傳感器技術(shù)、網(wǎng)絡(luò)技術(shù)和無線通信技術(shù)的高速發(fā)展,無線傳感器網(wǎng)絡(luò)得到了廣泛應(yīng)用[1]。無線傳感器網(wǎng)絡(luò)是由多個(gè)無線傳感器節(jié)點(diǎn)作為基礎(chǔ)搭建起來的系統(tǒng)框架,通過各種集成化的微型傳感器節(jié)點(diǎn)[2]協(xié)作地獲取對象相關(guān)數(shù)據(jù)[3],利用自組織無線通信網(wǎng)絡(luò)[4]將所感知信息傳送到匯聚節(jié)點(diǎn)[5],最終將數(shù)據(jù)傳達(dá)到信息中心[6]。
本文基于無線傳感器網(wǎng)絡(luò)技術(shù),設(shè)計(jì)了一種無線傳感器智能網(wǎng)關(guān),能夠很好地解決有線/無線異構(gòu)網(wǎng)絡(luò)互連互通問題。該網(wǎng)關(guān)的特點(diǎn)是可以對不同網(wǎng)絡(luò)的通信協(xié)議進(jìn)行轉(zhuǎn)換翻譯,將不同消息格式、不同通信協(xié)議[7]或不同結(jié)構(gòu)類型[8]的網(wǎng)絡(luò)互連起來,實(shí)現(xiàn)不同網(wǎng)絡(luò)協(xié)議間數(shù)據(jù)包的發(fā)送和接收。該研究能解決新一代船舶智能監(jiān)控系統(tǒng)中的信息采集、傳輸關(guān)鍵技術(shù),對船舶機(jī)艙關(guān)鍵部位如動力系統(tǒng)、通信系統(tǒng)和導(dǎo)航系統(tǒng)[9]等性能數(shù)據(jù)進(jìn)行實(shí)時(shí)收集和處理,建立船舶健康數(shù)據(jù)庫[10],找出設(shè)備性能變化趨勢,提前對設(shè)備故障進(jìn)行預(yù)測和告警,延長設(shè)備使用壽命。
本文基于無線傳感器網(wǎng)絡(luò)和以太網(wǎng)技術(shù),設(shè)計(jì)了監(jiān)控與預(yù)警系統(tǒng)中的無線傳感器節(jié)點(diǎn)的智能網(wǎng)關(guān)設(shè)備。智能網(wǎng)關(guān)設(shè)備是無線傳感器網(wǎng)絡(luò)的區(qū)域簇頭[11],其作為無線傳感器網(wǎng)絡(luò)的區(qū)域中心節(jié)點(diǎn),是無線傳感器網(wǎng)絡(luò)之間及無線傳感器網(wǎng)絡(luò)與外部網(wǎng)絡(luò)之間通信的關(guān)鍵。
從智能網(wǎng)關(guān)中多種主流無線數(shù)據(jù)傳輸協(xié)議和預(yù)處理功能出發(fā),對智能網(wǎng)關(guān)設(shè)備的關(guān)鍵技術(shù)進(jìn)行研究。
1.1.1 多種主流無線數(shù)據(jù)傳輸協(xié)議
智能網(wǎng)關(guān)設(shè)備的多協(xié)議[12]主要包括兩方面:一是能夠支持不同無線傳輸協(xié)議傳感器節(jié)點(diǎn)的接入、信息匯聚和消息格式轉(zhuǎn)換;二是能夠采用多種傳輸方式將本區(qū)域節(jié)點(diǎn)信息上傳信息中心。
針對船舶綜合監(jiān)測需要采集的信息種類較多,涉及的各類專用傳感器種類[13]也比較繁雜,不同種類的傳感器常常采用不同的通信傳輸方式。因此,智能網(wǎng)關(guān)需要能夠支持多種主流無線傳感器傳輸協(xié)議,如藍(lán)牙、ZigBee等。不同種類傳感器采集到的信息在智能網(wǎng)關(guān)處匯集并進(jìn)行消息格式轉(zhuǎn)換,然后按照管理系統(tǒng)的要求,重新封裝成為需要的格式,通過無線傳輸方式上傳給信息中心。研究的重點(diǎn)有以太網(wǎng)/藍(lán)牙網(wǎng)關(guān)、以太網(wǎng)/ZigBee網(wǎng)關(guān)等。
無線傳感器網(wǎng)絡(luò)構(gòu)成如圖1所示。多個(gè)ZigBee、藍(lán)牙節(jié)點(diǎn)組成某個(gè)區(qū)域傳感器網(wǎng)絡(luò)。由于監(jiān)控節(jié)點(diǎn)到信息中心,二者之間需要利用遠(yuǎn)/近距離傳輸,使各個(gè)監(jiān)控節(jié)點(diǎn)采集的數(shù)據(jù),逐層通過ZigBee、藍(lán)牙節(jié)點(diǎn)匯集到智能網(wǎng)關(guān)處。智能網(wǎng)關(guān)再通過無線/有線傳輸協(xié)議上傳給信息中心,在信息中心對收到的信息進(jìn)行進(jìn)一步的智能處理。
圖1 無線傳感器網(wǎng)絡(luò)構(gòu)成
1.1.2 預(yù)處理功能
采用分布式與集中式[15-16]相結(jié)合的處理方式,將各個(gè)傳感器采集到的信息在節(jié)點(diǎn)或節(jié)點(diǎn)的簇頭[17]處先進(jìn)行處理。如果是告警級別較低的事件,則直接通知執(zhí)行節(jié)點(diǎn)進(jìn)行相應(yīng)的燈光警告、聲音警告等處理,然后將處理后的告警信息類型上傳給信息中心。如果在節(jié)點(diǎn)或簇頭處處理時(shí),認(rèn)為是高等級告警事件或僅憑本地信息難以識別告警信息的具體類型時(shí),再將該信息上傳信息中心,等待信息分發(fā)平臺給出下一步命令,預(yù)處理示意如圖2所示。
圖2 預(yù)處理示意
本文設(shè)計(jì)的智能網(wǎng)關(guān)主要通過ZigBee協(xié)議、藍(lán)牙協(xié)議和IEEE802.3協(xié)議這3種常用的協(xié)議實(shí)現(xiàn)數(shù)據(jù)轉(zhuǎn)發(fā)和協(xié)議轉(zhuǎn)換兩大功能,智能網(wǎng)關(guān)協(xié)議棧結(jié)構(gòu)如圖3所示。
圖3 智能網(wǎng)關(guān)協(xié)議棧結(jié)構(gòu)
智能網(wǎng)關(guān)上的協(xié)議棧以以太網(wǎng)的TCP/IP協(xié)議棧[18]作為主體,轉(zhuǎn)換過程為:智能網(wǎng)關(guān)數(shù)據(jù)發(fā)送時(shí)將ZigBee網(wǎng)絡(luò)或藍(lán)牙網(wǎng)絡(luò)的幀格式轉(zhuǎn)換為以太網(wǎng)的幀格式,數(shù)據(jù)接收時(shí)將以太網(wǎng)的幀格式轉(zhuǎn)換為ZigBee網(wǎng)絡(luò)或藍(lán)牙網(wǎng)絡(luò)[19]的幀格式,通過這種轉(zhuǎn)換機(jī)制完成不同網(wǎng)絡(luò)協(xié)議棧的轉(zhuǎn)換。不僅如此,ZigBee網(wǎng)絡(luò)和藍(lán)牙網(wǎng)絡(luò)之間也可以通過智能網(wǎng)關(guān)協(xié)議棧進(jìn)行中轉(zhuǎn)傳輸,以TCP/IP協(xié)議棧的TCP/UDP傳輸層、IP網(wǎng)絡(luò)層和IEEE802.3 LLC層作為中轉(zhuǎn)介質(zhì),可實(shí)現(xiàn)ZigBee網(wǎng)絡(luò)和藍(lán)牙網(wǎng)絡(luò)間數(shù)據(jù)傳輸。因此,本文設(shè)計(jì)的智能網(wǎng)關(guān)不僅可以使ZigBee網(wǎng)絡(luò)和藍(lán)牙網(wǎng)絡(luò)接入以太網(wǎng),而且在ZigBee網(wǎng)絡(luò)和藍(lán)牙網(wǎng)絡(luò)間也可以進(jìn)行數(shù)據(jù)通信。
通過智能網(wǎng)關(guān)實(shí)現(xiàn)了船舶機(jī)艙關(guān)鍵部位無線傳感器網(wǎng)絡(luò)的數(shù)據(jù)采集和傳輸,船舶信息處理中心收到各部位關(guān)鍵性能數(shù)據(jù)后,動態(tài)建立船舶健康指標(biāo)數(shù)據(jù)庫,對關(guān)鍵性能指標(biāo)不間斷監(jiān)測。通過對船舶相關(guān)大數(shù)據(jù)進(jìn)行深度挖掘和特征提取,如圖4所示。找出設(shè)備性能變化趨勢,提前對設(shè)備可能出現(xiàn)的故障隱患進(jìn)行預(yù)測和告警。必要時(shí)及時(shí)對船舶設(shè)備進(jìn)行維修和保養(yǎng),從而能夠降低設(shè)備使用和保障費(fèi)用,延長設(shè)備使用壽命。
圖4 船舶性能數(shù)據(jù)采集、挖掘、呈現(xiàn)示意
智能網(wǎng)關(guān)硬件平臺的設(shè)計(jì)方案較多,為滿足船舶機(jī)艙區(qū)域內(nèi)無線網(wǎng)關(guān)的設(shè)計(jì)需求,從以下幾方面對硬件平臺主要參考指標(biāo)進(jìn)行了設(shè)計(jì)分析,從而優(yōu)選符合設(shè)計(jì)要求的最佳設(shè)計(jì)方案。
① 主控芯片處理性能。處理器性能是由多種因素決定的,如最大時(shí)鐘頻率、寄存器大小、指令執(zhí)行方式、Flash存儲空間和IO空間分配等。本文所述網(wǎng)關(guān)中不需要挑選速度最快的處理器,而是在于選取能夠完成業(yè)務(wù)需求的處理器和輸入/輸出子系統(tǒng)。為了方便船舶機(jī)艙區(qū)域監(jiān)控節(jié)點(diǎn)部署,主控芯片選用體積小、功耗低和設(shè)計(jì)方便的處理器。
② 外圍芯片性能指標(biāo)。嵌入式處理器一般都集成了豐富的外設(shè),而外設(shè)支持多、外圍芯片少的設(shè)計(jì)方案能夠節(jié)省大量的硬件設(shè)計(jì)開發(fā)周期,只需要簡單阻容或邏輯電容即可完成設(shè)計(jì)要求。
③ 軟件開發(fā)工具及調(diào)試工具。確定了主控處理器及外圍芯片設(shè)計(jì),選擇合適的開發(fā)工具和調(diào)試工具,可以加快對智能網(wǎng)關(guān)設(shè)備設(shè)計(jì)。
由于無線網(wǎng)絡(luò)是基于IP協(xié)議的,所以主控制器在以太網(wǎng)通信時(shí)要發(fā)送符合IP協(xié)議的數(shù)據(jù)包。本網(wǎng)關(guān)使用ARM、DSP等復(fù)雜指令集處理器,配合μC/OS-II或者Linux等嵌入式操作系統(tǒng),也能較容易地實(shí)現(xiàn)TCP/IP協(xié)議。主控制器中至少需要實(shí)現(xiàn)一部分IP協(xié)議, 同時(shí)設(shè)備成本合理,開發(fā)難度適中。
智能網(wǎng)關(guān)硬件平臺組成如圖5所示。智能網(wǎng)關(guān)主控制器為LM3S8962,TI的LM3S8000系列控制器基于ARM?CortexTM-M3技術(shù)[20],是業(yè)界領(lǐng)先的高可靠性實(shí)時(shí)微處理器MCU產(chǎn)品,與ARM架構(gòu)MCU中的以太網(wǎng)解決方案完美結(jié)合,其主頻50 MHz,內(nèi)置64 KB SDRAM,256 KB FLASH,JTAG調(diào)試,具備以太網(wǎng)、UART、CAN、I2C、SPI等接口。其數(shù)據(jù)收發(fā)節(jié)點(diǎn)模塊采用ZigBee模塊和藍(lán)牙模塊,可以在低功耗的環(huán)境下進(jìn)行信息傳達(dá)工作。
圖5 智能網(wǎng)關(guān)硬件平臺組成
針對面向船舶健康的智能網(wǎng)關(guān)的軟件設(shè)計(jì),其中包含數(shù)據(jù)節(jié)點(diǎn)軟件設(shè)計(jì)、傳感器采集程序設(shè)計(jì)和通信程序設(shè)計(jì)。利用三者的結(jié)構(gòu)銜接構(gòu)成信息傳輸與監(jiān)測的功能。
智能網(wǎng)關(guān)節(jié)點(diǎn)軟件設(shè)計(jì)包括ZigBee、藍(lán)牙節(jié)點(diǎn)軟件設(shè)計(jì)。ZigBee節(jié)點(diǎn)組網(wǎng)的實(shí)現(xiàn)需要ZigBee的Z-Stack協(xié)議棧支持,具有分層式結(jié)構(gòu)。協(xié)議棧的實(shí)現(xiàn)需要系統(tǒng)抽象層的配合,后置拓展的程序是建立在協(xié)議棧和操作系統(tǒng)的基礎(chǔ)上。ZigBee的組網(wǎng)實(shí)現(xiàn)由協(xié)議棧的網(wǎng)絡(luò)層負(fù)責(zé),在應(yīng)用層設(shè)計(jì)相應(yīng)的程序。本文在應(yīng)用層完成采集傳感器數(shù)據(jù),經(jīng)過封裝后無線傳輸?shù)絑igBee的協(xié)調(diào)器節(jié)點(diǎn)上。
藍(lán)牙節(jié)點(diǎn)的協(xié)議棧是BlueZ,BlueZ的協(xié)議棧分為內(nèi)核區(qū)和用戶區(qū)兩部分,內(nèi)核區(qū)包括BlueZ核心協(xié)議和驅(qū)動程序等,其中BlueZ-kernel和BlueZ-libs軟件包實(shí)現(xiàn)了主機(jī)控制接口和套接字功能。而在用戶區(qū)通過對智能網(wǎng)關(guān)的具體設(shè)計(jì)要求,利用庫函數(shù)自主開發(fā)實(shí)現(xiàn)藍(lán)牙設(shè)備的初始化、查詢等控制功能。
傳感器數(shù)據(jù)的采集以溫濕度采集為例。要實(shí)現(xiàn)溫濕度數(shù)據(jù)讀取[21],以MCU作為主機(jī),MCU連接到傳感器,測試傳感器的響應(yīng),開始準(zhǔn)備輸出數(shù)據(jù)。接著輸出40 bit數(shù)據(jù)(數(shù)據(jù)含義如表1所示),高位先輸出。
表1 40位數(shù)據(jù)對應(yīng)含義
上一節(jié)完成了對傳感器數(shù)據(jù)的讀取,本節(jié)實(shí)現(xiàn)溫濕度的周期發(fā)送。App_ProcessEvent 函數(shù)用戶應(yīng)用程序輪詢函數(shù),由操作系統(tǒng)不斷檢查是否相關(guān)事件觸發(fā),觸發(fā)之后執(zhí)行對應(yīng)的任務(wù)。其中 SAMPLEAPP_SEND_PERIODIC_MSG_EVT 為周期事件觸發(fā)標(biāo)志,每次觸發(fā)事件之后還需要添加下一次觸發(fā)事件。
發(fā)送溫濕度給網(wǎng)關(guān)需要一個(gè)通信協(xié)議,這樣網(wǎng)關(guān)接收到節(jié)點(diǎn)協(xié)調(diào)器才能指定到具體節(jié)點(diǎn)。因此制定通信協(xié)議如表2所示。其中消息頭和消息尾是固定的,節(jié)點(diǎn)編號是下載程序時(shí)給每個(gè)節(jié)點(diǎn)分配的一個(gè)不同于其他節(jié)點(diǎn)的編號,數(shù)據(jù)長度代表后續(xù)有效數(shù)據(jù)的長度。后面接著2個(gè)字節(jié)的濕度、2個(gè)字節(jié)的溫度,最后是校驗(yàn)值和消息尾。 校驗(yàn)值采用的是校驗(yàn)和。
表2 協(xié)調(diào)器發(fā)送數(shù)據(jù)格式
服務(wù)器采用國產(chǎn)申威多核處理器、自主體系架構(gòu)及國產(chǎn)基礎(chǔ)軟件研發(fā)成果,其特點(diǎn)是可以提供數(shù)據(jù)處理、存儲及管理功能。服務(wù)器主板主要由申威多核處理器、申威IO套片、PCI-E橋片PEX8747、網(wǎng)絡(luò)控制器T5ASIC40G、管理控制器ATS2400等組成,其原理如圖6所示。
圖6 服務(wù)器主板原理
通過CPU的內(nèi)存控制器提供8個(gè)DDR通道,最大可配置64 GB內(nèi)存。通過PEX8747擴(kuò)展多路PCI-E接口;提供1路PCIE2.0×4接口,用于連接申威套片;提供1路PCIE2.0×1接口,用于連接管理控制器AST2400;提供2路PCIE3.0×8接口,擴(kuò)展2路PCIE插槽,可用于接插RAID卡。通過網(wǎng)絡(luò)控制器T5ASIC40G提供1路40 Gb/s網(wǎng)絡(luò)接口和1路1 Gb/s網(wǎng)絡(luò)接口,連接到前面板,其中40 Gb/s網(wǎng)絡(luò)接口用于業(yè)務(wù)數(shù)據(jù)的傳輸,1 Gb/s網(wǎng)絡(luò)接口用于運(yùn)維管理數(shù)據(jù)的傳輸。通過AST2400提供1路VGA接口,連接到前面板,同時(shí)AST2400還能采集主板狀態(tài)信息,通過IIC接口傳輸給采集處理模塊。通過申威套片提供2路USB3.0接口和2路SATA接口,其中USB接口通過前面板對外,SATA接口放置的主板內(nèi)部。
服務(wù)器主板三維圖如圖7所示。
圖7 服務(wù)器主板三維圖
4.2.1 前端采集軟件
前端采集軟件實(shí)時(shí)采集船舶機(jī)艙關(guān)鍵部位性能數(shù)據(jù),采集數(shù)據(jù)經(jīng)過協(xié)議解析和加解密過程得到的數(shù)據(jù)導(dǎo)入內(nèi)存數(shù)據(jù)庫。通過結(jié)構(gòu)化表格方法對內(nèi)存數(shù)據(jù)庫中持久化功能層導(dǎo)入關(guān)系型數(shù)據(jù)庫。最終所有數(shù)據(jù)均通過管道方式加載到存儲數(shù)據(jù)庫。前端采集軟件架構(gòu)如圖8所示。
圖8 前端采集軟件架構(gòu)
數(shù)據(jù)源經(jīng)過前端采集設(shè)備以協(xié)議的形式進(jìn)行實(shí)時(shí)分析。協(xié)議分析主要為數(shù)據(jù)預(yù)處理、數(shù)據(jù)加解密、協(xié)議解析、數(shù)據(jù)抽取4個(gè)過程。數(shù)據(jù)預(yù)處理為數(shù)據(jù)的過濾、分類和校驗(yàn)。協(xié)議解析需要使用到流處理引擎,根據(jù)需要選擇實(shí)時(shí)性要求,實(shí)時(shí)性要求越高對硬件性能要求越高。加解密過程是對帶有密級信息進(jìn)行安全檢驗(yàn)。數(shù)據(jù)抽取是經(jīng)過分析后的數(shù)據(jù)進(jìn)行合并匯總與區(qū)分。
4.2.2 健康數(shù)據(jù)挖掘、檢索軟件
健康數(shù)據(jù)挖掘的任務(wù)是發(fā)現(xiàn)知識,發(fā)現(xiàn)事物發(fā)展的動態(tài)規(guī)律和模式,再基于當(dāng)前數(shù)據(jù)和得到的規(guī)律與模式,對事物的后續(xù)發(fā)展進(jìn)行推斷和預(yù)測。健康數(shù)據(jù)檢索的任務(wù)是快速訪問及模糊定位。通過對關(guān)鍵信息建立索引,并實(shí)時(shí)更新索引庫,可以加快查詢效率及查詢準(zhǔn)確性。
健康數(shù)據(jù)挖掘及檢索框架如圖9所示。
圖9 健康數(shù)據(jù)挖掘及檢索框架
船舶健康監(jiān)測服務(wù)器實(shí)物如圖10所示。服務(wù)器上部為顯示、控制單元,下部為服務(wù)器計(jì)算、存儲和管理單元,整機(jī)體積小、重量輕、功耗低,便于船舶無線傳感器智能網(wǎng)關(guān)數(shù)據(jù)采集和健康監(jiān)測環(huán)境使用。
圖10 船舶健康監(jiān)測服務(wù)器實(shí)物
本文完成了無線傳感器智能網(wǎng)關(guān)和健康數(shù)據(jù)監(jiān)測服務(wù)器的軟硬件平臺設(shè)計(jì),實(shí)現(xiàn)了以太網(wǎng)/藍(lán)牙網(wǎng)關(guān)、以太網(wǎng)/ZigBee網(wǎng)關(guān)的數(shù)據(jù)轉(zhuǎn)發(fā)和協(xié)議轉(zhuǎn)換功能,實(shí)時(shí)收集和處理船舶機(jī)艙關(guān)鍵部位性能數(shù)據(jù),建立船舶健康數(shù)據(jù)庫,對設(shè)備故障進(jìn)行預(yù)測和告警。另外,研究的智能網(wǎng)關(guān)設(shè)備具有通用性,在監(jiān)測區(qū)域部署多節(jié)點(diǎn)傳感器進(jìn)行數(shù)據(jù)信息采集、傳輸場合均能可靠使用,如在機(jī)場、倉庫和碼頭等區(qū)域監(jiān)測應(yīng)用,市場潛力巨大,具有廣泛的應(yīng)用推廣價(jià)值。