物聯(lián)網(wǎng)工程-基于stm32的智能環(huán)境噪音監(jiān)測(cè)系統(tǒng)_第1頁(yè)
物聯(lián)網(wǎng)工程-基于stm32的智能環(huán)境噪音監(jiān)測(cè)系統(tǒng)_第2頁(yè)
物聯(lián)網(wǎng)工程-基于stm32的智能環(huán)境噪音監(jiān)測(cè)系統(tǒng)_第3頁(yè)
物聯(lián)網(wǎng)工程-基于stm32的智能環(huán)境噪音監(jiān)測(cè)系統(tǒng)_第4頁(yè)
物聯(lián)網(wǎng)工程-基于stm32的智能環(huán)境噪音監(jiān)測(cè)系統(tǒng)_第5頁(yè)
已閱讀5頁(yè),還剩28頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

PAGE 基于STM32的智能噪音監(jiān)測(cè)系統(tǒng)摘要:在國(guó)家逐漸發(fā)展壯大的今天,工業(yè)發(fā)展使我國(guó)經(jīng)濟(jì)快速增長(zhǎng),但也導(dǎo)致了各種在發(fā)展壯大之前沒(méi)有被發(fā)現(xiàn)的問(wèn)題日益浮現(xiàn),噪音污染就是其中之一。環(huán)境噪音會(huì)給環(huán)境或周?chē)嗽斐刹涣加绊?,?yán)重的甚至?xí)茐沫h(huán)境或給人們的身心健康造成很大的影響,因此我們需要一種簡(jiǎn)易的噪音監(jiān)測(cè)儀器,可以很方便地監(jiān)測(cè)出當(dāng)前環(huán)境的噪音分貝值是否適合人們生活,從而達(dá)到監(jiān)控的目的。為了對(duì)環(huán)境噪音進(jìn)行監(jiān)測(cè),本次畢業(yè)設(shè)計(jì)選題是對(duì)環(huán)境噪音監(jiān)測(cè)系統(tǒng),單片機(jī)采用的價(jià)格成本低、但功能性強(qiáng)大且穩(wěn)定的STM32單片機(jī)芯片,用以對(duì)聲音進(jìn)行信號(hào)處理后得出當(dāng)前環(huán)境分貝值。本設(shè)計(jì)還將增加一個(gè)環(huán)境粉塵濃度監(jiān)測(cè)功能,用以模擬在工地上使用的揚(yáng)塵噪聲監(jiān)測(cè)設(shè)備,將得到的分貝值和環(huán)境PM2.5濃度值顯示在液晶屏中。最終通過(guò)藍(lán)牙技術(shù),將噪音分貝值和PM2.5濃度值發(fā)送給安卓手機(jī)的應(yīng)用程序中,可以更加便捷地監(jiān)測(cè)當(dāng)前環(huán)境的情況。關(guān)鍵詞:噪音監(jiān)測(cè),PM2.5,STM32,藍(lán)牙

IntelligentEnvironmentalNoiseMonitoringSystemBasedonSTM32Abstract:Inrecentyears,withthecountryisgraduallydevelopingandexpanding,industrialdevelopmentmakesourcountry'seconomygrowrapidly,butitalsoleadstovariousproblemsthatwerenotdiscoveredbeforethedevelopmentrapidlyofthecountry.Noisepollutionisoneofthem.Ambientnoiseaffectontheenvironmentoraroundpeople,seriousevencandamagetheenvironmentortopeople'sphysicalandmentalhealthcausedgreatinfluence.Therefore,weneedasimplenoisemonitoringinstrument,whichcaneasilydetectwhetherthecurrentenvironmentalnoisedecibelvalueissuitableforpeople'slife,soastoachievethepurposeofmonitoring.Tomonitortheenvironmentalnoise,thegraduationprojecttopicistomonitortheenvironmentalnoisesystem,thesingle-chipmicrocomputerusedlowcost,butpowerfulandstablefunctionofSTM32single-chipmicrocomputerchip,usedforthesoundsignalprocessingtoobtainthecurrentenvironmentdecibelvalue.Thisdesignwillalsoaddanenvironmentaldustconcentrationmonitoringfunction,whichisusedtosimulatethedustnoisemonitoringequipmentusedontheconstructionsite.TheobtaineddecibelvalueandenvironmentalPM2.5concentrationvaluearedisplayedontheLCDscreen.Inaddition,thenoisedecibelvalueandPM2.5concentrationvaluewillbesendtotheandroidphoneappthroughbluetoothtechnology,whichcanmoreeasilymonitorthecurrentenvironment.Keywords:Noisemonitoring,PM2.5,Bluetooth,STM32

