基于ZigBee的航標遙測終端
摘要:介紹了一種基于ZigBee無線傳感器網絡技術來實現航標遙測的新型終端,該終端是航標遙測遙控系統的關鍵部件。它的硬件電路采用S3C2410 ARM9微處理器、GPS模塊、ZigBee模塊和CDMA模塊搭建;軟件采用嵌入式ARM-Linux操作系統開發平臺,通過多線程的協同模塊化設計和模塊之間的有機組合,實現整個終端所需功能的程序設計。經過調試和移植,結果表明終端可以穩定地實現航標燈、GPS數據采集、Zig-Bee網絡和CDMA雙模數據傳輸功能和雙模自動切換、航標燈的遙測遙控等功能。
關鍵詞:ZigBee;遙控終端;ARM-Linux;多線程
0 引言
航標是船舶在海上安全運行的重要保障,航標遙測終端的主要功能是實現對航標運行狀態、參數的實時監控,并將數據傳輸到控制中心。對航標遙測終端的開發和研究已經將近10年,也取得了一些成果,對航標的管理和維護也有著重要的作用。但是,當前使用的航標遙測終端,由于處理器系統主要采用單片機,通信網絡采用GSM,CDMA,GPRS網等公網實現數據傳輸,使這種終端在功能和硬件資源方面有限,并在海上有的地方會出現通信的盲區或者信號不穩定,造成目前的航標遙測遙控終端還存在著性能和穩定性等方面的問題,還不能完全滿足現代化、信息化航標管理的要求。因此,使用新的技術和手段來開發航標遙測終端是相當必要的。
ZigBee無線網絡能夠通過自組網形式進行數據的實時傳輸,并具有低寬帶、功耗低、體積小、集成度高、成本低、安全等特點,目前已經在自動控制、遠程監控等領域得到了廣泛的應用。對于航標遙測系統,由于需要傳輸的數據量不大,所以采用高寬帶是多余的,而使用ZigBee技術是適合的。
因此,本文介紹一種在S3C2410處理器和ARM-Linux操作系統平臺下,基于ZigBee無線網絡的航標遙測終端的開發。
1 ZigBee無線傳感器網絡
1.1 ZigBee概述
ZigBee是一個由多到65 000個無線數傳模塊組成的無線數傳網絡平臺,在整個網絡范圍內,每一個ZigBee網絡數傳模塊之間可以相互通信,每個網絡節點間的通信距離可以從標準的75 m到幾百米、幾千米,并且支持無限擴展。ZigBee技術基于IEEE 802.15.4標準。ZigBee標準制定了IEEE 802.15.4的物理層、MAC層及數據鏈路層、網絡層、加密層及應用描述層,而且ZigBee聯盟對其網絡層協議和API進行了標準化。它的完全協議對于基本節點只有4 KB,而作為Hub或路由器的協調器也只有32 KB。每個協調器可連接多達255個節點,而幾個協調器則可形成一個網絡,對路由傳輸的數目則沒有限制。ZigBee聯盟還開發了安全層,以保證這種便攜設備不會意外泄漏其標識,使這種網絡遠距離傳輸的數據不會被其他節點獲得。可見,利用ZigBee模塊將航標組網,可以形成一個相互連接的航標網絡,實現航標狀態信息的遙測。
1.2 ZigBee模塊
本項目使用的ZigBee模塊是無線龍LBee系列模塊,它是基于IEEE 802.15.4/ZigBee標準生產的,兼具短、中、長距離的無線ZigBee網絡低功耗模塊。模塊工作在2.4 GHz的ISM頻段。本項目選用長距離的無線ZigBee網絡低功耗模塊,型號為CC2430-F128,室外可視的最遠通信距離可達2 000 m。對于廈金航線的航標之間的距離最遠是1 400 m左右,因此選用該模塊可滿足通信距離的要求。
LBee系列模塊采用的協議為ZigBee 2006,支持網狀、星狀、串狀等多種網絡拓撲。LBee系列模塊集成了所有的射頻組件,并已實現軟件升級、參數設置。模塊采用標準的AT指令接口,支持AT指令集,其AT指令的通用幀格式如圖1所示。圖中,幀頭為FEH;控制命令中COMD0,COMD1分別表示控制命令中的低字節和高字節;檢驗位是從控制命令到數據的每個字節的異或后所得的值。標志/狀態和有效數據長度對不同的幀是不一樣的,例如在發送數據的幀格式中,標志/狀態為一個字節,而在設置節點的通道、PANID、設備類型的幀格式中,標志/狀態位為2個字節,而有效數據長度變成了目的地址,且為2個字節,詳細的幀格式請參見文獻。這樣基于ZigBee技術的航標遙測終端的開發,需要做的工作就是連接電源、串口及I/O口。ZigBee模塊可以通過AT指令集來實現通信距離、信道、網絡參數、低功耗參數(工作模式)的設定以及收發數據包,并可通過編程來實現I/O控制、A/D采集、PWM輸出、定位等功能。
評論