水質監測數據采集系統的設計與實現_第1頁
水質監測數據采集系統的設計與實現_第2頁
水質監測數據采集系統的設計與實現_第3頁
水質監測數據采集系統的設計與實現_第4頁
水質監測數據采集系統的設計與實現_第5頁
已閱讀5頁,還剩33頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、大連理工大學畢業設計(論文)格式規范水質監測數據采集系統的設計與實現- PAGE II - PAGE III -摘 要在現今21世紀人類社會,科學技術飛速發展,我們正在朝著高科技的方向前進,但是地球的資源是有限的。我們在全速發展的同時,環境問題也變得越來越嚴峻。地球上大約有十三億八千六百萬立方千米,其中的百分之九十六點五存在于海洋中,淡水只有三千五百萬萬立方千米。而全球共有大約70億人口,這造成了水資源的嚴重缺乏,水成了非常寶貴的資源。因此對水質的監測是現今一個相當重要的課題。在如今的和平時期,電子硬件和軟件技術也發生了巨大的變化,我們有了更加靈敏的各種高精度傳感器,網絡技術更加發展迅速,這使

2、得水質監測變得更加及時和準確。本文主要研究了基于樹莓派、PC和手機的水質監測數據采集系統的設計與實現。該系統的服務器運行在Windows操作系統下,通過無線網絡連接樹莓派端和手機端,實現了遠程水質數據的模擬采集、水質數據傳輸、水質數據顯示和水質數據的分析和水質數據的保存。本文研究的水質監測數據采集系統旨在充分利用現有的設備和資源,實現了遠程監測水質實時上報的目的。本文首先講述了課題的研究背景、目的和國內外的研究現狀,接著分析了水質監測數據采集系統的實際需求并論述了系統實現的可行性,然后介紹了本文研究的水質監測數據采集系統中用到的相關技術,最后詳細論述了水質監測數據采集系統中各個功能模塊的設計和

3、實現方法。關鍵詞:環境問題;水質監測;網絡傳輸;大連理工大學畢業設計(論文)格式規范水質監測數據采集系統的設計與實現 PAGE 2 Design and implementation of water quality monitoring data acquisition systemAbstract In todays twenty-first Century, human society, science and technology are developing rapidly, we are moving in the direction of high-tech, but the e

4、arths resources are limited. While we are developing at full speed, environmental issues have become quite important. There are about 1 billion 386 million cubic kilometers of earth, 96.5% of which are in the ocean, and only 35 million cubic kilometers of fresh water. While the global total populati

5、on of about 7 billion, which caused a serious lack of water resources, water is a very valuable resource. Therefore, the monitoring of water quality is a very important topic today.In todays era of peace, electronic hardware and software technology has undergone tremendous changes, we have all kinds

6、 of high precision sensor more sensitive, more rapid development of network technology, which makes the water quality monitoring become more timely and accurate.This paper mainly studies the design and implementation of water quality monitoring data acquisition system based on raspberry pie, PC and

7、mobile phone. The server running under the Windows operating system with raspberry pie and mobile phone through a wireless network, to achieve the preservation of water quality data analysis and remote water quality data collection, data transmission, simulation of water quality data and water quali

8、ty data of the. The data acquisition system of water quality monitoring in this paper aims to make full use of the existing equipment and resources, and achieves the goal of remote monitoring and real-time reporting of water quality.This paper describes the purpose and research status at home and ab

9、road, research background, and then analyzes the actual demand of water quality monitoring data acquisition system and discusses the feasibility of the system, and then introduces the related technology used in water quality monitoring data acquisition system in this study, finally discusses the des

10、ign and realization method of each function the water quality monitoring data acquisition system module.Key Words:Environmental problems; water quality monitoring; network transmission;目 錄 TOC o 1-3 h z u HYPERLINK l _Toc484610966 摘 要 PAGEREF _Toc484610966 h I HYPERLINK l _Toc484610967 Abstract PAGE

11、REF _Toc484610967 h II HYPERLINK l _Toc484610968 引 言 PAGEREF _Toc484610968 h 1 HYPERLINK l _Toc484610969 1 緒論 PAGEREF _Toc484610969 h 2 HYPERLINK l _Toc484610970 1.1 課題研究背景 PAGEREF _Toc484610970 h 2 HYPERLINK l _Toc484610971 1.2 研究目的和意義 PAGEREF _Toc484610971 h 2 HYPERLINK l _Toc484610972 1.3 國內外研究現狀

12、 PAGEREF _Toc484610972 h 2 HYPERLINK l _Toc484610973 1.3.1 國外水質監測系統的發展狀況 PAGEREF _Toc484610973 h 2 HYPERLINK l _Toc484610974 1.3.2 國內水質監測系統研究概況 PAGEREF _Toc484610974 h 3 HYPERLINK l _Toc484610975 1.4 主要研究工作 PAGEREF _Toc484610975 h 3 HYPERLINK l _Toc484610976 1.5 論文組織結構 PAGEREF _Toc484610976 h 4 HYPE

