本發明屬于通信技術領域,涉及一種無通訊信號區域環境監控無線數據傳送系統。
背景技術:
對于人口密集的區域,目前有線或者無線的各種通訊手段已經非常發達,例如:短信傳遞文字信息;寬帶連接互聯網;有wifi連接的地方通過無線方式連接互聯網。
但是野外地區常常是所有日常通訊信號的盲區,除了用衛星通訊外,盲區內日常所有通訊方式都無法使用,無法進行通訊聯系,傳遞信息。現階段衛星通訊費用比較昂貴,部署設備也比較麻煩,而且衛星通訊費在野外沒有電力供應的情況下,投入設備成本更高,是一種比較昂貴的通訊手段。
目前,現有技術中急需一種成本低廉、操作方便的無通訊信號區域環境監控無線數據傳送系統。
技術實現要素:
本發明的目的在于提供一種無通訊信號區域環境監控無線數據傳送系統,該系統用XBee實現ZigBee/IEEE 802.15.4的無線通訊手段實施環境監控,包含對溫度、濕度、氣壓、光照、甚至地物外觀的圖片等等,可以大幅度降低成本。
其具體技術方案為:
一種無通訊信號區域環境監控無線數據傳送系統,包括數據采集模塊、數據轉發模塊、數據上傳模塊和控制供電模塊;
所述數據采集模塊包括一塊Arduino的UNO控制板、傳感器和一個Xbee模塊,所述傳感器的兩條電源線接到UNO控制板的5V和GND引腳上,另一信號線接數字引腳,控制供電模塊上的繼電器連接Arduino的UNO控制板的供電接口;
所述數據轉發模塊包括兩塊Arduino的Leonardo控制板和兩個Xbee模塊,其中一塊Arduino的Leonardo控制板和一個Xbee模塊用于接收從數據采集點發來的數據,另外一塊Arduino的Leonardo控制板和一個Xbee模塊用于轉發從從數據采集點發來的數據;兩塊Arduino控制板之間通過導線連接,實現數據的傳遞,完成從一塊Arduino控制板數據傳遞給另一塊Arduino控制板的任務,控制供電模塊上的繼電器連接兩個Arduino的Leonardo控制板的供電接口;
所述數據上傳模塊包括一塊Arduino的UNO控制板、一個Xbee模塊和GPRS擴展板,所述GPRS擴展板插在Arduino的UNO控制板的上面,Xbee模塊完成從數據中轉端傳來的數據,通過GPRS擴展板上傳數據到互聯網,控制供電模塊上的繼電器連接Arduino的UNO控制板的供電接口。
進一步,所述控制供電模塊上的兩個繼電器連接兩個Arduino的Leonardo控制板的供電接口。
進一步,若距離長,數據轉發模塊為多個,進行多次轉發。
進一步,所述數據上傳模塊部署在有GPRS信號的地方,實現采集數據上傳到互聯網。
與現有技術相比,本發明的有益效果為:
本發明采用的Xbee有傳輸距離限制,傳輸距離會超過點對點的距離,使用“接力”方式中轉,增加中繼中轉節點延長傳輸距離。
野外環境沒有電力,使用電池進行供電。環境監控基本上都是定時(例如每小時一次)進行,在非監控時間可以停止供電,延長使用時間。
工作的步調一致:傳輸數據時需要多個節點協調工作,必須保證每個節點上工作時間的準確:在指定的時間內供電開始工作,傳輸數據,停止供電。
電力供應采用的電源是電池和太陽能;覆蓋最廣。太陽能受日照的限制,必須配合電池使用才能保證長久不間斷的供應。
數據采集的特點是定時周期性采集,并不是全天候時時刻刻采集,這樣控制電力在采集的時刻供應,不采集的時刻停止供應就能最大限度延長電力供應。
數據實時發送:GPRS的通訊方式是覆蓋面最廣的通訊方式,成本低,技術實現容易,可以實現大范圍,遠距離的實時(從采集數據到保存數據到服務器需要數分鐘時間)傳輸。在無信號的地區采集設備用Xbee方式發出數據,中間對數據中轉轉發,最終傳輸到有網絡信號的地方,發送數據到服務器。
本發明檢測環境的傳感器要能適應各種不同情況以及不同的檢測內容。例如檢測空氣的溫度濕度,檢測土壤中的溫度濕度,不同情況要使用不同的感應器,操作方便。
附圖說明
圖1是無通訊信號區域環境監控無線數據傳送系統的原理圖;
圖2是無通訊信號區域環境監控無線數據傳送系統的數據采集模塊原理圖;
圖3是無通訊信號區域環境監控無線數據傳送系統的數據轉發模塊原理圖;
圖4是無通訊信號區域環境監控無線數據傳送系統的數據上傳模塊原理圖。
具體實施方式
下面結合附圖和具體實施例對本發明的技術方案作進一步詳細地說明。
如圖1所示,一種無通訊信號區域環境監控無線數據傳送系統,包括數據采集模塊、數據轉發模塊、數據上傳模塊和控制供電模塊;如圖2所示,所述數據采集模塊包括一塊Arduino的UNO控制板、傳感器和一個Xbee模塊,所述傳感器的兩條電源線接到UNO控制板的5V和GND引腳上,另一信號線接數字引腳,控制供電模塊上的繼電器連接Arduino的UNO控制板的供電接口;如圖3所示,所述數據轉發模塊包括兩塊Arduino的Leonardo控制板和兩個Xbee模塊,其中一塊Arduino的Leonardo控制板和一個Xbee模塊用于接收從數據采集點發來的數據,另外一塊Arduino的Leonardo控制板和一個Xbee模塊用于轉發從從數據采集點發來的數據;兩塊Arduino控制板之間通過導線連接,實現數據的傳遞,完成從一塊Arduino控制板數據傳遞給另一塊Arduino控制板的任務,控制供電模塊上的繼電器連接兩個Arduino的Leonardo控制板的供電接口;如圖4所示,所述數據上傳模塊包括一塊Arduino的UNO控制板、一個Xbee模塊和GPRS擴展板,所述GPRS擴展板插在Arduino的UNO控制板的上面,Xbee模塊完成從數據中轉端傳來的數據,通過GPRS擴展板上傳數據到互聯網,控制供電模塊上的繼電器連接Arduino的UNO控制板的供電接口。
所述控制供電模塊上的兩個繼電器連接兩個Arduino的Leonardo控制板的供電接口。
若距離長,數據轉發模塊為多個,進行多次轉發。
所述數據上傳模塊部署在有GPRS信號的地方,實現采集數據上傳到互聯網。
程序設計
用C語言實現
1.采集數據的設備
使用感應器產品的函數,在arduino中直接可以得到感應數值。
2.轉發數據的設備
一個arduino主控板接受數據,稱作轉發設備A,另一個arduino主控板發送數據,稱作轉發設備B。
設備A的XBee連接的串口1接收數據,通過設備A的串口2發送給設備B,設備B的串口2接受數據,從設備B的XBee連接的串口1發送數據。
a.設備A串口1(連接Xbee)接收數據并用設備A串口2發出信息的代碼片段:
b.設備B串口2接收數據并用設備B串口1(連接Xbee)發出信息的代碼片段:
3.控制供電的設備
a.指定時間打開供電開關。因為arduino主控板振晶不準,需要用實時鐘修正,打開供電開關以時鐘時間為準,不能依靠arduino的秒數計時。
b.延續足夠工作時間,保證使用。本項目中從采集到發送信息需要近30秒,因此保證供電的時間是30秒。
c.關閉供電開關。
d.進入休眠狀態并在打開電池開關之前從休眠中醒來,保證打開電源。因為arduino主控板振晶不準,arduino的按秒計時時間段要短一些,保證在需要打開開關之前的時間蘇醒。
循環1-4步驟,往復實現定時開關電源。
以下是進入休眠和蘇醒的代碼片段:
數據上傳的設備
數據發送數據給GSM擴展板,擴展板用TCP方式發送信息到服務器。
以下是TCP方式上傳數據的代碼片段,包含了服務器地址和端口,msg變量里保存了傳感采集的監控數據。
Serial.println("AT+CIPSTART=\"TCP\",\"www.xjsfxx.com\",\"3306\"");
delay(5000);
Serial.println("AT+CIPSEND");
delay(2000)。
實施例
采集數據模塊的器件加控制供電模塊的器件、轉發數據模塊的器件加控制供電模塊的器件、上傳數據模塊的器件加控制供電模塊的器件放置在野外。上傳數據模塊的器件要放置在有網絡信息的地方(手機可以進行語音和短信通訊的地方),GPRS板上插入SIM卡,最好工業用專用卡,民用卡要實驗才能保證使用。
根據實際測試的結果,選擇中轉設備和采集數據模塊的器件的距離,中轉設備和上傳數據模塊的器件的距離。
若距離過長,可以增加數據轉發模塊的的數量,進行多次轉發。不同XBee模塊有傳輸幾百米到幾公里不等,另外還取決于障礙物情況。
用于給器件供電的充電電池充滿電,太陽能板面向陽光充足的地方。
發送信息寫入服務器的數據庫,數據使用人員通過網頁查看采集的數據表和以數據為基礎的可視化圖形。服務器需要和互聯網連接,因此數據的使用者可以在有互聯網的任何地方看到檢測數據。
器件放到一個盒子里,保證器件不受自然環境的破環能正常使用。
在新疆林科院實施試驗,在林科院院子里部署傳感器,監控空氣溫度濕度和土壤溫度濕度。監控地點距離機房較遠加上有建筑物的障礙,用Xbee必須使用信號中轉的方式傳遞,延長傳輸距離。
經過6個月的使用,數據傳輸穩定正常,每小時發送一次數據,服務端都可以接受到,證明其可用于實際環境監測。
若使用通訊運營商上傳監控數據就必須申請SIM卡,而且每月還要繳納通訊費。此項目使用自組網絡,省去了通訊費用。
若在野外無信號區域則無法實施監控活動,這個項目將監控活動延伸到了通訊區域以外的區域,對環境監測有著積極的作用。
以上所述,僅為本發明較佳的具體實施方式,本發明的保護范圍不限于此,任何熟悉本技術領域的技術人員在本發明披露的技術范圍內,可顯而易見地得到的技術方案的簡單變化或等效替換均落入本發明的保護范圍內。