国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

農(nóng)業(yè)生產(chǎn)環(huán)境監(jiān)測系統(tǒng)軟件設計

2014-10-20 08:12文小玲鄒艷華
武漢工程大學學報 2014年7期
關鍵詞:控件串口數(shù)據(jù)庫

文小玲,鄒艷華,周 洵

武漢工程大學電氣信息學院,湖北武漢 430205

0 引言

隨著農(nóng)業(yè)信息技術的快速發(fā)展和廣泛應用,農(nóng)業(yè)生產(chǎn)正逐步由傳統(tǒng)農(nóng)業(yè)向信息化、自動化、智能化農(nóng)業(yè)的方向發(fā)展.我國農(nóng)業(yè)生產(chǎn)因基礎薄弱、生產(chǎn)技術落后而導致農(nóng)業(yè)生產(chǎn)成本高、產(chǎn)量增長緩慢、生產(chǎn)效益低下、農(nóng)業(yè)不能得到很好的發(fā)展等諸多問題.搭建農(nóng)業(yè)生產(chǎn)環(huán)境信息監(jiān)測系統(tǒng),對農(nóng)業(yè)生產(chǎn)環(huán)境進行遠程實時準確的監(jiān)測,從而實現(xiàn)農(nóng)業(yè)生產(chǎn)的信息化管理,可有效降低農(nóng)業(yè)生產(chǎn)運行成本,提高生產(chǎn)效率以及農(nóng)作物的生產(chǎn)質量和產(chǎn)量.國內外已有較多對農(nóng)業(yè)生產(chǎn)信息進行實時自動監(jiān)測的設備,如基于.NET的農(nóng)業(yè)生產(chǎn)環(huán)境信息監(jiān)測系統(tǒng)、基于組態(tài)平臺的日光溫室群監(jiān)控系統(tǒng)等[1-4]..NET是一個微軟開發(fā)平臺,它集成了微軟VC++、VB、VC#等語言開發(fā)環(huán)境,但是實際上它對C#語言的支持是最好的,與C++語言相比較,C#語言具有強大的網(wǎng)絡操作,但在Windows環(huán)境下編程,采用C++開發(fā)應用程序調用win32 API函數(shù)比C#方便很多;組態(tài)軟件是包含了很多程序模塊的軟件系統(tǒng),用組態(tài)軟件開發(fā)程序周期較短,但組態(tài)軟件的模塊大多也是用VC++來編寫的,與VC++開發(fā)應用程序相比較,其靈活性較差.

在眾多的可視化集成開發(fā)環(huán)境中,用C++語言編寫Windows應用程序,Visual C++6.0是最佳選擇,它功能強大,具有靈活的消息傳遞機制和友好的編程界面,它提供的微軟基礎類庫(Microsoft Foundation Classes,以下簡稱:MFC)內部封裝了Windows API函數(shù),用戶可以充分利用類的封裝性、繼承性和多態(tài)性,方便地設計所需要的類.另外,它提供了數(shù)據(jù)庫的開發(fā)平臺,對硬件、內存的操作也較容易,是底層編程環(huán)境的最佳選擇;MySQL是源碼開放的關系型數(shù)據(jù)庫管理系統(tǒng)[5],因其體積小、速度快、可靠性高和適應性強而備受關注,而且由于其是開放源碼軟件,可以大大降低總體開發(fā)成本.因此,本文在VC++環(huán)境下,應用開發(fā)工具提供的MFC類庫、微軟通信控制(Microsoft Communications Control,以下簡稱:MSComm)軟件,結合MySQL數(shù)據(jù)庫技術開發(fā)基于串行通信的上位機監(jiān)測系統(tǒng).該系統(tǒng)實現(xiàn)了農(nóng)業(yè)生產(chǎn)環(huán)境多元信息的規(guī)范化、信息化、智能化實時遠程監(jiān)測與管理,有利于提高農(nóng)業(yè)生產(chǎn)效率,降低生產(chǎn)成本.同時,系統(tǒng)將監(jiān)測數(shù)據(jù)及時、規(guī)范地存儲到數(shù)據(jù)庫中,為農(nóng)業(yè)生產(chǎn)科學管理提供充分、可靠的科學依據(jù).