13、RLINK l _Toc484610977 2 系統分析 PAGEREF _Toc484610977 h 5 HYPERLINK l _Toc484610978 2.1 水質監測數據采集系統的功能需求 PAGEREF _Toc484610978 h 5 HYPERLINK l _Toc484610979 2.1.1 水質監測數據的模擬產生 PAGEREF _Toc484610979 h 5 HYPERLINK l _Toc484610980 2.1.2 數據的無線傳輸功能 PAGEREF _Toc484610980 h 5 HYPERLINK l _Toc484610981 2.1.3 客戶端

14、與服務器間的通信處理功能 PAGEREF _Toc484610981 h 6 HYPERLINK l _Toc484610982 2.1.4 數據的顯示功能 PAGEREF _Toc484610982 h 6 HYPERLINK l _Toc484610983 2.1.5 數據存儲功能的需求 PAGEREF _Toc484610983 h 6 HYPERLINK l _Toc484610984 2.1.6 數據的分析能力需求 PAGEREF _Toc484610984 h 6 HYPERLINK l _Toc484610985 2.2 系統的軟件環境需求 PAGEREF _Toc4846109

15、85 h 6 HYPERLINK l _Toc484610986 2.3 系統的硬件環境需求 PAGEREF _Toc484610986 h 7 HYPERLINK l _Toc484610987 2.4 可行性分析 PAGEREF _Toc484610987 h 7 HYPERLINK l _Toc484610988 2.4.1 技術可行性 PAGEREF _Toc484610988 h 7 HYPERLINK l _Toc484610989 2.4.2 經濟可行性 PAGEREF _Toc484610989 h 7 HYPERLINK l _Toc484610990 2.5 本章小結 PA

16、GEREF _Toc484610990 h 7 HYPERLINK l _Toc484610991 3 系統的相關技術和框架介紹 PAGEREF _Toc484610991 h 8 HYPERLINK l _Toc484610992 3.1 樹莓派ARM處理器系統 PAGEREF _Toc484610992 h 8 HYPERLINK l _Toc484610993 3.1.1 樹莓派簡介 PAGEREF _Toc484610993 h 8 HYPERLINK l _Toc484610994 3.1.2 樹莓派編程與GPIO控制 PAGEREF _Toc484610994 h 9 HYPERL

17、INK l _Toc484610995 3.2 Qt程序設計 PAGEREF _Toc484610995 h 10 HYPERLINK l _Toc484610996 3.3 手機端程序設計 PAGEREF _Toc484610996 h 11 HYPERLINK l _Toc484610997 3.4 控制芯片的選擇 PAGEREF _Toc484610997 h 12 HYPERLINK l _Toc484610998 3.5 TCP/IP技術 PAGEREF _Toc484610998 h 12 HYPERLINK l _Toc484610999 3.5.1 Qt Socket技術 PA

18、GEREF _Toc484610999 h 13 HYPERLINK l _Toc484611000 3.6 CRC校驗技術 PAGEREF _Toc484611000 h 14 HYPERLINK l _Toc484611001 3.7 本地數據庫存儲技術 PAGEREF _Toc484611001 h 14 HYPERLINK l _Toc484611002 3.8 Visual Studio和VisualGDB平臺 PAGEREF _Toc484611002 h 15 HYPERLINK l _Toc484611003 3.9 本章小結 PAGEREF _Toc484611003 h 1

19、6 HYPERLINK l _Toc484611004 4 系統設計與實現 PAGEREF _Toc484611004 h 17 HYPERLINK l _Toc484611005 4.1 樹莓派端模塊設計 PAGEREF _Toc484611005 h 17 HYPERLINK l _Toc484611006 4.1.1 水質監測數據的模擬產生模塊 PAGEREF _Toc484611006 h 17 HYPERLINK l _Toc484611007 4.1.2 水質監測數據的無線傳輸模塊 PAGEREF _Toc484611007 h 18 HYPERLINK l _Toc4846110

20、08 4.2 PC端模塊設計 PAGEREF _Toc484611008 h 18 HYPERLINK l _Toc484611009 4.2.1 水質監測數據的接收模塊 PAGEREF _Toc484611009 h 18 HYPERLINK l _Toc484611010 4.2.2 水質監測數據的顯示模塊 PAGEREF _Toc484611010 h 18 HYPERLINK l _Toc484611011 4.2.3 水質監測數據的存儲模塊 PAGEREF _Toc484611011 h 18 HYPERLINK l _Toc484611012 4.3 手機端模塊設計 PAGEREF

21、 _Toc484611012 h 19 HYPERLINK l _Toc484611013 4.4 各模塊的詳細設計與實現 PAGEREF _Toc484611013 h 19 HYPERLINK l _Toc484611014 4.4.1 樹莓派端程序設計 PAGEREF _Toc484611014 h 19 HYPERLINK l _Toc484611015 4.4.2 PC端程序設計 PAGEREF _Toc484611015 h 20 HYPERLINK l _Toc484611016 4.2.3 手機端應用程序實現 PAGEREF _Toc484611016 h 27 HYPERLI