目錄255671緒論 165751.11.1研究背景和意義 1267871.1.1噪音監(jiān)測(cè)系統(tǒng)的背景分析 1149901.1.2本課題的研究意義 263121.2課題研究方法和內(nèi)容題研究 246591.2.1研究方法 2316721.2.2研究?jī)?nèi)容 3183432系統(tǒng)分析 4270252.1系統(tǒng)背景及現(xiàn)狀分析 4217952.2需求分析 4141282.3可行性分析 563153系統(tǒng)總體設(shè)計(jì)及硬件實(shí)現(xiàn) 7152373.1系統(tǒng)總體設(shè)計(jì) 788383.2系統(tǒng)硬件實(shí)現(xiàn) 8200993.2.1STM32單片機(jī)模塊 8308463.2.2聲音監(jiān)測(cè)模塊 9158483.2.3PM2.5監(jiān)測(cè)模塊 9317513.2.4藍(lán)牙通信模塊 10197763.2.5液晶顯示屏模塊 11211873.2.6ADC0832模數(shù)轉(zhuǎn)換模塊 11171243.2.7硬件實(shí)現(xiàn)效果 12276414系統(tǒng)軟件設(shè)計(jì)與實(shí)現(xiàn) 13209944.1開(kāi)發(fā)工具的介紹 13212444.1.1KeiluVision4單片機(jī)開(kāi)發(fā)工具 13291814.1.2AndroidStudio開(kāi)發(fā)工具 13157684.2軟件設(shè)計(jì)總體思路 13301114.3硬件控制代碼設(shè)計(jì) 14324994.3.1Main主控函數(shù) 1422844.3.2AD轉(zhuǎn)換模塊 1527064.3.3分貝采集傳感器模塊 17129624.3.4粉塵傳感器模塊 19205704.3.5蜂鳴器模塊 2178504.4客戶端APP設(shè)計(jì) 22168384.4.1客戶端APP總體設(shè)計(jì)思路 22248284.4.2邏輯流程 2345264.4.3數(shù)據(jù)接收并顯示程序 2373714.5系統(tǒng)實(shí)現(xiàn)效果 2628915總結(jié) 286646參考文獻(xiàn): 29609致謝 30PAGE30緒論1.1研究背景和意義噪音監(jiān)測(cè)系統(tǒng)的背景分析在科技飛速發(fā)展的21世紀(jì),世界各國(guó)的經(jīng)濟(jì)情況也以快速的形式發(fā)展起來(lái),人們一邊享受著科技發(fā)達(dá)帶來(lái)的摩登生活,一邊也要承受著隨它附來(lái)的各種問(wèn)題,如氣候的惡劣變化、溫室效應(yīng)、全球變暖、各類自然災(zāi)害等等,其中,環(huán)境噪音問(wèn)題是我們?nèi)缃袼荒茉倩乇艿膯?wèn)題,尤其是生活在城市中的人們或近于施工處所的人們。環(huán)境對(duì)我們生活中的方方面面都有著巨大的影響,而環(huán)境因素又是隨著環(huán)境時(shí)時(shí)刻刻變化的,聲音本是無(wú)害的,甚至可以是悅耳的,但是過(guò)大嘈雜的聲音卻有時(shí)候會(huì)使人感到不舒適,即環(huán)境噪音,它會(huì)引起人們煩躁,如果音量過(guò)大或音調(diào)過(guò)高的高噪聲環(huán)境,則可能危害到人們的生理和心理上的健康。其造成的危害可能是:1.對(duì)聽(tīng)力造成損害2.對(duì)視力造成損害3.對(duì)人們的心血管造成損害4.對(duì)神經(jīng)系統(tǒng)造成損害,即容易憤怒、激動(dòng)甚至失去理智5.對(duì)睡眠造成影響,即容易疲倦、睡眠不足等等。因此對(duì)環(huán)境噪音的監(jiān)測(cè)與控制在對(duì)人的身體健康和身心健康方面有著十分重要的作用,而加強(qiáng)對(duì)環(huán)境噪音的檢測(cè)與控制則顯得尤其重要。百度百科[z]百度百科[z].\t"C:/Users/Administrator/Desktop/%E3%80%8A%E5%9F%BA%E4%BA%8ESTM32%E7%9A%84%E6%99%BA%E8%83%BD%E5%99%AA%E9%9F%B3%E7%9B%91%E6%B5%8B%E7%B3%BB%E7%BB%9F%E3%80%8BPaperTime%E6%96%87%E6%A1%A3%E6%A3%80%E6%B5%8B%E6%8A%A5%E5%91%8A/htmls/sentence_detail/_blank"/p-161811482.html我國(guó)對(duì)噪音污染的關(guān)注開(kāi)始于二十世紀(jì)70年代,1979年,第一期噪聲訓(xùn)練班被舉辦,明確了培養(yǎng)噪聲監(jiān)測(cè)人員的決定,噪聲監(jiān)控從簡(jiǎn)單的噪音監(jiān)測(cè)往多功能、便捷式、小型化發(fā)展,直至現(xiàn)在,噪音監(jiān)控技術(shù)現(xiàn)在發(fā)展的已經(jīng)相當(dāng)成熟,并且衍生出多種功能。工地?fù)P塵噪聲監(jiān)測(cè)設(shè)備就是這么一款多功能、應(yīng)用性強(qiáng)的環(huán)境保護(hù)設(shè)備,它不僅能做到噪聲的監(jiān)測(cè),還可監(jiān)控工地?fù)P塵濃度以及溫濕度監(jiān)控和圖像抓拍與錄制。不僅解決了民眾對(duì)施工工地質(zhì)疑的問(wèn)題,也為工地環(huán)境奠定了良好自查基礎(chǔ)。隨著時(shí)代的發(fā)展,工業(yè)的發(fā)展規(guī)模也逐步擴(kuò)大,因此很多為了發(fā)展而建造的場(chǎng)所如高樓、立交、地鐵等的數(shù)量也逐漸增多,因此噪音防治迫在眉睫,而要進(jìn)行防治,則必須從技術(shù)、經(jīng)濟(jì)和效果等方面進(jìn)行綜合權(quán)衡,具體問(wèn)題具體分析。本文就是一款針對(duì)環(huán)境分貝值簡(jiǎn)易測(cè)量設(shè)計(jì)方案,用于監(jiān)測(cè)當(dāng)前環(huán)境分貝值是是否達(dá)到人們適宜居住的一個(gè)健康環(huán)境。本課題的研究意義隨著國(guó)家政策的引導(dǎo),城市的發(fā)展、交通、建筑工業(yè)和社會(huì)生活的規(guī)模不斷擴(kuò)大,就很容易導(dǎo)致各種污染問(wèn)題叢生,環(huán)境噪聲污染即是其中之一,它會(huì)對(duì)人體構(gòu)成許多影響,如生理或心理上的,說(shuō)它是人們最容易直觀感受到的自然環(huán)境污染因素之一的原因是不同人類活動(dòng)對(duì)環(huán)境分貝的要求也不盡相同。長(zhǎng)期的處于噪音環(huán)境中生活容易導(dǎo)致人們會(huì)過(guò)激行動(dòng),甚至引發(fā)一些群發(fā)性事件從而影響社會(huì)的和諧和穩(wěn)定。因此我們應(yīng)該對(duì)聲源進(jìn)行控制和整治,而噪聲監(jiān)控系統(tǒng)則是助我們對(duì)環(huán)境噪聲污染進(jìn)行監(jiān)控和改善的有力幫手,通過(guò)從噪聲監(jiān)控系統(tǒng)中得回的數(shù)據(jù),我們可以知道當(dāng)前環(huán)境質(zhì)量是否良好,從而做出是否改變或改善當(dāng)前環(huán)境使得人們生活更舒適的決策。本課題研究實(shí)現(xiàn)一個(gè)對(duì)噪音和空氣質(zhì)量值進(jìn)行檢測(cè)的系統(tǒng),它具備監(jiān)控當(dāng)前環(huán)境的分貝噪音值和空氣PM2.5濃度值功能,用于提示當(dāng)前生活環(huán)境是否舒適,同時(shí)滿足攜帶方便、價(jià)格低廉、操作簡(jiǎn)便等方法,希望能夠?qū)Φ厍虻沫h(huán)境健康保護(hù)有一定的幫助。課題研究方法和內(nèi)容題研究研究方法本論文在編寫(xiě)過(guò)程中主要采用了以下的研究方法:文獻(xiàn)研究法:通過(guò)網(wǎng)絡(luò)、查閱書(shū)籍和相關(guān)的文獻(xiàn)來(lái)取得一些對(duì)于課題有用的資料和前人設(shè)計(jì)的結(jié)果,從中獲取其中有用的信息,論證其可行性,從而科學(xué)、客觀、全面地了解所要研究的問(wèn)題,找出問(wèn)題的本質(zhì)屬性,更高效的尋找解決問(wèn)題的辦法。實(shí)驗(yàn)法:通過(guò)對(duì)問(wèn)題的研究和分析,從已得出的結(jié)論和經(jīng)驗(yàn)出發(fā),形成一種新的假設(shè),再將形成的假設(shè)計(jì)劃出一個(gè)可控的實(shí)驗(yàn)方法,通過(guò)多次的科學(xué)實(shí)驗(yàn)驗(yàn)證,觀察自變量在變化過(guò)程中因變量的變化,從而的得出自變量和因變量的關(guān)系,最后統(tǒng)計(jì)得出假設(shè)是否成立。研究?jī)?nèi)容本論文總共分為五個(gè)部分,每個(gè)部分內(nèi)容安排如下::緒論。主要闡述本論文的研究?jī)?nèi)容和背景的,以及講述研究過(guò)程中使用的方法。:系統(tǒng)分析。主要對(duì)系統(tǒng)進(jìn)行需求分析,從經(jīng)濟(jì),技術(shù)等方面對(duì)噪音檢測(cè)系統(tǒng)進(jìn)行可行性分析。:系統(tǒng)總體設(shè)計(jì)及硬件環(huán)境搭建設(shè)計(jì)。主要介紹硬件模塊的描述及功能,邏輯流程,模塊設(shè)計(jì)以及硬件模塊的設(shè)計(jì)思路。:系統(tǒng)軟件功能設(shè)計(jì)與實(shí)現(xiàn)。主要介紹系統(tǒng)的全部模塊的實(shí)現(xiàn)代碼以及邏輯流程和APP端是如何實(shí)現(xiàn)從而得出運(yùn)行效果。:總結(jié)。主要對(duì)系統(tǒng)所實(shí)現(xiàn)的效果進(jìn)行總結(jié),并對(duì)系統(tǒng)存在的問(wèn)題和可改進(jìn)之處作出說(shuō)明。最后是參考文獻(xiàn)以及致謝內(nèi)容。

