![遠程墑情氣象采集系統(tǒng)設計_第1頁](http://file4.renrendoc.com/view/69a844d23464e135998033d84b8c8f59/69a844d23464e135998033d84b8c8f591.gif)
![遠程墑情氣象采集系統(tǒng)設計_第2頁](http://file4.renrendoc.com/view/69a844d23464e135998033d84b8c8f59/69a844d23464e135998033d84b8c8f592.gif)
![遠程墑情氣象采集系統(tǒng)設計_第3頁](http://file4.renrendoc.com/view/69a844d23464e135998033d84b8c8f59/69a844d23464e135998033d84b8c8f593.gif)
![遠程墑情氣象采集系統(tǒng)設計_第4頁](http://file4.renrendoc.com/view/69a844d23464e135998033d84b8c8f59/69a844d23464e135998033d84b8c8f594.gif)
![遠程墑情氣象采集系統(tǒng)設計_第5頁](http://file4.renrendoc.com/view/69a844d23464e135998033d84b8c8f59/69a844d23464e135998033d84b8c8f595.gif)
版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
遠程墑情氣象采集系統(tǒng)設計摘要:本文描述了如何設計一個遠程墑情氣象采集系統(tǒng)。通過Internet和GPRS網(wǎng)絡,遠程實時監(jiān)測氣象的數(shù)據(jù),嵌入式Linux終端接收ZIGBEE網(wǎng)絡各節(jié)點的氣象數(shù)據(jù),將大量的數(shù)據(jù)存入到數(shù)據(jù)庫中,同時可以發(fā)送給遠程監(jiān)控中心。遠程監(jiān)控中心將接收到的數(shù)據(jù)存入數(shù)據(jù)庫,并且進行數(shù)據(jù)分析,實現(xiàn)遠程控制。本文首先介紹了遠程墑情氣象采集系統(tǒng)的整體方案設計。其次介紹了各個模塊的硬件設計及模塊界面,闡述了軟件設計和數(shù)據(jù)庫設計以及軟件調(diào)試,最后說明了整體的調(diào)試情況。實踐應用表明,本設計是嵌入式技術、GPRS技術、Internet技術以及ZIGBEE網(wǎng)絡技術在遠程環(huán)境參數(shù)監(jiān)測的研究中的一次基礎性探索,具有一定的實踐意義。關鍵詞:氣象采集;Linux;嵌入式;數(shù)據(jù)庫;ZIGBEE;RemotemoistureMeteorologicalAcquisitionSystemAbstract:Thisarticledescribeshowtodesignaremotemeteorologicalmoisturecollectionsystem.ThroughtheInternetandGPRSnetwork,remotereal-timemonitoringofmeteorologicaldata,embeddedLinuxterminalreceiveseachnodeZIGBEEnetworkofmeteorologicaldata,willbedepositedlargeamountsofdatatothedatabase,andcanbesenttoaremotemonitoringcenter.Remotemonitoringcenterwillreceivethedatastoredinthedatabaseanddataanalysis,remotecontrol.Thispaperdescribestheoveralldesignofmeteorologicalremotemoisturecollectionsystem.Secondly,itintroducesthehardwaredesignofeachmoduleandthemoduleinterface,elaboratedsoftwaredesignanddatabasedesignandsoftwaredebugging,debuggingfinallyexplaintheoverallsituation.Practicalapplicationshowsthatthisdesignisembeddedtechnology,GPRStechnology,Internettechnology,andZIGBEEnetworktechnologyinabasicresearchtoexploretheremotemonitoringofenvironmentalparameters,hassomepracticalsignificance.Keywords:Meteorologicalcollection,Linux,Embedded,Database,ZIGBEE;TOC\o"1-3"\h\u55881緒論 緒論1.1課題研究背景與意義在國際合作的大環(huán)境下,我國隨著近期的工業(yè)化進程的快速推進,城鎮(zhèn)化腳步得到加速發(fā)展,同時人們對生活質(zhì)量的要求不斷提升,作為人類農(nóng)業(yè)生產(chǎn)活動基礎的土地資源,被現(xiàn)代化建設大量占用,以及環(huán)境污染造成的水土流失、荒漠化和鹽堿化等現(xiàn)象,致使耕地面積銳減,土地質(zhì)量嚴重下降,土地資源的矛盾日益加劇。為確保在有限耕作面積下,農(nóng)作物產(chǎn)出不減,土地質(zhì)量狀況起到了重要作用。土地質(zhì)量狀況取決于諸多因素,而土壤墑情在一定層面上正反映了土地質(zhì)量水平,因此,監(jiān)測土壤墑情在保護土地資源中起著重要的作用[1]。另一方面,作為一個農(nóng)業(yè)大國,農(nóng)業(yè)在我國的產(chǎn)業(yè)結構中占有舉足輕重的作用。從古至今,氣候因素對農(nóng)業(yè)的影響非常重要,近幾十年來,頻繁出現(xiàn)的極端天氣給人類生命財產(chǎn)安全、糧食安全等帶來了巨大的負面影響,已成為全球廣泛關注的焦點。據(jù)統(tǒng)計數(shù)據(jù)和研究發(fā)現(xiàn),溫室氣體的大量增加導致的全球氣候變暖是極端天氣出現(xiàn)的主要原因。面臨嚴峻的全球氣候變化形勢,從《京都議定書》到哥本哈根會議,世界各國政府都積極參與如何應對氣候變化的國際合作??梢?,對于氣象的及時觀測從古至今都是人們所關注的熱點。早在清朝的時候,我國就已經(jīng)建立一套相對完善的氣象觀測制度,命令有關部門逐日觀測陰晴雨雪等天氣現(xiàn)象,并將觀測的結果編纂成《晴雨錄》,每月呈報給皇帝。在很長一段時間內(nèi),氣象觀測均是以人工觀測為主,但是不可避免地,人工觀測存在時間與地域的限制,并且結果的估測會存在比較大的誤差[2]。不過隨著科學技術的發(fā)展,尤其是電子計算機的廣泛應用,人們對于氣象的觀測越來越精確化,也為氣象觀測自動化提供了強有力的技術支持。綜上所述,土壤墑情和氣象的變化勢必影響著未來人們的生活,對于它們的研究分析已經(jīng)刻不容緩。本文將墑情和氣象結合起來,設計出一種可以遠程監(jiān)控墑情數(shù)據(jù)和氣象數(shù)據(jù)的采集系統(tǒng)。該系統(tǒng)可以采集多點的現(xiàn)場墑情數(shù)據(jù),如土壤的濕度、土壤的溫度等,還可以采集現(xiàn)場的氣象數(shù)據(jù),如CO2濃度、溫濕度、風速、風向等,并且通過無線網(wǎng)絡的方式發(fā)送給遠程監(jiān)控中心,遠程監(jiān)控中心可以根據(jù)接收到得實時數(shù)據(jù),進行存儲并分析,提供報表打印功能,供相關人員研究分析墑情和氣象數(shù)據(jù),提供決策依據(jù)。1.2國內(nèi)外研究現(xiàn)狀國外的氣象采集系統(tǒng)在七、八十年代已經(jīng)投入使用,九十年代更是發(fā)展迅速。芬蘭Vailasa公司、美國Handar公司、CampbellScientific公司、澳大利亞DataElectronics公司出廠的數(shù)據(jù)采集系統(tǒng)性能都十分優(yōu)異:系統(tǒng)靈活性非常好;系統(tǒng)多采用串行總線技術,有很多輸出的接口;系統(tǒng)還具有配套的軟件,使系統(tǒng)的實時性大大提高;系統(tǒng)能存儲大量的數(shù)據(jù);系統(tǒng)還具有自校驗等功能[3]。從上世紀四十年代中期至今,伴隨著計算機、電子信息技術的迅速發(fā)展,許多國家已經(jīng)實現(xiàn)了在氣象領域的現(xiàn)代化改造。以美國和加拿大為例,從70年代末、80年代初開始建立非聯(lián)邦自動氣象站(AWS)和自動氣象站網(wǎng)以來,其數(shù)量發(fā)展迅速(已擁有831個固定站和150多個非固定站),資料應用廣泛(農(nóng)業(yè)、公眾服務等)。在氣象數(shù)據(jù)的采集方面,也已實現(xiàn)了氣象數(shù)據(jù)的實時化和網(wǎng)絡化傳輸,為國民經(jīng)濟的發(fā)展提供了強有力的幫助[4]。由于受地理位置和復雜多樣的地形的影響,就國內(nèi)目前情況來看,自動氣象站的建設還剛剛起步,到2005年底,建成基站143個,一般站1763個。除國家或省級氣象局外,大多數(shù)基層氣象站的觀測儀器設備還比較陳舊,而且更新?lián)Q代周期長。尤其是經(jīng)濟和科技相對落后的西北地區(qū),很多站點還依靠人工記錄和匯總,工作量大,容易出錯。顯然,這種狀況與時代發(fā)展是很不相稱的[5]。竇以文,屈玉貴等人研究并提出了一種自動氣象站實時數(shù)據(jù)質(zhì)量控制方法,最后應用在北京奧運會的氣象服務系統(tǒng)中起了很大的作用[6]。國內(nèi)目前的墑情監(jiān)測預測系統(tǒng)已有一定的發(fā)展。Mathmood,Hubbard,Martinez等人采用模擬長期分析的方法,根據(jù)對比北部大平原的水文氣候條件,研究了土壤水分數(shù)據(jù)的三種土地墑情情況,同時研究了近地表和根區(qū)土壤水分時空分布情況[7-8]。隋東、張濤、崔勁松利用VFP610數(shù)據(jù)庫管理系統(tǒng),對沈陽地區(qū)土壤墑情監(jiān)測與預測系統(tǒng)進行了開發(fā)研制。所建立的系統(tǒng)能夠?qū)崿F(xiàn)土壤墑情信息的統(tǒng)計、檢索、列表顯示、圖形分析顯示和預測等功能,并且可對土壤墑情變化規(guī)律進行實時監(jiān)測[9]。2系統(tǒng)方案設計2.1遠程墑情氣象采集系統(tǒng)實現(xiàn)功能根據(jù)課題的要求,本設計運用嵌入式技術、單片機技術、傳感器技術、數(shù)據(jù)庫技術,主要實現(xiàn)以下功能:土壤墑情數(shù)據(jù)采集土壤溫濕度數(shù)據(jù)采集;氣象參數(shù)數(shù)據(jù)采集CO2、風速、風向、大氣溫濕度等數(shù)據(jù)采集;RTU無線組網(wǎng)功能;現(xiàn)場RTU的大型數(shù)據(jù)存儲功能,實現(xiàn)數(shù)據(jù)備份;遠程數(shù)據(jù)通信功能;觸摸式人機交互功能;基于嵌入式的多任務調(diào)度功能;基于Internet網(wǎng)和GPRS的遠程監(jiān)控功能;墑情及氣象數(shù)據(jù)庫系統(tǒng)。2.2遠程墑情氣象采集系統(tǒng)整體設計本系統(tǒng)由一個墑情數(shù)據(jù)采集模塊,氣象數(shù)據(jù)采集模塊,以及遠程監(jiān)控中心應用軟件組成。氣象數(shù)據(jù)采集模塊通過Internet和遠程監(jiān)控中心應用軟件通信,墑情數(shù)據(jù)采集模塊和氣象數(shù)據(jù)采集模塊通信。系統(tǒng)總體構架如下圖2-1所示:圖2-1遠程墑情氣象采集系統(tǒng)總體架構圖2.3墑情數(shù)據(jù)采集模塊設計墑情數(shù)據(jù)采集模塊主要負責采集土壤溫度、土壤濕度等墑情信息,通過無線的方式將墑情數(shù)據(jù)發(fā)送給氣象采集模塊。2.3.1無線模塊Zigbee是近幾年興起的一種低功耗、低成本、短距離、組網(wǎng)靈活的無線通信技術[10]。適用于傳輸數(shù)據(jù)量小,多網(wǎng)絡節(jié)點的通信場合。本系統(tǒng)要求功能的擴展性好,設備節(jié)點可增減,所以ZIGBEE完全符合要求。本系統(tǒng)選擇了TI公司的CC2530模塊,該芯片內(nèi)置增強版的C8051,并且具有豐富的外設資源,TI公司還為其開發(fā)了Z-Stack協(xié)議棧,相當于一個小型的操作系統(tǒng)。該解決方案為廣大用戶實現(xiàn)了協(xié)議棧的底層和網(wǎng)絡層,將復雜的部分屏蔽,提供給用戶API接口,用戶只要實現(xiàn)硬件和應用層的開發(fā)即可,不需要關心底層和網(wǎng)絡的實現(xiàn)[11-12]。這為以后的二次開發(fā)提供了方便,節(jié)約了開發(fā)的時間和成本,同時可擴展性良好。2.3.2大氣溫濕度本系統(tǒng)采用DHT11模塊來采集大氣的溫度和濕度。該傳感器是數(shù)字量輸出,輸出信號穩(wěn)定,而且處理方便,不需要經(jīng)過外接的AD處理,可以直接讀取使用。DHT11響應速度快,性價比高,抗干擾能力強,故符合本系統(tǒng)的要求。2.3.3土壤濕度本系統(tǒng)采用RH—T傳感器來采集土壤的濕度。該傳感器是模擬量輸出,輸出穩(wěn)定、精確,價格便宜,符合本系統(tǒng)的要求。2.3.4土壤溫度本系統(tǒng)采用LM35D傳感器來采集土壤的溫度。LM35D是由測溫傳感器和放大器組成,一種輸出信號為模擬信號的溫度傳感器,測溫范圍為0~100℃,工作電壓范圍4~30℃,精度為正負1℃,符合本系統(tǒng)的要求。2.4氣象數(shù)據(jù)采集模塊設計氣象數(shù)據(jù)采集模塊主要負責采集風速、風向、CO2濃度等氣象信息,同時接收從墑情數(shù)據(jù)采集模塊發(fā)送來的其他氣象信息,并且存入數(shù)據(jù)庫中,最后通過Internet網(wǎng)絡和GPRS網(wǎng)絡同遠程監(jiān)控中心通信。2.4.1嵌入式硬件平臺由于本系統(tǒng)的功能要求比較復雜,需要有良好的擴展性,同時也需要有良好的人機交互,故選擇了三星公司的S5PV210這款CPU,S5PV210的主頻高達1G,支持1G的DDR2、1G的nandflash,完全符合要求。由于嵌入式硬件平臺的設計較為復雜,對硬件能力要求很高,同時也由于時間的限制,所以直接購買了天嵌公司出品的TQ210開發(fā)板,該開發(fā)板具有豐富的外設資源,滿足本系統(tǒng)設計的要求。2.4.2嵌入式軟件平臺Linux系統(tǒng)是開源的類unix系統(tǒng),具有多用戶、多任務的特點,而且可移植性非常好,適用于ARM平臺[13]。所以本系統(tǒng)采用了linux-,通過交叉編譯器來開發(fā)驅(qū)動,應用程序等[14]。在嵌入式設備終端上要求運行操作界面,故而選取QT開發(fā)環(huán)境來開發(fā)界面。QT是奇趣公司開發(fā)的跨平臺界面開發(fā)工具,能夠支持X86平臺,ARM平臺,Windows平臺等。本身是開源的開發(fā)工具,而且封裝了很多的類,比如控件類,線程類,鏈表類,字符串類等很多實用的類,便于開發(fā)。2.4.3CO2濃度傳感器本系統(tǒng)采用B530CO2傳感器采集CO2的濃度,B530是韓國進口的CO2傳感器,具有體積小,質(zhì)量輕,精度高,測量范圍廣,抗干擾能力強等優(yōu)點,采用232串口通信,數(shù)據(jù)穩(wěn)定,完全符合本系統(tǒng)的要求。2.4.4風向傳感器本系統(tǒng)采用FR-WD風向傳感器,內(nèi)部采用高精度磁敏感應芯片,并選用低慣性輕金屬風向標響應風向,動態(tài)特性好。該成品具有量程大、線性好、抗雷擊能力強、觀測方便、穩(wěn)定可靠等優(yōu)點,可廣泛用于氣象、海洋、機場、港口、實驗室、工農(nóng)業(yè)及交通等領域。該傳感器輸出0-5V,線性對應0-360度。2.4.5風速傳感器本系統(tǒng)采用FR-WS風速傳感器采用傳統(tǒng)三風杯風速傳感器結構,風杯選用碳纖維材料,強度高,啟動好;杯體內(nèi)置信號處理單元能根據(jù)用戶需求輸出響應風速信號,可廣泛用于氣象、海洋、環(huán)境、機場、港口、實驗室、工農(nóng)業(yè)及交通等領域。輸出信號為脈沖信號,風速的計算公式為W=0.1+0.0875*脈沖信號頻率。2.4.6GPRS模塊GTM-900是華為的GPRS模塊,相比于SIM300和TC35,GTM-900的性價比更高,而且返修率很低,TC35沒有自帶TCP/IP協(xié)議,不符合系統(tǒng)的設計要求。SIM300價格較貴。GTM-900支持AT指令,方便使用和控制,同時支持232串口通信,方便開發(fā)[15]。2.5遠程監(jiān)控中心應用軟件設計2.5.1遠程監(jiān)控中心應用軟件功能需求分析遠程監(jiān)控中心應用軟件需要一個美觀的可視化界面。該軟件可以進行注冊新賬號、登陸、通過Internet網(wǎng)絡接收氣象采集模塊發(fā)送來的氣象數(shù)據(jù)、并數(shù)據(jù)庫存儲等功能。QTCreater可以開發(fā)美觀的界面,并且自帶的TCP和Socket類可以實現(xiàn)網(wǎng)絡通信,數(shù)據(jù)庫類可以實現(xiàn)數(shù)據(jù)庫的操作,可以實現(xiàn)以下幾項主要功能:賬號注冊。賬號登陸。遠程監(jiān)控。實時顯示。數(shù)據(jù)庫存儲。數(shù)據(jù)庫查詢、分析。2.5.2遠程監(jiān)控中心應用軟件功能結構根據(jù)上面遠程監(jiān)控中心的需求分析,具體分析了遠程監(jiān)控中心模塊的功能,如圖2-2所示:圖2-2遠程監(jiān)控中心應用軟件功能結構2.6遠程墑情氣象采集系統(tǒng)整體框圖綜上所訴,最終確定方案的系統(tǒng)整體結構體如圖2-3所示:圖2-3遠程墑情氣象采集系統(tǒng)整體框圖3硬件設計和各個模塊介紹3.1墑情數(shù)據(jù)采集模塊該模塊負責采集地面及地下的土壤墑情的數(shù)據(jù),通過zigbee組網(wǎng),zigbee各節(jié)點將墑情傳感器的數(shù)據(jù)發(fā)送給zigbee網(wǎng)絡協(xié)調(diào)器,由協(xié)調(diào)器統(tǒng)一打包,最終發(fā)送給氣象數(shù)據(jù)采集模塊。3.1.1主控芯片——(CC2530)墑情數(shù)據(jù)采集模塊采用CC2530作為主控芯片,通過自帶的AD接口P0_0來采集土壤濕度傳感器和P0_1來采集土壤溫度傳感器的數(shù)據(jù),通過P0_6和DHT11通信,采集大氣的溫濕度。核心板的原理圖如圖3-1所示:圖3-1CC2530核心板原理圖3.1.2zigbee節(jié)點——土壤濕度傳感器(RH-T)RH-T土壤濕度傳感器輸出為模擬信號,CC2530通過AD接口P0_0和RH-T通信。二者的接口圖如圖3-2所示:圖3-2土壤濕度傳感器實物及接口圖3.1.3zigbee節(jié)點——土壤溫度傳感器(LM35D)LM35D土壤溫度傳感器輸出為模擬信號,CC2530通過AD接口P0_1和LM35D通信。二者的接口圖如圖3-3所示:圖3-3土壤溫度傳感器實物及接口圖3.1.4Zigbee協(xié)調(diào)器——溫濕度傳感器(DHT11)DHT11數(shù)字溫濕度傳感器是一款溫濕度復合傳感器,輸出信號已校準。傳感器包括一個電阻式感濕原件和一個NTC測溫原件,可以和IO口直接相連接。因此該產(chǎn)品具有抗干擾能力強,響應超快,性價比高。采用單總線數(shù)字信號,濕度測量范圍20-90%RH,溫度范圍0~50℃。與CC2530的接線圖如圖3-4所示:圖3-4DHT11傳感器實物及接口圖3.2氣象數(shù)據(jù)采集模塊氣象數(shù)據(jù)采集模塊主要包括主控芯片三星的S5PV210、CO2濃度傳感器用于采集CO2濃度、ZIGBEE協(xié)調(diào)器用于采集節(jié)點數(shù)據(jù)、DS18B20傳感器用于采集周圍溫度、蜂鳴器用于板子溫度過高時報警、AT24C02用于存儲信息。3.2.1主控芯片——(S5PV210)氣象采集模塊采用S5PV210作為主控芯片。S5PV210是三星推出的一款基于Cortex-A8構架的芯片,適用于智能手機和平板。S5PV210主頻可達1GHZ,具有豐富的外設功能,能移植多種操作系統(tǒng)。本系統(tǒng)采用天嵌公司的TQ210開發(fā)板,具有1G的nandflsh、1G的DDR2內(nèi)存,同時具有豐富的外設,如USB接口、DB9串口接口、音頻接口、攝像頭接口等。由于S5PV210引腳過多,所以下面只給出部分引腳原理圖,如圖3-5所示:圖3-5S5PV210部分引腳接口圖3.2.2CO2濃度傳感器——(B530)B530通過232串口和氣象采集模塊通信,由于S5PV210串口有限,可利用USB1口轉串口來代替串口。FE1.1S是用于USB2.0HUB的主控IC,支持熱插拔,并且提供四個USB口,具有低功耗、底成本、高性能等特點。CO2傳感器的電路如圖3-6所示:圖3-6B530實物及接口圖3.2.3Zigbee協(xié)調(diào)器——(CC2530)Linux系統(tǒng)中已有PL2303的驅(qū)動程序,故可以使用USB3轉串口來和ZIGBEE模塊進行串口通信。電路原理圖如圖3-7所示圖3-7ZIGBEE協(xié)調(diào)器實物及接口圖3.2.4風向傳感器——(FR-WD)FR-WD風向傳感器輸出信號為0-5V,故可以利用S5PV210自帶的ADC控制器來采集風速數(shù)據(jù)。FR-WD和S5PV210的接口圖如圖3-8所示:圖3-8FR-WD傳感器實物及接口圖3.2.5風速傳感器——(FR-WS)FR-WS風速傳感器輸出信號為脈沖信號,可以通過脈沖的個數(shù)來采集風速數(shù)據(jù)。S5PV210通過外部中斷引腳和FR-WS相連,接口圖如下3-9所示:圖3-9FR-WS實物及接口圖3.2.6GPRS模塊——(GTM-900)嵌入式設備終端通過串口1和電腦通信,串口1主要用來查看操作系統(tǒng)的運行情況。嵌入式設備終端通過串口2和GTM-900模塊通信,負責接收和發(fā)送數(shù)據(jù)。串口1和串口2都通過SP3232電平轉換芯片,可以直接通過DB9接口線直接連接,電路原理圖3-10所示:圖3-10GTM-900實物及接口圖3.2.7溫度傳感器——(DS18B20)DS18B20是單總線協(xié)議的溫度傳感器,S5PV210通過一個普通IO來和DS18B20通信,接口圖如圖3-11所示:圖3-11DS18B20實物及接口圖3.2.8存儲芯片——(AT24C02)AT24C02是一個E2PROM存儲芯片,掉電不丟失,故可以用來保存一些數(shù)據(jù),存儲大小為2K。該器件通過I2C接口進行通信。芯片的A0,A1,A2為器件地址的選擇位,加上廠家出廠時提供的芯片固定的地址,組成I2C從設備的地址。電路的接線圖如圖3-12所示圖3-12AT24C02實物及接口圖3.2.9報警電路——(蜂鳴器)蜂鳴器通過一個普通IO口和S5PV210通信,當環(huán)境溫度高于設定的閾值溫度上限時,蜂鳴器就會報警,蜂鳴器硬件驅(qū)動電路和接口電路如圖3-13所示:圖3-13蜂鳴器實物及接口圖4系統(tǒng)軟件設計4.1軟件開發(fā)環(huán)境4.1.1IAR開發(fā)環(huán)境IAR8.10是IARsystems推出的集成開發(fā)環(huán)境。并且有配套的仿真工具,方便測試和調(diào)試程序。并且可以直接使用TI公司提供的協(xié)議棧z-Stack進行開發(fā),縮短了開發(fā)的時間。開發(fā)界面如圖4-1所示:圖4-1IAR開發(fā)界4.1.2VIM以及GNU編譯器Vim是一個強大的編程工具,雖然不是圖形化界面,但是它具有很多強大的功能。Vim分為三種編輯模式,編輯模式,底行模式,命令行模式。熟練掌握vim的操作后,編寫程序的效率會大大提高。開發(fā)界面如圖4-2所示:圖4-2VIM開發(fā)界面4.1.3QTCreatorQTCreate是一個跨平臺,完整的Qt集成開發(fā)環(huán)境。其中封裝了各種通用的類,可以通過集成QT的各種類,來更簡單地實現(xiàn)要想實現(xiàn)的界面[16]。并且集成了QTdesigner,使界面的設計和編程變得更加輕松,省去了繁瑣的計算,QT開發(fā)界面如圖4-3所示:圖4-3QTCreater開發(fā)界4.2墑情數(shù)據(jù)采集模塊軟件設計4.2.1墑情數(shù)據(jù)采集模塊——主流程圖墑情數(shù)據(jù)采集模塊分為兩個設備類型,一個為網(wǎng)絡協(xié)調(diào)器,一個是網(wǎng)絡設備節(jié)點。網(wǎng)絡協(xié)調(diào)器負責接收網(wǎng)絡設備節(jié)點發(fā)送來的數(shù)據(jù),統(tǒng)一打包發(fā)送給氣象數(shù)據(jù)采集模塊。網(wǎng)絡設備節(jié)點執(zhí)行發(fā)送任務,網(wǎng)絡協(xié)調(diào)器執(zhí)行接收任務[18]。故兩個任務的流程圖如圖4-4所示:圖4-4墑情數(shù)據(jù)采集模塊任務流程圖4.2.2墑情數(shù)據(jù)采集模塊——發(fā)送任務流程圖墑情數(shù)據(jù)采集模塊的網(wǎng)絡節(jié)點設備執(zhí)行的流程主要是進入操作系統(tǒng)后,定時執(zhí)行發(fā)送任務:讀取響應傳感器的電壓信號,轉換后打包發(fā)送協(xié)調(diào)器,流程圖如圖4-5所示:4.2.3墑情數(shù)據(jù)采集模塊——接收任務流程圖墑情數(shù)據(jù)采集模塊的網(wǎng)絡協(xié)調(diào)器執(zhí)行的流程主要是進入操作系統(tǒng)后,收到數(shù)據(jù)后執(zhí)行接收任務:采集大氣溫濕度,保存接收到得數(shù)據(jù),打包后通過串口發(fā)送給氣象采集模塊,流程圖如圖4-6所示:圖4-5墑情數(shù)據(jù)采集模塊發(fā)送任務流程圖圖4-6墑情數(shù)據(jù)采集模塊接收任務流程圖4.3氣象數(shù)據(jù)采集模塊操作系統(tǒng)平臺搭建由于氣象采集模塊需要運行l(wèi)inux操作系統(tǒng),所以之前要移植一個linux系統(tǒng)到S5PV210的板子上。主要移植的步驟包括:移植bootloader,這里移植u-boot,移植完成后燒寫u-boot到S5PV210的0地址位置;移植內(nèi)核,移植完成后燒寫kernel到5-10M地址位置;通過busybox制作文件系統(tǒng),添加各種庫文件和應用程序后,轉換成yaffs格式,燒寫到10M-500M地址位置。最后設置u-boot命令參數(shù),設置為nandflash啟動,重啟系統(tǒng)[19]。移植步驟框圖如圖4-7所示:圖4-7氣象數(shù)據(jù)采集模塊操作系統(tǒng)搭建平臺步驟圖4.4氣象數(shù)據(jù)采集模塊驅(qū)動程序設計4.4.1AT24C02——(I2C驅(qū)動程序)Linux系統(tǒng)的驅(qū)動分為字符設備驅(qū)動,塊設備驅(qū)動和網(wǎng)絡設備驅(qū)動[17]。本系統(tǒng)設計的AT24C02的驅(qū)動就是I2C從設備驅(qū)動。內(nèi)核已經(jīng)實現(xiàn)了I2C的總線設備驅(qū)動,只需要編寫從設備驅(qū)動即可。編寫從設備驅(qū)動,需要操作總線上維護的兩個鏈表:dev鏈表和drv鏈表。dev鏈表中的每一個節(jié)點對應的數(shù)據(jù)結構i2c_client,存放硬件信息,drv鏈表中的每一個節(jié)點對應的數(shù)據(jù)結構i2c_driver,純軟件信息[20]。首先修改mach-tq210.c加入i2c_board_info結構體I2C_BOARD_INFO("at24c02",0x50);分配初始化,最終會賦值給i2c_和i2c_cient.addrstaticvoid__initsmdkc110_machine_init(void){i2c_register_board_info(0,at24c02,ARRAY_SIZE(at24c02));}inti2c_register_board_info(intbusnum,structi2c_board_infoconst*info, unsignedn);busnum:總線編號info:待注冊i2c設備信息n:i2c設備個數(shù)注冊好之后,便可編程實現(xiàn)I2C的從設備驅(qū)動。程序如下所示#include<linux/init.h>#include<linux/module.h>#include<linux/i2c.h>#include<linux/uaccess.h>#include<linux/device.h>#include<linux/fs.h>#include<linux/delay.h>staticconststructi2c_device_idat24c02_id[]={{"at24c02",0}//"at24c02"一定要和i2c_board_一樣};staticintmajor;//主設備號staticstructclass*cls;//設備類staticstructi2c_client*g_client;//記錄從設備信息staticssize_tat24c02_read(structfile*file,char__user*buf,size_tcount,loff_t*ppos){unsignedcharbuffer[100];unsignedcharaddr;//地址unsignedchardata;//數(shù)據(jù)inti;//1.獲取用戶要操作訪問的地址if(copy_from_user(&addr,&buf[0],1)){return-EFAULT;}for(i=0;i<count;i++){//2.采用SMBUS將地址發(fā)送給總線驅(qū)動buffer[i]=i2c_smbus_read_byte_data(g_client,addr);if(buffer[i]<0){return-EIO;}addr++;}//3.將數(shù)據(jù)信息上報給用戶空間if(copy_to_user(buf,buffer,count)){return-EFAULT;}returncount;}staticssize_tat24c02_write(structfile*file,char__user*buf,size_tcount,loff_t*ppos){unsignedcharbuffer[100];unsignedcharaddr;unsignedchardata;inti;intret;//1.獲取用戶要操作的地址和數(shù)據(jù)信息if(copy_from_user(buffer,buf,count+1)){return-EFAULT;}addr=buffer[0];for(i=1;i<=count;i++){data=buffer[i];//udelay(1000);//2.利用SMBUS接口將client.addr設備地址和addr.data發(fā)送//i2c總線驅(qū)動來完成數(shù)據(jù)的交互//打開SMBUS文檔內(nèi)核源碼Documentation/i2c/smbus-protocol//同時打開芯片手冊找到對應的寫時序//在文件中找到對應的時序的函數(shù)//調(diào)用函數(shù)將設備地址訪問的內(nèi)部的地址和寫的數(shù)據(jù)丟給總線驅(qū)動ret=i2c_smbus_write_byte_data(g_client,addr,data);addr++;}returncount;}staticstructfile_operationsat24c02_fops={.owner=THIS_MODULE,.read=at24c02_read,.write=at24c02_write};staticintat24c02_probe(structi2c_client*client,conststructi2c_device_id*id){//1.注冊一個字符設備major=register_chrdev(major,"at24c02",&at24c02_fops);cls=class_create(THIS_MODULE,"at24c02");//2.自動創(chuàng)建設備節(jié)點device_create(cls,NULL,MKDEV(major,0),NULL,"xxb_at24c02");//在dev下面生成xxb_at24c02g_client=client;return0;}staticintat24c02_remove(structi2c_client*client){//1.刪除設備節(jié)點device_destroy(cls,MKDEV(major,0));class_destroy(cls);//2.卸載字符設備unregister_chrdev(major,"at24c02");return0;}staticstructi2c_driverat24c02_drv={.driver={.name="xuxb"},.probe=at24c02_probe,//匹配成功調(diào)用.remove=at24c02_remove,//卸載調(diào)用.id_table=at24c02_id//存儲at24c02的名字};//入口函數(shù)staticintxxb_at24c02_init(void){//注冊從設備i2c_add_driver(&at24c02_drv);return0;}//出口函數(shù)staticvoidxxb_at24c02_exit(void){//卸載從設備i2c_del_driver(&at24c02_drv);}4.5氣象數(shù)據(jù)采集模塊應用程序設計4.5.1氣象數(shù)據(jù)采集模塊應用程序功能需求分析氣象數(shù)據(jù)采集模塊應用程序主要任務就是提供可視化界面,方便操作人員操作。接收zigbee網(wǎng)絡發(fā)送來的環(huán)境參數(shù)數(shù)據(jù),實時顯示并存入數(shù)據(jù)庫。因此具備以下幾項主要功能:通訊設置。實時參數(shù)顯示。數(shù)據(jù)庫存儲。數(shù)據(jù)分析繪圖。溫度報警。4.5.2氣象數(shù)據(jù)采集模塊應用程序功能結構根據(jù)上面的需求分析,具體分析了氣象數(shù)據(jù)采集模塊的功能,最終得到如圖4-8所示:圖4-8氣象數(shù)據(jù)采集模塊應用程序功能結構圖4.5.3氣象采集模塊——主流程圖氣象采集模塊的操作系統(tǒng)啟動后,初始化各種硬件設備,操作人員可以點擊初始化GPRS按鈕,開始初始化GPRS,初始化成功后,開啟ZIGBEE采集子線程、B530采集線程以及開始定時器任務,與遠程監(jiān)控中心通信。主流程圖如圖4-9所示:圖4-9氣象采集模塊主流程圖4.5.4GPRS初始化程序流程圖GPRS初始化的流程為:讀取界面上的IP和端口,初始化GPRS串口,發(fā)送“AT”指令,等待GPRS返回“OK”;成功接收后發(fā)送“AT%ETCPIP”命令,使能TCP通信,等待返回“OK”;成功后發(fā)送要連接的“IP和端口號”,等待返回“CONNECT”,表示已連接上。程序流程圖4-10所示:圖4-10氣象采集模塊GPRS初始化流程圖4.5.5氣象采集模塊——Zigbee子線程Zigbee子線程主要實現(xiàn)初始化ZIGBEE的串口,循環(huán)等待ZIGBEE發(fā)送來的數(shù)據(jù),接收成功后保存數(shù)據(jù),準備存入數(shù)據(jù)庫。程序流程圖如圖4-11所示:4.5.6氣象數(shù)據(jù)采集模塊——B530子線程B530子線程主要實現(xiàn)初始化B530的串口,循環(huán)等待B530發(fā)送來的數(shù)據(jù),接收成功后保存數(shù)據(jù),準備存入數(shù)據(jù)庫。程序流程圖如圖4-12所示:圖4-11氣象采集模塊Zigbee子線程流程圖圖4-12氣象采集模塊B530子線程流程圖4.5.7氣象數(shù)據(jù)采集模塊——定時任務氣象數(shù)據(jù)采集模塊的定時任務主要完成打包采集到的各個傳感器的數(shù)據(jù),存入SQLITE數(shù)據(jù)庫中,同時刷新顯示屏的數(shù)據(jù),程序流程圖如圖4-13所示:圖4-13氣象采集模塊定時任務流程圖4.5.8氣象數(shù)據(jù)采集模塊——數(shù)據(jù)庫設計氣象數(shù)據(jù)采集模塊的數(shù)據(jù)庫主要存儲各個傳感器的數(shù)據(jù),主要存儲的數(shù)據(jù)有:CO2濃度、大氣溫濕度、風速、風向、土壤濕度、土壤溫度等數(shù)據(jù),數(shù)據(jù)庫庫的表和字段的設計如圖4-14所示:圖4-14氣象數(shù)據(jù)采集模塊數(shù)據(jù)庫字段圖4.5.9氣象數(shù)據(jù)采集模塊——界面設計氣象數(shù)據(jù)采集模塊的最終界面主要分為主控面板、GPRS面板、ZIGBEE面板、TQ210面板,最終的效果圖如圖4-15所示:圖4-15氣象數(shù)據(jù)采集模塊界面圖4.6遠程監(jiān)控中心應用程序設計4.6.1遠程監(jiān)控中心——登陸界面設計該界面由賬號輸入框、密碼輸入框、登陸按鈕,注冊按鈕組成。點擊注冊按鈕,可以進入注冊界面,可以注冊新賬號。在賬號輸入框輸入已申請的賬號,在密碼框輸入正確的密碼,驗證成功后即可進入主界面,進行一系列的操作。最后的登陸界面如圖4-16所示。圖4-16遠程監(jiān)控中心登陸界面圖4.6.2遠程監(jiān)控中心——注冊界面設計該界面由個人信息輸入框組成,都是個人的信息。只要正確地輸入所有的信息,系統(tǒng)會自動幫用戶注冊一個新的賬號,注冊成功后,可以在登陸界面中進行登陸。最終的界面如圖4-17所示。圖4-17遠程監(jiān)控中心注冊界面4.6.3遠程監(jiān)控中心——主界面設計該界面由賬號信息面板,環(huán)境數(shù)據(jù)顯示模塊,在線客戶端個數(shù)顯示,同時還有打開服務器、開始采集、停止采集、分析數(shù)據(jù)、打開數(shù)據(jù)庫等按鈕,還有IP地址和端口的輸入框組成。主界面操作步驟如下所示:首先確定你的賬號,點擊錄入賬號輸入IP和端口后,點擊打開服務器點擊開始采集,便可以通知客戶端開始發(fā)送數(shù)據(jù)點擊數(shù)據(jù)分析,便可以進入數(shù)據(jù)分析點擊打開數(shù)據(jù)庫,便可查看數(shù)據(jù)庫里面的數(shù)據(jù)情況最后的界面如圖4-18所示:圖4-18遠程監(jiān)控中心主界面圖4.6.4遠程監(jiān)控中心——數(shù)據(jù)分析界面該界面由數(shù)據(jù)庫查詢按鈕,輸出圖像按鈕,日期選擇的單選按鈕,選擇參數(shù)的單選按鈕組成。點擊查看數(shù)據(jù)按鈕,便可選擇輸出圖像的起始時間,選擇輸出圖像的時間起始,選擇圖像的時間段,選擇圖像的參數(shù)類型,點擊輸出按鈕,便可顯示指定的時間段數(shù)據(jù)信息,界面如圖4-19所示:圖4-19遠程監(jiān)控中心數(shù)據(jù)分析界面圖4.6.5遠程監(jiān)控中心——數(shù)據(jù)庫設計遠程監(jiān)控中心的數(shù)據(jù)庫主要存儲各個傳感器的數(shù)據(jù),主要存儲的數(shù)據(jù)有:CO2濃度、大氣溫濕度、風速、風向、土壤濕度、土壤溫度等數(shù)據(jù),數(shù)據(jù)庫的表和字段的設計如圖4-20所示:圖4-20遠程監(jiān)控中心數(shù)據(jù)庫字段圖5系統(tǒng)測試與調(diào)試5.1整體實物圖整體實物圖如圖5-1所示:圖5-1系統(tǒng)整體實物效果圖5.2測試流程5.2.1ZIGBEE組網(wǎng)調(diào)試本系統(tǒng)的ZIGBEE網(wǎng)絡由一個ZIGBEE協(xié)調(diào)器和多個設備節(jié)點組成。ZIGBEE通信前,需要進行ZIGBEE組網(wǎng)。所以首先,打開ZIGBEE的協(xié)調(diào)器,等待設備節(jié)點的網(wǎng)絡接入。接著打開ZIGBEE設備節(jié)點,若組網(wǎng)燈(黃燈)亮起后,表示該設備節(jié)點已經(jīng)組網(wǎng)成功,設備節(jié)點可以從土壤濕度傳感器和土壤溫度傳感器讀取數(shù)據(jù),發(fā)送給協(xié)調(diào)器,實物及調(diào)試圖如圖5-2所示:圖5-2ZIGBEE組網(wǎng)效果圖5.2.2操作系統(tǒng)調(diào)試由于本系統(tǒng)的現(xiàn)場終端運行的是linux操作系統(tǒng),所以先要運行l(wèi)inux系統(tǒng)。測試linux的步驟:運行u-boot,u-boot引導啟動內(nèi)核,接著掛載操作系統(tǒng),最后運行應用程序。效果圖如圖5-3和圖5-4所示:圖5-3linux操作系統(tǒng)運行效果圖圖5-4linux應用程序效果圖5.2.3GPRS調(diào)試GPRS初始化的步驟包括設置通信的IP和端口、點擊連接開始初始化GPRS,等待進度條,完成后顯示初始化成功。效果圖如圖5-5所示:圖5-5GPRS初始化效果圖5.2.4數(shù)據(jù)通信調(diào)試點擊開始按鈕,開始接收從ZIGEEE網(wǎng)絡發(fā)送來的墑情氣象數(shù)據(jù),并且通過GPRS發(fā)送給網(wǎng)絡的上位機應用程序。效果圖如圖5-6所示:圖5-6數(shù)據(jù)接收效果圖墑情數(shù)據(jù)的顯示情況如圖5-7所示:圖5-7墑情數(shù)據(jù)采集效果圖氣象數(shù)據(jù)的顯示情況如圖5-8如圖所示:圖5-8氣象數(shù)據(jù)顯示效果圖6總結本文通過搭建基于Cortex-A8處理器的linux嵌入式操作系統(tǒng),針對GTM900-C和CC2530無線模塊的應用,利用Qt編寫了人機交互友好的界面,研究了一套遠程墑情氣象采集系統(tǒng)。具體完成和實現(xiàn)了以下幾方面的設計:在移植了嵌入式linux操作系統(tǒng)的Cortex-A8平
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- DB6528T 140-2024庫爾勒香梨密植高效栽培技術規(guī)程
- 五年期產(chǎn)品供應合同書
- 個人住房融資合同協(xié)議書
- 人事保管檔案合同實施細則
- 個人養(yǎng)殖場合作協(xié)議合同
- 個人合伙合作協(xié)議書合同范本
- 個人借款合同延期至協(xié)議
- 產(chǎn)品銷售補償合同范本
- 買賣合同糾紛起訴書范本
- XX市小學結對合作合同
- cpk自動計算電子表格表格
- 2024-2025學年湖北省武漢市部分重點中學高一上學期期末聯(lián)考數(shù)學試卷(含答案)
- 排球正面上手傳球 說課稿-2023-2024學年高一上學期體育與健康人教版必修第一冊
- 2025年浙江省交通投資集團財務共享服務中心招聘2名高頻重點提升(共500題)附帶答案詳解
- 做投標文件培訓
- 9.4+跨學科實踐:制作簡易活塞式抽水機課件+-2024-2025學年人教版物理八年級下冊
- 建筑工程工作計劃
- 2025年中國國際投資促進中心限責任公司招聘管理單位筆試遴選500模擬題附帶答案詳解
- 瓶裝液化氣送氣工培訓
- 外科護理課程思政課程標準
- 船舶航行安全
評論
0/150
提交評論