22、NK l _Toc484611017 4.5 本章小結 PAGEREF _Toc484611017 h 29 HYPERLINK l _Toc484611018 5 總結與展望 PAGEREF _Toc484611018 h 30 HYPERLINK l _Toc484611019 5.1 樹莓派端軟件測試總結 PAGEREF _Toc484611019 h 30 HYPERLINK l _Toc484611020 5.2 PC端軟件測試總結 PAGEREF _Toc484611020 h 30 HYPERLINK l _Toc484611021 5.3 手機端軟件測試總結 PAGEREF _

23、Toc484611021 h 31 HYPERLINK l _Toc484611022 結 論 PAGEREF _Toc484611022 h 32 HYPERLINK l _Toc484611023 參 考 文 獻 PAGEREF _Toc484611023 h 33 HYPERLINK l _Toc484611024 致 謝 PAGEREF _Toc484611024 h 34- PAGE 33 -引 言近年來,水污染問題頻繁發生,我國的水資源總量大約只有兩萬八千億立方米,每個人分到的約兩千三百立方米,只占了世界人均擁有量的四分之一,排在一百二十一位,為十三個貧水國之一。再中國六百四十個城

24、市中有三百多個缺水。中國有82%的人飲用淺井和江河水,這其中有的水質嚴重污染,已經超過了衛生標準的占百分之七十五,有大約1.6億人口正在飲用污染水。國內目前的一些水質監測仍然是采用人工監測的方式進行,這種方式監測起來效果緩慢,需要監測人員進行實地考察并將水質樣品帶回實驗室才能進一步進行水質的監測。再次期間水質樣品有可能發生變質,因此做不到水質情況的實時反映,而且可能在運輸過程中水質發生變化,導致水質監測結果的不正確,導致獲得不正確的監測結果,造成難以想象的后果,影響國家對水資源的保護。同時人工檢測方法不容易保存數據,長期監測必定出現隱患,因此可以看出人工監測弊端多多,長此以往水質監測數據不僅會

25、丟失,而且還會越來越不準,失去了應有的參考價值。這個時候就需要一種可以及時方便快捷的水質監測方法的產生,可以進行長距離的水質監測,能夠將水質情況快速回報給有關部門,給應急預案提供足夠的時間解決水資源問題。對于以上生產實際情況出現的問題進行分析,本文給出了比較理想的解決方案。該方案采用樹莓派、手機和PC,設計出了水質監測數據采集系統。這個系統采用客戶端/服務器模式。這種服務器/客戶端的模式比較常見。通常情況下,桌面計算機負責運行服務器,客戶端主機與服務器主機通過無線網絡連接,其使用場景幾乎沒有限制,客戶端可以遠在千里之外的重要江河湖海取水地,這樣的設計使得水質監測數據的采集更加的方便、準確以及準

26、時。通過無線網絡傳輸模式,保證了整個系統的靈活性、通用性和可擴展性。這個系統的設計解決了人工檢測水資源的大部分缺點,達到了高效準確的目的。在這個系統中,客戶端需要利用高精度的傳感器采集水質數據,然后通過無線網絡傳輸的方式將數據發送到服務器端,服務器端根據傳回的數據做出相應的應急措施。這個系統一旦工作起來比人工監測的方式效率高很多,省去了大量的人力物力,監測方便,監測范圍大。1 緒論1.1 課題研究背景目前人類社會已經進入高度文明的社會,科技化程度較高,每天都在發生變化,但是地球的各種資源是非常有限的,其中水資源更是人類賴以生存的根本。人類生活離不開水資源,我們要保護水資源,但是水資源的污染也在

27、同時進行。因此需要設計一套提供及時、準確和完備的信息支持水質監測系統。該系統的監測數據應該能夠真實反映水體狀況。由于水流域往往存在于偏遠地區,導致監測地點分布分散,數量龐大,距離中心城市遠,而且,突發性水污染事故也會導致不確定斷面的增加,這給水質監測添加了更多的麻煩 REF _Ref449686451 r h 1。因此本文設計了一套水質監測較為完善的系統,能夠很好的監測水資源的異動情況,做到實時防護。1.2 研究目的和意義目前的水質監測系統不可能對所有監測點的所有監測量建立水質自動監測系統。目前的監測系統都是由采樣人員采集樣品后運送到實驗室進行集中監測,這就涉及到采樣規范、準確、樣品交接與管理

28、以及采樣點相關信息錄入方便、及時的問題。因此需要設計一套自動化監測水質數據的系統,這樣更加的高效監測水質數據的變化,達到及時和實時的水質情況反映,為有關部門做好水質管理提供巨大便利。有了水質監測數據采集系統,水資源的保護有了更加有利的技術和數據支持,利于國家進行宏觀調控,實時了解水資源的情況,查處水污染企業和個人,對保護生態環境和人類可持續發展都有巨大作用。1.3 國內外研究現狀在目前階段,很多發達國家已經建立了以監測水質污染綜合指標及其某些特定項目為基礎的水質污染自動監測系統WPMS(Water Pollution Monitoring System),這個系統能夠建立多個監測水質的監測站,

