陰極保護數據自動采集系統無線傳感器網絡通信協議方法
【專利摘要】本發明是一種陰極保護數據自動采集系統的無線傳感器網絡通信協議方法,涉及數字信息的傳輸和管道系統【技術領域】。本方法采用三層協議架構,從底層到上層依次為:物理射頻層、網絡層和應用層;所述物理射頻層將底層的數據封裝成幀結構,把CSMA-CA載波監聽沖突避免算法植入其中;所述網絡層通過調用物理射頻層封裝的軟件接口實現協議中數據包組建、檢索、輸入輸出控制和網絡層發送接收接口函數;所述應用層通過調用網絡層提供的軟件接口創建能實現各種應用層功能的應用程序接口函數。本發明能高保障通信,可大幅提升陰極保護數據自動采集系統的工作效率、降低管理成本、保障石油管道運輸安全性。
【專利說明】陰極保護數據自動采集系統無線傳感器網絡通信協議方法
【技術領域】
[0001]本發明是一種陰極保護數據自動采集系統的無線傳感器網絡通信協議方法,涉及數字信息的傳輸和管道系統【技術領域】。
技術背景
[0002]由于監測物理環境的重要性從來沒有像今天這么突出,物聯網已被視為環境監測、建筑監測、公用事業、工業控制、家庭、船舶和運輸系統自動化中下一個發展方向。從實現物聯網的功能來看,由微機電系統、片上系統、無線通信和低功耗嵌入式技術推動發展的無線傳感器網絡(Wireless Sensor Networks, WSN)具有非常好的應用前景。無線傳感器網絡是新型的傳感器網絡,由具有感知能力、計算能力和通信能力的大量微型傳感器節點組成,通過無線通信方式形成的一個多跳自配置的網絡系統,其目的是協作地感知、采集和處理網絡覆蓋區域中感知對象的信息,并發給觀察者。其強大的數據獲取和處理能力使其得到越來越多的關注。
[0003]在我國,石油管道運輸是國民經濟的五大運輸方式之一,為保障其安全性和可靠性需定期采集管道上的陰極保護數據用以監測管道的腐蝕狀況。現有的數據監控方式仍基本采用人工進行,采集一次數據時間很長,同步性非常差。由于管道運輸常常需要跨越偏遠、環境惡劣的無人區域,導致人工監測數據的成本高昂、困難多多。同時,由于管道運輸覆蓋范圍非常大,可達上千公里,導致鋪設和維護有線數據監測網絡的成本和困難難以承擔。因此,建立基于無線傳感器網絡的陰極保護數據自動采集系統是近年來管道運輸安全保障系統的發展方向。
[0004]CN102186258A公開了一種基于線形長距離的無線傳感器網絡通信協議方法,該方法設計了一種基于線形長距離的無線傳感器網絡的通信協議方法,主要用來實現拓撲分布為線形長距離的無線傳感器網絡的保障通信。但在現場應用過程中由于傳輸環境復雜,干擾較大的影響,丟包率較高,個別節點訪問時間過長等不足。
[0005]無線傳感器網絡通信協議是陰極保護數據自動采集系統開發的一個重點和難點。在實際開發過程中,現有的無線網絡通信協議都因網絡拓撲結構復雜、功耗大、成本高、開發周期長等特點無法滿足上述管道運輸環境的應用需求。基于此我們提出了應用于陰極保護數據自動采集系統的、具有能簡化實施工作,降低開發成本,縮短開發周期,降低處理器資源占用等特點的無線傳感器網絡通信協議方法。
【發明內容】
[0006]本發明的目的是發明一種適用于石油管道運輸應用環境、具有動態路由選擇、確認重傳、大數據包拆分發送和日志記錄回傳功能的高保障通信、可大幅提升陰極保護數據自動采集系統的工作效率、降低管理成本、保障石油管道運輸安全性的基于陰極保護數據自動采集系統的無線傳感器網絡通信協議方法。
[0007]本發明給出適用于管道運輸應用環境特點的無線傳感器網絡拓撲結構設計方案。管道運輸應用環境的地理特征基本為線形(直線或曲線,無重疊和交叉),其所需節點密度低(一般間隔0.5-lkm)、延伸距離長,且管道運輸在后期維護時根據實際情況需要增減節點或與其他網絡拓撲結構(如星型、網型)融合成混合網絡拓撲結構。基于管道運輸跨度范圍大、傳輸范圍廣、無人值守、無法持續供電、人工采集和鋪設有線線路成本高昂且實施困難巨大等相關特點,本發明給出了該無線傳感器網絡通信協議方法的整體設計框架、網絡拓撲結構設計、路由算法和相關功能性保障算法等的設計方案。
[0008]本發明設計的基于陰極保護數據自動采集系統的無線傳感器網絡通信協議方法,其設計方案主要包含以下部分:
[0009]本發明自主設計了滿足特定應用環境特點的無線傳感器網絡三層協議架構,以實現節點之間多跳接力式的通信。通信協議架構從底層到上層依次為:物理射頻層、網絡層和應用層,如圖1所不。
[0010]物理射頻層將底層的數據封裝成巾貞結構,把CSMA-CA (Carrier Sense MultipleAccess with Collision Avoidance:載波監聽沖突避免)算法植入其中,避免節點遭遇多路信號同時響應的問題;同時物理射頻層將節點物理地址固化其中,并封裝操作底層硬件的軟件接口,為網絡層提供直接控制物理射頻層的代碼接口。
[0011]網絡層通過調用物理射頻層封裝的軟件接口實現協議中數據包組建、檢索、輸入輸出(FI FO方式:First Input First Output)控制和網絡層發送接收等接口函數,同時在網絡層植入動態路由選擇算法、確認重傳算法和大數據包拆分發送算法保障在最低功耗下的高效、高保障數據傳輸。
[0012]應用層通過調用網絡層提供的軟件接口創建能實現各種應用層功能的應用程序接口(Application Programming Interface:API)函數,完成陰極保護數據自動采集系統需求的節點組網、數據請求、數據轉發、網絡遍歷、日志記錄回傳和網絡狀態反饋功能。
[0013]本發明通過分層的框架設計完成對數據包的分層處理,簡化處理過程、縮減處理器的資源占用以達到降低開發成本和節點功耗的目的。
[0014]本發明基于狀態機的概念在應用層自主設計了一個單線程操作系統用以控制整個協議正常運行,通過搭建注冊表完成每個端口號(PORT)與應用層API函數的一一對應,從而實現對節點之間多跳接力通信的邏輯和時序控制,如圖1所示。節點收到數據包后通過分析幀結構中攜帶端口號(PORT)來調用相應API函數,從而達到對指定節點實現特定功能的目的。
[0015]本發明給出的是一種適用于石油管道運輸應用環境特點的無線傳感器網絡通信協議方法,其網絡覆蓋范圍大,傳輸環境復雜,干擾影響大。為保障協議工作的穩定性和健壯性,本發明自主開發了靈活的動態路由選擇算法:其具有寬松的地址布局,允許增減網絡中鋪設的節點;通過升序的地址排列縮減路由表查詢范圍,提高協議工作效率;可靈活適應直線型、星型和網型的拓撲結構,方便后續管道升級改換時的網絡維護。動態路由選擇算法由以下幾個部分組成:
[0016]a)建立路由表:節點啟動時以各個發送功率(按照由小到大的順序)依次發送廣播包,根據收到的反饋數據包建立路由表,路由表記錄了在不同發送功率下所有可連接節點的通信地址;重啟節點可自動完成路由表更新功能。
[0017]b)查詢路由表:節點發送數據包前需查詢路由表,尋找最合適下一跳地址。選擇原則:以最小發射功率尋找跳數最低下一跳節點,當發送失敗時提高發送功率,在該發送功率下查詢路由表,再次尋找跳數最低的下一跳節點,以此類推,直至將數據包發送成功后結束。同時,主節點具備可查詢任意節點路由表信息的功能。
[0018]c)維護路由表:在節點發送和接收數據包時,可通過發送接收成功或失敗情況完成對路由表的更新。
[0019]本發明自主設計了三種算法用以保障通信協議方法功能的完善性、穩定性和健壯性,主要由以下組成:
[0020]a)確認重傳算法:節點收到數據包后向發送方回傳確認信息(Acknowledgement:ACK)。當發送方收到ACK時才可認為數據包發送成功;在一定時段中未收到ACK即認為發送失敗,失敗后在特定延時后進行數據包重傳,用以保障數據傳輸的完整性。
[0021]b)數據包拆分發送算法:用以實現大數據包傳送。當發送數據包過大時,協議可將大數據包切分成若干小數據包,并在每個小數據包幀結構中設置總分組包數、單包序號、單包ACK字段信息。其中單包序號用以標記小數據包在大數據包中的位置;總分組包數和單包ACK字段用以標記大數據包中哪個小數據包已收到,哪個未收到。當接收方接收完大數據包的所有分組后即將小數據包重組,并檢查單包ACK信息看是否每個小數據包都收至IJ,如有未收到的則單獨請求重傳。
[0022]c)日志記錄回傳算法:實現節點在工作過程中實時記錄其正常和異常的工作狀態作為工作日志,完成AP節點對特定節點請求日志信息用以了解當前節點和其上一跳、下一跳節點的工作狀態。為了用最少的數據量表達最多的節點工作狀態,本發明對節點工作狀態進行編碼,一個字節對應一個工作狀態,并在接收端進行解析,最大限度的提高了日志記錄效率,便于掌握整個網絡工作狀態。
[0023]基于陰極保護數據自動采集系統的無線傳感器網絡協議流程圖如圖3所示。具體是:
[0024]開始;
[0025]判斷目的地址是不是本節點?若不是,則轉發數據包,判斷轉發成功否?若轉發成功,則記錄日志,切換LED2,若轉發不成功,則進入重發機制;若目的地址是本節點,則轉
[0026]判斷端口號合法否?若不合法,則錯誤信息寫入日志;若合法,則
[0027]判斷本節點是AP節點嗎?若不是,則判斷端口對應功能函數是不是為空?如為空,則錯誤信息寫入日志;如不為空,則調用端口對應功能函數,判斷幀結構中信息部分不為空?如為空,則錯誤信息寫入日志,如不為空,則組裝輸出數據包將信息發回給發出命令節點,發送成功否?如發送成功,則切換LED2,記錄日志信息,如發送不成功,則進入重發機制;若本節點是AP節點,則
[0028]判斷數據包是否來自端口?若否,則將數據包經串口發給電腦;若是,則
[0029]判斷端口對應功能函數是不是為空?若為空,則錯誤信息寫入日志;若不為空,則調用端口對應功能函數;
[0030]判斷幀結構中信息部分不為空?若不為空,則組裝輸出數據包經串口發給電腦;若為空,則錯誤信息寫入日志。
[0031]本發明適用于石油管道運輸應用環境,具有動態路由選擇、確認重傳、大數據包拆分發送和日志記錄回傳功能的高保障通信,可大幅提升陰極保護數據自動采集系統的工作效率,降低管理成本,保障石油管道運輸安全性。
【專利附圖】
【附圖說明】
[0032]圖1基于陰極保護數據自動采集系統的無線傳感器網絡通信協議方法的框架結構圖
[0033]圖2基于陰極保護數據自動采集系統的無線傳感器網絡拓撲結構圖
[0034]圖3基于陰極保護數據自動采集系統的無線傳感器網絡協議流程圖
【具體實施方式】
[0035]實施例.本例的網絡拓撲結構如圖1所示,在運輸管道起始位置布置AP節點。AP節點具備相對較強的控制和處理能力,其主要有三種功能:第一,用以完成向網絡中發起各種命令來控制各個ED節點;第二,可實現匯聚各個ED節點數據并上傳的功能;第三,可實現與其他網絡(如以太網、GSM網等)的連接。在運輸管道上依次布置ED節點,其節點物理地址以升序排列,相鄰節點地址間隔可大于1,以便后期增減管道監測節點,與其它網絡拓撲結構兼容,增強網絡的可維護性。ED節點可完成兩種網絡功能:第一,可作為網絡中數據采集節點,采集管道陰極保護數據;第二,可作為網絡的中繼節點,完成節點數據多跳接力方式的傳送給目的節點。ED節點在不收發數據時處于休眠狀態,功耗極低。
[0036]本例采用芯片CClllO作為無線傳感器網絡節點進行數據轉發處理的核心。該芯片是一種真正低成本的無線片上系統(System on Chip, S0C),為低功耗無線應用而設計。其具有增強型8051單片機(Micro Control Unit,MCU)和無線收發模塊CC1100。其中8051MCU自帶32K Flash和4K RAM,用于下載和運行協議棧程序,控制節點收發數據的邏輯和時序;無線收發模塊CCllOO完成信號的收發。通信協議主要工作在ISM (Industrial,Scientific and Medical,工業、科學和醫療)開放的公共頻段433MHz。
[0037]本例自行設計了滿足管道運輸應用環境特點的無線傳感器網絡三層協議架構,從底層到上層依次為:物理射頻層、網絡層和應用層,如圖1所示。本發明實現編程語言為C語言,采用IAR embedded workbench集成開發環境實現,通過RS232串口將協議棧下載至無線通信模塊中用以實現網絡功能。
[0038]本例設計的無線傳感器網絡節點分為AP節點和ED節點兩種。其各自的工作流程如下:
[0039]I) AP節點:在網絡開始工作時,可通過上位機控制AP節點向網絡中發送命令數據包;命令數據包主要包含PORT信息(對應特定應用功能,如請求數據、遍歷網絡、請求日志信息等),最終目的地址、源地址、上一跳地址、下一跳地址、負載數據包、負載數據包長度、總分組包數、單包序號和單包ACK字段信息;命令數據包發送成功后,AP節點進入等待接收狀態,當有數據包到達AP節點時,AP節點將從等待接收狀態跳出并向發送方發送ACK信息,然后開始處理數據包,處理完畢后再次進入等待數據包狀態;在這里,數據包分為兩種:第一種是ED節點返回的結果數據包,AP節點會將其通過串口上傳給上位機;第二種是上位機通過串口發送給AP節點的命令數據包,AP節點根據其攜帶信息決定做何種處理,過程如圖3所不;
[0040]2)ED節點:ED節點缺省狀態為等待接收狀態。當數據包到達時ED節點轉入數據包處理狀態,它會查看數據包攜帶的目的地址是否指向自己;當目的地址指向自己時,則判斷該數據包攜帶端口號及端口號對應API函數是否合法:若合法,則調用對應API函數,在數據包負載中寫入需要返回的信息;若不是,則將錯誤信息寫入節點日志。當節點地址不是指向自己時,則根據動態路由選擇算法生成下一跳地址轉發數據包。若轉發成功則記錄信息并通過LED燈標示狀態,若轉發失敗則進入重傳機制,如圖3所示。
[0041]本例經試驗,適用于石油管道運輸應用環境,具有動態路由選擇、確認重傳、大數據包拆分發送和日志記錄回傳功能的高保障通信,可大幅提升陰極保護數據自動采集系統的工作效率,降低管理成本,保障石油管道運輸安全性。
【權利要求】
1.一種陰極保護數據自動采集系統無線傳感器網絡通信協議方法,其特征是無線傳感器網絡采用三層協議架構,從底層到上層依次為:物理射頻層、網絡層和應用層; 所述物理射頻層將底層的數據封裝成幀結構,把CSMA-CA載波監聽沖突避免算法植入其中;同時物理射頻層將節點物理地址固化其中,并封裝操作底層硬件的軟件接口,為網絡層提供直接控制物理射頻層的代碼接口; 所述網絡層通過調用物理射頻層封裝的軟件接口實現協議中數據包組建、檢索、輸入輸出控制和網絡層發送接收接口函數,同時在網絡層植入動態路由選擇算法、確認重傳算法和大數據包拆分發送算法保障在最低功耗下的高效、高保障數據傳輸; 所述應用層通過調用網絡層提供的軟件接口創建能實現各種應用層功能的應用程序接口函數,完成陰極保護數據自動采集系統需求的節點組網、數據請求、數據轉發、網絡遍歷、日志記錄回傳和網絡狀態反饋功能。
2.根據權利要求1所述的陰極保護數據自動采集系統無線傳感器網絡通信協議方法,其特征是所述動態路由選擇算法由以下幾個部分組成: a)建立路由表:節點啟動時以各個發送功率按照由小到大的順序依次發送廣播包,根據收到的反饋數據包建立路由表,路由表記錄了在不同發送功率下所有可連接節點的通信地址;重啟節點可自動完成路由表更新功能; b)查詢路由表:節點發送數據包前需查詢路由表,尋找最合適下一跳地址;選擇原則:以最小發射功率尋找跳數最低下一跳節點,當發送失敗時提高發送功率,在該發送功率下查詢路由表,再次尋找跳數最低的下一跳節點,以此類推,直至將數據包發送成功后結束;同時,主節點具備可查詢任意節點路由表信息的功能; c)維護路由表:在節點發送和接收數據包時,可通過發送接收成功或失敗情況完成對路由表的更新。
3.根據權利要求1所述的陰極保護數據自動采集系統無線傳感器網絡通信協議方法,其特征是所述確認重傳算法為:節點收到數據包后向發送方回傳確認信息;當發送方收到ACK時才可認為數據包發送成功;在一定時段中未收到ACK即認為發送失敗,失敗后在特定延時后進行數據包重傳,用以保障數據傳輸的完整性。
4.根據權利要求1所述的陰極保護數據自動采集系統無線傳感器網絡通信協議方法,其特征是所述數據包拆分發送算法為:當發送數據包過大時,協議可將大數據包切分成若干小數據包,并在每個小數據包幀結構中設置總分組包數、單包序號、單包ACK字段信息;其中單包序號用以標記小數據包在大數據包中的位置;總分組包數和單包ACK字段用以標記大數據包中哪個小數據包已收到,哪個未收到;當接收方接收完大數據包的所有分組后即將小數據包重組,并檢查單包ACK信息看是否每個小數據包都收到,如有未收到的則單獨請求重傳。
5.根據權利要求1所述的陰極保護數據自動采集系統無線傳感器網絡通信協議方法,其特征是所述日志記錄回傳采用日志記錄回傳算法,該算法為:實現節點在工作過程中實時記錄其正常和異常的工作狀態作為工作日志,完成AP節點對特定節點請求日志信息用以了解當前節點和其上一跳、下一跳節點的工作狀態。
6.根據權利要求5所述的陰極保護數據自動采集系統無線傳感器網絡通信協議方法,其特征是對節點工作狀態進行編碼,一個字節對應一個工作狀態,并在接收端進行解析,最大限度的提高了日志記錄效率,便于掌握整個網絡工作狀態。
7.根據權利要求1所述的陰極保護數據自動采集系統無線傳感器網絡通信協議方法,其特征是具體流程為: 開始; 判斷目的地址是不是本節點?若不是,則轉發數據包,判斷轉發成功否?若轉發成功,則記錄日志,切換LED2,若轉發不成功,則進入重發機制;若目的地址是本節點,則轉判斷端口號合法否?若不合法,則錯誤信息寫入日志;若合法,則判斷本節點是AP節點嗎?若不是,則判斷端口對應功能函數是不是為空?如為空,則錯誤信息寫入日志;如不為空,則調用端口對應功能函數,判斷幀結構中信息部分不為空?如為空,則錯誤信息寫入日志,如不為空,則組裝輸出數據包將信息發回給發出命令節點,發送成功否?如發送成功,則切換LED2,記錄日志信息,如發送不成功,則進入重發機制;若本節點是AP節點,則 判斷數據包是否來自端口?若否,則將數據包經串口發給電腦;若是,則判斷端口對應功能函數是不是為空?若為空,則錯誤信息寫入日志;若不為空,則調用端口對應功能函數; 判斷幀結構中信息部分不為空?若不為空,則組裝輸出數據包經串口發給電腦;若為空,則錯誤信息 寫入日志。
【文檔編號】H04W40/02GK103841620SQ201210490646
【公開日】2014年6月4日 申請日期:2012年11月27日 優先權日:2012年11月27日
【發明者】徐承偉, 薛致遠, 陳洪源, 郭正虹, 畢武喜, 王維斌, 林明春, 姜有文, 趙君, 陳振華, 吳長訪, 張豐, 滕延平, 沈光霽, 蔣先堯, 陳新華, 馮展軍, 康葉偉, 李明菲, 王禹欽, 王學一, 高山卜 申請人:中國石油天然氣股份有限公司