1 系統(tǒng)總體設計

1.1 系統(tǒng)總體結構設計

本系統(tǒng)采用 客戶機/服務器(Client/Server,以下簡稱:C/S)模型,實現(xiàn)對大面積農(nóng)業(yè)生產(chǎn)環(huán)境信息的遠程集中監(jiān)測和農(nóng)戶管理人員的異步查詢.整個系統(tǒng)主要包括遠程監(jiān)測終端、通信鏈路和數(shù)據(jù)采集終端3部分.系統(tǒng)原理框圖如圖1所示.

圖1 系統(tǒng)結構框圖Fig.1 Diagram of system structure

遠程監(jiān)測終端包括內部運行了上位機監(jiān)測程序和存儲了系統(tǒng)決策支持相關信息數(shù)據(jù)庫的個人計算機(Personal Computer,以下簡稱:PC);通信鏈路包括PC機與紫蜂(ZigBee)協(xié)調器間串行通信鏈路及ZigBee近距離無線通訊網(wǎng)絡,無線通信網(wǎng)絡以ARM9為核心,結合ZigBee無線網(wǎng)絡技術,實現(xiàn)農(nóng)業(yè)環(huán)境多參數(shù)的實時與遠程監(jiān)測[6-8];數(shù)據(jù)采集終端包括農(nóng)田環(huán)境溫度傳感器、CO2濃度傳感器、土壤水分傳感器以及光照強度傳感器.

1.2 上位機監(jiān)測系統(tǒng)功能設計

基于VC++和數(shù)據(jù)庫的農(nóng)業(yè)環(huán)境監(jiān)測系統(tǒng),便于用戶及時掌握農(nóng)業(yè)生產(chǎn)多元信息.用戶可登陸上位機監(jiān)測系統(tǒng)實時監(jiān)測農(nóng)田環(huán)境信息,并可進行數(shù)據(jù)的歷史查詢、動態(tài)分析、異常預警等操作.系統(tǒng)整體功能結構如圖2所示.器節(jié)點基本信息,如節(jié)點位置、節(jié)點名稱及節(jié)點狀態(tài)等,節(jié)點信息存儲到節(jié)點信息數(shù)據(jù)庫表中.

圖2 系統(tǒng)功能模塊圖Fig.2 Diagram of system functional block

用戶信息管理模塊:管理用戶基本信息,通過操作用戶信息數(shù)據(jù)庫可以查看用戶注冊的基本信息、用戶訪問時間和次數(shù)及設置用戶訪問權限等.

實時數(shù)據(jù)監(jiān)測模塊:將傳感器終端采集到的空氣溫濕度、光照強度、CO2濃度、土壤水分等數(shù)據(jù)實時上傳至PC機,首先存儲到實時數(shù)據(jù)表中,用戶通過單擊數(shù)據(jù)顯示按鈕,動態(tài)刷新顯示界面查看實時監(jiān)測數(shù)據(jù),實現(xiàn)多參數(shù)信息的實時監(jiān)測與存儲.

歷史數(shù)據(jù)查詢模塊:實現(xiàn)對某指定監(jiān)測節(jié)點指定時間段的感知數(shù)據(jù)信息的查詢.

數(shù)據(jù)動態(tài)分析模塊:以動態(tài)波形形式實現(xiàn)對監(jiān)測點環(huán)境參數(shù)變化趨勢的分析,通過單擊系統(tǒng)主界面數(shù)據(jù)動態(tài)分析按鈕查看動態(tài)波形圖.

異常預警模塊:設定監(jiān)測點的監(jiān)測標準值,并進行邏輯判斷,超出閥值,記錄報警.

2 系統(tǒng)軟件設計

登陸模塊:為提高系統(tǒng)信息安全性,登陸模塊分為管理員登陸與普通用戶登陸2部分.

參數(shù)設置模塊:設置串口參數(shù)值及異常預警閥值,如串行通信端口號、波特率、數(shù)據(jù)位、校驗位、停止位、空氣溫度濕度上下限值等.

節(jié)點信息管理模塊:管理布設在田間的傳感

2.1 串口通信程序設計