29、并且讓它們分布在不同的區域。在大部分情況下,將由一個中心站控制若干個子站,全天候不間斷的對所有子站的水質情況進行監測,形成一個連續自動監測系統 REF _Ref449686468 r h 2。1.3.1 國外水質監測系統的發展狀況水質監測系統是從上個世紀70年代發展起來的。美國、英國、日本、荷蘭、德國理局李河管理處設有5個監測站,在日本東京都水質污染連續監測系統設有27個監測站。早期監測河流水系等地面水的方法較為簡單,一般都是在一定時間一定地點瞬時獲取水質樣品,并把它們送回到實驗室進行分析。上面這種人工抽查監測的方法,并不能夠及時和準確的反映水質變化。DAEWS(The Danube Acci

30、dent Emergency Warning System)是多瑙河沿岸的各個國家(按所處河域的位置順序為:德國、奧地利、捷克、斯洛伐克、匈牙利、斯洛維尼亞、克羅埃西亞、羅馬尼亞和保加利亞)共同實施的一個項目 REF _Ref449686484 r h 3。這個方案提供多瑙河水質的實時信息,一旦水質發生變化,通過衛星系統將事故警報傳到下游國家,為下游國家有關部門采取相應措施提供了條件。WATERS項目是威尼斯咸水(礁)湖水體的環境參數的集成監測系統,進行實時監測和預警服務。這個項目為了降低投資及運行費用,采用15條配備特殊和數據傳輸設備的浮船每日在所管轄的水域中航行以獲取不同位置水體的及時監測

31、數據,并將數據通過傳輸設備傳輸到地面的信息處理中心,當某項數據超過警戒值時發出警報,并通過分析水質的各項數據(有關水質的物理、化學、生物、水力的數據)的相互關系,做出相應的決策 REF _Ref7671 r h * MERGEFORMAT 4。1.3.2 國內水質監測系統研究概況從目前調查結果來看,發展中國家大都面臨水資源污染問題。從總的來說,我國水質監測工作還處于起步階段,許多地方主要在排污企業設置水質流量監測等簡單監測儀器,無法全面的監測水質的變化,我國在黃浦江流域以及寶鋼、武鋼等大型企業的供排水系統建立水質連續自動檢測系統。通過建立這些系統,我國逐漸在水質監測方面取得新進展,為以后的水質

32、監測站點建立打下了堅實的基礎。自從上個世紀以來,北京、上海、天津以及個別省會城市相繼建立水質自動檢測系統,但這些監測設備主要依賴于進口。從使用情況上來看,運行故障率較高。我國于1983年在上海建立了黃浦江水質自動監測系統,并且在1984年正式投產運行,在1985年9月通過鑒定。黃浦江水質連續自動檢測系統具有集中式多端點數據采集、無線通訊的計算機網絡24h連續監測的特點。該系統由一個中心站,三個水質分站組成。中心站通過控制中心的PDP11/23計算機向分布的子站發出指令,各子站微機系統進行數據采集、存儲、顯示、打印,并通過無線通訊將儲存的10min平均值送到中心站,由中心站匯總,月報表等,為整治

33、黃浦江提供科學的定量數據 REF _Ref7763 r h 5。1.4 主要研究工作本篇論文主要講述了畢業設計的起因和課題背景,分析了要用到的技術。對硬件電路和軟件程序進行了分析,并且詳細介紹了它們所要用到的技術。數據將會從樹莓派客戶端采集,然后發送到PC服務器端,在此期間,手機端也將連接進入服務器端獲取數據。整個系統運行起來后,樹莓派端會首先生成模擬的水質采集數據,然后通過無線網絡傳輸到遠端的服務器上,服務器將接收到的數據進行顯示、分析和存儲。分析了上述研究內容,本設計將著重講解以下部分:基于無線網絡的數據傳輸數據的模擬和產生Windows平臺下圖形界面的實現樹莓派端程序的實現手機端程序的實

34、現水質數據的存儲1.5 論文組織結構本設計論文總體上分為五個部分,每個部分的要點按如下內容講解:第一章:緒論。該章節講述了設計的研究背景以及目的意義、國內外的研究現狀,著重講解了主要研究內容。第二章:該章節分析了水質采集系統的方案可行性。分析了系統的需求來源,考慮用到的軟硬件環境。第三章:該章節講解了系統用到的關鍵技術和框架。著重介紹了實現設計用到的技術。第四章:水質監測數據采集系統的設計與實現。先講解了整個系統的架構,然后對功能和模塊進行了簡單劃分,最后介紹了用到的數據庫技術,然后是各個模塊的詳細設計和實現方法。第五章:技術總結,反思結果,驗證系統的可行性和效率。2 系統分析該章節將會詳細介

