張健+阮海清
摘 要:為了準確檢測園藝植物的環(huán)境和生理數據,使對園藝植物的管理變得簡單和智能化,文中設計了基于無線傳感器和3G網絡的檢測系統,以將采集的數據傳輸到遠程PC端提供決策支持。該系統包括傳感器節(jié)點、WSN、嵌入式網關、PC端界面,并初步實驗證明了該系統的合理性與可靠性。
關鍵詞:園藝植物;物聯網;3G;PC端
中圖分類號:TP391.4 文獻標識碼:A 文章編號:2095-1302(2015)10-00-03
0 引 言
將農業(yè)物聯網應用于花卉生長中,能及時獲取植物的生長環(huán)境和各種生理指標[1]。通過集成各種傳感器,可以探測包括溫濕度、光照度、二氧化碳濃度、土壤pH值等農田信息[2]。而用植株莖干直徑變化法來衡量作物的生理情況,具有簡單易行、對植株不具有破壞性、可持續(xù)檢測和自動積累的特點[3]。
本文實現了一種集溫濕度、二氧化碳濃度、植物莖干直徑檢測于一體的植物生理檢測系統。該系統能將檢測到的數據信息通過無線傳感器網絡和3G網絡傳輸到遠端的PC機,給管理者提供決策支持。
1 系統硬件設計
1.1 系統結構
本系統由數據采集模塊(傳感器節(jié)點)采集環(huán)境和植物生理信息,通過ZigBee協議構建無線傳感器網絡將數據送到協調器節(jié)點,協調器節(jié)點通過串口將數據送給嵌入式平臺,再由3G網絡傳輸到位于遠端的PC平臺供管理者決策使用。本系統的系統結構圖如圖1所示。
圖1 系統結構圖
1.2 各模塊簡介
數據采集模塊由莖干直徑探測器、溫濕度傳感器、CO2濃度傳感器等采集作物生長信息。莖干直徑探測器由可變差動放大器(LVDT)和控制電路構成。LVDT是把被測位移量變換為電信號的傳感器[4]。將其固定在被測植株莖干部位,通過與CC2530連接自動記錄植株莖干直徑微變化[3]。安裝后能在不影響作物生長的情況下持續(xù)測量作物莖干直徑變化。CO2濃度傳感器利用非色散紅外(NDIR)原理測量空氣中的CO2濃度,有很好的選擇性,無氧氣依賴性。
圖2所示為傳感器與CC2530的接口電路原理圖。溫濕度傳感器SHT10通過I2C接口連接到CC2530的P1_2、P1_3引腳,CO2傳感器和LVDT連接到CC2530的串行口P0_2、P0_3引腳。
無線傳感器由傳感器節(jié)點和匯聚節(jié)點構成,本文采用星型網絡拓撲結構和ZigBee2007協議棧。傳感器把采集到的數據傳送到匯聚節(jié)點進行簡單的數據融合后,再通過串口傳輸到嵌入式平臺。
嵌入式平臺主要用于通過串口接收傳感器網絡傳送的數據,能夠顯示植物生長環(huán)境和生理數據,實現對數據的檢測。接受遠端計算機對數據的請求,通過3G網絡向遠程的PC端發(fā)送傳感器數據。
PC端是一個位于遠端的主機,通過3G網絡向嵌入式平臺發(fā)出數據請求,獲取植物的生理參數及環(huán)境信息,對接收到的信息進行處理,提交給控制中心進行后續(xù)的控制動作。PC端包括了PC機、3G模塊以及人機交互界面。
2 系統軟件設計
設計并實現植物生理檢測系統軟件時,應重點解決三點關鍵技術:無線傳感器網絡程序、嵌入式平臺軟件、PC端軟件。
2.1 無線傳感器網絡程序
本系統采用基于ZigBee協議組建無線傳感網,在實現上除了硬件環(huán)境外,還需要合理的軟件設計,以保證系統長久穩(wěn)定可靠的運行[5]。協調器初始化并建立起網絡后,等待其他設備加入網絡,隨后傳感器節(jié)點初始化,并申請加入到先前建立的無線網絡中。當傳感器節(jié)點與協調器完成綁定成功組網后,設備運行維護狀態(tài),傳感器節(jié)點每隔3秒采集和發(fā)送數據信息。協調器執(zhí)行輪詢循環(huán)程序,并通過終端處理來接受其他設備發(fā)來的信息。圖3所示是協調器與傳感器的工作流程圖。
系統中的無線傳感器網絡程序設計包括傳感器節(jié)點驅動和協調器程序。傳感器節(jié)點中傳感器采集到數據后通過UART或者I2C總線發(fā)送給CC2530單片機。單片機復位后完成節(jié)點初始化及數據端口驅動后,立即搜尋、發(fā)現并加入ZigBee網絡,當協調器允許其加入后,即建立綁定關系,然后進入“睡眠-喚醒采集數據-睡眠”的低功耗模式。
協調器復位完成初始化工作后,建立具有唯一網絡標識的ZigBee網絡并進入監(jiān)控模式,當有傳感器節(jié)點申請加入時,允許綁定并對該節(jié)點發(fā)送相應并分配16位短地址;當有數據傳輸時,接收處理數據并發(fā)送給嵌入式平臺。
圖3 協調器與傳感器工作流程
2.2 嵌入式平臺軟件設計
嵌入式平臺可起到網關和數據處理的作用。它通過串口接收協調器傳送過來的數據信息,在對信息進行加工處理后通過GPRS網絡傳輸給遠端的PC機。本部分主要包括傳感器數據采集端口驅動、3G模塊數據端口的驅動和數據庫。串口讀寫操作使用Linux底層串口操作,使用非阻塞方式讀寫串口,所有程序采用Qt在Linux環(huán)境下編寫。
數據采集端口驅動負責接收協調器發(fā)送過來的數據,并采用輪詢的方式讀取串口數據,在傳感器數據正常情況下,每隔3 s上報一次,環(huán)境參數變化過快時,每隔1 s上報一次數據,系統中采用多線程循環(huán)讀取并解析傳感器數據。
3G模塊數據端口驅動負責3G模塊之間的短信通信,采用多線程循環(huán)讀取短信數據,并對其進行解析處理。短信讀取時,通過串口使用AT指令給3G模塊數據串口(ttyUSB0)發(fā)送讀寫短信的指令。關鍵代碼如下:
void com_msg(int fd,char *number, char *text)
{
char ctl[]={26,0};
com_writecmd(fd,"AT", strlen("AT"));
com_writecmd(fd, "ATE1", strlen("ATE1"));
com_writecmd(fd, "AT+CMGF=1", strlen("AT+CMGF=1"));
com_write(fd, "AT+CMGS=", strlen("AT+CMGS="));
com_write(fd, "\"", strlen("\""));
com_write(fd, number, strlen(number));
com_write(fd, "\"", strlen("\""));
com_write(fd ,"\r", strlen("\r"));
usleep(10000);
com_write(fd, text, strlen(text));
com_write(fd, ctl, 1); //“CTRL+Z”的ASCII碼
usleep(300000);
}
本系統使用進程內數據庫SQLite,該數據庫小巧靈活,無須額外安裝配置且支持大部分ANSISQL92標準,而且編程簡單。SQLite數據庫支持大部分基本SQL操作,如SELECT、INSERT、DELETE等。下面為插入的操作代碼:
if(dbData.open())//插入數據
{
QSqlQuery query(dbData);
query.prepare("INSERT INTO tableData "
"VALUES (?,?,?,?,?)");
query.bindValue(0,QDate::currentDate().toString("yyyy-MM-dd") + " " +QTime::currentTime().toString("hh:mm:ss"));
query.bindValue(1,QString::number(sendData->ppm)); query.bindValue(2,QString::number((sendData->temp1+sendData->temp2)/2)); query.bindValue(3,QString::number((sendData->humi1+sendData->humi2)/2));
query.bindValue(4,QString::number(sendData->shift));
query.exec();
}
2.3 PC端軟件設計
PC端是位于遠端的主機,可通過3G網絡對嵌入式平臺進行數據請求和操作,以獲取熱帶花卉作物生理參數及環(huán)境信息,實時操控數據接收頻率,對于接收到信息的處理,完成對于花卉作物的生理監(jiān)測,系統運行于Linux系統下,采用Qt編程。
PC端程序主要包括3G模塊數據端驅動、短信讀寫、數據庫操作等。串口讀寫操作封裝為串口操作類Win_QextSerialPort,并能完成串口打開、關閉、讀寫等操作。
3 實驗結果及分析
在IAR Embeded Workbench IDE下,打開f8wConfig.cfg文件,配置好CHANNEL和網絡PANID,編譯生成傳感器節(jié)點和協調器節(jié)點的Hex文件,分別燒入對應節(jié)點的CC2530。
在嵌入式平臺移植Linux操作系統,搭建Qt運行環(huán)境,下載嵌入式平臺軟件并設置好運行環(huán)境。重啟系統后,WSN自動組網,主動上報傳感器數據。PC端在windows XP環(huán)境下安裝PC端軟件。
測試時,在被測植物附近安裝檢測平臺,在作物莖干部位安裝LVDT,嵌入式平臺距PC端約1.5千米。圖4是PC端的測試結果。
上述測試結果表明,本系統能正確地檢測出植物的生長環(huán)境及生理數據,并通過3G網絡可靠的傳送到遠端的PC機,給觀賞園藝植物的栽培管理決策提供數據支持。
圖4 PC端讀出數據
4 結 語
將物聯網運用到園藝植物養(yǎng)護上,可解決很多植物愛護者的困境。通過檢測系統實時了解植物當前的生長環(huán)境和生理指標,從而為正確決策提供數據支持。本系統采用3G無線通信,便于安裝和控制,在加入控制器后,就能適用于規(guī)?;N植和家庭智能養(yǎng)護使用。
當LVDT測量莖干直徑時,會對莖干具有一定的壓迫性,尤其是應用于比較嬌嫩的花卉植物時尤其明顯,下一步的研究是用機器視覺取代LVDT。
參考文獻
[1] 賴望峰.農作物聯網在現代花卉生產中的作用[J].中國花卉園藝,2010(20):28-29.
[2] 孫玉文.基于無線傳感器網絡的農田環(huán)境檢測系統研究與實現[D].南京:南京農業(yè)大學,2013.
[3] 高峰,俞立,張文安,等.基于莖直徑變化的無線傳感器網絡作物精量灌溉系統[J].農業(yè)工程學報,2008,24(11):7-12.
[4] 李雪寶,許駿,宋騰飛,等.基于數字位移傳感器的位移測量系統[J].現代電子技術,2010,33(5):95-97.
[5] 胡培金,江挺,趙燕東.基于zigbee無線網絡的土壤墑情監(jiān)控系統[J].農業(yè)工程學報,2011,27(4):230-234.