在Windows下進行串行通信編程的方法有:①利用Win32 API函數(shù)編程;②利用VC++6.0類庫中提供的CSerialPort類編程;③利用開發(fā)工具提供的MSComm控件編程.

筆者選用MSComm控件編寫串口通信程序.MSComm控件是一種ActiveX控件,能在簡化了的Windows環(huán)境下進行串行通信編程,由Microsoft公司提供,該控件通過串口收發(fā)數(shù)據(jù),為應用程序編寫串行通信提供了簡便方法.VC為其提供了標準的事件處理函數(shù)和過程,同時提供了進行數(shù)據(jù)通信所需的RS 232協(xié)議,軟件開發(fā)人員可方便地通過設置和監(jiān)視MSComm控件的屬性和事件編寫串口通信程序[9].

用MSComm控件進行串口編程的具體方法如下:

(1)在對話框中插入MSComm控件.可以把MSComm控件從對話框控件工具欄中拖入對話框中,若控件工具欄中缺少該控件,可通過菜單Project→Add to Project→Components and Control插入即可.

(2)為MSComm控件ID添加一個控制對象.可手動添加該控制對象,也可通過ClassWizard的成員函數(shù)選項卡提示步驟來添加.

(3)設置MSComm屬性,初始化串口.

(4)添加消息處理函數(shù)OnComm(),這一過程可以由ClassWizard自動實現(xiàn).

(5)編寫串口接收、發(fā)送相關代碼,如獲取控件數(shù)據(jù)、讀緩沖區(qū)、送入臨時變量、加入接收字符串等代碼.

(6)關閉串口.可通過MSComm控制對象調用SetPortOpen()函數(shù)關閉串口.

2.2 數(shù)據(jù)庫設計

數(shù)據(jù)是農(nóng)業(yè)環(huán)境信息化管理系統(tǒng)的基礎,數(shù)據(jù)的有效采集、存儲、分析處理是系統(tǒng)功能穩(wěn)定發(fā)揮的關鍵環(huán)節(jié),而數(shù)據(jù)庫是整個系統(tǒng)中數(shù)據(jù)處理、組織、分析及管理的核心,它設計的合理與否直接影響到整個系統(tǒng)的開發(fā)和運行效率.

本系統(tǒng)從分析數(shù)據(jù)信息入手設計系統(tǒng)數(shù)據(jù)庫,后臺數(shù)據(jù)庫管理系統(tǒng)選用MySQL 5.5;應用程序通過開放數(shù)據(jù)源互聯(lián)(Open Database Connectivity,以下簡稱:ODBC)配置連接到 MySQL數(shù)據(jù)庫[10],數(shù)據(jù)庫查詢語言使用結構查詢語言(Structured Query Language,以下簡稱:SQL).

筆者根據(jù)數(shù)據(jù)庫設計規(guī)范的要求,在考慮設計數(shù)據(jù)庫結構時,既考慮便于用戶使用,又力求數(shù)據(jù)庫表結構規(guī)范化,以提高數(shù)據(jù)庫的查詢效率.根據(jù)系統(tǒng)實際情況,設計3個數(shù)據(jù)庫,分別為用戶信息數(shù)據(jù)庫、環(huán)境監(jiān)測信息數(shù)據(jù)庫、閥值信息數(shù)據(jù)庫.每個數(shù)據(jù)庫采用一庫多表的形式設計數(shù)據(jù)庫結構,從而實現(xiàn)監(jiān)測系統(tǒng)相關信息的結構化、規(guī)范化存儲.設計數(shù)據(jù)庫結構具體如下:

用戶信息數(shù)據(jù)庫.主要存儲系統(tǒng)用戶基本信息,包括用戶注冊信息、用戶類別、用戶權限、權限選擇、相應權限功能等.

監(jiān)測信息數(shù)據(jù)庫.該數(shù)據(jù)庫主要存放3類信息:①節(jié)點信息,主要存儲與監(jiān)測節(jié)點相關的信息,包括節(jié)點名、節(jié)點位置、節(jié)點類型、節(jié)點狀態(tài)等;②監(jiān)測點資料信息,主要存放各個農(nóng)田監(jiān)測點基本資料,包括監(jiān)測點位置名、位置經(jīng)度、位置緯度、所屬田戶、農(nóng)作物類別等;③監(jiān)測數(shù)據(jù)信息,主要用于存儲系統(tǒng)監(jiān)測數(shù)據(jù),包括實時數(shù)據(jù)規(guī)范化存儲、歷史數(shù)據(jù)分類存儲、監(jiān)測情況記錄等.