35、紹整個系統的功能需求,所要運行的硬件環境,并且對可行性方面進行簡單到位的分析。2.1 水質監測數據采集系統的功能需求從水質監測數據采集系統的研究目的來看,整個設計應該具備如下一系列功能:水質監測數據的模擬產生數據的無線傳輸客戶端與服務器間的通信處理數據的顯示功能數據的存儲功能數據的分析功能2.1.1 水質監測數據的模擬產生水質監測數據需要用到非常專業的高精度傳感器才能采集到,目前條件下不能獲得這些較昂貴的傳感器,因此采用模擬的方式產生較正常的數據。整個系統最依賴的部分就是數據的產生,因此設計一個模擬產生數據的程序非常重要。數據模擬產生并不代表數據不具有參考價值,模擬產生的數據是根據一定的算法產

36、生。這些數據與真實的水質監測數據并沒有什么差別,因此不必擔心整個系統的可靠性。另外,模擬產生的數據是完全隨機的,不存在人工干預的情況,這樣就保證了數據的相對真實性,而且數據產生方式相對穩定,不會因為外界的干擾而產生錯誤的數據,對研究水質變化狀況非常有幫助。從監測的對象上看,我們主要檢測環境水體,地表水例如江、河、湖、庫、海水以及地下水,以及工業廢水、生活污水和醫院污水等。針對不同的水體狀況,應該做到不同的模擬,確保做到模擬效果與真實效果大致相同。2.1.2 數據的無線傳輸功能要保證水質監測數據的準確和及時,需要快速的將數據傳送出去,同時又考慮到客戶端由于需要采集數據,將會安置在非常遠的地方,因

37、此無線傳輸功能是必需的。考慮到真實的水質監測實例,一般水質監測都是在野外水環境下進行,必然與監測中心有一定距離,因此無線網絡傳輸就變得相當重要,沒有無線網絡傳輸,這個系統的數據傳輸效率將會大打折扣。無線傳輸功能只需要簡單的網絡支持,就可以連接的服務器,同時加密技術也相當的成熟。保證了水質監測數據的安全和有效。采用無線網絡傳輸保證了大規模監測站的可行性,讓水資源的監測能夠在更多的地區進行,又可以同時方便的匯總。2.1.3 客戶端與服務器間的通信處理功能在實際水質監測系統中,水質監測點需要多達數個才能會的非常具體全面的平面水質監測數據。在本系統中客戶端有多個,因此每一個需要特殊的編號,這樣就能獲得

38、具體地點的水質監測數據,而且這樣有利于后期添加更多的客戶端用于監測水質數據,這樣做提高了整個系統的可擴展性。有了這個特殊編號,后期可以加進更多的水質監測客戶端,形成一個巨大的監測網絡,從而更加全面的了解大面積的水域水質情況變化。2.1.4 數據的顯示功能水質監測系統在接收到數據后,需要合適的界面用來顯示數據,以便于監測人員實時的分析數據,因此這一功能也是非常必要的。該功能需要服務器在接收到數據后用合適的方法呈現出來。對于實時變化的數據來說,圖表是最合適不過的顯示方法,能夠一眼就看出數據的變化是否正常,這樣就能更加快速的做出行動,控制水質污染進一步發展。圖形化的顯示方式能夠給人一目了然的感覺,方

39、便水質監測人員及時迅速了解水質變化情況。2.1.5 數據存儲功能的需求將數據存儲起來無疑是非常必要的措施,水質數據更是需要如此,水質的變化反應了水污染的情況,觀察歷史數據可以有效的分析水資源是否正在遭受污染,或者水資源正在變得更加好,與歷史數據進行對比,能夠得出現在應該采取什么措施來保護水資源。水質監測數據會隨著時間流逝而消失,但這樣做不便于后期對水質變化的研究,因此需要將水質監測數據存儲起來,但是水質監測數據量異常龐大,因此需要數據庫來存儲。數據存儲在數據庫會非常有利于觀察異常龐大的數據,這樣做也有利于數據在其他應用程序中使用,做好了數據的遷移工作。2.1.6 數據的分析能力需求水質監測系統

40、應該能夠做一些簡單的分析以便于代替部分人力工作,例如復雜單一的數據計算,有些數據需要進一步的分析才能夠看出其變化。2.2 系統的軟件環境需求PC端的水質監測數據采集系統服務端需要運行在Windows 7 sp1及以上的操作系統中,操作系統需要支持TCP/IP協議的支持。樹莓派客戶端的系統需要基于Linux系統,且同樣的要支持TCP/IP協議 REF _Ref484613395 r h * MERGEFORMAT 11。手機端需要Android6.0及以上系統且同樣需要TCP/IP協議支持。2.3 系統的硬件環境需求計算機硬件需求CPU:Intel Core i5及以上內存:2GB及以上硬盤:2