系統(tǒng)分析隨著噪音污染日益對(duì)人們的生活造成困擾,在經(jīng)過(guò)對(duì)相關(guān)資料的收集整理之后,對(duì)智能噪音監(jiān)測(cè)系統(tǒng)的現(xiàn)狀以及系統(tǒng)的需求進(jìn)行分析,包括對(duì)智能噪音監(jiān)測(cè)系統(tǒng)的用戶需求和功能需求,和對(duì)智能噪音監(jiān)測(cè)系統(tǒng)的完成進(jìn)行可行性的分析。系統(tǒng)背景及現(xiàn)狀分析隨著社會(huì)經(jīng)濟(jì)的發(fā)展,各大城市的建設(shè)發(fā)展進(jìn)程加快,城市交通的擴(kuò)建、人口基數(shù)的增大、各類施工項(xiàng)目持續(xù)增長(zhǎng)等造成的噪音污染已然成為當(dāng)今社會(huì)環(huán)境污染的四大污染之一,人們對(duì)噪音污染的看法與關(guān)注度也越來(lái)越高,其對(duì)人類健康的危害也引起了極大關(guān)注。因此為了減少這種污染帶來(lái)的危害,人們便想出通過(guò)了解周?chē)h(huán)境的聲音的分貝值來(lái)知道當(dāng)前環(huán)境的聲音是否屬于噪音污染,檢測(cè)噪音的儀器便應(yīng)運(yùn)而生。噪音檢測(cè)儀器從最初的指針式人工讀數(shù)聲級(jí)計(jì)發(fā)展到數(shù)字式聲級(jí)計(jì),再到后來(lái)的能夠自動(dòng)采集、存貯、處理數(shù)據(jù)等功能的自動(dòng)監(jiān)測(cè)環(huán)境噪音的儀器,到現(xiàn)在的小型化、便攜式、多功能使用儀器,環(huán)境噪音監(jiān)測(cè)技術(shù)發(fā)展的十分迅速也越加成熟。本設(shè)計(jì)擬采用聲音傳感器LM386作為分貝采集傳感器。它可以將采集到的聲音進(jìn)行放大,再通過(guò)AD轉(zhuǎn)換電路對(duì)信號(hào)進(jìn)行處理,從模擬信號(hào)轉(zhuǎn)換成數(shù)字信號(hào),再通過(guò)藍(lán)牙連接手機(jī)并在APP中顯示出具體分貝值。需求分析用戶需求對(duì)于智能噪音檢測(cè)系統(tǒng),用戶需求基本分析如下:設(shè)備:低功耗、低成本方、操作簡(jiǎn)單且便于攜帶。檢測(cè)功能:系統(tǒng)在正常情況下能測(cè)出當(dāng)前環(huán)境分貝值和PM2.5濃度值。報(bào)警:一旦PM2.5濃度值高于設(shè)置的報(bào)警值馬上點(diǎn)亮LED燈與蜂鳴器報(bào)警提示用戶。手機(jī)應(yīng)用程序:能實(shí)時(shí)查看監(jiān)測(cè)系統(tǒng)的測(cè)量出的噪音值和PM2.5濃度值,并且可以通過(guò)手機(jī)應(yīng)用修改PM2.5報(bào)警閾值。功能需求系統(tǒng)要實(shí)現(xiàn)的功能內(nèi)容包括:環(huán)境聲音分貝值的測(cè)量、環(huán)境中PM2.5濃度值的測(cè)量、模數(shù)轉(zhuǎn)換的處理、PM2.5超標(biāo)警報(bào),與手機(jī)數(shù)據(jù)共享等功能。為了實(shí)現(xiàn)以上功能,本次設(shè)計(jì)將采用STM32F103C8T6單片機(jī)作為控制核心,其具有低功耗、低成本、微型化、便于操控,便于攜帶且性能穩(wěn)定等優(yōu)點(diǎn),用以測(cè)量出分貝值、PM2.5值,超標(biāo)報(bào)警,與手機(jī)數(shù)據(jù)共享的基本功能。采用聲音傳感器LM386作為分貝采集傳感器,GP2Y1010AU0F粉塵傳感器作為PM2.5濃度值測(cè)量傳感器,實(shí)現(xiàn)將分貝和PM2.5的模擬量以電流形式輸出,再用模數(shù)轉(zhuǎn)換器將兩個(gè)傳感器輸出的電流信號(hào)變成能與單片機(jī)正常輸入輸出的電平??尚行苑治鼋?jīng)濟(jì)可行性分析隨著人們對(duì)環(huán)境污染的關(guān)注度增高,噪音污染問(wèn)題也越被人們所注意,因此用來(lái)監(jiān)測(cè)噪音分貝的儀器也層出不窮且功能越發(fā)多樣化地被應(yīng)用于社會(huì)生活中,目前復(fù)雜的多功能噪音監(jiān)測(cè)系統(tǒng)--噪聲揚(yáng)塵監(jiān)測(cè)系統(tǒng)被廣泛應(yīng)用于工地施工監(jiān)測(cè)上,在普通生活中也隨處可見(jiàn)簡(jiǎn)易的噪音監(jiān)測(cè)系統(tǒng)的使用,如公園里,靠近馬路的小區(qū)中,需要環(huán)境安靜的圖書(shū)館中等等。當(dāng)下,市面上使用的智能噪音監(jiān)測(cè)系統(tǒng)功能性多,且針對(duì)場(chǎng)所較為專業(yè),用在家用有小題大做。本系統(tǒng)設(shè)計(jì)結(jié)合單片機(jī),降低成本實(shí)現(xiàn)資源利用最大化,每個(gè)家庭都能買(mǎi)得起。因此本次設(shè)計(jì)的智能噪音監(jiān)測(cè)系統(tǒng)則是生活中便于人們操作使用的、成本也較為低廉的STM32單片機(jī)和傳感器所組成,為普通生活中測(cè)量環(huán)境噪音和PM2.5濃度值提供便利。技術(shù)可行性分析以STM32F103C8T6單片機(jī)和分貝采集傳感器、粉塵采集傳感器為核心設(shè)計(jì)出的噪音監(jiān)測(cè)系統(tǒng)能夠嚴(yán)格控制系統(tǒng)的體積大小,模塊價(jià)格,以及單片機(jī)的耗能和穩(wěn)定性,使用傳感器來(lái)實(shí)現(xiàn)對(duì)環(huán)境的噪音和粉塵濃度檢測(cè),邏輯電路簡(jiǎn)單易懂,編程難度也不算高,還能夠依照實(shí)際的使用情況對(duì)系統(tǒng)的部分功能做出改進(jìn),如加入溫濕度檢測(cè)模塊等。綜上敘述再結(jié)合現(xiàn)實(shí)中已經(jīng)實(shí)現(xiàn)過(guò)的案例系統(tǒng)可知,本次設(shè)計(jì)方案以STM32F103C8T6和分貝采集傳感器、粉塵采集傳感器為核心設(shè)計(jì)出噪音監(jiān)測(cè)系統(tǒng)是可行的。