閥值信息數(shù)據(jù)庫.主要用于存儲各監(jiān)測值的上下限,監(jiān)測數(shù)據(jù)超出閥值時系統(tǒng)啟動報警功能,包括監(jiān)測點、溫度閥值、濕度閥值、光照強度閥值等.

部分數(shù)據(jù)庫表結構及相互之間的關系如圖3所示.

圖3 環(huán)境監(jiān)測信息數(shù)據(jù)庫表結構及關系Fig.3 Structures of monitoring information database tables and their relationship

3 系統(tǒng)測試

運行系統(tǒng),首先進入登陸界面,輸入用戶信息數(shù)據(jù)庫表中有效的用戶信息,點擊登錄按鈕即可進入如圖4所示的系統(tǒng)主界面.

圖4 系統(tǒng)主界面圖Fig.4 Diagram of system main interface

為了檢驗系統(tǒng)的可行性和穩(wěn)定性,首先在實驗室進行了系統(tǒng)組裝測試,系統(tǒng)ZigBee終端節(jié)點安裝了空氣溫度傳感器、空氣濕度傳感器,采集時間設置為20 min采集一次,測試成功后在實驗室正常運行一段時間,系統(tǒng)檢測到的數(shù)據(jù)首先存儲到數(shù)據(jù)庫實時數(shù)據(jù)表中,用戶通過單擊實時監(jiān)測按鈕可動態(tài)刷新監(jiān)測界面,查看當前時刻環(huán)境信息,如圖4所示.通過操作上位機監(jiān)控軟件可動態(tài)分析某一時間段內環(huán)境參數(shù)值變化情況;通過查詢數(shù)據(jù)庫歷史數(shù)據(jù)表了解某塊地農(nóng)作物的生長環(huán)境歷史信息,從而為來年農(nóng)作物的選種、播種等做出有效判斷.系統(tǒng)數(shù)據(jù)的動態(tài)分析與歷史查詢測試如圖5所示.

圖5 數(shù)據(jù)動態(tài)分析與歷史查詢圖Fig.5 Diagram of data dynamic analysis and historical query

4 結語

筆者設計了一個基于VC++的農(nóng)業(yè)環(huán)境監(jiān)測系統(tǒng),系統(tǒng)應用C/S體系結構進行數(shù)據(jù)存取,實現(xiàn)了用戶通過登錄監(jiān)測系統(tǒng)遠程監(jiān)測農(nóng)業(yè)環(huán)境信息的功能.實驗結果表明,該系統(tǒng)人機界面友好,功能較為完善,運行穩(wěn)定可靠,并且易于擴展和維護.它有效地結合MySQL數(shù)據(jù)庫技術,使龐大的監(jiān)測數(shù)據(jù)得到快速、靈活、高效的處理,為農(nóng)業(yè)決策提供重要的數(shù)據(jù)支持.

該系統(tǒng)通過ZigBee無線傳感器技術結合嵌入式技術進行數(shù)據(jù)采集、融合與傳輸,實現(xiàn)農(nóng)作物的生長環(huán)境信息的實時監(jiān)測,解決了現(xiàn)有的有線傳輸帶來的布線復雜、成本高、維護麻煩等困難,提高了系統(tǒng)擴展性、可移動性,節(jié)省了安裝成本和人力資源,較大地提高了農(nóng)業(yè)環(huán)境信息監(jiān)測與管理的質量,有利于大面積農(nóng)田環(huán)境的智能化、統(tǒng)一化管理.

[1]KITCHEN R.Newell.Emerging technologies for realtime and integrated agriculture decisions[J].Computers and Electronics in Agriculture,2008,61(1):1-3.

