吳建勇 蘇建歡 張成研

【摘 要】本文通過ZigBee(CC2530模塊)構建無線傳感網絡系統,通過傳感器采集航標燈工作情況,使用北斗衛星導航系統的定位功能(UM220模塊)實現定位數據的采集,并使用STC89C52單片機系統處理導航定位數據,所有數據通過北斗短報文(GYM2003B)發送到陸地控制中心。
【關鍵詞】無線傳感網絡系統;數據采集;北斗衛星導航系統
隨著全球經濟的發展,航標燈對船舶的指引作用越發重要。而隨著科技的不斷進步,航標燈已經從原始的天然航標發展為人工航標,對航標燈的維修檢測也從定期排查發展成遠程航標監控,實現遠程無人監控,大大縮減的人力的消耗。目前,大部分的系統使用的是“GSM+GPS+微處理器”的模式,此系統能夠完成遠程監控系統的功能,卻也存在著一些缺點:GSM系統在海洋領域存在著信號無法覆蓋的盲區,導致通信無法實現;GPS系統是美國軍方產品,在我國使用有著諸多限制。本文的設計則是基于我國自主研發的北斗衛星導航系統的基礎上,通過北斗系統所特有的短報文發送功能實現遠程無線通信,而且在海洋領域也不存在信號盲區,而使用ZigBee系統則可以大大減少系統的成本。
1 系統總體設計
系統的網絡結構體系可以分為3種類型:星狀結構、片狀結構、網狀結構。主要有ZigBee協調器節點、路由器節點和終端節點構成。無線傳感網絡系統一般主要由一個主節點和多個節點組成,主節點主要負責ZigBee網絡的組網和網內設備的管理,同時主節點上接有GYM2003B模塊,負責北斗短報文通信功能,而所有節點都接有UM220模塊實現定位功能。
如圖1系統結構圖所示,系統結構圖分為兩個部分。其中路由或終端節點部分結構相同,由UM220模塊采集定位數據,通過微處理器進行處理,ZigBee模塊接收微處理器發來的數據以及傳感器采集的數據,通過ZigBee網絡發送給協調器節點部分,協調器節點部分將所收集的信息通過北斗短報文模塊(GYM2003B)將信息發送給地面控制中心進行處理。
圖1 系統結構圖
2 終端硬件設計
本系統是基于ZigBee的短距離無線傳感網絡系統的基礎上,在一個ZigBee網絡中擁有一個協調器節點和多個路由、終端節點,節點會將它所采集的信息通過ZigBee無線網絡發送給協調器節點,協調器節點則通過北斗短報文發送功能將信息發送到地面控制中心。
2.1 ZigBee模塊設計
ZigBee模塊是構建底層無線網絡的核心。主要負責構建無線傳感網絡,將各航標聯系在一起,使各個節點能夠與匯聚節點通信。ZigBee模塊選擇TI公司的CC2530模塊,它具有低成本、高性能且能夠建立強大的網絡節點的特點,它在空曠地帶不使用增加發射功率的情況下,通信距離能夠達到100m,而示兩航標燈之間的距離可適當增加發射功率,其最遠通信距離可達到1000m,在ZigBee網絡中也可以通過增加路由器使得通信距離無線增加。并且CC2530內嵌增強型8051MCU系統,可在其IO口接傳感器用于接收采集到的信息。本系統中,通過CC2530模塊實現無線通信需要遵循以下步驟:調用協議棧提供的組網函數、加入網絡函數,實現網絡的建立與節點的加入;發送設備調用協議棧提供的無線數據發送函數,實現數據的發送發送數據的函數:afStatus_t AF_DataRequest(afAddrType_t *dstAddr,
endPointDesc_t *srcEP,
uint16 cID,
uint16 len,
uint8 *buf,
uint8 *transID,
uint8 options,
uint8 radius)
此函數最重要的核心參數是:uint16 len--發送數據的長度;uint8 *buf--指向存放發送數據的緩沖區的指針。cID為每一個消息的消息ID,用于消息識別并作相應處理。其在接收消息時使用osal_msg_receive
函數從消息隊列中接收一個消息,如果消息ID是AF_INCOMING_MSG_
CMD(協議棧中所定義的新消息的ID)再使用switch語句對消息ID判斷,并進行相應的數據處理。
2.2 北斗定位模塊
北斗定位模塊選用和芯星通公司的UM220型號,和芯星通UM220-ⅢN雙系統高性能GNSS模塊,能夠同時支持BD2B1、GPSL1兩個頻點,定位精度為2.5m,首次定位時間為32s,并且具有兩個串口,串口1為主串口,支持數據傳輸、固件升級功能,信號類型為LVTTL電平;串口2僅支持數據傳輸,不支持固件升級。其上電之后會通過串口把接收到的消息發送出去,其消息的基本格式如下:$MSGNAME,data1,data2,data3,…[*CC]\r\n。每條消息均為全ASCII字符組成的字符串,所有的消息都以‘$(0x24)開始,后面緊跟著的是消息名,之后跟有不定數目的參數或數據,消息名與數據之間以逗號(0x2c)進行分隔,最后是可選的校驗和,以‘*(0x2a)與前面的數據分隔。由于UM220會不斷的占用處理器的串口資源,并且需要處理器從接受的消息中提取出位置信息,則用一個微型處理器STC89C52用于接收并處理定位消息,并將位置消息通過串口發送給CC2530。
2.3 北斗短報文通信模塊
北斗短報文模塊GYM2003B則可以建立海洋與陸地的遠程無線通信系統,GYM2003B模塊通過北斗短報文收發信號的低噪聲放大、功率放大、上下變頻和基帶處理,實現北斗短報文收發功能。此模塊和外設之間傳輸以語句格式進行,每一個語句以字符‘$開始,緊接著5個語句ID字符,其后是數據體,末尾為校驗。
北斗短報文通信模塊中的消息分為用戶設備輸出至外設的語句和外設輸入到用戶設備的語句。當外設需要通過北斗短報文模塊發送消息時,需要先發送通信申請指令,例如,使用漢字編碼格式發送00時的16進制申請指令如下所示:
24 54 58 53 51 00 16 03 00 FF 44 03 00 FF 00 20 00 A3 B0 A3 B0 58上述短報文通信格式解析為:報頭前5個字節$TXSQ,0016表示通信申請指令的數據長度為22個字節,發送方ID占3個字節,電文編碼形式占1個字節,接收方ID占3個字節,本例中發送方與接收方為同一ID,00 20表示電文長度即電文內容為32位,是否應答位占1個字節,A3 B0 A3 B0為漢字編碼電文內容,最后為異或校驗和,除電文內容以外的固定字節數為18個字節。電文內容若用漢字編碼,則兩個字節表示一個漢字,電文內容總長度不超過200字節。
3 結束語
本文基于北斗衛星導航技術與ZigBee無線傳感網絡技術,利用北斗系統的短報文通信功能實現遠程通信及其定位功能,采用ZigBee無線傳感技術實現航標燈工作信息的采集以及實現短距離通信功能。系統采用ZigBee與北斗技術相結合的方式,綜合降低了建設成本,使用我國自主研發的北斗技術更加安全可靠,進一步擴展北斗系統的應用領域。
【參考文獻】
[1]章偉聰,俞新武,李忠成.基于CC2530及ZigBee協議棧設計無線網絡傳感器節點[J].計算機系統應用,2011,07:184-187+120.
[2]周權,盛黨紅.基于ZigBee的無線傳感器網絡設計[J].中國科技信息,2014.11.
[3]王小強,歐陽駿.ZigBee無線傳感器網絡設計與實現[M].化學工業出版社,2012.
[責任編輯:王楠]