41、0GB及以上可用空間網絡:能夠連接上網絡網絡環境需要一個能聯網的路由器樹莓派硬件需求CPU:需要ARM9及以上處理器內存:需要至少1GB內存存儲:需要至少8GB存儲網絡:需要具有無限網卡模塊2.4 可行性分析2.4.1 技術可行性通過對整個水質監測數據采集系統進行需求分析,可以得出這個系統所要用到的技術大概有以下幾個方面:無線網絡下的TCP/IP技術、數據庫存儲技術以及Windows程序編寫技術、Android應用程序開發技術、arm應用程序開發技術。這些技術都是我所熟悉和了解的,而且是比較成熟的,因此可以實現設計所要求的內容。2.4.2 經濟可行性從軟件代碼來看,用到的都是免費和開源的技術和

42、框架,然后從硬件來看,樹莓派開發板、計算機、手機都是現有的,無需多余的設備,因此實現本設計所需的成本相對較低。2.5 本章小結在本章節中我們分析了水質監測數據采集系統的實際情況應用,然后接著分析了系統需要用到的硬件和運行代碼程序用到的操作系統,最后分析了可行性。總的來說實現本設計用到的技術和硬件都已經非常成熟,前期做好足夠的調查和學習工作,并且加上自己已有的知識就能夠完成設計。3 系統的相關技術和框架介紹3.1 樹莓派ARM處理器系統由于要進行網絡數據的傳輸,因此再用STM32單片機控制就顯得不夠用了,因此使用了ARM處理器。ARM處理器性能強勁,運行Linux操作系統,是嵌入式設備的不二選擇

43、。3.1.1 樹莓派簡介樹莓派(Raspberry Pi)是arm開發板,其CPU是基于arm的cortex-a53處理器,內部有gpu,能夠輸出1080p高清視頻。樹莓派由英國劍橋大學博士埃本厄普頓(Eben Epotn)設計,博士的開發目標是為了教育青少年兒童了解Linux操作系統 REF _Ref452029408 r h 6。樹莓派有A和B兩種版本,價格只有25/35美金,但是它的面積與我們平時用的信用卡相差無幾。它提供了以太網(B版)、USB、HDMI接口,基于Linux的操作系統、Python語言開發環境,同時也支持C、Java等語言,可用于編程開發或作為網絡電視機頂盒。CPU時鐘

44、默認為1.2Ghz REF _Ref452029412 r h 7。樹莓派在全世界都有很好的口碑,評價也是相當的好,應用范圍也在不斷擴大,從教育一直蔓延到工業控制,機器人研究,物聯網設計等等領域。樹莓派開發板如圖3.1所示。圖3.1 樹莓派開發板3.1.2 樹莓派編程與GPIO控制樹莓派默認用Python作為其開發語言,但Python是一種解釋執行語言,運行效率比C/C+慢,因此本設計采用C+進行開發。樹莓派運行Raspain操作系統,類似于Ubuntu,是一種Linux操作系統。因此程序開發與在PC上開發并無兩樣。樹莓派上有40個IO口如圖3.2所示,本設計采用wiringPi驅動來控制GP

45、IO和串口。wiringPi庫是由Gordon Henderson所編寫并維護的一個用C語言寫成的類庫。一開始,主要是作為BCM2835芯片的GPIO庫。但是現在,已經發展的非常豐富,除了GPIO庫,還包括了I2C庫、SPI庫、UART庫和軟件PWM庫等。wiringPi 是應用于樹莓派平臺的GPIO 控制庫函數,使用C或者C + + 開發,能夠控制樹莓派上提供的GPIO、UART、I2C、SPI 等資源。wiringPi 集成庫封裝了這些資源的控制函數,安裝該集成庫后,可對樹莓派硬件驅動進行開發 REF _Ref452029429 r h 8。由于其與Arduino的“wiring”系統較為

46、類似,所以以wiringPi命名。它是采用GNU LGPLv3許可證的,可以在C或C+上使用,而且在其他編程語言上也有對應的擴展。wiringPi庫包含了一個命令行工具gpio,它可以用來謳置GPIO管腳,可以用來讀寫GPIO管腳,甚至可以在Shell腳本中使用來達到控制GPIO管腳的目的。樹莓派開發板的管腳分布如圖3.2所示。圖3.2 樹莓派GPIO管腳分布情況3.2 Qt程序設計整個上層的程序設計我們采用Qt來進行編寫。Qt是由奇趣科技在1991年開發的跨平臺C+圖形用戶界面應用程序開發框架 REF _Ref484613641 r h * MERGEFORMAT 12。Qt既可以用來開發G