系統(tǒng)總體設(shè)計(jì)及硬件實(shí)現(xiàn)系統(tǒng)總體設(shè)計(jì)經(jīng)過(guò)前面系統(tǒng)分析,初步確定系統(tǒng)需要實(shí)現(xiàn)噪音和PM2.5監(jiān)測(cè)功能以及PM2.5超值報(bào)警功能,系統(tǒng)組成分為硬件和軟件部分,構(gòu)成如下:1、硬件部分STM32F103C8T6單片機(jī)分貝采集傳感器GP2Y1010AU0F粉塵傳感器MLT-BT054.0藍(lán)牙模塊和串口2、軟件部分STM32的初始化;數(shù)據(jù)的采集、發(fā)送、接收;LCD顯示;客戶端APP顯示等。系統(tǒng)總體組成如圖3-1所示,其中傳感器和STM32通過(guò)GPIO口通信并將數(shù)據(jù)輸出到LCD1602中顯示出來(lái),從而實(shí)現(xiàn)實(shí)時(shí)監(jiān)測(cè)當(dāng)前環(huán)境中噪音值、環(huán)境PM2.5濃度值;也可以通過(guò)藍(lán)牙MLT-BT054.0與單片中的串口相接,從而實(shí)現(xiàn)與手機(jī)藍(lán)牙通信,實(shí)現(xiàn)數(shù)據(jù)實(shí)時(shí)同步;用戶可以手動(dòng)設(shè)置報(bào)警閥值,當(dāng)環(huán)境PM2.5濃度值超過(guò)閥值時(shí)蜂鳴器產(chǎn)生警報(bào)。藍(lán)牙分貝采集傳感器藍(lán)牙分貝采集傳感器數(shù)據(jù)GPIOLCD顯示屏手機(jī)客戶端STM32單片機(jī)數(shù)據(jù)GPIOLCD顯示屏手機(jī)客戶端STM32單片機(jī)粉塵粉塵傳感器GPIOGPIO圖3-1系統(tǒng)總體組成框圖系統(tǒng)硬件實(shí)現(xiàn)硬件部份包含功能模塊分別是:STM32單片機(jī)、LM386分貝測(cè)量傳感器、GP2Y1010AU0F粉塵傳感器、1286LCD顯示器、蜂鳴器、無(wú)線藍(lán)牙收發(fā)器。將各個(gè)硬件模塊線連成整一個(gè)硬件設(shè)計(jì)部分。STM32單片機(jī)模塊STM32單片機(jī)是由美國(guó)意發(fā)半導(dǎo)體公司研發(fā)的基于ARMCortex?-M處理器的微控制器芯片,它的功能比傳統(tǒng)8位單片機(jī)更加完善和穩(wěn)定,不僅可以使用寄存器進(jìn)行編程,還可以使用官方提供的庫(kù)文件進(jìn)行編程,集高性能、實(shí)時(shí)功能、數(shù)字信號(hào)處理、低功耗與低電壓操作等特性于一身,同時(shí)還保持了集成度高和易于開(kāi)發(fā)的特點(diǎn)。百度百科[z].\t"C:/Users/Administrator/Desktop/%E3%80%8A%E5%9F%BA%E4%BA%8ESTM32%E7%9A%84%E6%99%BA%E8%83%BD%E5%99%AA%E9%9F%B3%E7%9B%91%E6%B5%8B%E7%B3%BB%E7%BB%9F%E3%80%8BPaperTime%E6%96%87%E6%A1%A3%E6%A3%80%E6%B5%8B%E6%8A%A5%E5%91%8A/htmls/sentence_detail/_blank"/article/585701.html本課題的主控芯片使用到的STM32F103C8T6微控制器就是一款典型的STM32單片機(jī),它采用了Cortex-M3內(nèi)核,使用的RISC精簡(jiǎn)指令集擁有更高的代碼運(yùn)行效率和更大的Flash,CPU最高速度可達(dá)72MHz,且可兼容市面上所有的ARM工具和軟件。主控模塊跟其他模塊的接線電路如下所示:圖3-2主控芯片電路圖聲音監(jiān)測(cè)模塊聲音監(jiān)測(cè)模塊采用了LM386聲音傳感器,用于周?chē)h(huán)境聲音進(jìn)行采集,它是一種音頻集成功率放大器,可以對(duì)采集到的微小聲音進(jìn)行集成放大且功耗低。聲音采集傳感器的引腳3與單片機(jī)P30引腳(數(shù)據(jù)接收RX)、引腳2與P31引腳(數(shù)據(jù)發(fā)送TX)相連,解調(diào)后的音頻信號(hào)經(jīng)濾波后進(jìn)入LM386的引腳3,經(jīng)過(guò)偏置電路再進(jìn)入AD轉(zhuǎn)換電路轉(zhuǎn)換后將模擬量顯示在LCD屏上。圖3-3分貝測(cè)量模塊電路圖PM2.5監(jiān)測(cè)模塊PM2.5監(jiān)測(cè)模塊使用的是型號(hào)為GP2Y1010AU0F的粉塵傳感器,用于檢測(cè)周?chē)h(huán)境粉塵濃度值,中間有小孔可讓空氣自由流過(guò),紅外光發(fā)射二極管和光電晶體管斜置于其內(nèi)部,通過(guò)檢測(cè)經(jīng)過(guò)空氣中灰塵折射過(guò)后的光線來(lái)判斷灰塵的含量。圖3-4粉塵傳感器實(shí)物圖該模塊電源正極接單片機(jī)P20引腳端口,負(fù)極接地,驅(qū)使傳感器紅外二極管及LED開(kāi)始工作。P20端口是輸出端,用于檢測(cè)粉塵濃度電壓模擬量,LED端是輸入端,用于串行數(shù)據(jù)輸入,從輸出電壓模擬量的大小來(lái)判定環(huán)境的PM2.5濃度值。圖3-5粉塵傳感器電路圖藍(lán)牙通信模塊為了使單片機(jī)硬件與手機(jī)APP客戶端之間進(jìn)行通信,藍(lán)牙模塊采用了MLT-BT054.0芯片,它可支持與蘋(píng)果程序端或安卓程序端通信或主從一體。用戶可以通過(guò)串口和藍(lán)牙芯片進(jìn)行通信,串口使用TX,RX兩根信號(hào)線對(duì)接入單片機(jī)P21(串行輸入口)、P22(串行輸出口)接口。圖3-6藍(lán)牙模塊電路圖在單片機(jī)引腳中:SIMRX(ReceiveData)是P21,SIMTX(TransmitData)是P22。藍(lán)牙串口協(xié)議中:RXD引腳為接收數(shù)據(jù),TXD引腳為發(fā)送數(shù)據(jù)。所以用用藍(lán)牙端的數(shù)據(jù)輸出,輸出到單片機(jī)的數(shù)據(jù)接收處,反之亦然來(lái)完成藍(lán)牙端口跟單片機(jī)端之間的直接數(shù)據(jù)傳輸。液晶顯示屏模塊圖3-7LCD液晶顯示屏模塊電路圖本次設(shè)計(jì)采用的是點(diǎn)陣式圖形液晶顯示屏12864LCD,它主要由行或列驅(qū)動(dòng)器及128×64?全點(diǎn)陣液晶顯示器組成。使用通信模式為串行通信,與單片機(jī)P5-9,P12-15引腳相連,可完成圖形顯示,也可通過(guò)模塊內(nèi)部的RAM提供64×16的顯示空間,顯示4行8字(32個(gè)漢字)或64個(gè)ASCII碼字符。ADC0832模數(shù)轉(zhuǎn)換模塊模擬信號(hào)只有轉(zhuǎn)化為數(shù)字信號(hào)后才能使用軟件進(jìn)行處理,而信號(hào)的轉(zhuǎn)化得借助轉(zhuǎn)換器來(lái)實(shí)現(xiàn),本設(shè)計(jì)所使用的轉(zhuǎn)換器為ADC0832,CS端為輸入端,未工作時(shí)處于高電平狀態(tài),時(shí)鐘信號(hào)(CLK)和數(shù)字地/數(shù)字信號(hào)輸出(DI/O)可任意電平,當(dāng)配置位的2位數(shù)據(jù)為1、0時(shí),CH0進(jìn)行單通道轉(zhuǎn)換。ADC0832與單片機(jī)的接口分別是CS、CLK、DO、DI。由于DO與DI端與單片機(jī)的接口是雙向的,在通信時(shí)不能同時(shí)有效,所以將DO和DI可并聯(lián)在一根數(shù)據(jù)線上使用,即電路圖中整合為DI/O接口。圖3-8ADC0832電路圖硬件實(shí)現(xiàn)效果經(jīng)過(guò)努力,最終硬件實(shí)現(xiàn)效果如下所示:圖3-9硬件實(shí)現(xiàn)效果圖

