999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

智能灌溉系統上位機軟件的設計與實現

2012-12-31 00:00:00趙震奇
計算機時代 2012年12期

摘 要: 根據農田環境的水、空氣、土壤環境的需求,設計了基于ZigBee無線傳感器網絡的智能灌溉系統。具體分析了系統功能,設計了總體結構。探討了基于.Net的智能灌溉系統上位機的功能需求、系統架構、實現方案及關鍵技術等。

關鍵詞: ZigBee; 無線傳感器; .Net; 智能灌溉系統; 上位機

中圖分類號:TP315 文獻標志碼:A 文章編號:1006-8228(2012)12-61-04

Design and implementation of PC software for intelligent irrigation system

Zhao Zhenqi

(Wuxi Machinery and Electron Higher Professional and Technical School, Wuxi, Jiangsu 214028, China)

Abstract: According to the requirements of water, air and soil in farmland environment, an intelligent irrigation system is designed, based on wireless sensor network ZigBee. The system function is analyzed and overall structure is designed. The function demand, system architecture, concrete implementation scheme and key technology of intelligent irrigation system principal machine based on .Net are discussed.

Key words: ZigBee; wireless sensor; .Net; intelligent irrigation system; PC

0 引言

在水資源緊缺的條件下,要實現灌溉農業的可持續發展,就需要灌溉更加精確智能。在不影響農作物生長發育的前提下,按照農作物需水要求準確及時地預報,并實現水量的自動控制,精確施予。目前,主要采用先進的物聯網技術與傳統農業生產相結合的辦法,通過研發先進的傳感器、灌溉控制設備、功能強大的計算機灌溉管理軟件等來實現科學灌溉,提高農業效益[1]。

由于全球氣候的惡化和水污染等原因,水資源短缺已經成為全球性的問題。在各大園林、農業及高爾夫灌溉項目中,越來越多的人認識到了節水灌溉的重要性。為了保證人工植被和農作物的正常生長,節水灌溉系統起到了至關重要的作用。

1 系統主要功能

我們設計并制作出具有監視、控制、環境數據的不間斷采集、整理、統計、繪圖功能的智能灌溉系統,以實現優化科學灌溉。該系統適用于庭院、園林、農田等灌溉場所。主要包括以下功能:

⑴ 根據CO2濃度自動控制電磁閥的開關,與CO2發生器配套使用;

⑵ 根據土壤的干濕度自動控制電磁閥的開關,與噴灌、微灌、滴灌等管道系統配套使用;

⑶ 根據空氣的干濕度自動控制電磁閥的開關,與加/降溫、加/除濕等設備配套使用。

2 總體結構設計

Zigbee是基于IEEE802.15.4標準的低功耗局域網協議。根據這個協議規定的技術是一種短距離、低功耗的無線通信技術。其特點是近距離、低復雜度、自組織、低功耗、低數據速率、低成本。主要適合用于自動控制和遠程控制領域,可以嵌入各種設備。

無線網關實現了ZigBee、GPRS、以太網、串口的網絡互聯和協議轉換,集成了符合ZigBee協議標準的JN5121系列通訊模塊,GPRS模塊,以太網接口,RS232接口。并具有通訊距離遠、抗干擾能力強、組網靈活等優點和特性;可實現一點對多點、多點對多點的串口設備間的數據透明傳輸,也可以根據用戶的需要定制軟件;可按照星形網絡、網狀網絡以及樹狀網絡組網。兼容FCC Part 15, ETSI ETS 300-328和日本的ARIB STD-T16標準。主要應用領域:煤礦/油田設備遠程監控、電力/水利設備遠程監控、遠程智能抄表/線纜取代、工業、農業自動化控制、樓宇、路燈智能控制[2]。

本系統設計由三個部分組成:監控中心、無線網關、無線路由節點。其中,監控中心主體是服務器和上位機;無線網關集成了符合ZigBee協議標準的JN5121系列通訊模塊,GPRS模塊,以太網接口,RS232接口,負責將各節點的數據發送給上位機處理,或接收上位機發送的指令并傳送給各節點;無線路由節點可以有多個,集成了CO2濃度傳感模塊、土壤的干濕度傳感模塊、空氣的干濕度傳感模塊和ARM模塊。系統組成框圖如圖1所示。

3 硬件原理