47、UI程序,也可用于開發非GUI程序,例如控制臺工具和服務器。Qt是面向對象的框架,使用特殊的代碼生成擴展(稱為元對象編譯器(Meta Object Compiler, moc))以及一些宏,易于擴展,允許組件編程。Qt的最重要的優點在于它能夠跨平臺使用,Qt支持Windows、Linux、Solaris, SunOS, HP-UX等操作系統。Qt是面向對象的框架,它的封裝機制非常精妙,這使得其模塊化程度達到了一個很高的層次,有豐富的API和良好的重用性,它有將近250個C+類。難能可貴的一點是對嵌入式平臺具有良好的支持,具體表現在Qt可以直接操控framebuff,這種做法使得嵌入式產品的圖形

48、界面非常美觀,觀賞性提升了不止一個檔次。Q t/Embedded 的特性是可以直接在Framebuffer 上顯示圖形接口, 反應的速度更快 REF _Ref452029436 r h 9。本設計上層程序采用Qt編寫界面與控制端,程序使用Qt編寫界面。Qt是一個基于C+的跨平臺的UI和應用開發框架,它包括一套跨平臺的類庫、一整套整合的開發工具和一個跨平臺的集成開發環境(IDE)。使用Qt,我們可以有效的重用代碼,使用一個代碼庫既可以適配14個或者更多的主要的桌面、嵌入式和移動平臺。3.3 手機端程序設計在目前社會,手機已經成了人們日常生活不能離開的工具,利用手機技術來為本設計服務將使得整個設計

49、更加完美。目前手機系統大致分為Android操作系統和iOS操作系統以及其它等。本設計主要依賴于Qt在安卓系統上的技術應用。Qt在Android上的模塊主要如表3.3所示。表3.3 Qt模塊在Android上的支持情況模塊Qt5.2Qt5.3Qt Core支持支持Qt Multimedia音頻、視頻、相機音頻、視頻、相機Qt Network支持支持Qt Quick Controls不支持安卓Native風格不支持安卓Native風格Qt SQLSQliteSQLiteQt WebKit不支持不支持Qt Widgets支持支持Qt GUI QML Qt Quick支持支持因此利用Qt在Andro

50、id上開發應用程序完全可行,可以設計出和桌面應用相媲美的APP程序。3.4 控制芯片的選擇在前期我們打算直接使用STM32單片機進行開發,STM32單片機簡單易上手,功能豐富,資料相對齊全,同時也是我眾多單片機中運用的比較熟悉的一款,STM32F103型的單片機主頻最高能到80Mhz左右,一般的程序應該沒有問題,我們選用ALIENTEK MiniSTM32開發板,其上配有STM32F103RBT6,性價比較高,擁有128KB FLASH、20KB SRAM、2個SPI、3個串口、一個CAN、2個12位的ADC(16通道)、RTC、DMA、4個16位定時器、51個可用的I/O腳等 REF _Re

51、f452029436 r h 10。但是由于后期加入的算法異常龐大,并且STM32驅動攝像頭本身就將消耗巨大資源,所以最終選擇放棄。接下來,我們轉戰ARM單片機,恰巧手上有一款友善之臂的ARM開發板,核心是三星的Exynos4412,是Coratx-A9的處理器,性能相當強勁,但后期在實踐的過程中,由于資料和源碼實在太少,教程又難以找到,所以最終放棄。很早就知道有一款ARM開發板,是創客們的首選,它的資料相當豐富,而且社區相當龐大,在全球各地都有不少發燒友用它做出各種神奇的作品。因此最終我們選擇了樹莓派。本次待選擇的開發硬件如圖3.4所示。圖3.4 開發硬件選擇3.5 TCP/IP技術TCP/

52、IP技術的中文叫法是傳輸控制協議/因特網互聯協議,也叫做網絡通訊協議,這是Internet的最基礎的協議、Internet網國際連接的基礎。它由網絡層的IP協議和傳輸層的TCP協議組成。這個協議定義了電子設備連接互聯網的方法,傳輸數據的標準。該協議有4層層級結構,大概的意思說就是:TCP主要負責發現傳輸的問題,有問題就發出信號,要求重新傳輸,直到所有數據安全的傳輸到目的地。而IP給了因特網的每一臺聯網設備一個地址。ISO制定的OSI參考模型非常的龐大、復雜,因此引起了很多人的批評。鑒于此技術人員們自己開發出了TCP/IP協議棧。TCP/IP協議棧是美國國防部高級研究計劃局計算機網(Advanc

53、ed Research Projects Agency Network,ARPANET)和其后繼因特網使用的參考模型。在不斷的發展后,最終ARPANET發展成為全球規模最大的互連網絡-因特網。TCP/IP參考模型主要分為四個層次:應用層、傳輸層、網絡互連層和主機到網絡層。整個socket信息傳輸過程如圖3.5所示。圖3.5 socket通信流程3.5.1 Qt Socket技術這里我們使用Qt Socket的TCP通信編程。通常的Socket的通信異常復雜,包括bind()、listen()、connect()、accept()、read()、write()、close()等函數。使用起來相當

