道路施工進(jìn)度信息采集系統(tǒng)軟件設(shè)計(jì)
《道路施工進(jìn)度信息采集系統(tǒng)軟件設(shè)計(jì)》由會(huì)員分享,可在線閱讀,更多相關(guān)《道路施工進(jìn)度信息采集系統(tǒng)軟件設(shè)計(jì)(49頁珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
本科畢業(yè)設(shè)計(jì)(論文) 題目:道路施工進(jìn)度信息采集系統(tǒng)軟件設(shè)計(jì) 學(xué) 院 專 業(yè) 學(xué)生姓名 學(xué)生學(xué)號(hào) 指導(dǎo)教師 提交日期 摘 要 本文詳細(xì)介紹了利用安卓設(shè)備對(duì)道路施工進(jìn)度信息采集的系統(tǒng)。道路交通的發(fā)展直接影響著國(guó)民經(jīng)濟(jì)發(fā)展,伴隨著我國(guó)的經(jīng)濟(jì)的發(fā)展,未來我國(guó)道路建設(shè)將繼續(xù)高速發(fā)展。然而,道路建設(shè)中依然缺乏對(duì)施工進(jìn)度信息的有效采集管理,導(dǎo)致道路總體施工進(jìn)度緩慢,無法優(yōu)化調(diào)度各個(gè)子工作面資源。所以,對(duì)各個(gè)子工作面施工進(jìn)度信息的采集匯總,將極大優(yōu)化施工資源配置,提高整體道路施工進(jìn)度。故本文設(shè)計(jì)了道路施工進(jìn)度信息采集系統(tǒng),可以對(duì)各個(gè)子工作面施工進(jìn)度進(jìn)行采集匯總存儲(chǔ),也可以將施工進(jìn)度數(shù)據(jù)下傳給下位機(jī)。 本文所設(shè)計(jì)的系統(tǒng)是利用安卓智能手機(jī)對(duì)各個(gè)子工作面進(jìn)行施工進(jìn)度信息的采集與上傳,利用Qt Creator開發(fā)軟件開發(fā)上位機(jī)實(shí)現(xiàn)對(duì)手機(jī)上傳的信息進(jìn)行接收存儲(chǔ)管理。道路施工進(jìn)度信息的上傳采用TCP/IP協(xié)議以實(shí)現(xiàn)數(shù)據(jù)的可靠傳輸,利用Qt自帶的輕量級(jí)內(nèi)置數(shù)據(jù)庫SQLite對(duì)數(shù)據(jù)進(jìn)行存儲(chǔ)和更新修改等功能。最后繼承Qt 的QIODevice類編寫串口程序,實(shí)現(xiàn)與下位機(jī)的數(shù)據(jù)通信。 實(shí)驗(yàn)結(jié)果表明,本文所設(shè)計(jì)的道路施工進(jìn)度信息采集系統(tǒng)可以對(duì)各個(gè)子工作面的施工進(jìn)度信息有效收集管理,并傳送給下位機(jī)進(jìn)行顯示。 本設(shè)計(jì)旨在通過道路施工進(jìn)度信息采集系統(tǒng),為道路施工總體規(guī)劃與資源調(diào)配提供良好的信息支持,實(shí)現(xiàn)優(yōu)化各個(gè)子工作面的資源調(diào)度,提高道路整體施工進(jìn)度,保證道路施工工程可以按期竣工。 關(guān)鍵詞:道路施工進(jìn)度;安卓;Qt Creator;SQLite數(shù)據(jù)庫 Abstract This paper introduces a system using Android devices to acquire the progress information of road construction .The development of road traffic affects the nation economic development directly. With the development of our country's economy, the road construction will develop in high-speed in the future. However, Road construction is still lack of effective collection and management about construction information, which lead to slowness progress as a whole .what’s more, It is difficult to optimize the resources of each working face .For this reason .we designed a system that it can acquires and manages the information of road construction’s progress. It is also can transfer the information to lower computer. The article designed system is bases on android phone to acquire progress of each working face. Qt Creator as development software, develop a upper computer to receive and storage the information uploaded by Android Phone through internet .Using TCP/IP protocol to guarantee the reliable transmission of data .then ,Using Qt’s own lightweight built-in SQLite database for data storage and update, etc. Finally, edit serial program by inherit?QIODevice class to realize data communication with the machine. Experimental results show that the system can collect and manage the progress of working face effectively, and transmitted to the machine for display. This design aims to through gather the road construction schedule information to provide a good information support for the management of road construction schedule. Realize the optimization of resource of each working face, improve the overall road construction progress and ensure the road construction project can be finished on schedule. Keyword: road construction progress; Android; Qt Creator; SQLite 目 錄 摘 要 I Abstract II 第一章 緒 論 1 1.1論文的研究目的 1 1.2 論文的研究背景與意義 2 1.2.1研究背景 2 1.2.2研究意義 3 1.2.3研究現(xiàn)狀 3 1.3本文的研究?jī)?nèi)容 3 第二章 系統(tǒng)設(shè)計(jì)方案 5 2.1系統(tǒng)總體方案設(shè)計(jì) 5 2.2 TCP/IP協(xié)議介紹 6 2.3本章小結(jié) 8 第三章 基于安卓平臺(tái)的道路施工進(jìn)度信息采集設(shè)計(jì) 9 3.1操作系統(tǒng)的選型 9 3.2安卓系統(tǒng)的介紹 9 3.3安卓開發(fā)環(huán)境的搭建 10 3.4道路施工進(jìn)度信息采集設(shè)計(jì)與實(shí)現(xiàn) 12 3.4.1軟件需求 12 3.4.2 軟件設(shè)計(jì)框架 13 3.4.3安卓的Activity技術(shù) 13 3.4.4功能設(shè)計(jì)實(shí)現(xiàn) 14 3.5本章小結(jié) 19 第四章 上位機(jī)開發(fā) 20 4.1開發(fā)環(huán)境介紹 20 4.2 上位機(jī)整體架構(gòu) 20 4.3各個(gè)模塊的設(shè)計(jì)與實(shí)現(xiàn) 22 4.3.1道路信息接收模塊 22 4.3.2 數(shù)據(jù)庫管理模塊 26 4.3.3串口通信模塊 29 4.4本章小結(jié) 32 第五章 功能測(cè)試及測(cè)試結(jié)果 33 5.1 信息采集上傳測(cè)試 33 5.2數(shù)據(jù)庫管理模塊測(cè)試 36 5.3串口通信模塊測(cè)試 38 5.4本章小結(jié) 38 結(jié) 論 39 參考文獻(xiàn) 40 附錄 實(shí)現(xiàn)上位機(jī)所編寫的類 41 致謝 42 III 第一章 緒 論 1.1論文的研究目的 我國(guó)是一個(gè)幅員遼闊,并且人口總數(shù)超過13億的國(guó)家,對(duì)于這樣國(guó)家而言,交通的發(fā)展直接影響著我國(guó)國(guó)民經(jīng)濟(jì)的發(fā)展。正所謂“要致富,先修路”,我國(guó)政府已經(jīng)把道路交通基礎(chǔ)設(shè)施建設(shè)作為我國(guó)經(jīng)濟(jì)發(fā)展的排頭兵,以促進(jìn)我國(guó)經(jīng)濟(jì)繼續(xù)向前發(fā)展。 改革開放以來,我國(guó)國(guó)民經(jīng)濟(jì)已經(jīng)取得了舉世矚目的發(fā)展進(jìn)度,我國(guó)的道路基礎(chǔ)設(shè)施的建設(shè)也取得了長(zhǎng)足的發(fā)展。根據(jù)交通運(yùn)輸部發(fā)布的《中國(guó)公路水路交通運(yùn)輸發(fā)展報(bào)告》顯示,截止到2012年年底,我國(guó)的高速公路通車?yán)锍踢_(dá)到9.6萬公里,公路總里程達(dá)到424萬公里[1]。雖然我國(guó)在道路基礎(chǔ)設(shè)施建設(shè)方面取得了巨大的成績(jī),但是不可否認(rèn),我國(guó)的道路有效供給仍然不夠滿足于我國(guó)的運(yùn)輸發(fā)展的需要。同時(shí),道路建設(shè)為了適應(yīng)我國(guó)經(jīng)濟(jì)的快速發(fā)展以及帶動(dòng)西部及經(jīng)濟(jì)欠發(fā)達(dá)地區(qū)的發(fā)展,必將保持較快的增長(zhǎng)態(tài)勢(shì)。據(jù)我國(guó)交通部的規(guī)劃,我國(guó)的道路基礎(chǔ)設(shè)施將繼續(xù)加快建設(shè),2020年將在全國(guó)形成五縱十橫的主干線等。目前各個(gè)地方的公路建設(shè)都在按照計(jì)劃緊張進(jìn)行。所以,我國(guó)的道路規(guī)劃建設(shè)仍然將繼續(xù)向前推進(jìn)和發(fā)展[2]。 現(xiàn)階段比較普遍的組織施工的方式主要包含有依次施工、平行施工和流水施工。依次施工是將工程分割成若干個(gè)子工作面,一個(gè)一個(gè)一次完成。顯然這種施工方式現(xiàn)場(chǎng)作業(yè)單一,工期長(zhǎng),不利于工程量較大的道路施工工程。平行施工是指幾個(gè)工程隊(duì)在同一時(shí)間不同空間進(jìn)行施工。這種方式工期短,而且存在交叉作業(yè)。流水施工將工程劃分若干個(gè)施工段,按工藝劃分施工過程,對(duì)所有工程按某一時(shí)間間隔依次施工。目前道路施工方案大多采用流水施工方式,因?yàn)槠淠艹浞掷霉ぷ髅?,加速施工進(jìn)度,是道路建設(shè)工程盡早竣工,發(fā)揮投資效益。然而目前對(duì)各個(gè)子工作面施工進(jìn)度信息的采集方式大多以人工登記并進(jìn)行匯總,無法提供各個(gè)子工作面的工作進(jìn)度信息實(shí)時(shí)性,導(dǎo)致道路施工進(jìn)度總控制室由于未能接收各個(gè)自工作面進(jìn)度實(shí)時(shí)信息,無法合理調(diào)度施工資源。所以設(shè)計(jì)一款系統(tǒng)來采集各個(gè)子工作面的施工進(jìn)度信息,將給道路施工進(jìn)度的總控提供更好的信息支持,提高工程的統(tǒng)籌協(xié)調(diào),提高各個(gè)工作面施工的可操作性和靈活性。 總的來說,我國(guó)國(guó)民經(jīng)濟(jì)發(fā)展,給道路的建設(shè)提供了良好的發(fā)展環(huán)境,道路的發(fā)展反過來又刺激經(jīng)濟(jì)的發(fā)展。我國(guó)的道路建設(shè)繼續(xù)快速發(fā)展,道路施工進(jìn)度信息的采集為道路總體施工建設(shè)提供了信息保證,為道路工程建設(shè)注入了新的技術(shù)。 1.2 論文的研究背景與意義 1.2.1研究背景 信息采集系統(tǒng)應(yīng)用了當(dāng)前比較前沿的科學(xué)技術(shù)其中包括信息學(xué)科的技術(shù)、數(shù)據(jù)通訊技術(shù)、計(jì)算機(jī)技術(shù)等。隨著移動(dòng)互聯(lián)網(wǎng)技術(shù)的飛速發(fā)展,如何利用現(xiàn)代的移動(dòng)互聯(lián)網(wǎng)技術(shù)來實(shí)現(xiàn)道路施工進(jìn)度信息的采集將是一個(gè)新的課題。 伴隨著移動(dòng)互聯(lián)網(wǎng)技術(shù)的發(fā)展,Google公司于2008年9月正式發(fā)布了Android1.0,接著安卓系統(tǒng)不斷更新升級(jí),安卓設(shè)備銷售量也在呈現(xiàn)逐年增長(zhǎng),根據(jù)Strategy Analytics市場(chǎng)調(diào)查公司數(shù)據(jù)顯示,單單安卓智能手機(jī)2014年的出貨量已經(jīng)超過10億臺(tái),市場(chǎng)占有率已經(jīng)超過80%。目前人們的日常生活中隨處可見安卓設(shè)備的蹤影,安卓設(shè)備在生產(chǎn)中的應(yīng)用也是屢見不鮮。由于安卓系統(tǒng)的不斷更新?lián)Q代,除了基本的電話、短信等功能外還增加了許多新的功能,比如GPS定位、郵件收發(fā)等豐富的功能。正是安卓的強(qiáng)大的信息處理能力和友好的人機(jī)交互界面,使得Android設(shè)備可以適應(yīng)不同行業(yè)的需求。當(dāng)然Android設(shè)備也是適用于道路施工進(jìn)度信息采集,對(duì)比于傳統(tǒng)的采用硬件開發(fā)來說,開發(fā)的成本較高,維護(hù)繁瑣,人機(jī)交互不夠友好等。相反,在Android設(shè)備開發(fā)道路施工進(jìn)度信息錄入軟件,實(shí)用性和可操作性都較高。 Android是由谷歌公司于2007年11月對(duì)外公布的手機(jī)操作系統(tǒng)名稱,該操作系統(tǒng)是基于Linux平臺(tái)的開源手機(jī)操作系統(tǒng),該系統(tǒng)的推出與當(dāng)時(shí)的主流塞班和iOS形成了三足鼎立的局勢(shì),之后Android操作系統(tǒng)不斷升級(jí)換代,用戶活躍數(shù)量不斷增加,于2011年8月2日占據(jù)的全球48%的市場(chǎng)份額,成為全球第一,結(jié)束了塞班的霸主地位[3]。 截止到2015年5月份,安卓系統(tǒng)已經(jīng)經(jīng)歷了大幅度的改動(dòng),由最初的Android1.0升級(jí)到現(xiàn)在的Android5.0,功能也越來越豐富,運(yùn)行和處理速度得到大幅提升。正是谷歌的不懈努力,系統(tǒng)的升級(jí)和功能的增加,使得基于Android平臺(tái)的應(yīng)用開發(fā)者和應(yīng)用程序不斷增加。2014年,Android的應(yīng)用商店Google Play 的應(yīng)用數(shù)量已經(jīng)超過蘋果應(yīng)用達(dá)到了143萬款,開發(fā)者總數(shù)也超過個(gè)蘋果APP Store 的28.3萬,達(dá)到了38.8萬?,F(xiàn)在越來越多的行業(yè)插手移動(dòng)互聯(lián)網(wǎng),把業(yè)務(wù)范圍都擴(kuò)展到安卓設(shè)備端,比如主打社交的“微信”和“陌陌”,有主打購(gòu)物的應(yīng)用“淘寶客戶端”和“京東手機(jī)客戶端”,有主打團(tuán)購(gòu)的“美團(tuán)”等等,各行各業(yè)都跟隨者移動(dòng)互聯(lián)網(wǎng)的浪潮,借著安卓設(shè)備普及之勢(shì),紛紛擴(kuò)展自己的產(chǎn)品領(lǐng)域[3]。 Android設(shè)備功能不斷豐富和移動(dòng)互聯(lián)網(wǎng)的高速發(fā)展,將會(huì)給更多行業(yè)帶來新的發(fā)展機(jī)遇與發(fā)展方式。當(dāng)前處在道路建設(shè)的發(fā)展機(jī)遇期,將Android平臺(tái)與道路施工進(jìn)度信息采集現(xiàn)結(jié)合起來,開發(fā)基于安卓平臺(tái)的道路施工進(jìn)度信息采集軟件,將對(duì)道路施工進(jìn)度和道路建設(shè)管理帶來新的發(fā)展模式。 1.2.2研究意義 道路施工的按期完成是道路建設(shè)規(guī)劃的基本要求,若某一道路工程施工項(xiàng)目無法如期完成施工進(jìn)度,將導(dǎo)致后續(xù)道路基礎(chǔ)設(shè)施建設(shè)的正常進(jìn)行,以至于影響整個(gè)道路建設(shè)的正常進(jìn)行。甚至于影響該道路的投入使用,其結(jié)果將直接帶來經(jīng)濟(jì)上的損失。顯然,道路施工進(jìn)度對(duì)整體道路建設(shè)起到了至關(guān)重要的作用。 目前絕大多數(shù)的道路施工進(jìn)度的控制都采用預(yù)先制定計(jì)劃,并按照計(jì)劃進(jìn)行施工,然而現(xiàn)實(shí)中經(jīng)常出現(xiàn)許多突發(fā)情況導(dǎo)致一些子工作面施工進(jìn)度較快,一些道路的施工進(jìn)度緩慢,最終的總體道路施工工期將被延長(zhǎng),以至于無法按時(shí)竣工。本文將所設(shè)計(jì)的系統(tǒng)就是能夠?qū)⑺杉母鱾€(gè)子工作面施工進(jìn)度信息上傳到總控制室里,通過電腦的應(yīng)用程序接收和管理各個(gè)子工作面的施工進(jìn)度信息。并且可以實(shí)現(xiàn)數(shù)據(jù)向下傳輸?shù)较挛粰C(jī)(下位機(jī)由三色LED顯示各個(gè)子工作面的施工進(jìn)度)進(jìn)行進(jìn)度信息展示,方便總控制室人員對(duì)每個(gè)施工點(diǎn)的信息掌握與合理調(diào)配施工資源,最終達(dá)到優(yōu)化資源配置,縮短施工工期的目的。 1.2.3研究現(xiàn)狀 項(xiàng)目施工的進(jìn)度控制方法主要包括規(guī)劃、控制和協(xié)調(diào)。為了保證項(xiàng)目施工進(jìn)度的正常進(jìn)行,一般采用動(dòng)態(tài)控制的方式。當(dāng)實(shí)際施工進(jìn)度與計(jì)劃進(jìn)度不一致時(shí),重新調(diào)整計(jì)劃,使得實(shí)際進(jìn)度和計(jì)劃重新重合。施工進(jìn)度的控制就是采用這樣的不斷循環(huán)的動(dòng)態(tài)控制方法。 施工進(jìn)度的信息采集也就是施工項(xiàng)目進(jìn)度控制中的信息反饋。目前道路施工的實(shí)際進(jìn)度主要是通過現(xiàn)場(chǎng)施工人員逐級(jí)向上級(jí)反饋直至將信息反饋到中央控制室,總控制室將各方面的信息進(jìn)行收集的統(tǒng)計(jì)整理,再做出適當(dāng)?shù)挠?jì)劃更改使其能夠滿足原來的進(jìn)度計(jì)劃和工期目標(biāo)。 1.3本文的研究?jī)?nèi)容 第一部分為緒論。主要描述了道路施工進(jìn)度信息采集系統(tǒng)的研究目的與意義。同時(shí),簡(jiǎn)要介紹了安卓智能機(jī)作為采集設(shè)備的背景。并介紹了道路施工進(jìn)度信息的采集技術(shù)與發(fā)展趨勢(shì),最后介紹了本文的主要研究?jī)?nèi)容。 第二部分主要介紹道路施工進(jìn)度信息采集系統(tǒng)的整體設(shè)計(jì)框架,還要對(duì)TCP/IP協(xié)議進(jìn)行介紹,它是本文中數(shù)據(jù)上傳所采用的協(xié)議。 第三部分將介紹安卓智能機(jī)信息采集的軟件設(shè)計(jì)。其中包括在Windows 平臺(tái)搭建安卓開發(fā)環(huán)境,安卓的界面開發(fā)和TCPSocket的編程方法。 第四部分詳細(xì)介紹利用Qt Creator 編寫上位機(jī)程序?qū)崿F(xiàn)對(duì)數(shù)據(jù)的處理。其中包括利用Qt 的網(wǎng)路通信模塊進(jìn)行數(shù)據(jù)接收,利用SQLite 數(shù)據(jù)庫對(duì)數(shù)據(jù)儲(chǔ)存更新查詢,最后簡(jiǎn)單介紹上位機(jī)與下位機(jī)串口通信的實(shí)現(xiàn)。 第五部分對(duì)本次設(shè)計(jì)的系統(tǒng)的每個(gè)子功能進(jìn)行測(cè)試,并展示測(cè)試結(jié)果。最后進(jìn)行系統(tǒng)的整體運(yùn)行測(cè)試。 第二章 系統(tǒng)設(shè)計(jì)方案 2.1系統(tǒng)總體方案設(shè)計(jì) 本設(shè)計(jì)的要實(shí)現(xiàn)的功能是通過安卓智能機(jī)作為各個(gè)道路施工工作面的施工進(jìn)度信息的采集錄入設(shè)備,并通過網(wǎng)絡(luò)將數(shù)據(jù)上傳到總控制室的上位機(jī)上,上位機(jī)負(fù)責(zé)監(jiān)聽和接收信息,并將信息儲(chǔ)存到數(shù)據(jù)庫中,同時(shí)將數(shù)據(jù)打包發(fā)送給下位機(jī),由下位機(jī)負(fù)責(zé)將施工進(jìn)度信息數(shù)據(jù)以LED顏色展示各個(gè)工作面的進(jìn)度信息??刂剖胰藛T可以很方便的通過上位機(jī)的GUI界面訪問數(shù)據(jù)庫,實(shí)現(xiàn)對(duì)數(shù)據(jù)的查詢、修改、刪除等操作。本系統(tǒng)的軟件設(shè)計(jì)的總體設(shè)計(jì)框架如圖2-1,主要由安卓信息采集軟件和上位機(jī)軟件。上位機(jī)中包含數(shù)據(jù)信息接收功能、數(shù)據(jù)庫信息管理功能、串口通信功能。 圖2-1 道路施工進(jìn)度信息采集系統(tǒng)軟件設(shè)計(jì)總體框架 下位機(jī)主要負(fù)責(zé)接收數(shù)據(jù)并將各個(gè)子工作面的施工進(jìn)度信息以3色LED燈不同顏色來顯示,如施工進(jìn)度0%用LED燈顯示紅色表示、施工進(jìn)度33%用黃色表示、施工進(jìn)度66%用綠色表示、施工完成用即100%用白色表示。 下位機(jī)采用STC89S52作為主控芯片,該芯片的串行口是一個(gè)能夠?qū)崿F(xiàn)全雙工通信的可編程接口。下位機(jī)以中斷的方式接收PC上應(yīng)用程序(即上位機(jī))發(fā)送過來的數(shù)據(jù)存儲(chǔ)到存儲(chǔ)模塊中。單片機(jī)以一定的周期從存儲(chǔ)芯片中讀出數(shù)據(jù),并將數(shù)據(jù)傳送到LED節(jié)點(diǎn),每個(gè)LED節(jié)點(diǎn)代表不同的工作面,LED的顏色用來顯示各個(gè)工作面的施工進(jìn)度情況。本設(shè)計(jì)的下位機(jī)總體結(jié)構(gòu)如圖2-2所示,主要包括串口通信模塊、中央控制模塊、存儲(chǔ)模塊、顯示模塊(其中顯示模塊由各個(gè)LED節(jié)點(diǎn)組成)。 圖2-2下位機(jī)總體結(jié)構(gòu)圖 2.2 TCP/IP協(xié)議介紹 IP(Internet Protocol,Internet協(xié)議 )通常簡(jiǎn)稱IP協(xié)議,IP協(xié)議使得連接到Internet 上的設(shè)備,包括不同類型的計(jì)算機(jī)或者不同操作系統(tǒng),只要都使用IP協(xié)議,雙方就可以互相發(fā)送和接收數(shù)據(jù)。IP協(xié)議定義于網(wǎng)絡(luò)層,他負(fù)責(zé)將消息從一個(gè)主機(jī)傳送到另一個(gè)主機(jī),消息在傳送的過程中被分割成一個(gè)個(gè)數(shù)據(jù)包。IP協(xié)議根據(jù)每個(gè)包包頭所包含的IP地址進(jìn)行尋址,所以同一個(gè)消息報(bào)文的IP包可能會(huì)經(jīng)過不同的路由器到達(dá)最終的目的主機(jī)。由于IP協(xié)議是面向無連接的,所以在傳送過程中可能出現(xiàn)的異常將導(dǎo)致數(shù)據(jù)的丟失或出錯(cuò),所以要保證數(shù)據(jù)傳輸?shù)目煽啃赃€要TCP協(xié)議的支持。 TCP(Transmission Control Protocol,傳輸控制協(xié)議)是一種面向連接和數(shù)據(jù)流的可靠通信協(xié)議[4]。它能夠保證在建立網(wǎng)絡(luò)虛擬鏈路鏈接后,兩端可以進(jìn)行無差錯(cuò)的通信服務(wù)。TCP協(xié)議位于OSI中的運(yùn)輸層。每一條TCP連接只能有兩個(gè)端點(diǎn),即點(diǎn)對(duì)點(diǎn)的連接。并且TCP提供全雙工的通信方式,TCP在連接的兩端都設(shè)有緩存,可以再合適的情況下把發(fā)送緩存的內(nèi)容發(fā)送出去,在上層應(yīng)用進(jìn)程需要的時(shí)候?qū)邮站彺娴膬?nèi)容進(jìn)行讀取接收。其中需要強(qiáng)調(diào)的是,TCP中“面向字節(jié)流”中“流”是指流入或流出進(jìn)程中的數(shù)據(jù)是以字節(jié)序列的方式進(jìn)行的,TCP把上層應(yīng)用程序交下來的數(shù)據(jù)看成無結(jié)構(gòu)的字節(jié)流,因此建立TCP連接的兩端需要定好協(xié)議,才有能力識(shí)別收到的數(shù)據(jù),提取出有意義的數(shù)據(jù)。 TCP連接的端點(diǎn)叫做套接字(socket),根據(jù)RFC793的定義,端口號(hào)拼接到IP地址即構(gòu)成套接字。所以有socket=(IP:port)每個(gè)TCP連接有兩個(gè)端點(diǎn)組成,所以有TCP連接={socket1,socket2}={(IP1,port1),(IP2,port2)}[4] 這里的socket與接下來應(yīng)用程序中的聯(lián)網(wǎng)協(xié)議接口API不同。 TCP的連接建立需要進(jìn)行三次握手。首先,TCP客戶端向TCP服務(wù)端程序發(fā)送連接請(qǐng)求。處在監(jiān)聽狀態(tài)的服務(wù)端收到連接請(qǐng)求后,判斷是否同意建立連接,若接受連接,則向客戶端發(fā)送應(yīng)答確認(rèn)信號(hào)。TCP客戶端在接收到服務(wù)端的確認(rèn)后還要給服務(wù)端發(fā)出確認(rèn)信號(hào)。當(dāng)服務(wù)端接收到客戶端的確認(rèn)信號(hào)后,TCP連接便建立起來,接下來兩個(gè)端點(diǎn)便可以進(jìn)行全雙工通信。圖2-3為用三次握手建立TCP連接。 圖2-3用三次握手建立TCP連接 在完成數(shù)據(jù)通信后需要斷開TCP連接,客戶主機(jī)和服務(wù)器主機(jī)都可以釋放連接。在釋放鏈接之前雙方都處在連接狀態(tài)??蛻粝蛑鳈C(jī)發(fā)送斷開連接請(qǐng)求,并停止發(fā)送數(shù)據(jù),服務(wù)器在接收到客戶端的斷開連接請(qǐng)求后向客服端發(fā)送應(yīng)答信號(hào)并通知上層應(yīng)用進(jìn)程,此時(shí)只是釋放了客戶端到服務(wù)器的連接,所以服務(wù)器仍然可以向客戶端發(fā)送數(shù)據(jù)。當(dāng)服務(wù)器確認(rèn)了連接釋放請(qǐng)求后向客戶端發(fā)送釋放連接確認(rèn)信號(hào),此時(shí)服務(wù)器不會(huì)向客戶端發(fā)送數(shù)據(jù),而是處于等待關(guān)閉狀態(tài)。當(dāng)客戶端收到服務(wù)器的確認(rèn)信號(hào)后還要向服務(wù)器發(fā)送確認(rèn)信號(hào)的確認(rèn),在服務(wù)器收到客戶端的確認(rèn)信號(hào)后,雙方都進(jìn)入關(guān)閉狀態(tài)。所以TCP連接的釋放需要經(jīng)歷四次握手,如圖2-4所示。 圖2-4 四次握手釋放TCP連接 2.3本章小結(jié) 本章主要介紹了道路信息采集系統(tǒng)的整體系統(tǒng)架構(gòu),其中包括軟件設(shè)計(jì)總體結(jié)構(gòu)和下位機(jī)的總體結(jié)構(gòu)。接著,詳細(xì)介紹了TCP/IP協(xié)議,包括TCP的連接建立過程和連接釋放過程。 第三章 基于安卓平臺(tái)的道路施工進(jìn)度信息采集設(shè)計(jì) 3.1操作系統(tǒng)的選型 隨著移動(dòng)互聯(lián)網(wǎng)的快速發(fā)展,截自2013年據(jù)我國(guó)的手機(jī)擁有數(shù)量已經(jīng)超12億??梢娛謾C(jī)的普及度很高,所以選用手機(jī)作為道路施工進(jìn)度信息錄入采集設(shè)備將是一個(gè)十分方便可行的。目前市場(chǎng)上的手機(jī)采用的主流系統(tǒng)主要有Android、iOS、Microsoft、blackberry等等,根據(jù)Strategy Analytics公布了2014年第二季度智能手機(jī)操作系統(tǒng)全球分布情況入圖3-1可見,Android操作系統(tǒng)的全球市場(chǎng)份兒已經(jīng)高達(dá)84.6%。而iOS系統(tǒng)市場(chǎng)占有率達(dá)13.4%,Microsoft和blackberry平臺(tái)總和也就只有6.2%。通過這些數(shù)據(jù)可以看出Android的發(fā)展勢(shì)頭很猛而且市場(chǎng)普及率高,非常適合作為軟件的開發(fā)平臺(tái)。 圖3-1 2014年第二季度智能手機(jī)市場(chǎng)份額 根據(jù)以上的數(shù)據(jù)顯示,安卓系統(tǒng)和蘋果iOS系統(tǒng)占據(jù)了市場(chǎng)90%以上的市場(chǎng)份額。然而由于iOS系統(tǒng)是閉源的。iOS的軟件只能運(yùn)行在蘋果設(shè)備上,且目前蘋果產(chǎn)品價(jià)格相對(duì)較高。反觀安卓系統(tǒng)的開源性,可移植性強(qiáng),而且安卓手機(jī)品類豐富,價(jià)格相對(duì)便宜。已經(jīng)有很多行業(yè)利用安卓設(shè)備的案例。所以在安卓臺(tái)上進(jìn)行軟件開發(fā)具有很好的應(yīng)用前景和市場(chǎng)價(jià)值。 3.2安卓系統(tǒng)的介紹 Android系統(tǒng)的底層是建立在Linux系統(tǒng)之上的,該平臺(tái)有操作系統(tǒng)、中間件、用戶界面和應(yīng)用軟件組成[5]。圖3-2顯示了Android的系統(tǒng)體系。 圖3-2 Android系統(tǒng)的體系結(jié)構(gòu)(Android官方文檔) 安卓系統(tǒng)采用了軟件疊加的方式進(jìn)行構(gòu)建,各個(gè)層實(shí)現(xiàn)各自的功能,層與層之間互相分開,當(dāng)某個(gè)層的結(jié)構(gòu)發(fā)生變化的時(shí)候,只要保證層間的接口不變,其他層就可以不作改變。這種分工使得層與層之間的耦合較低,當(dāng)?shù)讓咏Y(jié)構(gòu)改變時(shí),應(yīng)用程序可以不作改變。 安卓的application frame提供了大量的API供開發(fā)者使用,使得開發(fā)變得更加簡(jiǎn)單方便,同時(shí)應(yīng)用程序框架也為軟件復(fù)用提供了支持。 3.3安卓開發(fā)環(huán)境的搭建 安卓軟件開發(fā)的準(zhǔn)備工作就是要搭建出安卓的開發(fā)環(huán)境。Android的開發(fā)可以在不同的操作系統(tǒng)下進(jìn)行,比如Linux或Windows等,本文中是基于Windows操作系統(tǒng)的開發(fā)。所以下面將介紹Windows下的開發(fā)環(huán)境搭建。 在Windows環(huán)境下的Android開發(fā)環(huán)境搭建主要包括3個(gè)部分Eclipse、JDK 與Android SDK。Eclipse是有Sun公司開發(fā)的跨平臺(tái)基于Java集成開發(fā)環(huán)境(IDE),同時(shí)它還附帶有JDK(Java Development Kit)。JDK是Java語言的軟件開發(fā)包工具,其中包含有許多Java開發(fā)需要的基礎(chǔ)類庫,和工具,是Java開發(fā)的重要組成部分[6]。SDK(software development kit)是有Google公司推出的軟件開發(fā)工具包,它采用的是Java語言,所以必須預(yù)先安裝好JDK。安裝好以上各個(gè)軟件,基本就完成了Android開發(fā)環(huán)境的搭建。為了能在開發(fā)過程中模擬開發(fā)軟件的運(yùn)行效果還需要安裝AVD(Android Virtual Device,安卓虛擬設(shè)備),便可以在Eclipse上Android Virtual Device Manage的創(chuàng)建模擬器。Eclipse軟件開發(fā)界面入圖3-3所示,虛擬機(jī)運(yùn)行圖3-4所示 圖3-3 Eclipse 軟件開發(fā)界面 圖3-4 安卓虛擬器運(yùn)行界面 3.4道路施工進(jìn)度信息采集設(shè)計(jì)與實(shí)現(xiàn) 3.4.1軟件需求 基于Android智能機(jī)的道路施工進(jìn)度信息采集過程如圖3-4所示: 圖3-5 道路施工進(jìn)度信息采集過程 由于本文設(shè)計(jì)的數(shù)據(jù)要上傳到總控制室上位機(jī)進(jìn)行存儲(chǔ),所以在手機(jī)本地存儲(chǔ)中不考慮數(shù)據(jù)的存儲(chǔ)。所以在道路施工進(jìn)度信息的采集軟件設(shè)計(jì)的關(guān)鍵是道路施工進(jìn)度信息的錄入操作與數(shù)據(jù)的上傳這兩個(gè)部分。 針對(duì)數(shù)據(jù)的錄入部分,將通過人機(jī)交互的界面布局,只要按照依次填寫道路施工信息的各方面內(nèi)容就完成信息錄入工作。而對(duì)于數(shù)據(jù)上傳部分,本設(shè)計(jì)考慮到TCP/IP協(xié)議提供可靠的傳輸協(xié)議,并且是全雙工的工作方式,而UDP是非面向連接不提供可靠傳輸。所以采用TCP進(jìn)行數(shù)據(jù)上傳采用的協(xié)議。 3.4.2 軟件設(shè)計(jì)框架 軟件的設(shè)計(jì)框架是在分析軟件需求的情況之下進(jìn)行的軟件設(shè)計(jì)思路分析,是進(jìn)行軟件設(shè)計(jì)的基礎(chǔ)與必備工作。如圖3-6,從圖中可以看出軟件設(shè)計(jì)框架。軟件的操作過程大致為:進(jìn)入軟件首先是歡迎界面接著自動(dòng)跳轉(zhuǎn)到道路施工信息錄入界面,操作人員依次填寫施工路段編號(hào),施工進(jìn)度,并填寫主控制室上位機(jī)TCP服務(wù)端的的IP與端口號(hào),接著就可以進(jìn)行數(shù)據(jù)的上傳工作。 圖3-6 安卓軟件框架 3.4.3安卓的Activity技術(shù) Activity是安卓的重要組件之一,作為安卓設(shè)備中用來顯示信息和直接進(jìn)行人機(jī)交互的界面。Activity界面可以放大縮小旋轉(zhuǎn)或者浮動(dòng)與其他的界面,允許通過一個(gè)Activity切換到其他的Activity,頁面與頁面之間進(jìn)行切換的時(shí)候,被切換的Activity被壓入棧中,可以在后面的操作中可以進(jìn)行彈出堆?;謴?fù)。堆棧遵循“先進(jìn)后出”的原則,所以可以通過“返回”按鈕恢復(fù)之前的Activity。圖3-7是安卓中Activity的生命周期[5]。 圖3-7 Activity生命周期 創(chuàng)建一個(gè)Activity首先需要在安卓的配置文件AndroidManifest.xml中聲明這個(gè)Activity。一個(gè)Activity一生成就進(jìn)入onCreat()函數(shù),之后進(jìn)入onStart()和onResume()進(jìn)入運(yùn)行狀態(tài),當(dāng)Activity切換到后臺(tái)是運(yùn)行onPause()函數(shù),當(dāng)Activity不可見后調(diào)用 onStop(),只有在關(guān)閉Activity才運(yùn)行onDestory()結(jié)束該Acticity組件。在Acticity之間進(jìn)行切換時(shí),需要使用Intent對(duì)象為它們傳遞信息,一個(gè)Intent對(duì)象中封裝目的Activity的對(duì)象,通過startActivity(Intent)來啟動(dòng)Activity。機(jī)理是通過AndroidManifest.xml配置文件中的IntentFilter過濾其他的Component,找到具有相同Component屬性的Activity,若找不到與之相匹配,系統(tǒng)將會(huì)拋出一個(gè)異常。 3.4.4功能設(shè)計(jì)實(shí)現(xiàn) 軟件的啟動(dòng)界面可以有軟件的整體功能介紹、風(fēng)格特性等。優(yōu)秀的軟件特別是一些用于商業(yè)用途的軟件,軟件的啟動(dòng)界面可以給人對(duì)軟件的大致功能等有大致的了解。本次的軟件主要功能是進(jìn)行道路施工進(jìn)度信息的采集,所以啟動(dòng)界面的背景采用道路施工圖案,標(biāo)題是“道路施工進(jìn)度信息采集”,啟動(dòng)界面如圖3-8所示 圖3-8 軟件的啟動(dòng)界面 界面xml布局部分代碼如下:- 1.請(qǐng)仔細(xì)閱讀文檔,確保文檔完整性,對(duì)于不預(yù)覽、不比對(duì)內(nèi)容而直接下載帶來的問題本站不予受理。
- 2.下載的文檔,不會(huì)出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請(qǐng)點(diǎn)此認(rèn)領(lǐng)!既往收益都?xì)w您。
下載文檔到電腦,查找使用更方便
10 積分
下載 |
- 配套講稿:
如PPT文件的首頁顯示word圖標(biāo),表示該P(yáng)PT已包含配套word講稿。雙擊word圖標(biāo)可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國(guó)旗、國(guó)徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計(jì)者僅對(duì)作品中獨(dú)創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- 道路 施工進(jìn)度 信息 采集 收集 系統(tǒng)軟件 設(shè)計(jì)
鏈接地址:http://www.820124.com/p-660832.html