本系統的傳感節點硬件采用CC2530,如圖2所示。CC2530是用于2.4-GHz IEEE 802.15.4、ZigBee和RF4CE應用的一個真正的片上系統(SoC)解決方案。它能夠以非常低的總材料成本建立強大的網絡節點。CC2530結合了領先的RF 收發器的優良性能,業界標準的增強型8051 CPU,系統內可編程閃存,8-KB RAM和許多其他強大的功能。CC2530有四種不同的閃存版本:CC2530F32/64/128/256,分別具有32/64/128/256KB的閃存。CC2530具有不同的運行模式,使得它特別適應超低功耗要求的系統。運行模式之間的轉換時間短,進一步確保了低能源消耗[3]。

4 上位機的設計

4.1 功能需求

以太網通信方式是物聯網智能灌溉系統與計算機最主要的通信方式,采用UDP通信協議層,多線程方式進行數據交互。

上位機需要單獨具備以太網通信界面,除了實現物聯網智能灌溉系統以太網通信命令中列出的各項命令之外,還需要以下幾個重要功能。

⑴ 網絡拓撲,顯示物聯網智能灌溉系統所有已經注冊的設備節點物理區域視圖,主要用于直觀地反映設備節點的分布概況,用于設備故障定位。在視圖上,雙擊設備節點圖標能夠自動顯示該節點的實時數據信息;如果設備有故障或告警,節點圖標應該改變自身顏色警示操作人員。

⑵ 數據查詢,實時記錄物聯網智能灌溉系統的當前和歷史數據,提供用戶對數據按日期和設備標識查詢的功能。根據數據容量和數據訪問并發性的要求,建議數據庫采用專用的數據庫管理軟件,例如SQL Server 2005。

⑶ 數據分析,根據數據庫內查詢的數據繪制圖表(折線圖或餅圖等),顯示數據的分布和趨勢,提供用戶環境參數的歷史數據和做出灌溉決策的參考信息。

⑷ 分布式軟件,可以在多個計算機上同時打開上位機軟件,軟件之間相互協調,每個上位機作出的參數修改都能在其他上位機軟件上顯示出操作記錄,參數設置具有并發性,多個上位機軟件進行同一參數的設置不會沖突,參數設置完成后,其他上位機界面會同步更新。

4.2 上位機架構

本系統采用.Net三層架構。三層架構(3-tier application) 通常意義上的三層架構就是將整個業務應用邏輯上劃分為:表示層(USL)、業務邏輯層(BLL)、數據訪問層(DAL)。三層架構是一個支持可抽取、可替換的“抽屜”式架構,符合“高內聚,低耦合”的思想,所以這些層可以單獨開發,單獨測試[4]。具體的三層架構的分層結構圖,如圖3所示。

4.3 開發工具的選擇

.NET是一個開發平臺,它定義了一種公用語言子集(Common Language Subset, CLS)。.NET統一了編程類庫,提供了對下一代網絡通信標準,可擴展標記語言(XML)的完全支持,使軟件的開發變得容易。.NET與Windows平臺緊密集成,是一種面向網絡、支持各種用戶終端的開發平臺環境。

SQL SERVER 2005對SQL Server 2000中已經存在的特性進行了加強。加強了T-SQL(事務處理SQL),整合了符合.NET規范的語言(可以在數據庫管理系統中執行.NET代碼以充分利用.NET功能),使自身帶有支持對用戶自定義數據庫中存儲的數據進行加密的功能,生成多活動結果集(允許從單個的客戶端到數據庫保持一條持久的連接,以便在每個連接上擁有超過一個的活動請求)等。

基于上述原因,我們選擇.NET架構C#語言開發,作為系統開發的工具。開發人員必須掌握的預備知識和工具有:①UDP通訊編程(UDP包測試工具的使用);②多線程;③Chart控件的使用;④調試工具的使用。

5 數據庫表結構

數據庫名稱:ZigDB。主要包括設備狀態信息表(如表1所示)、設備信息表(如表2所示)、設備類別表(如表3所示)、系統設置表、權限表、用戶表等。

6 系統功能模塊

系統上位機模塊包括四個主要功能模塊:實時監測模塊、數據查詢分析模塊、權限管理模塊和系統管理模塊。每一個模塊中設計了若干子模塊。系統上位機功能模塊圖,如圖4所示。

[系統上位機模塊][實時檢測模塊][數據查詢模塊][權限管理模塊][系統管理模塊][設備分布概況][節點實時信息][讀寫上下閾值][實時圖形顯示][歷史數據查詢][圖表報表分析][角色管理][權限管理][用戶管理][備份還原數據][設備注冊維護][設備采樣維護]

圖4 系統上位機功能模塊圖

7 上下位機通信的方式

本系統主要采用兩種與上位機通信的方式。