[2]張帆,劉剛.基于.NET的農(nóng)業(yè)生產(chǎn)環(huán)境信息監(jiān)測系統(tǒng)[J].計算機工程與設計,2013,34(2):696-701.ZHANG Fan,LIU Gang.Agricultural production environment information monitoring system based on.NET[J].Computer Engineering and Design,2013,34(2):696-701.(in Chinese)

[3]楊瑋,李民贊.基于ZigBee、3G網(wǎng)絡的溫室遠程監(jiān)測系統(tǒng)[C]//中國農(nóng)業(yè)工程學會2011年學術年會論文集.北京:中國農(nóng)業(yè)工程學會,2011:67-71.YANG Wei,LI Min-Zan.Remote monitoring system of greenhouse based on ZigBee and 3G[C]//Procedings of Chinese Society of Agricultural Engineering Conference.Beijing:Chinese Society of Agricultural Engineering,2011:67-71.(in Chinese)

[4]薛文英,傅平,張馨,等.基于組態(tài)平臺的日光溫室群監(jiān)控系統(tǒng)軟件設計與應用[J].北方園藝,2011(9):53-56.XUE Wen-ying,F(xiàn)U Ping,ZHANG Xin,et a1.Design and application about monitoring and control system for greenhouse group based on configuration platform[J].Northern Horticulture,2011(9):53-56.(in Chinese)

[5]張永梅.MySQL數(shù)據(jù)庫技術在公民健康信息管理系統(tǒng)中的應用[D].西安:西安電子科技大學,2010.ZHANG Yong-mei.The application of MySQL database technology in Citizen's Health Information Management System[D].Xi An:Xidian University,2010.(in Chinese)

[6]ZigBee Alliance.ZigBee specification version 1.0[M].CA USA:ZigBee Standards Organization,2004.

[7]ZHANG Jie,LI Ai-cheng,LI Jian-long,et al.Research of real-time image acquisition system based on ARM 7 for agricultural environmentalmonitoring[C]//2011 International Conference on Remote Sensing,Environment and Transportation Engineering(RSETE 2011),2011 June 24-26,Nanjing,China.Piscataway,NJ:the Institute of Electrical and Electronics Engineers,Inc.(IEEE),2011:6216-6220.

[8]YANG Shu-hui,DAI Fei,CARDEI M,et al.On connected multiple point coverage in wireless sensor networks[J].International Journal of Wireless Information Networks,2006,13(4):289-301.

[9]王正強.VC中應用MSComm控件實現(xiàn)串口通信[J].電子測試,2010(5):73-76.WANG Zheng-qiang.Realization of serial port communication by MSComm control in the VC enviroment[J].Electronic Test,2010(5):73-76.(in Chinese)

[10][英]福塔.MySQL必知必會[M].劉曉霞,鐘鳴,譯.北京:人民郵電出版社,2013:4-8.FORTA B.MySQL crash course[M].LIU Xiao-xia,ZHONG Ming,translate.Beijing:Posts & Tele Press,2013:4-8.(in Chinese)

猜你喜歡
控件串口數(shù)據(jù)庫
淺談AB PLC串口跟RFID傳感器的通訊應用
基于.net的用戶定義驗證控件的應用分析
關于.net控件數(shù)組的探討
數(shù)據(jù)庫
數(shù)據(jù)庫
數(shù)字電源內部數(shù)據(jù)傳輸?shù)拇谕ㄐ欧椒▽崿F(xiàn)
USB接口的多串口數(shù)據(jù)并行接收方法探索
數(shù)據(jù)庫
數(shù)據(jù)庫
串口技術的實物調試和虛擬仿真聯(lián)合教學模式
浏阳市| 宣武区| 南汇区| 金堂县| 甘孜县| 邵东县| 资溪县| 江城| 唐河县| 黑龙江省| 东港市| 定安县| 天峻县| 淮安市| 宣汉县| 金堂县| 遵化市| 峡江县| 凯里市| 西林县| 上栗县| 民县| 永州市| 峡江县| 杭锦旗| 宕昌县| 昭平县| 集贤县| 噶尔县| 曲阜市| 海盐县| 泽普县| 巢湖市| 马山县| 香港| 宜良县| 澄迈县| 屏边| 舟曲县| 武山县| 沁水县|