54、復雜,需要經過建立三次握手。這里我們使用的Qt Socket簡化了大部分的操作,抽象出來了QtSocket類供我們調用,屏蔽了一些底層的代碼,使socket通信更加簡單。在服務器端我們需要建立QTcpServer類,然后調用listen函數監聽從任何IP地址和特定端口過來的連接。然后利用connect函數建立信號和槽連接。原型如下:connect(tcpServer,SIGNAL(newConnection(),this,SLOT(newConnect();當有新的連接到來時,觸發此槽函數,發送信號newConnection(),然后調用newConnect()函數。這時我們可以在該函數中處理

55、連接過來的socket信息,不用去管連接的建立過程,這些工作都被qt在底層做好了,方便了應用程序的快速開發。在客戶端我們需要建立QTcpSocket類,然后調用connectToHost函數連接服務器。然后我們可以在程序的任何地方調用write()函數向socket中寫入數據,qt會自動將數據上傳到服務器。3.6 CRC校驗技術CRC校驗即是循環冗余校驗碼,是數據通信領域中最常用的一種查錯校驗碼,它的特點明顯,可以任意設定校驗字段和信息字段的長度,是一種數據傳輸檢錯功能,校驗時對數據進行多項式計算,把得到的結果添加到傳輸幀的后面,接收方也同樣進行相同的算法,以保證數據傳輸的完整性和正確性。這里

56、我們采用在嵌入式開發中經常用到的CRC-16校驗。首先我們將CRC寄存器的值設置為FFFF,然后將數據的第一個8-bit字符與16位CRC寄存器的最后8位進行異或,然后把結果存入CRC寄存器。這時再講CRC寄存器向右邊移動一位,最高位補一個0,移出最低位并且進行檢查。如果最低位是0,在繼續讓CRC寄存器向右移動,重復進行最高位補0,依次移動,并且檢查移出的最低位,如果最低位是1,那么將CRC寄存器與多項式碼進行異或操作。重復進行上述步驟,直到8次移位操作全部進行完畢,這樣就完成了一個8-bit的數據操作,如果數據過多,則再次進行上述操作,直到全部數據異或完畢,則CRC寄存器內的值就是生成的校驗

57、值。3.7 本地數據庫存儲技術本文使用SQLite數據庫技術來實現數據的存儲。SQLite是一款輕型的數據庫,遵守ACID的關系型數據庫管理系統,該數據庫是嵌入式的,可以在許多嵌入式產品中使用,具有占用資源小的特點,支持Windows/Linux/Unix等操作系統,而且還能和多種程序語言結合,處理速度非常快。SQlite是一個進程內的庫,它能夠自給自足,不需要其他服務器,無需配置的數據庫引擎。不需要任何配置意味著無需安裝或者管理,就能夠運行,非常適合嵌入式的開發。SQlite數據庫是存儲在本地的磁盤文件,意味著移植與跨平臺非常方便。該數據庫非常小巧,是輕量級的,完全配置時小于400kb,而且

58、不需要任何的外部依賴。SQlite完全兼容ACID,允許從多個進程或線程安全訪問。3.8 Visual Studio和VisualGDB平臺在開發arm處理器程序時,通常的方式大都是在Linux操作系統下進行,但是樹莓派作為個人微型電腦,可以允許在多個平臺開發應用程序,支持目前已知的多種編程語言。因此,為了本設計的代碼能夠跨平臺,故采用PC平臺進行開發,編程語言采用C+語言。Visual studio是美國Microsoft公司開發的編程工具集合。功能非常強大,它集成了一個軟件在開發過程中所用到的大部分工具,包括代碼管理工具,集成開發環境,編譯運行調試工具。其所開發的代碼可以在所有微軟的操作系

59、統平臺上運行。最新版本是基于.NET Framework4.5.2。Visual studio給了程序開發人員很多的便利之處,能夠讓其快速的進行應用程序開發,其還能夠讓個人程序與團隊程序進行共享,保證團隊開發的整個系統能夠保持同步更新,其軟件編程環境也取得了巨大的突破,具有良好的用戶體驗,編程人員不在拘束于編程過程中出現的一些令人惱怒的小麻煩,讓編程人員專注于代碼的編寫。Visual studio具有功能異常強大的程序調試功能,能夠精確定位程序代碼所出現的問題。如上所述,只有visual studio無法開發其他操作系統下的程序,因此還需要插件的支持。在這里我們使用visualGDB插件進行程

60、序的開發。VisualGDB插件允許我們在Windows操作系統下使用編程工具開發Linux程序。VisualGDB的原理是,通過ssh連接Linux主機,利用ssh下達Linux命令和程序文件。VisualGDB的配置菜單如圖3.4所示。圖3.6 visualGDB配置界面在visualGDB界面內我們可以選擇創建Qt程序,插件會自動通過ssh連接我們的Linux操作系統主機樹莓派開發板。如果我們沒有在樹莓派上安裝Qt的類庫,插件會自動幫助我們安裝相關插件。然后就可以像在PC上開發程序一樣開發Linux程序。3.9 本章小結本章主要介紹了水質監測數據采集系統所使用的主要技術和開發框架。4 系

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論