⑴ 本地調試端口,采用RS232串口通信方式,用于和計算機直連后進行數據通信,同時,對智能灌溉系統進行設備注冊和網絡參數配置也使用該通信方式。

⑵ 遠程通信端口,采用以太網通信方式,用于和遠端計算機進行數據通信,主要功能是上報智能灌溉系統各傳感器的數據,以及獲取修改相關參數的上下限閾值。

8 主要窗口與關鍵技術

8.1 主要窗口

上位機軟件主要包括以下幾個窗口。

⑴ 主窗口(FormMain):主要包括監聽線程Run()方法,用于實現輪詢,先采樣放入緩沖區然后入庫。

⑵ 網絡拓撲窗口(FormNetworkTop):顯示AP結點拓撲位置,主要包括AP結點圖標的類型和位置,鼠標MouseDown()、MouseUp()、MouseMove()事件處理等。

⑶ 設備狀態窗口(FormOneEq):主要包括發送信息給傳感器sendThreshold()、跨線程訪問控件UpdateUI()、設置最大閾值和最小閾值。

⑷ 設備序列號的設置窗口(FormEqpSN):主要包括一些按鈕事件處理btnSave_Click()、btnDel_Click()、btnUpdate_Click(),實現對設備序列號的增刪改查的操作。

⑸ 數據查詢窗口(FormBrowseHisData):主要包括根據查詢條件顯示查詢結果和CHART圖表。涉及btnBrow_Click()、dgvBrowResult_DataBindingComplete()等事件處理。

8.2 關鍵技術

8.2.1 輪詢監聽

主程序(FormMain)中監聽線程Run()方法代碼,主要根據通訊協議的要求,通過輪詢方式,主要采用基于System.Net,System.Net.Sockets空間的UdpClient類實現UDP通信,向設備發送命令,從而獲取傳感器數據信息,然后解析數據(包括進制轉換),并記錄到數據庫表中。

部分代碼如下:

private void Run()

{ byte [] buffer=new byte[9];

while (true)

{ Try

{ strEqSn=StaticCommon.EqSn[ii];

buffer[0]=buffer[1]=0xef; //發送標識符

buffer[2]=0x06; //發送長度

//序列號組的規則為拆封設備序列號為3個字節

buffer[3]=Convert.ToByte(strEqSn.Substring(0,2));

buffer[4]=Convert.ToByte(strEqSn.Substring(2,2));

buffer[5]=Convert.ToByte(strEqSn.Substring(4,2));

buffer[6]=0x10; //命令字為單字節表示

//命令選項為命令字的輔助標記部分,區分同一類型命令的不同功能

//命令參數的長度不定,在設置類命令中為需要設置的具體參數數值

buffer[7]=0x00;

//校驗和為從應答標識符到應答參數包含的字節內數值累加和

byte x=0;

for (int i=0; i<8; i++) x+=buffer[i];

buffer[8]=x;

StaticCommon.lstbuffer[ii]=buffer; //送到臨時緩沖區

udp.Send(buffer, buffer.Length, ipp); //UDP方式發送

Thread.Sleep(200);

StaticCommon.lstrev[ii]=udp.Receive(ref ipp); //間隔0.2秒接受數據

AddData(StaticCommon.lstrev[ii]); //記錄到數據庫表

Thread.Sleep((int)StaticCommon.ssi.SpanTime);

//間隔用戶指定時間

ii++;

if (ii>=StaticCommon.EqSn.Count) ii=0;

//在指定的設備數中循環

}

catch (Exception ex) //異常處理

{……}

}

}

以上各傳感器數據信息參數的計算公式如下:

二氧化碳濃度:CO2數據=CO2數據1×256+CO2數據2

土壤濕度:SOIL數據=SOIL數據

日照度:SUN數據=SUN數據1×256×256×256+SUN數據2×256×256+SUN數據3×256+SUN數據4

空氣溫度:TEMP數據=TEMP數據-40

空氣濕度:HUMI數據=HUMI數據

8.2.2 跨線程訪問控件

在多線程編程中,經常要在工作線程中去更新界面顯示,而在多線程中直接調用界面控件的方法是錯誤的做法,一般采用Invoke和BeginInvoke解決這個問題。它們的共同之處是參數為delegate(委托),委托的方法是在Control的線程上執行的,也就是UI線程,這樣確保在多線程中安全地更新界面顯示。Invoke在擁有此控件的基礎窗口句柄的線程上執行指定的委托;而BeginInvoke則在創建控件的基礎句柄所在線程上異步執行指定委托。本系統主要采用Invoke方法。