系統(tǒng)軟件設(shè)計(jì)與實(shí)現(xiàn)開(kāi)發(fā)工具的介紹KeiluVision4單片機(jī)開(kāi)發(fā)工具KeilC51開(kāi)發(fā)工具旨在解決嵌入式軟件開(kāi)發(fā)商面臨的復(fù)雜問(wèn)題,它提供了包括標(biāo)準(zhǔn)的C編譯器、宏匯編器、調(diào)試器、鏈接器、存儲(chǔ)器和一個(gè)功能強(qiáng)大的仿真器等在內(nèi)的完整開(kāi)發(fā)方案,通過(guò)一個(gè)集成開(kāi)發(fā)環(huán)境(μVisionIDE)將這些部分組合在一起。百度百科[z].\t"C:/Users/Administrator/Desktop/%E3%80%8A%E5%9F%BA%E4%BA%8ESTM32%E7%9A%84%E6%99%BA%E8%83%BD%E5%99%AA%E9%9F%B3%E7%9B%91%E6%B5%8B%E7%B3%BB%E7%BB%9F%E3%80%8BPaperTime%E6%96%87%E6%A1%A3%E6%A3%80%E6%B5%8B%E6%8A%A5%E5%91%8A/htmls/sentence_detail/_blank"/item/keil/4082184?ivk_sa=1本設(shè)計(jì)采用KeilμVision4C語(yǔ)言軟件開(kāi)發(fā)系統(tǒng),可使用多個(gè)窗口進(jìn)行代碼編程,使得代碼環(huán)境視覺(jué)上整潔,運(yùn)行上也更為高效,具有的RealViewMDK集成開(kāi)發(fā)環(huán)境,使得編譯器、調(diào)試工具與ARM完美匹配。AndroidStudio開(kāi)發(fā)工具Android從面世以來(lái)已經(jīng)發(fā)布了二十幾個(gè)版本,Android系統(tǒng)的蓬勃發(fā)展,離不開(kāi)手機(jī)廠商、開(kāi)發(fā)者、用戶,其中,開(kāi)發(fā)者扮演著不可或缺的角色,AndroidStudio則是他們用來(lái)進(jìn)行軟件開(kāi)發(fā)的工具。它是一個(gè)Android集成開(kāi)發(fā)工具EclipseADT,提供了集成的開(kāi)發(fā)工具用于開(kāi)發(fā)和調(diào)試。在Java語(yǔ)言集成環(huán)境(IDEA)的基礎(chǔ)上,它具備的功能有:支持基于Gradle的構(gòu)建;重構(gòu)和快速修復(fù);支持ProGuard和應(yīng)用簽名;可基于模板來(lái)生成Android應(yīng)用設(shè)計(jì)和組件;以及可以對(duì)UI控件進(jìn)行操作和效果預(yù)覽的布局編輯器。軟件設(shè)計(jì)總體思路以STM32單片機(jī)開(kāi)發(fā)板為控制核心,通過(guò)函數(shù)初始化,包括串口,引腳等的初始化,傳感器函數(shù)的編寫(xiě)來(lái)實(shí)現(xiàn)應(yīng)該呈現(xiàn)的功能,包括模數(shù)轉(zhuǎn)換子程序、IIC串口總線子程序、PM檢測(cè)子程序、噪音檢測(cè)子程序、LCD顯示子程序、警報(bào)子程序等。單片機(jī)端:實(shí)現(xiàn)串口收發(fā)功能噪音值經(jīng)過(guò)AD轉(zhuǎn)換由程序輸出分貝值功能PM2.5濃度檢測(cè)功能LCD顯示屏顯示功能APP端:接收單片機(jī)傳送的數(shù)據(jù)功能粉塵濃度檢測(cè)閾值可調(diào)功能硬件控制代碼設(shè)計(jì)Main主控函數(shù)Main主控函數(shù)主要完成以下功能:完成定時(shí)器、計(jì)數(shù)器、中斷系統(tǒng)、串口以及按鍵的初始化,對(duì)功能實(shí)現(xiàn)所需要使用到的函數(shù)進(jìn)行配置調(diào)用,包括:LCD顯示、粉塵傳感器初始化和報(bào)警、聲音傳感器讀取數(shù)據(jù),并循環(huán)工作和顯示子程序所得數(shù)據(jù)。主函數(shù)代碼如下:#include"head.h"floatg_MeasureDitan=0.0;intmain(void){ NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//配置中斷向量表 delay_init(); Key_GPIO_Config(); LED_GPIO_Config(); USART1_Config(); USART3_Config(); AppInitKey();GPIO_Configuration_12864LCD(); Initial_LCD_ST7684(); TIM4_Configuration(); InitGP2Y1010AU0F(); StartBeep(); ReadInitPassDatae();g_MsgPage=1; while(1){DisplayWindow(); delay_ms(10);}}AD轉(zhuǎn)換模塊ADC0832共有18個(gè)通道,可測(cè)量16個(gè)外部和2個(gè)內(nèi)部信號(hào)源,各通道的A/D轉(zhuǎn)換的模式執(zhí)行可以是單次、連續(xù)、掃描或間斷,模式執(zhí)行結(jié)果可以左、右對(duì)齊方式存儲(chǔ)在16位數(shù)據(jù)寄存器中。噪聲的采集采用聲音傳感器LM386,它是一種音頻集成功率放大器,輸出的是模擬信號(hào),同樣粉塵傳感器輸出也是模擬信號(hào),因此需要使用轉(zhuǎn)換電路將模擬信號(hào)轉(zhuǎn)換為數(shù)字信號(hào),即使用A/D模數(shù)轉(zhuǎn)換器。聲音傳感器將環(huán)境中的信號(hào)采集后,經(jīng)過(guò)放大電路,收集到的微小的噪音信號(hào)值放大,粉塵傳感器則是將采集到的空氣中灰塵經(jīng)過(guò)折射光線計(jì)算出模擬量值,兩者再通過(guò)ADC0832轉(zhuǎn)換電路,對(duì)信號(hào)進(jìn)行放大、量化,再通過(guò)單片機(jī)的內(nèi)部程序?qū)⒌玫降姆重愔岛涂諝釶M2.5濃度值輸出到LCD液晶顯示屏。輸入通道控制字輸入通道控制字產(chǎn)生時(shí)鐘信號(hào)開(kāi)始使能芯片讀取2字節(jié)數(shù)據(jù)字節(jié)數(shù)據(jù)校驗(yàn)將值傳入指定寄存器結(jié)束圖4-1ADC0832數(shù)據(jù)讀取程序流程圖其中A/D轉(zhuǎn)換電路通道選擇代碼實(shí)現(xiàn)如下://ADC0832讀取函數(shù)讀取ADC0832轉(zhuǎn)換值函數(shù)//入口函數(shù):channel選擇通道ucharADC0832_Read(ucharchannel){ uchari=0; uchartmp=0; //高字節(jié)數(shù)據(jù) uchartmp1=0; //低字節(jié)數(shù)據(jù) //開(kāi)始標(biāo)志位 ADC0832_DODI=1; _nop_();_nop_(); ADC0832_CS=0; //片選信號(hào) ADC0832_CLK=1; _nop_();_nop_(); ADC0832_CLK=0; _nop_();_nop_(); //選擇通道 switch(channel) { case0: //通道0 ADC0832_DODI=1; //SGL=1; _nop_();_nop_(); ADC0832_CLK=1; _nop_();_nop_(); ADC0832_CLK=0; _nop_();_nop_(); ADC0832_DODI=0; //ODD=0; _nop_();_nop_(); ADC0832_CLK=1; _nop_();_nop_(); ADC0832_CLK=0; _nop_();_nop_(); break; case1: //通道1 ADC0832_DODI=1; //SGL=1; _nop_();_nop_(); ADC0832_CLK=1; _nop_();_nop_(); ADC0832_CLK=0; _nop_();_nop_(); ADC0832_DODI=1; //ODD=1; _nop_();_nop_(); ADC0832_CLK=1; _nop_();_nop_(); ADC0832_CLK=0; _nop_();_nop_(); break; default: break; }分貝采集傳感器模塊分貝采集的流程大致分為5步:獲取聲音的數(shù)據(jù),通過(guò)MIC(麥克風(fēng))檢測(cè)電壓,對(duì)輸出電平進(jìn)行放大后經(jīng)過(guò)AD采樣和量化得到聲音的波形數(shù)據(jù),為時(shí)域離散信號(hào)。進(jìn)行時(shí)域變換,使用頻譜,把時(shí)域信號(hào)轉(zhuǎn)換為頻域信號(hào),可使用FFT/DFT算法。分貝計(jì)算,聲音分貝值是由各個(gè)頻率分量的聲音分量組成的,通過(guò)劃分倍頻程把頻域信號(hào)絕對(duì)量轉(zhuǎn)換為相對(duì)量(db)。計(jì)算dba,引用A聲級(jí)計(jì)量聲壓,讓測(cè)量得到的分貝值值更符合人體主觀感覺(jué)。因?yàn)槿硕鷮?duì)不同頻率的聲音的敏感度不同,如當(dāng)聲音的分貝值相同時(shí),3kHz比300Hz聽(tīng)起來(lái)更響亮一些。顯示噪音值,把經(jīng)過(guò)聲級(jí)處理后得到的噪音值通過(guò)程序在液晶顯示屏顯示出來(lái)。頻域信號(hào)頻域信號(hào)分貝計(jì)算波形數(shù)據(jù)聲音AD采樣和量化頻譜處理計(jì)算出的分貝值噪音值A(chǔ)率加權(quán)后計(jì)算dbaA級(jí)計(jì)權(quán)下噪音分貝值圖4-2分貝采集傳感器采集流程圖AD信號(hào)的采集在定時(shí)器中斷中進(jìn)行,每采集100次取一次平均值,通過(guò)調(diào)用已經(jīng)寫(xiě)好的顯示函數(shù)顯示在LCD顯示屏中,顯示的噪音值為全局變量,當(dāng)每次采集并取平均值后,噪音值會(huì)被重新更新并顯示出來(lái)。主要控制代碼實(shí)現(xiàn)如下://計(jì)算分貝值voiddb_count(){ ad=ad/100; //采集100次ad值后計(jì)算平均值,均值濾波 V=VCC*ad/255.0; //計(jì)算所測(cè)電壓,V/ad=VCC/255 low_V=(low_V+V)/2; //與上一次測(cè)量電壓值求平均值 low_V=V; //記錄分貝電壓值 db=35+V/4.0; //根據(jù)電壓對(duì)應(yīng)計(jì)算分貝值}voidmain(){ uinti=0; if(key_jian==0) { delayms(100); if(key_jian==0) AT24C02_write_date(0,120);//存儲(chǔ)分貝值限值 } db_up=AT24C02_read_date(0); LCD_init(); while(1) { scan(); if(set_f==0) { i++; ad+=ADC0832_read(0);//讀取AD值,并累加記錄到ad上 if(i>=100) { i=0; db_count(); display(); ad=0; } delay_n40us(80); } else display2(); }}粉塵傳感器模塊圖4-3粉塵傳感器內(nèi)部原理圖從原理圖可以看到,粉塵和煙霧粒子從圓孔進(jìn)入,通過(guò)空氣傳導(dǎo)設(shè)備使進(jìn)入圓孔的空氣流通,紅外發(fā)光二極管和光電晶體管斜置傳感器內(nèi)部,發(fā)光二極管發(fā)射光線,晶體管接受二極管發(fā)射出來(lái)的光,引起電壓的變化,電壓的變化經(jīng)過(guò)放大電路進(jìn)行放大處理,通過(guò)A/D數(shù)模轉(zhuǎn)換電路將模擬量轉(zhuǎn)換成數(shù)字量,再通過(guò)單片機(jī)內(nèi)部程序使得LCD屏幕顯示檢測(cè)到的空氣粉塵濃度值。模塊主要涉及三個(gè)函數(shù):傳感器初始化函數(shù)、濃度值計(jì)算函數(shù)、取均值函數(shù)。傳感器初始化函數(shù):使用串行通信,對(duì)紅外二極管進(jìn)行配置,GP2Y_Low打開(kāi)紅外開(kāi)關(guān),以及調(diào)用配置好的ADC初始化函數(shù)。濃度值計(jì)算函數(shù):通過(guò)ADC函數(shù)采集到的電壓值經(jīng)過(guò)計(jì)算得到粉塵濃度值g_GP2yNumber。取均值函數(shù):由于采樣點(diǎn)只有圓孔內(nèi)部一處,為了使計(jì)算出的濃度值產(chǎn)生的誤差較小,對(duì)該采樣點(diǎn)進(jìn)行多次采集再取均值,即計(jì)算循環(huán)times次后得到的濃度值的均值g_GP2yNumber=pm_val/times。粉塵傳感器相關(guān)控制函數(shù)如下:voidInitGP2Y1010AU0F(void)//傳感器初始化{ GPIO_InitTypeDefGPIO_InitStructure; RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE); //GPIOA時(shí)鐘 GPIO_InitStructure.GPIO_Pin=GPIO_Pin_0; //PA1--二極管控制 GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP; GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz; GPIO_Init(GPIOB,&GPIO_InitStructure); GPIO_SetBits(GPIOB,GPIO_Pin_0); GP2Y_Low; ADC_Configuration(); }floatTestGP2Y1010AU0F(void){ uint16_tAD_PM; floatpm; GP2Y_High;//關(guān)閉紅外二極管 delay_us(280); AD_PM=Get_Adc();//采樣,讀取AD值 delay_us(40); GP2Y_Low;//打開(kāi) delay_us(9680); pm=0.17*AD_PM-0.1; g_GP2yNumber=pm-50; returng_GP2yNumber;}voidGet_GP2Y_Average(u8times){uint32_tpm_val=0;uint8_tt; for(t=0;t<times;t++){pm_val+=TestGP2Y1010AU0F();delay_ms(5);}g_GP2yNumber=pm_val/times;}蜂鳴器模塊蜂鳴器模塊與STM32103單片機(jī)的P19引腳和蜂鳴器的b級(jí)相接,用于報(bào)警處理。當(dāng)P19輸出1蜂鳴器不工作,P19輸出0時(shí)蜂鳴器開(kāi)始工作。即當(dāng)采集到環(huán)境PM2.5濃度值大于設(shè)置好的值時(shí),蜂鳴器報(bào)警,單片機(jī)采用三極管來(lái)放大電流驅(qū)動(dòng)蜂鳴器工作,是因?yàn)榉澍Q器工作電流較大,I/O口無(wú)法直接驅(qū)動(dòng)。圖4-4蜂鳴器模塊電路圖蜂鳴器控制代碼如下。當(dāng)采集到環(huán)境PM2.5濃度值大于預(yù)設(shè)值的時(shí)候就會(huì)調(diào)用該函數(shù)啟動(dòng)蜂鳴器發(fā)聲。voidBeep(){ if(g_GP2yNumber<=AD_PM) beep1=1; elsebeep1=0;}客戶端APP設(shè)計(jì)客戶端APP總體設(shè)計(jì)思路設(shè)計(jì)開(kāi)發(fā)工具:(1)androidstudio開(kāi)發(fā)軟件 (2)計(jì)算機(jī) (3)安卓手機(jī)按照總體設(shè)計(jì)思路,客戶端APP需要實(shí)現(xiàn)一個(gè)簡(jiǎn)單的藍(lán)牙數(shù)據(jù)接收客戶端,藍(lán)牙設(shè)備的啟用以及其搜索功能均要開(kāi)啟,為軟件接受外界信號(hào)作一個(gè)必要準(zhǔn)備。在系統(tǒng)內(nèi)設(shè)計(jì)一個(gè)簡(jiǎn)單的數(shù)據(jù)顯示功能,將在單片機(jī)上得到的數(shù)據(jù),通過(guò)藍(lán)牙通信傳輸數(shù)據(jù)到手機(jī)APP端并顯示出來(lái),可設(shè)置單片機(jī)上PM2.5濃度閾值同步。具體可分為以下幾部分:1.硬件物理訪問(wèn)地址顯示與單片機(jī)上藍(lán)牙模塊連接的MAC地址。2.噪音值顯示當(dāng)前程序發(fā)送過(guò)來(lái)的噪音值數(shù)據(jù)。3.PM2.5值顯示當(dāng)前程序發(fā)送過(guò)來(lái)的PM2.5數(shù)據(jù)。設(shè)置上限值系統(tǒng)設(shè)置上限值為80ug/m3,可手動(dòng)修改,單片機(jī)掉電保存。邏輯流程圖4-5手機(jī)端軟件邏輯流程圖數(shù)據(jù)接收并顯示程序先檢測(cè)設(shè)備是否支持藍(lán)牙,支持后檢查藍(lán)牙是否開(kāi)啟,當(dāng)用戶沒(méi)有開(kāi)啟藍(lán)牙時(shí)提示用戶是否開(kāi)啟藍(lán)牙,開(kāi)啟藍(lán)牙后對(duì)設(shè)備進(jìn)行掃描,以連接到所需單片機(jī)上的藍(lán)牙,掃描有周期限制,到達(dá)時(shí)間后不管是否掃除新設(shè)備都停止掃描,添加初始參數(shù)unknow-device,自動(dòng)獲取設(shè)備地址,但無(wú)法連接設(shè)備,用戶設(shè)置設(shè)備為R.id.device_name,通過(guò)掃描得到,MAC地址即單片機(jī)藍(lán)牙的數(shù)據(jù)鏈路地址。設(shè)置藍(lán)牙初始配置代碼如下:檢查是否支持藍(lán)牙設(shè)備,并咨詢用戶是否打開(kāi)藍(lán)牙//檢查來(lái)確定設(shè)備上是否支持BLUEif(!getPackageManager().hasSystemFeature(PackageManager.FEATURE_BLUETOOTH_LE)){Toast.makeText(this,R.string.ble_not_supported,Toast.LENGTH_SHORT).show();finish();}//藍(lán)牙適配器通過(guò)藍(lán)牙管理器初始化finalBluetoothManagerbluetoothManager=(BluetoothManager)getSystemService(Context.BLUETOOTH_SERVICE);mBluetoothAdapter=bluetoothManager.getAdapter();if(mBluetoothAdapter==null){Toast.makeText(this,R.string.error_bluetooth_not_supported,Toast.LENGTH_SHORT).show();finish();return;}if(!mBluetoothAdapter.isEnabled()){IntentmIntent=newIntent(BluetoothAdapter.ACTION_REQUEST_ENABLE);startActivityForResult(mIntent,1);//通過(guò)startActivityForResult()方法發(fā)起的Intent將會(huì)在onActivityResult()回調(diào)方法中獲取用戶的選擇,開(kāi)啟,收到RESULT_OK,拒絕,則RESULT_CANCELED}設(shè)備掃描,檢測(cè)創(chuàng)建的用戶mLeScanCallback是否被掃描出來(lái),掃描結(jié)果為false,周期掃描后停止,為true,調(diào)用方法打開(kāi)菜單。privatevoidscanLeDevice(finalbooleanenable){if(enable){//在預(yù)先定義的掃描周期后停止掃描mHandler.postDelayed(newRunnable(){@Overridepublicvoidrun(){mScanning=false;mBluetoothAdapter.stopLeScan(mLeScanCallback);invalidateOptionsMenu();}},SCAN_PERIOD);mScanning=true;mBluetoothAdapter.startLeScan(mLeScanCallback);}else{mScanning=false;mBluetoothAdapter.stopLeScan(mLeScanCallback);}invalidateOptionsMenu();}獲取藍(lán)牙傳輸過(guò)來(lái)的設(shè)備參數(shù),使用getView()方法,傳入一個(gè)convertView的參數(shù),返回的TextView就是單片機(jī)中藍(lán)牙的數(shù)據(jù),以及設(shè)備初始參數(shù)unknow-device配置。classDeviceListAdapterextendsBaseAdapter{

@Override//獲取實(shí)例,單片機(jī)藍(lán)牙傳輸

publicViewgetView(intposition,ViewconvertView,ViewGroupparent){

if(convertView==null){

convertView=LayoutInflater.from(DeviceScanActivity.this).inflate(

R.layout.listitem_device,null);

viewHolder=newViewHolder();

viewHolder.tv_devName=(TextView)convertView

.findViewById(R.id.device_name);

viewHolder.tv_devAddress=(TextView)convertView

.findViewById(R.id.device_address);

convertView.setTag(viewHolder);

}else{

convertView.getTag();

}//添加初始參數(shù)

BluetoothDevicedevice=mBleArray.get(position);

StringdevName=device.getName();

if(devName!=null&&devName.length()>0){

viewHolder.tv_devName.setText(devName);

}else{

viewHolder.tv_devName.setText("unknow-device");

}

viewHolder.tv_devAddress.setText(device.getAddress());

returnconvertView;

}

}系統(tǒng)實(shí)現(xiàn)效果打開(kāi)手機(jī)APP,打開(kāi)藍(lán)牙搜索功能,搜索并且連接上單片機(jī)。圖4-6手機(jī)APP連接單片

溫馨提示

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

評(píng)論

0/150

提交評(píng)論