陳啟武,白天蕊
(西南交通大學 信息科學與技術學院,成都 610031)
面向貨運列車的物聯(lián)網(wǎng)實時在線監(jiān)控系統(tǒng)設計
陳啟武,白天蕊
(西南交通大學 信息科學與技術學院,成都 610031)
針對鐵路貨車行車安全狀態(tài)監(jiān)測系統(tǒng)的應用需求,設計一種基于物聯(lián)網(wǎng)技術的貨運列車監(jiān)控系統(tǒng)。系統(tǒng)采用ZigBee短距離無線通信技術搭建無線傳感網(wǎng)絡,通過各節(jié)車輛的傳感器節(jié)點采集數(shù)據(jù)發(fā)送到機車監(jiān)控平臺,然后通過GPRS網(wǎng)絡與地面監(jiān)控中心進行通信,實現(xiàn)車地數(shù)據(jù)的實時傳輸。經(jīng)測試,系統(tǒng)達到了良好的實時在線監(jiān)測效果,在鐵路貨車行車安全監(jiān)測領域具有廣泛的應用前景。
物聯(lián)網(wǎng);ZigBee;監(jiān)控系統(tǒng)
因列車貨運安全問題造成的事故居高不下,不僅給人民群眾的生命財產(chǎn)造成了巨大損失,也為社會帶來了嚴重的負面影響,鐵路貨運安全形勢十分嚴峻。長期以來,鐵路貨車行車安全監(jiān)測主要依賴人工勘驗和地面設備測量手段,如紅外線軸溫探測系統(tǒng)[1]。這種傳統(tǒng)的地面設備監(jiān)測方式不僅精度上很難達到要求,并且監(jiān)測參數(shù)較少、設備成本高。另外,由于貨運列車需要頻繁地解列編組、車內(nèi)無人值守、車廂也無固定電源,所以無法采取客車的車載總線、有人值守式監(jiān)控方案[2]。近年來,新興的物聯(lián)網(wǎng)技術憑借其諸多的優(yōu)勢,在智能電網(wǎng)、商業(yè)樓宇自動化、智能農(nóng)業(yè)、智能交通等領域上贏得了一席之地[3]。將物聯(lián)網(wǎng)技術應用到貨運列車,必將有力促進鐵路貨運安全事業(yè)的發(fā)展。
本文充分利用ZigBee無線傳感網(wǎng)絡和嵌入式技術,選取了貨運列車運行安全最重要的兩個參數(shù)—軸溫與煙火作為監(jiān)測對象。在每節(jié)車廂的轉(zhuǎn)向架軸箱里安置一個ZigBee節(jié)點用于采集軸溫和煙霧數(shù)據(jù),通過ZigBee無線傳感網(wǎng)絡發(fā)送到機車監(jiān)控平臺,在機車部分實現(xiàn)列車狀態(tài)的集中監(jiān)控。機車監(jiān)控平臺由匯聚節(jié)點(Sink)和以ARM為核心的嵌入式網(wǎng)關(Gateway)組成,司乘人員通過觸摸屏不僅能夠?qū)崟r地查看到整列車的狀態(tài)預警信息以采取及時的應對措施,還能利用監(jiān)控平臺軟件實現(xiàn)貨車的編組管理、數(shù)據(jù)查詢和網(wǎng)絡狀態(tài)控制等功能。嵌入式網(wǎng)關再將匯總數(shù)據(jù)通過GPRS網(wǎng)絡實時傳輸?shù)降孛姹O(jiān)控中心服務器,保持列車和地面對狀態(tài)數(shù)據(jù)的同步監(jiān)控,并將數(shù)據(jù)實時保存到數(shù)據(jù)庫中,便于專家分析歷史數(shù)據(jù)。系統(tǒng)總體方案設計如圖1所示。
圖1 系統(tǒng)方案總體框圖
2.1 數(shù)據(jù)采集節(jié)點設計
圖2 CC2530外圍電路
數(shù)據(jù)采集節(jié)點主要由無線通信模塊、傳感器模塊和電源模塊三部分組成。無線通信模塊采用兼容 ZigBee 2007 協(xié)議的 SoC 處理器 CC2530 實現(xiàn),CC2530內(nèi)置業(yè)界領先的RF轉(zhuǎn)發(fā)器,并結(jié)合增強型的8051內(nèi)核MCU。CC2530具有256 KB Flash ROM、8 KB RAM、兩個UART接口并可復用的SPI接口、8通道的ADC并具有不同電源運行模式,非常適合超低功耗需求的系統(tǒng)[4]。CC2530外圍電路如圖2所示。
圖3 軸溫采集電路
傳感器模塊由軸溫與煙火傳感單元組成。軸溫傳感單元選取了Maxin公司推出的數(shù)字溫度傳感器DS18B20。DS18B20結(jié)構(gòu)簡單,只有3個引腳(GND、DQ、VDD),通過一根數(shù)據(jù)線DQ就能獲取數(shù)字溫度值;支持多點組網(wǎng)功能,多個DS18B20可共用一根通信線, 以實現(xiàn)多點測溫;具有溫度報警功能,用戶可設置報警溫度等[5]。貨運列車的每節(jié)車廂有8個軸承,因此需要8個DS18B20檢測軸承的絕對溫度;同時,每節(jié)車廂還應配備1個DS18B20用于檢測環(huán)境溫度,以設定相對溫度報警值。本文利用CC2530的P0_6口接DS18B20的DQ,單總線上一次性采集9個溫度,軸溫采集電路如圖3所示。
煙火傳感單元采用集成的智能傳感器MQ-2模塊。MQ-2屬于表面離子式N型半導體,其對可燃氣體如CO和火災燃燒時所產(chǎn)生的煙霧具有較好的靈敏判別,這對油罐、洗煤等載有易燃物的貨車火災檢測十分有用。該模塊工作電壓為5 V,具有模擬量和TTL開關電平雙路信號輸出,模擬量輸出0~5 V電壓,煙霧濃度越高電壓越高。由于CC2530芯片的ADC接口最高只能承受3.3 V電壓,因此還需設計一個分壓電路才能進行有效采集,如圖4所示。CC2530的P0_7口用于檢測TTL電平信號,P2_0口檢測模擬信號。
由于貨車車內(nèi)無電源,電源模塊采用1節(jié)5 V的干電池供電,5 V電源通過DC-DC變換器HT7533得到3.3 V工作電壓,保證采集節(jié)點穩(wěn)定可靠地工作。
圖4 煙霧傳感器AD轉(zhuǎn)換電路
2.2 機車監(jiān)控主機設計
機車監(jiān)控主機選用了北京訊為電子公司生產(chǎn)的iTOP-4412精英版開發(fā)板作為開發(fā)平臺。其核心板搭載了一塊Samsung公司推出的基于ARM Cortex-A9內(nèi)核的芯片Exnoys 4412,在設計上采用SCP封裝形式,集成了1 GB DDR3內(nèi)存芯片、2 GB NAND Flash外部存儲器和Samsung公司專為Exnoys 4412處理器匹配設計的電源管理芯片等。開發(fā)板底板具有豐富的外圍資源,具有3路UART、2路USB 2.0 HOST、RGB-LCD接口等多種資源。機車監(jiān)控主機系統(tǒng)框圖如圖5所示。ZigBee無線傳感器網(wǎng)絡與嵌入式平臺通過串口交換數(shù)據(jù),底板的兩個9針RS232串口,一個用于ZigBee協(xié)調(diào)器串口連接,另一個可用于 PC 輔助開發(fā)時串口控制;2路USB接口可分別掛接GPRS模塊和鼠標;TFT-LCD接口可支持4.3 寸觸摸屏,便于人機交互;同時板載的一個蜂鳴器可用于遇到緊急情況時蜂鳴報警。
圖5 機車監(jiān)控主機系統(tǒng)框圖
系統(tǒng)軟件包括ZigBee無線傳感網(wǎng)絡軟件設計和基于Qt的監(jiān)控主機軟件設計兩大部分。
3.1 ZigBee無線傳感網(wǎng)絡軟件設計
3.1.1 匯聚節(jié)點軟件設計
匯聚節(jié)點在系統(tǒng)中起到溝通采集節(jié)點和監(jiān)控主機的橋梁作用,主要負責整個ZigBee網(wǎng)絡的建立和運行,向網(wǎng)關設備上傳或接收數(shù)據(jù)。采用TI公司提供的ZigBee2007協(xié)議棧軟件,通過改寫ZStack的App層來創(chuàng)建所需項目,程序需要實現(xiàn)設備的初始化、協(xié)調(diào)器建網(wǎng)、節(jié)點加入網(wǎng)絡、數(shù)據(jù)信息的收發(fā)[6]。匯聚節(jié)點軟件設計流程如圖6所示。
圖6 匯聚節(jié)點軟件設計流程
匯聚節(jié)點與嵌入式網(wǎng)關串口通信的報文協(xié)議格式如下所示:
幀 頭車廂號傳感器數(shù)據(jù)鏈路質(zhì)量幀校驗幀 尾1字節(jié)5字節(jié)N字節(jié)1字節(jié)2字節(jié)1字節(jié)
其中幀頭表示數(shù)據(jù)幀的開始,系統(tǒng)設置為0xFE;車廂號是貨車出廠時唯一的標識,這里默認設置為5個字節(jié);傳感器數(shù)據(jù)為對應車廂號所存儲的軸溫和煙霧數(shù)據(jù);鏈路質(zhì)量LQI用于指示接收包的信號品質(zhì),判斷節(jié)點工作是否正常;幀校驗用于檢驗數(shù)據(jù)幀傳輸是否有誤,用兩個字節(jié)CRCH和CRCL實現(xiàn);幀尾為幀結(jié)束符0x0D。
考慮到貨車頻繁解列編組的特殊應用情況,貨車在編組站重編組時,為了識別本車次所需要加入編組的車廂,設計了MAC地址白名單驗證機制。協(xié)調(diào)器組建網(wǎng)絡后,監(jiān)控主機通過串口給協(xié)調(diào)器發(fā)送所要加入編組車廂對應節(jié)點的MAC地址,并將其添加到白名單記錄中;子節(jié)點請求入網(wǎng)時會發(fā)起一個AssoReq指令,該指令包含該節(jié)點的物理地址;協(xié)調(diào)器收到后,在ZDO層驗證該地址是否在白名單記錄中,若不在則返回一包拒絕信息,否則允許其加入網(wǎng)絡,并修改子節(jié)點表的信息。主要設計思路是在Zstack協(xié)議棧ZDO層的ZDApp.c中修改ZStatus_t ZDO_JoinIndicationCB(uint16 ShortAddress, uint8 *ExtendedAddress,uint8 CapabilityFlags, uint8 type)函數(shù),該函數(shù)可以直接接駁NWK層處理子節(jié)點請求入網(wǎng)的事件,在此加入白名單驗證,不合法的地址直接返回ZFailure。修改后ZDO_JoinIndicationCB()函數(shù)核心代碼如下:
ZStatus_t ZDO_JoinIndicationCB(uint16 ShortAddress, uint8 *ExtendedAddress,uint8 CapabilityFlags, uint8 type)
{
uint8 flag=0; //MAC地址白名單比對結(jié)果標志
uint8 buf[16]={0}; //存儲待加入節(jié)點的MAC地址
To_string(buf,ExtendedAddress,8);
//調(diào)用To_string函數(shù)使MAC地址以十六進制形式存入buf數(shù)組
for(uint8 i=0;i //遍歷MAC地址白名單列表 if(osal_memcmp(buf,extAddrsList[i],16)==true){ //比對成功則跳出執(zhí)行下面的事件 flag=1; break; } } if(!flag) //若比對的結(jié)果不存在,則return ZFailure return ZFailure; …… } 3.1.2 采集節(jié)點軟件設計 采集節(jié)點在ZigBee網(wǎng)絡中既作為傳感器數(shù)據(jù)采集節(jié)點,又作為數(shù)據(jù)中繼轉(zhuǎn)發(fā)節(jié)點。采集節(jié)點上電并成功入網(wǎng)后,等待協(xié)調(diào)器發(fā)送采集命令“colldata”,然后觸發(fā)OSAL定時器事件周期性地采集并發(fā)送軸溫和煙霧數(shù)據(jù)給協(xié)調(diào)器。其軟件設計流程如圖7所示。 圖7 采集節(jié)點軟件設計流程 為了保證整個系統(tǒng)可靠持續(xù)工作,可以對無線傳感器網(wǎng)絡做一定冗余。貨車遇到中途長時間停車情況時,系統(tǒng)通過協(xié)調(diào)器發(fā)送停止采集命令“collstop”,使節(jié)點進入休眠狀態(tài),以降低節(jié)點電池的能耗;當遇到節(jié)點工作異常時,系統(tǒng)通過協(xié)調(diào)器發(fā)送指令“colldata”喚醒網(wǎng)絡中的休眠節(jié)點,同時提醒車輛修護人員及時更換故障節(jié)點。采集節(jié)點向匯聚節(jié)點上報數(shù)據(jù)包格式如下(N=1,…,8): 車廂號環(huán)境溫度N號軸溫N號軸承狀態(tài)煙霧濃度煙霧狀態(tài)5字節(jié)2字節(jié)2字節(jié)1字節(jié)2字節(jié)1字節(jié) 3.2 基于Qt的嵌入式監(jiān)控軟件設計 3.2.1 GUI開發(fā)環(huán)境的搭建 對于嵌入式平臺上運行的監(jiān)測軟件,本文采用 Qt 進行開發(fā)。Qt 具有良好封裝機制,模塊化程度非常高,跨平臺性好。同時,Qt提供了一種信號與槽通信機制來替代回調(diào)函數(shù),這使得事件響應管理更加容易;Qt支持 2D/3D 圖形渲染,這為監(jiān)測軟件中數(shù)據(jù)處理、圖像繪制等部分開發(fā)提供了必要的條件[7]。 由于采用不同的交叉編譯工具鏈編譯 Linux 內(nèi)核與 Qt 的 x11 庫、ARM 庫會造成多種編譯錯誤。本文選用了arm-linux-gcc4.3.1 編譯 Linux 內(nèi)核、Qt 的 x11 庫及ARM庫,選用 qt-opensource-src-4.7.1作為GUI用戶界面設計庫。同時在 PC 機上通過 VMware 安裝Ubuntu12.04,搭建交叉編譯環(huán)境,通過 SSH Secure File Transfer Client 完成代碼的移植,采用超級終端實現(xiàn)串口信息打印和對目標板控制[8]。 3.2.2 軟件工作流程及主要功能 基于Qt的嵌入式監(jiān)控平臺軟件開發(fā)流程如圖8所示。 圖8 基于Qt的嵌入式監(jiān)控平臺軟件開發(fā)流程圖 軟件主要功能如下: ① 串口通信功能。采用QThread線程監(jiān)聽串口,當有數(shù)據(jù)發(fā)送過來就接收處理。軟件具備網(wǎng)絡控制功能,以控制串口是否接收數(shù)據(jù),并通過廣播命令幀的方式控制節(jié)點是否工作。 ② 參數(shù)顯示功能。本軟件將數(shù)據(jù)分類處理后,在“狀態(tài)監(jiān)測”界面對傳感器的數(shù)據(jù)進行實時顯示。顯示的參數(shù)狀態(tài)信息為各節(jié)車輛的8個軸承溫度、1個環(huán)境溫度以及煙霧濃度,并可以通過顏色變化直觀地顯示各軸承和車內(nèi)煙火的預警狀態(tài)。狀態(tài)監(jiān)測界面效果如圖9(a)所示。 ③ 編組管理功能。貨車在編組站進行編組時,用戶可通過編組管理選項中的“查詢添加”功能直接輸入車廂號即可加入當前車次的編組,若數(shù)據(jù)庫中不存在待加入車廂的信息,可利用“手動添加”功能輸入車廂號和MAC地址加入編組,從而解決了ZigBee自組織網(wǎng)絡給貨車編組帶來的難題。編組管理界面效果如圖9(b)所示。 ④ 數(shù)據(jù)遠程發(fā)送功能。匯聚節(jié)點接收到ZigBee網(wǎng)絡的原始數(shù)據(jù)通過GPRS網(wǎng)絡傳輸?shù)降孛姹O(jiān)控中心,滿足了地對車的實時在線監(jiān)測需求。 ⑤ 網(wǎng)絡狀態(tài)監(jiān)測功能。實時更新ZigBee網(wǎng)路各節(jié)點的通信鏈路質(zhì)量,同時將離線節(jié)點編號保存下來,以通知車輛修護人員及時更換故障節(jié)點。 ⑥ 歷史數(shù)據(jù)查詢功能。采用SQLite嵌入式數(shù)據(jù)庫, 將匯聚節(jié)點接收到的數(shù)據(jù)通過分類信息后實時保存到數(shù)據(jù)庫中。貨車進入車輛段檢修時,檢修人員無需現(xiàn)場檢查熱軸隱患,只需在機車內(nèi)通過界面的數(shù)據(jù)查詢功能確認故障軸承的具體位置,從而大大提高了工作效率。歷史數(shù)據(jù)查詢界面效果如圖9(c)所示。 ⑦ 實時曲線查詢功能??赏ㄟ^查詢曲線,直觀地查看和分析各車輛軸溫的變化趨勢。實時曲線查詢界面效果如圖9(d)所示。 圖9 監(jiān)控軟件界面設計效果組圖 本文利用Qt在Windows平臺下編寫了地面監(jiān)控中心上位機監(jiān)控軟件,最后在實驗室條件下搭建了開發(fā)測試環(huán)境。測試結(jié)果表明,所設計的ZigBee無線傳感網(wǎng)絡、嵌入式平臺與地面監(jiān)控中心上位機能夠正常通信,監(jiān)測系統(tǒng)軟件可實現(xiàn)狀態(tài)參數(shù)實時顯示、車廂編組管理、數(shù)據(jù)存儲、查詢與節(jié)點通信質(zhì)量監(jiān)測等功能。本文采用了ZigBee 技術實現(xiàn)車載實時在線監(jiān)測,不僅避免了貨車因頻繁的解列編組帶來的車廂間相互獨立、無法連線的難題,而且使得安裝與維護更為方便;同時嵌入式系統(tǒng)的引入使得監(jiān)測系統(tǒng)的專一性、可靠性得到提升,系統(tǒng)硬件成本也大幅降低。因此,本文所開發(fā)的面向貨運列車的物聯(lián)網(wǎng)監(jiān)控系統(tǒng)可為鐵路貨車行車安全監(jiān)測領域提供了一種新的模式。 [1] 李開臣.鐵道車輛紅外軸溫探測技術的研究與改進[D].北京:北京交通大學,2008. [2] 孫根強,王可心,劉娟,等. ZigBee無線傳感網(wǎng)絡在客車安全監(jiān)測系統(tǒng)中的應用[J].黑龍江科技信息,2010(7):9-10. [3] Kovacs A,Peroulis D,Sadeghi F. Early-Warning Wireless Telemeter for Harsh-Environment Bearings[C]//IEEE SENSORS 2007 Conference,2007:946-950. [4] Texas Instrument.CC2530 Datasheet,2009. [5] Dallas.DS18B20 Datasheet,2007. [6] 王小強,歐陽駿,黃寧淋.ZigBee無線傳感網(wǎng)絡設計與實現(xiàn)[M].北京:化學工業(yè)出版社,2012. [7] 李彬.Linux Qt GUI開發(fā)詳解(基于Nokia Qt SDK)[M].北京:北京航空航天大學出版社,2013. [8] 王宜祥,基于嵌入式與無線傳感器網(wǎng)絡的風機在線監(jiān)測與診斷系統(tǒng)[D].北京:北京工業(yè)大學,2014. 陳啟武(碩士研究生),主要研究方向為物聯(lián)網(wǎng)技術、嵌入式系統(tǒng);白天蕊(副教授),主要研究方向為數(shù)字集成電路設計。 (責任編輯:楊迪娜 收修改稿日期:2016-03-10) Railway Wagon Real-time Online Monitoring System Based on IoT Chen Qiwu,Bai Tianrui (School of Information Science and Technology,Southwest Jiaotong University,Chengdu 610031,China) Aiming at the demand of the railway wagon safety condition monitoring,a kind of railway wagon monitoring system based on the Internet of Things(IoT) is designed.The system applies ZigBee to build a wireless sensor network.The data is sent to the locomotive data monitoring platform via the sensor nodes of each vehicle,and the design communicates with the ground data monitoring center host through GPRS,so the real-time remote data transmission is achieved.The test results show that the system achieves the good results of real-time online monitoring,and has a wide range of applications in the railway wagon safety condition monitoring industry. IoT;ZigBee;monitoring system TP393 A4 系統(tǒng)測試與結(jié)論