實現輪詢式訪問多節點設備,調用UpdateUI方法多線程實時更新采樣數據,圖形化各設備各傳感器的參數狀態,如果當前某參數值超出上下限閾值范圍,及時顯示警告信息,并記錄在庫表中,供操作者進行分析。

while (true)

{ Try

{ this.Invoke(new System.EventHandler(UpdateUI),

StaticCommon.lstrev[StaticCommon.num]);

Thread.Sleep((int)StaticCommon.ssi.SpanTime);

}

catch (Exception ex) //異常處理

{…… } }

9 調試效果

在歷史數據查詢界面操作中,用戶根據條件查詢,圖形化顯示不同時間段及不同設備的CO2濃度、空氣溫濕度、土壤濕度和日照強度等歷史信息。數據查詢顯示結果圖,如圖5所示。

10 結束語

經過學校、企業、農業部門的共同努力,智能灌溉系統順利通過了驗收,在省農業廳進行了應用推廣,效果良好。在系統地、不間斷地采集環境數據后,上體機軟件對這些數據進行整理、統計、繪圖。使用者不但能實時掌握田間農作物的信息,而且能根據設置的參數自動控制設備,達到了農業的智能化和高效化。隨著我國移動互聯網的發展,我們將進一步研發本系統的智能移動客戶端應用軟件,使用戶更方便地掌控作物環境,更好地為農業現代化服務。

參考文獻:

[1] 顧建華,嚴國軍.遠程控制農田自動灌溉系統研制[J].軟件,2012.6:10

[2] 牛新征,梁帆,周明天.基于無線傳感器的物聯網網絡拓撲發現算法

研究[J].計算機科學,2012.36(4):118-122

[3] 倪瑛,傅大梅.基于無線傳感器網絡的溫室監測系統的設計[J].南京

工業職業技術學院學報,2010.4:39-41

[4] 傅仁軒.基于無線傳感器網絡的遠程自動抄表系統設計[J].現代電子

技術,2011.5:150-152

主站蜘蛛池模板: 国产激爽大片在线播放| 99精品热视频这里只有精品7| 欧美a在线看| 狠狠色噜噜狠狠狠狠奇米777| 亚洲美女一区二区三区| 国产精品女主播| 免费视频在线2021入口| 91福利在线看| 国产精品hd在线播放| 99热精品久久| 制服丝袜在线视频香蕉| 精品撒尿视频一区二区三区| 一本无码在线观看| 精品国产香蕉伊思人在线| 免费看的一级毛片| 亚洲欧洲国产成人综合不卡| 久久久久国产一级毛片高清板| 国产精品第一区在线观看| 国产精品无码作爱| 国产91丝袜| 国产在线专区| 欧洲免费精品视频在线| 国产精品三级av及在线观看| 伊人久久婷婷五月综合97色| 在线观看国产精品一区| 国产精品永久不卡免费视频| 亚洲中文字幕国产av| 国产日本视频91| 成年片色大黄全免费网站久久| 国产亚洲欧美在线专区| 亚洲日韩高清在线亚洲专区| 亚洲三级网站| 中文字幕乱妇无码AV在线| 手机在线免费不卡一区二| 色屁屁一区二区三区视频国产| 精品亚洲国产成人AV| 亚洲,国产,日韩,综合一区| 亚洲成A人V欧美综合| 欧美日本在线播放| 色婷婷色丁香| 巨熟乳波霸若妻中文观看免费| 91精品久久久无码中文字幕vr| 国产特级毛片| 另类综合视频| 日韩区欧美国产区在线观看| 99尹人香蕉国产免费天天拍| 亚洲人成在线免费观看| 91在线精品麻豆欧美在线| 91国内视频在线观看| 亚洲第一精品福利| 亚洲有码在线播放| 国产福利观看| 天堂网国产| 女人爽到高潮免费视频大全| 亚洲第一视频免费在线| 国产三级毛片| 青青草原国产| 日韩精品免费一线在线观看| 国产69精品久久久久妇女| 五月天天天色| 国产综合精品一区二区| 久久五月视频| 亚洲另类国产欧美一区二区| 国产人人乐人人爱| 国产在线自乱拍播放| 国产视频a| 日韩av在线直播| 中文天堂在线视频| 亚洲欧洲日产国码无码av喷潮| 第九色区aⅴ天堂久久香| 亚洲性一区| 午夜综合网| 国产精品乱偷免费视频| 亚洲—日韩aV在线| 亚洲男人的天堂网| 亚洲第七页| 99re热精品视频中文字幕不卡| 中文字幕 91| 亚洲第一区欧美国产综合 | 青青青国产精品国产精品美女| 色有码无码视频| 欧美色视频在线|