張國民+舒偉權+吳遠紅

摘 ?要:設計一個基于ZigBee的海洋深水網箱養殖環境數據監測系統。利用各種傳感器,監測網箱中的溫度、PH值及溶解氧等水質數據,通過ZigBee無線自組網技術和GPRS網絡將數據傳輸至智能手機終端,并在智能Android手機終端平臺實現數據的圖像化顯示。系統采用ZigBee無線組網技術,配合高性能處理器CC2530、DS18B20等,給出了系統的硬件結構和軟件設計方案。系統具有功耗低、組網靈活、可擴展性和實時性強等特點。
關鍵詞:ZigBee ?深水網箱養殖 ?數據傳輸 ?Android
深水網箱養殖作為海水養殖的一種新的模式,因其高投入、高產出、高效益,逐漸成為我國魚類養殖的重要方式。而海洋環境的多變性也增加了深水網箱養殖的風險,尤其是環境突變引起網箱周邊水質(包括水溫、PH值、溶解氧濃度等)的變化。水質的好壞直接或者間接影響到養殖生物的生長發育,直接影響到養殖戶的經濟效益。傳統的有線監控網箱技術,存在著水中布線困難、費時費力、可靠性不高、成本支出高等弊端。隨著信息通信技術的發展,一種新型的自組網技術ZigBee技術出現,并被廣泛應用到許多場合。本文涉及一種新型的基于ZigBee技術的深水網箱水質數據監測系統,并結合ZigBee和GPRS技術,將監測數據傳送到智能終端,方便養殖戶了解網箱環境的實時變化和及時采取相應措施。
ZigBee無線自組網
ZigBee是一種用于對數據傳輸速率要求不高、低功耗、短距離,基于IEEE 802.15.4無線標準無線雙線網絡通信技術。工作于2.4GHz全球統一的頻段,傳輸距離在10~75m之間,傳輸速率只有250KB/S一種,所以適合于傳感和控制領域。ZigBee具有低功耗、時延短、高容量、可靠、安全等特點,非常適合數量多且集中的局部網絡。
從網絡結構上看,ZigBee網絡可分為星形、樹形(簇狀)、網狀3種模型。其中網狀網絡結構將ZigBee網絡連接成一張網,網絡非常健壯,伸縮性好,可以同時通過多條通道進行數據的傳輸,傳輸的可靠性也非常強,克服了星形和樹形結構的節點之間的數據路由只有唯一的一個路徑,易在協調器處造成數據堵塞缺點,將被應用在本設計中。
圖1 ? 系統整體結構圖
數據采集
1、溫度數據采集
溫度傳感器采用Dallas 半導體公司的DS18B20,它可以通過簡單的編程實現9至12位的數字值讀取,并且DS18B20與微處理器連接時僅僅需要一條口線就能實現雙向通訊。
2、PH數據采集
PH測定采用工業級四線制Ag-AgCl復合玻璃電極。玻璃電極由導電、能滲透H+離子的特殊玻璃膜制成,參比電極由Ag-AgCl制成,在被測水體中兩者形成原電池。玻璃電極具有抗干擾性能好、測量精度高等特點。
溶液的溫度會影響檢測的結果,設計中在軟件方面根據溶液實際溫度值對PH值進行補償。設計采用差動輸入電路將其轉換到標準電信號。差動電路有很好的抗共模干擾噪音的能力,能適應海洋等復雜的環境。
3、溶解氧數據采集
溶解氧測定的方法,相比容量法、比色法、電流法、電導率法等方法,本設計使用的極譜式薄膜電極法具有靈敏度高,響應迅速,測量方法比較簡單。在實際情況下,水溫和氣壓會對參數產生影響,設計采用有溫度和氣壓補償的溶解氧極譜式電極D-811。設計由-5V電源生成-0.7V的極化電壓,加在溶解氧傳感器的兩端,使其產生0.7V的電壓差。由于極譜電極的輸出電流十分微弱,設計采用差動電流放大電流。
數據傳輸
1、ZigBee網間傳輸
系統采用點對點數據傳輸方式,ZigBee網絡內的任意節點之間,都可通過點對點傳輸指令傳輸數據。數據傳輸格式為:0xFD(數據傳輸指令)+ 0x0A(數據的長度) + 0x73 0x79(目標地址)+ 0x01 0x02 0x03 0x04 0x05 0x06 0x07 0x08 0x09 0x10(數據,共0x0A Byte)。數據接收方接收到來自發送方的全部數據,并在最后增加來源地址,即發送方地址(二個字節),低位在前。例如以0x7973連接至0x1431:0x7973發送的數據為:0xFD 0x0A 0x31 0x14 0x01 0x02 0x03 0x04 0x05 0x06 0x07 0x08 0x09 0x10;則在0x1431端接收到的數據:0xFD 0x0A 0x31 0x14 0x01 0x02 0x03 0x04 0x05 0x06 0x07 0x08 0x09 0x10。
結合ZigBee和GPRS的數據傳輸系統,包括ZigBee網絡和GPRS兩部分。ZigBee網絡通過網絡節點將采集數據以多跳變的方式傳送到ZigBee路由節點,路由節點將數據發送到網關,網關進行ZigBee數據包解析,從數據包中提取有效信息數據,進行協議轉換和數據包重新封裝打包成TCP/IP數據包,經過GPRS模塊的數據傳輸功能進行遠距離的傳輸。
2、GPRS數據傳輸
GPRS(General Packet Radio Service,通用分組無線服務技術)是在GSM系統基礎上采用分組交換技術的數據高速處理技術,支持TCP/IP網絡協議。通過在ZigBee協調器處增加GPRS傳輸模塊,在智能手機終端(Andriod APP)同樣安置GPRS模塊,利用移動運營商的GPRS移動網絡,實現數據的遠程傳輸。
軟件設計
1、ZigBee模塊軟件設計
設計采用高性能性片CC2530。CC2530芯片通過串口接收數據,對數據進行處理之后,通過串口和GPRS網絡將數據發送到服務器上。程序首先對接收數據的temp寄存器進行判斷,如果寄存器非空,就要對寄存器里面的數據送入緩存器中,為空則需要等待數據的再次送入。當數據從串口被送入,數據先被存放在緩存器中,當緩沖器放滿之后,就會產生中斷,進入中斷子程序。子程序將把緩存器中數據放入臨時temp寄存器中,當數據超過一定字符數或者遇到特殊字符時,則被認為是一個完整的數據流,temp寄存器將進入發送狀態。關閉temp寄存器的接收位功能,將temp寄存器內數據通過串口通過GPRS網絡發送至服務器。發送完畢,清空temp寄存器數據,回復接收數據狀態,等待數據的傳入。程序的流程圖如下:endprint
圖2 發送主程序和子程序流程圖
2、GPRS模塊設計
DTU是GPRS數據傳輸單元的簡稱,是專門用于將串口數據通過GPRS網絡進行無線傳輸的設備。內部集成TCP/IP協議,可實現雙向全透明傳輸。設計采用DTU T100,在DTU T100處放入一張開通GPRS功能的SIM卡,保證GPRS功能的支持。GPRS通信是通過IP地址尋址,IP地址的變換可能導致連接中斷,在設計中對服務器采用靜態IP地址,以保證養殖區GPRS模塊與服務器連接的暢通。
利用配置軟件GPRS DTU參數設置軟件V2.6對DTU T100進行參數設置。傳輸GPRS提供商的密碼設置為0,傳輸接入GPRS服務的APN值設置cmnet(中國移動的APN),SIM卡號為申請的卡的號碼,數據中心設置為服務器的靜態IP地址。
3、智能終端顯示設計
Android是基于liuux2.6以上內核的開源框架,最低層的Linux內核提供了最基本的進程調度、內存管理以及硬件驅動能力。基于Android開發的程序主要包括用戶界面開發和網絡功能開發兩個部分。界面的開發利用Android提供的各種API。而網絡開發方面則采用Android的Socket套接字。
圖3 ?人機交互界面
結束語
本系統利用ZigBee組網和GPRS無線網絡通信,充分考慮到GPRS的遠程傳輸優勢和ZigBee協議組網技術靈活方便的優越性。系統架構設計合理,系統功能實現較好,數據信號傳輸穩定、安全、可靠。利用手持智能手機終端和Android平臺,對數據進行圖像化顯示,有較好的人機交互功能。系統能準確對深水網箱及其周邊環境水質進行實時的檢測,能在一定程度上減少深水網箱養殖的風險,提高養殖戶的經濟效益。
參考文獻:
[1]王風. 基于CC2530的ZigBee無線傳感器網絡的設計與實現[D].西安電子科技大學,2012.
[2]呂鑫,王忠. ZigBee無線數據傳輸模塊的設計與實現[J]. 安徽師范大學學報(自然科學版),2010,04:332-335.
[3]柯躍前,黃江福,黃姍明,曾小明. 基于ZigBee模塊的海洋網箱養殖環境監測數據傳輸系統設計[J]. 漁業現代化,2012,05:49-52.
項目:2014年國家級大學生創新訓練計劃項目支持
(第一、三作者單位:浙江海洋學院數理與信息學院,第二作者單位:浙江國際海運職業技術學院)endprint