基于STM32平臺(tái)的戶外環(huán)境監(jiān)測(cè)系統(tǒng)設(shè)計(jì)_第1頁(yè)
基于STM32平臺(tái)的戶外環(huán)境監(jiān)測(cè)系統(tǒng)設(shè)計(jì)_第2頁(yè)
基于STM32平臺(tái)的戶外環(huán)境監(jiān)測(cè)系統(tǒng)設(shè)計(jì)_第3頁(yè)
基于STM32平臺(tái)的戶外環(huán)境監(jiān)測(cè)系統(tǒng)設(shè)計(jì)_第4頁(yè)
基于STM32平臺(tái)的戶外環(huán)境監(jiān)測(cè)系統(tǒng)設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩40頁(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)介

第一章緒論1.1研究目的及意義隨著電子技術(shù)的迅猛發(fā)展,環(huán)境監(jiān)測(cè)的方法也不斷改進(jìn),尤其是以計(jì)算機(jī)系統(tǒng)為基礎(chǔ)的環(huán)境監(jiān)測(cè)手段更加方便、快捷,廣泛適用于農(nóng)業(yè)溫室控制和日常家庭生活等。隨著社會(huì)的不斷發(fā)展,人們對(duì)農(nóng)產(chǎn)品的需求越來(lái)越高,傳統(tǒng)能也生產(chǎn)方式已經(jīng)遠(yuǎn)不能滿足社會(huì)的需要,而隨之誕生的現(xiàn)代農(nóng)業(yè)技術(shù)愈來(lái)愈受到人們的青睞,溫室大棚就是其中一種.我們知道,農(nóng)作物的生長(zhǎng)受到光照、溫度、濕度和壓強(qiáng)等多重因素的共同作用,而溫室可以借助計(jì)算機(jī)系統(tǒng)模擬植物生長(zhǎng)的氣候條件,提供最佳的生長(zhǎng)環(huán)境以避免因外界惡劣氣候等不利因素的影響,進(jìn)而提高農(nóng)作物的產(chǎn)量.此外,室內(nèi)空氣質(zhì)量對(duì)人們的日常生活也產(chǎn)生了重要影響,適宜的溫濕度能給人舒適感,而有害氣體的散發(fā)卻嚴(yán)重?fù)p害人體健康。因此,如何控制室內(nèi)溫度、濕度、氣壓等影響空氣質(zhì)量的因素顯得至關(guān)重要。而傳感器技術(shù)的發(fā)展為我們解決這個(gè)問(wèn)題找到了突破口,我們可以運(yùn)用單片機(jī)配合傳感器實(shí)時(shí)采集環(huán)境數(shù)據(jù)并進(jìn)行處理實(shí)現(xiàn)自動(dòng)控制。隨著無(wú)線技術(shù)的不斷發(fā)展,人們生活水平的不斷提高,國(guó)內(nèi)市場(chǎng)“物聯(lián)網(wǎng)”領(lǐng)域多種多樣,而環(huán)境問(wèn)題顯得尤為重要。無(wú)論是在舒適的環(huán)境下工作、娛樂(lè),亦或是在農(nóng)場(chǎng)、林場(chǎng)、花苑、生態(tài)植被等環(huán)境下試驗(yàn)、評(píng)估,大多數(shù)還是通過(guò)人工來(lái)監(jiān)測(cè)環(huán)境各項(xiàng)參數(shù),也有部分是通過(guò)智能化檢測(cè)和控制。但實(shí)際應(yīng)用并不理想,由于受到無(wú)線傳輸距離的限制,對(duì)于空氣溫濕度、氣體濃度、土壤溫濕度、光照等參數(shù),大多數(shù)都是在較小的范圍內(nèi)進(jìn)行測(cè)量,并且在數(shù)據(jù)采集時(shí)效性、穩(wěn)定性上表現(xiàn)較差,無(wú)法通過(guò)便捷的操作來(lái)觀測(cè)、調(diào)控各類敏感參數(shù)。1.2國(guó)內(nèi)外研究現(xiàn)狀1、國(guó)內(nèi)外現(xiàn)狀國(guó)外對(duì)于環(huán)境監(jiān)測(cè)技術(shù)的研究較早,就溫室控制而言,始于20世紀(jì)70年代.從組合儀表,采集、記錄、控制待監(jiān)測(cè)地信息到80年代末的分布式控制系統(tǒng)再到目前正在研發(fā)當(dāng)中的基于計(jì)算機(jī)的數(shù)據(jù)采集的綜合控制系統(tǒng)。歷經(jīng)四十多年的發(fā)展,環(huán)境監(jiān)測(cè)測(cè)控制技術(shù)日新月異,研制自動(dòng)化、微型化、無(wú)人化的智能監(jiān)測(cè)控制系統(tǒng)成為各國(guó)追求的目標(biāo)。在日本,憑借其先進(jìn)的計(jì)算機(jī)技術(shù),將各種植物生長(zhǎng)發(fā)育不同階段所需要的環(huán)境因素編寫成計(jì)算機(jī)程序,對(duì)溫室環(huán)境因素進(jìn)行相應(yīng)的調(diào)節(jié),當(dāng)某一因素發(fā)生變化時(shí)(如光照),在計(jì)算機(jī)的控制之下其他因素(如濕度、溫度、CO2濃度等)隨之作出適當(dāng)?shù)男拚蛘{(diào)整,始終保持各個(gè)環(huán)境因素為最佳配合狀態(tài),另外,為實(shí)現(xiàn)播種、澆灌、噴藥等作業(yè)的自動(dòng)化,日本還研制了蔬菜塑料大棚。在荷蘭,花卉生產(chǎn)技術(shù)非常先進(jìn),借助計(jì)算機(jī)系統(tǒng)對(duì)玻璃溫室進(jìn)行精確控制。由英國(guó)倫敦大學(xué)農(nóng)學(xué)院發(fā)明的溫室計(jì)算機(jī)遙控技術(shù)實(shí)現(xiàn)了遠(yuǎn)程監(jiān)控和控制,可以監(jiān)測(cè)和遙控50km以外溫室的溫度、濕度、光照和CO2濃度等影響作物生長(zhǎng)的環(huán)境因素。在蔬菜、花卉等農(nóng)作物的生長(zhǎng)和發(fā)育階段,美國(guó)和荷蘭還利用差溫管理技術(shù)對(duì)其進(jìn)行控制,生產(chǎn)出了適合社會(huì)需求的產(chǎn)品。韓國(guó)在溫室安裝的自動(dòng)控制裝置可以控制溫室的光照等環(huán)境因子,但其表現(xiàn)并不盡如人意,人們往往需要依據(jù)經(jīng)驗(yàn)才能實(shí)現(xiàn)控制。在現(xiàn)代科技農(nóng)業(yè)的發(fā)展過(guò)程中,以色列走在了世界的前列,它擁有一體化智能溫室控制系統(tǒng),配套監(jiān)控系統(tǒng)軟件平臺(tái)及其他先進(jìn)設(shè)備,使其有限的農(nóng)業(yè)資源得到充分發(fā)揮。當(dāng)前,節(jié)約能源、降低成本成為國(guó)外發(fā)展溫室控制的重要目標(biāo),對(duì)設(shè)備的自動(dòng)化提出更高要求,控制因子由調(diào)控單因子轉(zhuǎn)向多因素綜合調(diào)控。就室內(nèi)溫室環(huán)境監(jiān)測(cè)而言,在早期人們采用實(shí)驗(yàn)分析室內(nèi)環(huán)境狀況,由于數(shù)據(jù)分析需要一段時(shí)間,所以這種方式實(shí)時(shí)性較差。隨著傳感器技術(shù)和信息處理技術(shù)的發(fā)展,室內(nèi)環(huán)境監(jiān)測(cè)的手段步入了一個(gè)嶄新的時(shí)代,監(jiān)測(cè)系統(tǒng)更加智能化,實(shí)時(shí)性大大提高。2、國(guó)內(nèi)研究現(xiàn)狀及研究方向我國(guó)研究環(huán)境監(jiān)測(cè)系統(tǒng)的起步較晚,就溫室控制技術(shù)而言,始于20世紀(jì)80年代,那時(shí)生產(chǎn)水平不高,技術(shù)設(shè)備比較落后,對(duì)環(huán)境監(jiān)測(cè)的研究能力有限,更多的需要從國(guó)外引進(jìn)相關(guān)設(shè)備,再加上研究經(jīng)費(fèi)太高,對(duì)使用者的素質(zhì)要求較高,因此大規(guī)模推廣使用很難實(shí)現(xiàn)。在吸收、借鑒國(guó)外先進(jìn)技術(shù)的基礎(chǔ)上,我國(guó)研究環(huán)境監(jiān)測(cè)的相關(guān)工程人員逐漸掌握了這種技術(shù)。隨后,從歐美等國(guó)家引進(jìn)的連棟溫室,把原有的獨(dú)立單間溫室,用科學(xué)的手段、合理的設(shè)計(jì)、優(yōu)秀的材料將原有的獨(dú)立單間模式溫室連起來(lái),連棟溫室是溫室的一種升級(jí)存在.在當(dāng)時(shí),工程人員只盲目關(guān)注溫室設(shè)備,對(duì)溫室管理、裁培技術(shù)的挖掘、研究和開發(fā)沒(méi)有給予足夠的重視,再加上設(shè)備能耗高,管理不善,最終導(dǎo)致企業(yè)虧損,甚至倒閉。目前國(guó)內(nèi)現(xiàn)在對(duì)環(huán)境監(jiān)測(cè)還停留在傳統(tǒng)的人工環(huán)境監(jiān)測(cè)方法,幾乎還基于單片機(jī)終端監(jiān)測(cè)很少具有實(shí)時(shí)通信功能。產(chǎn)品的現(xiàn)場(chǎng)安裝受使用環(huán)境所限,環(huán)境應(yīng)用適用性差,測(cè)控手段單一。很難進(jìn)行遠(yuǎn)距離的監(jiān)控和報(bào)警。我國(guó)環(huán)境監(jiān)測(cè)工作是隨著人們對(duì)環(huán)境保護(hù)認(rèn)識(shí)的深化和環(huán)保工作的需要逐步發(fā)展起來(lái)的。有了前車之鑒,“九五”初期,我國(guó)又從以色列進(jìn)口溫室技術(shù)供相關(guān)的工程技術(shù)人員學(xué)習(xí)和使用,并在北京建立示范農(nóng)場(chǎng)。從90年代中后期開始,我國(guó)開始自主研制環(huán)境控制系統(tǒng),鉆研溫室栽培和管理等技術(shù),溫室大棚不僅數(shù)量增加,而且相關(guān)配套設(shè)施和材料的質(zhì)量也有所提升。1995年以后,我國(guó)相繼研發(fā)了溫室環(huán)境計(jì)算機(jī)監(jiān)控系統(tǒng)、工控機(jī)管理系統(tǒng)、智能溫室系統(tǒng)、和蔬菜大棚監(jiān)控系統(tǒng)等一列環(huán)境監(jiān)控系統(tǒng),在溫室控制技術(shù)上,我國(guó)取得了不少成果。1.3主要工作采用意法半導(dǎo)體公司的STM32F103C8T6和樂(lè)鑫科技的ESP8266芯片。并且配合Android客戶端APP可以有效的采集多個(gè)傳感器數(shù)據(jù)和信息分析,并置設(shè)報(bào)響聲的系統(tǒng),數(shù)據(jù)超過(guò)設(shè)定的數(shù)值,就可以利用響聲系統(tǒng)或遠(yuǎn)程提醒操作人員進(jìn)行調(diào)控。該系統(tǒng)綜合了嵌入式處理技術(shù)、傳感器技術(shù)、無(wú)線網(wǎng)絡(luò)通信等技術(shù),可以對(duì)系統(tǒng)的監(jiān)控和控制。研究方法:在離線情況下先進(jìn)行傳感器讀取實(shí)驗(yàn),實(shí)現(xiàn)了所需要數(shù)據(jù)采集和處理,再接入物聯(lián)網(wǎng);采用模擬技術(shù)進(jìn)行程序編制與調(diào)試;研究采用問(wèn)卷法、經(jīng)驗(yàn)總結(jié)法、個(gè)案研究法、比較研究法和文獻(xiàn)法。主要解決的問(wèn)題:學(xué)習(xí)使用STM公司的開發(fā)軟件,比如STM32CUDEMX,STM32IDE。ARMCortex-M3單片機(jī)的學(xué)習(xí),包括基礎(chǔ)外設(shè)和操作系統(tǒng)。ARMMDK軟件的環(huán)境變量配置,編程和仿真的使用。物聯(lián)網(wǎng)協(xié)議,HTTPS,MQTT的使用,GET和POST等。PCB設(shè)計(jì),需要把整個(gè)系統(tǒng)進(jìn)行整合。第二章戶外環(huán)境監(jiān)測(cè)系統(tǒng)整體設(shè)計(jì)方案2.1設(shè)計(jì)任務(wù)使用STM32F103C8T6和樂(lè)鑫科技的ESP8266芯片。連接騰訊云IoT,并且配合Android客戶端可以有效的采集多個(gè)傳感器和信息分析,分析等信息,并置設(shè)報(bào)響聲的系統(tǒng),數(shù)據(jù)超過(guò)設(shè)定的數(shù)值1.檢測(cè)和控制系統(tǒng)方案設(shè)計(jì),主要介紹了系統(tǒng)的設(shè)計(jì)過(guò)程和實(shí)現(xiàn)的主要功能。課題的設(shè)計(jì)要求,先初步設(shè)計(jì)出系統(tǒng)框架,再在功能的基礎(chǔ)上,進(jìn)行下一步的具體設(shè)計(jì)。2.系統(tǒng)硬件電路搭建先介紹了主要芯片的選擇,然后設(shè)計(jì)了系統(tǒng)整體硬件方案并針對(duì)各個(gè)模塊進(jìn)行詳細(xì)介紹,分析各部分的功能及設(shè)計(jì)過(guò)程。最后簡(jiǎn)單介紹了電路PCB版圖設(shè)計(jì)。3.系統(tǒng)硬件驅(qū)動(dòng)程序先介紹了系統(tǒng)整體軟件設(shè)計(jì)。接著介紹了軟件開發(fā)環(huán)境ARM-MDK(KEIL)的配置,在此基礎(chǔ)上,對(duì)主控制器及各個(gè)硬件模塊進(jìn)行驅(qū)動(dòng)設(shè)計(jì)。4.Android應(yīng)用軟件的設(shè)計(jì)先對(duì)Android系統(tǒng)進(jìn)行簡(jiǎn)要介紹,然后敘述了如何搭建Android開發(fā)平臺(tái)。在前兩者的基礎(chǔ)上,對(duì)應(yīng)用程序進(jìn)行設(shè)計(jì)。分兩部分介紹,其一描述了整體設(shè)計(jì)框架,其二具體介紹界面的設(shè)計(jì)和通信的實(shí)現(xiàn)。5.系統(tǒng)測(cè)試結(jié)果這一章對(duì)檢測(cè)和控制系統(tǒng)進(jìn)行測(cè)試,各模塊均正常工作。2.2設(shè)計(jì)思路與方案選擇根據(jù)設(shè)計(jì)要求,將系統(tǒng)分成五大部分,即為控制器、人機(jī)交互、電源、傳感器和物聯(lián)網(wǎng)服務(wù)器。圖2.1系統(tǒng)整體設(shè)計(jì)模塊2.2.1系統(tǒng)控制器選擇方案一:使用專門的物聯(lián)網(wǎng)芯片來(lái)完成。采用專用的物聯(lián)網(wǎng)芯片(Soc)進(jìn)行設(shè)計(jì)和編程。該方法計(jì)算速度快,成本低,是生產(chǎn)廠商最好的選擇。但本人對(duì)物聯(lián)網(wǎng)專用芯片的理解和知識(shí)儲(chǔ)備不足,無(wú)法實(shí)現(xiàn)用該類型的芯片來(lái)設(shè)計(jì),因此該方案無(wú)法實(shí)施。方案二:采用FPGA控制高密度FPGA,1985年,Xilinx公司首次推出了FPGA,其整體密度和性能得到了極大地改善,其總密度為5百萬(wàn)門,性能為200兆赫。高集成度FPGA器件、使用簡(jiǎn)便、快速地研發(fā)和市場(chǎng),因此在數(shù)碼產(chǎn)品、電子產(chǎn)品等方面獲得了廣泛的應(yīng)用。然而,以SRAM為基礎(chǔ)的FPGA,需要將程序的資料儲(chǔ)存在外存儲(chǔ)器中,需要外置內(nèi)存,且使用方式復(fù)雜,保密性較差。而且,FPGA對(duì)于一個(gè)簡(jiǎn)單的物聯(lián)網(wǎng)項(xiàng)目來(lái)說(shuō),實(shí)在是有些大材小用了。方案三:采用單片機(jī)單片機(jī)是微型計(jì)算機(jī)的縮寫,也被稱作微控制器MCU。一般是一塊集成電路,里面含有電腦的主要功能組件:CPU、內(nèi)存、輸入I/0界面。所以,采用微處理器及相關(guān)軟件的開發(fā)、外部裝置的組合,可以組成一個(gè)微型控制器。在智能儀表,測(cè)量與控制技術(shù),智能界面等,易于操作,價(jià)格。在不同的控制系統(tǒng)中得到了廣泛的應(yīng)用。2.2.2人機(jī)交互的設(shè)計(jì)選擇方案一:選擇數(shù)字管作為顯示器。使用數(shù)字管進(jìn)行顯示,具有程序簡(jiǎn)便、對(duì)外部環(huán)境的要求小、顯示效果好等優(yōu)點(diǎn)。但因?yàn)槠鋬H能顯示少量的編碼和數(shù)字,并且驅(qū)動(dòng)電路復(fù)雜,交互性差。種種限制對(duì)日后的擴(kuò)充非常不便,所以在本設(shè)計(jì)中不宜采用數(shù)字管電路。方案二:LCD1602的LCD1602顯示效果好,與MCU的硬件連接電路簡(jiǎn)單,程序命令也很容易理解。但顯示的字符并不多,在打印系統(tǒng)運(yùn)行節(jié)點(diǎn)和數(shù)據(jù)變量多的時(shí)候,特別受限,使用起來(lái)不方便。方案三:選擇LCD12864液晶顯示器,LCD12864顯示效果良好分辨率更高,與單片機(jī)的硬件接口電路相對(duì)簡(jiǎn)單,模塊內(nèi)自帶顯存,有的還帶有中文字庫(kù),可以大大的減少開發(fā)過(guò)程中字模制作,節(jié)省MCU的flash。但體積過(guò)大,重量大,功耗較高,不適合用到小尺寸的設(shè)計(jì)上。方案四:選擇OLED液晶顯示器,OLED顯示效果良好,分辨率更高與單片機(jī)的硬件接口電路簡(jiǎn)單,比如使用IIC接口,只需要一根數(shù)據(jù)線(IIC_SDA)和一根時(shí)鐘線(IIC_SCL)就可以驅(qū)動(dòng),程序命令易于理解??梢燥@示大量的字符,便于擴(kuò)充,而且成本低,功耗低。OLED集諸多優(yōu)點(diǎn)于一身,輕薄短小、精致靈敏、省電等。與LCD顯示屏的對(duì)比高下立判。綜上所述,本次設(shè)計(jì)選擇方案四,用OLED作為顯示模塊。2.2.3系統(tǒng)傳感器選擇傳感器(英文名稱:transducer/sensor)是一種檢測(cè)裝置,能感受到被測(cè)量的信息,并能將感受到的信息,按一定規(guī)律變換成為電信號(hào)或其他所需形式的信息輸出,以滿足信息的傳輸、處理、存儲(chǔ)、顯示、記錄和控制等要求。在該設(shè)計(jì)中,對(duì)于傳感器選型需要考慮以下條件:(1)測(cè)量參數(shù):傳感器的選型需要根據(jù)實(shí)際測(cè)量參數(shù)來(lái)選擇,比如溫度、濕度、壓力、光照強(qiáng)度等。需要根據(jù)實(shí)際需求來(lái)確定測(cè)量參數(shù)。(2)測(cè)量范圍:傳感器的測(cè)量范圍需要根據(jù)實(shí)際測(cè)量范圍來(lái)選擇,比如溫度傳感器的測(cè)量范圍可以是-40℃+125℃,也可以是-55℃+125℃等。(3)精度:傳感器的精度需要根據(jù)實(shí)際測(cè)量要求來(lái)選擇,比如溫度傳感器的精度可以是±0.1℃,也可以是±0.5℃等。(4)接口類型:傳感器的接口類型需要根據(jù)實(shí)際應(yīng)用來(lái)選擇,比如模擬信號(hào)輸出、數(shù)字信號(hào)輸出、I2C接口、SPI接口等。(5)尺寸和安裝方式:傳感器的尺寸和安裝方式需要根據(jù)實(shí)際應(yīng)用場(chǎng)景來(lái)選擇,比如體積小、安裝方便等。(6)價(jià)格:傳感器的價(jià)格需要根據(jù)實(shí)際預(yù)算來(lái)選擇,需要根據(jù)實(shí)際需求來(lái)平衡性能和價(jià)格。2.2.4系統(tǒng)通信設(shè)計(jì)(1)選擇物聯(lián)網(wǎng)云服務(wù)平臺(tái):根據(jù)項(xiàng)目需求和預(yù)算,選擇適合的物聯(lián)網(wǎng)云服務(wù)平臺(tái),如阿里云、騰訊云、華為云等。配置云平臺(tái)參數(shù):在物聯(lián)網(wǎng)云服務(wù)平臺(tái)上創(chuàng)建設(shè)備和產(chǎn)品,并獲取設(shè)備的唯一標(biāo)識(shí)符和密鑰等參數(shù)。(2)開發(fā)單片機(jī)程序:根據(jù)物聯(lián)網(wǎng)云平臺(tái)的要求,開發(fā)單片機(jī)的程序,包括數(shù)據(jù)采集、數(shù)據(jù)傳輸和設(shè)備控制等功能,使用MQTT或HTTP協(xié)議將數(shù)據(jù)上傳到云平臺(tái)。(3)接入云平臺(tái):將單片機(jī)與物聯(lián)網(wǎng)云平臺(tái)進(jìn)行連接,使用設(shè)備標(biāo)識(shí)符和密鑰等參數(shù)完成認(rèn)證和鑒權(quán),實(shí)現(xiàn)單片機(jī)與云平臺(tái)的數(shù)據(jù)交互。(4)數(shù)據(jù)處理和應(yīng)用:在云平臺(tái)上對(duì)上傳的數(shù)據(jù)進(jìn)行處理和分析,實(shí)現(xiàn)數(shù)據(jù)可視化、告警處理、遠(yuǎn)程控制等應(yīng)用。(5)測(cè)試和調(diào)試:完成單片機(jī)程序開發(fā)和云平臺(tái)接入后,進(jìn)行測(cè)試和調(diào)試,確保設(shè)備和云平臺(tái)的數(shù)據(jù)交互正常。2.2.5系統(tǒng)電源設(shè)計(jì)方案單片機(jī)開發(fā)板電源設(shè)計(jì)方案需要考慮以下幾個(gè)方面:電源類型:開發(fā)板的電源類型可以是直流電源或交流電源,根據(jù)項(xiàng)目的需求和實(shí)際情況選擇合適的電源類型。電源電壓:根據(jù)開發(fā)板和外設(shè)的電壓要求,確定電源的輸出電壓,并確保電源的穩(wěn)定性和可靠性。電源容量:電源的容量需要根據(jù)開發(fā)板和外設(shè)的功率需求確定,確保電源能夠滿足整個(gè)系統(tǒng)的功率需求。電源保護(hù):為了保護(hù)開發(fā)板和外設(shè),電源設(shè)計(jì)方案需要考慮過(guò)流、過(guò)壓、過(guò)溫等保護(hù)措施,確保系統(tǒng)的安全穩(wěn)定運(yùn)行。電源噪聲:為了減少電源噪聲對(duì)系統(tǒng)的影響,可以在電源輸出端添加濾波電路,消除電源噪聲對(duì)系統(tǒng)的干擾。充電管理:如果開發(fā)板需要使用電池供電,電源設(shè)計(jì)方案需要考慮電池充電管理,包括充電電路、充電保護(hù)、充電狀態(tài)監(jiān)測(cè)等。綜上所述,單片機(jī)開發(fā)板電源設(shè)計(jì)方案需要考慮多個(gè)方面,包括電源類型、電源電壓、電源容量、電源保護(hù)、電源噪聲和充電管理等,確保電源能夠滿足整個(gè)系統(tǒng)的功率需求,同時(shí)保證系統(tǒng)的安全穩(wěn)定運(yùn)行。2.3開發(fā)工具2.3.1MDK-ARM5系統(tǒng)概述MDK源自德國(guó)的KEIL公司,是RealViewMDK的簡(jiǎn)稱。Keil是一款軟件,也是一家公司名。Keil公司是一家業(yè)界領(lǐng)先的微控制器(MCU)軟件開發(fā)工具的獨(dú)立供應(yīng)商。Keil公司制造和銷售種類廣泛的開發(fā)工具,包括ANSIC編譯器、宏匯編程序、調(diào)試器、連接器、庫(kù)管理器、固件和實(shí)時(shí)操作系統(tǒng)核心(real-timekernel)。有超過(guò)10萬(wàn)名微控制器開發(fā)人員在使用這種得到業(yè)界認(rèn)可的解決方案。其KeilC51編譯器自1988年引入市場(chǎng)以來(lái)成為事實(shí)上的行業(yè)標(biāo)準(zhǔn),并支持超過(guò)500種8051變種。MDK-ARM軟件為基于Cortex-M、Cortex-R4、ARM7、ARM9處理器設(shè)備提供了一個(gè)完整的開發(fā)環(huán)境。MDK-ARM專為微控制器應(yīng)用而設(shè)計(jì),而且功能強(qiáng)大,能夠滿足大多數(shù)苛刻的嵌入式應(yīng)用。與KeilMDK4及之前版本不同,KeilMDK5分成MDKCore和SoftwarePacks兩部分。MDKCore主要包含μVision5IDE集成開發(fā)環(huán)境和ARMCompiler5。SoftwarePacks則可以在不更換MDKCore的情況下,單獨(dú)管理設(shè)備支持包和中間件更新包。KeilMDK的ARMC/C++Compiler通過(guò)了TüVCertified認(rèn)證,完全符合IEC61508-3標(biāo)準(zhǔn)的T3類開發(fā)工具要求。目前,Compiler的SafetyPackage僅包含在MDK專業(yè)版中。2.3.2STM32CubeF1簡(jiǎn)介STM32Cube是ST提供的一套性能強(qiáng)大的免費(fèi)開發(fā)工具和嵌入式軟件模塊,能夠讓開發(fā)人員在STM32平臺(tái)上快速、輕松地開發(fā)應(yīng)用。它包含兩個(gè)關(guān)鍵部分:圖形配置工具STM32CubeMX。允許用戶通過(guò)圖形化向?qū)?lái)生成C語(yǔ)言工程。嵌入式軟件包(STM32Cube庫(kù))。包含完整的HAL庫(kù)(STM32硬件抽象層API),配套的中間件(包括RTOS,USB,TCP/IP和圖形),以及一系列完整的例程。2.3.3串口調(diào)試助手串口助手是一種串口通信工具,它的作用是方便用戶通過(guò)串口與外部設(shè)備進(jìn)行通信和數(shù)據(jù)交互。串口助手通常包含串口設(shè)置、數(shù)據(jù)發(fā)送、數(shù)據(jù)接收、數(shù)據(jù)顯示、數(shù)據(jù)保存等功能模塊,可以幫助用戶進(jìn)行串口通信的各種操作,如發(fā)送指令、接收數(shù)據(jù)、調(diào)試設(shè)備等。具體來(lái)說(shuō),串口助手的作用包括以下幾個(gè)方面:串口設(shè)置:串口助手可以幫助用戶設(shè)置串口的參數(shù),如波特率、數(shù)據(jù)位、停止位、校驗(yàn)位等,確保串口與外部設(shè)備的通信參數(shù)一致。數(shù)據(jù)發(fā)送:串口助手可以幫助用戶向外部設(shè)備發(fā)送數(shù)據(jù),包括文本、十六進(jìn)制等格式的數(shù)據(jù),方便用戶發(fā)送指令和控制設(shè)備。數(shù)據(jù)接收:串口助手可以幫助用戶接收外部設(shè)備發(fā)送的數(shù)據(jù),實(shí)時(shí)顯示接收到的數(shù)據(jù),方便用戶進(jìn)行數(shù)據(jù)分析和調(diào)試。數(shù)據(jù)顯示:串口助手可以將接收到的數(shù)據(jù)以文本或十六進(jìn)制等格式顯示出來(lái),方便用戶進(jìn)行數(shù)據(jù)分析和查看。數(shù)據(jù)保存:串口助手可以將接收到的數(shù)據(jù)保存到文件中,方便用戶進(jìn)行數(shù)據(jù)分析和后續(xù)處理。調(diào)試設(shè)備:串口助手可以幫助用戶調(diào)試外部設(shè)備,通過(guò)發(fā)送指令和接收數(shù)據(jù)等方式,快速定位設(shè)備故障和問(wèn)題。綜上所述,串口助手是一種串口通信工具,主要用于串口通信和數(shù)據(jù)交互,具有串口設(shè)置、數(shù)據(jù)發(fā)送、數(shù)據(jù)接收、數(shù)據(jù)顯示、數(shù)據(jù)保存和設(shè)備調(diào)試等功能,方便用戶進(jìn)行串口通信的各種操作。2.3.3立創(chuàng)EDA立創(chuàng)EDA是由中國(guó)團(tuán)隊(duì)研發(fā),擁有完全獨(dú)立自主知識(shí)產(chǎn)權(quán)的國(guó)產(chǎn)EDA工具。立創(chuàng)EDA為板級(jí)EDA設(shè)計(jì)軟件。EDA指的是通過(guò)計(jì)算機(jī)的輔助完成電路原理圖、印刷電路板文件等的繪制、制作、仿真設(shè)計(jì)。立創(chuàng)EDA是一款基于瀏覽器的,專為中國(guó)人設(shè)計(jì)的,友好易用的EDA設(shè)計(jì)工具。起于2010年,完全由中國(guó)人獨(dú)立開發(fā),擁有獨(dú)立自主知識(shí)產(chǎn)權(quán)。隸屬于深圳市嘉立創(chuàng)科技發(fā)展有限公司,由嘉立創(chuàng)EDA團(tuán)隊(duì)開發(fā)。立創(chuàng)EDA服務(wù)于廣大電子工程師、教育者、學(xué)生、電子制造商和愛好者。致力于中小原理圖、電路圖繪制,仿真,PCB設(shè)計(jì)與提供制造便利性。立創(chuàng)EDA擁有超過(guò)100多萬(wàn)在線免費(fèi)元件庫(kù),并在實(shí)時(shí)更新??稍谠O(shè)計(jì)過(guò)程中檢查元器件庫(kù)存、價(jià)格和立即下單購(gòu)買,縮短設(shè)計(jì)周期。立創(chuàng)EDA目前有兩個(gè)版本,立創(chuàng)EDA專業(yè)版和立創(chuàng)EDA標(biāo)準(zhǔn)版。標(biāo)準(zhǔn)版面向?qū)W生,教育,功能和使用上更簡(jiǎn)單;專業(yè)版面向企業(yè),團(tuán)隊(duì),功能更加強(qiáng)大,約束性也更高。而我們此次用到的是立創(chuàng)EDA標(biāo)準(zhǔn)版,立創(chuàng)EDA標(biāo)準(zhǔn)版基于瀏覽器運(yùn)行,輕量級(jí),高效率,無(wú)需下載,打開網(wǎng)站就能開始設(shè)計(jì)。云端在線設(shè)計(jì),文件云端存儲(chǔ),擺脫硬件儲(chǔ)存束縛。Windows、Mac、Linux多設(shè)備,跨平臺(tái)支持,設(shè)計(jì)進(jìn)度自動(dòng)同步。兼容常用PCB設(shè)計(jì)軟件,支持文件導(dǎo)入導(dǎo)出。立創(chuàng)EDA標(biāo)準(zhǔn)版提供團(tuán)隊(duì)協(xié)作功能,細(xì)化到單個(gè)工程權(quán)限管理。文件獨(dú)立版本控制,互不影響;文件自動(dòng)保存,一鍵恢復(fù)歷史。一鍵生成Gerber文件、BOM文件、坐標(biāo)文件,方便生產(chǎn)制造。立創(chuàng)EDA標(biāo)準(zhǔn)版支持常用元件的在線仿真,一鍵將原理圖布局傳遞到PCB,一鍵導(dǎo)入圖片LOGO到PCB。第三章戶外環(huán)境監(jiān)測(cè)系統(tǒng)硬件部分設(shè)計(jì)3.1整體設(shè)計(jì)原理圖圖3.1系統(tǒng)原理圖3.1主控單片機(jī)電路意法半導(dǎo)體STM32F103的優(yōu)異性體現(xiàn)在如下幾個(gè)方面:超低的價(jià)格。以8位機(jī)的價(jià)格,得到32位機(jī),是STM32最大的優(yōu)勢(shì);超多的外設(shè)。STM32擁有包括:FSMC、TIMER、SPI、IIC、USB、CAN、IIS、SDIO、ADC、DAC、RTC、DMA等眾多外設(shè)及功能,具有極高的集成度;豐富的型號(hào)。STM32僅M3內(nèi)核就擁有8個(gè)系列上百種型號(hào),具有QFN、LQFP、BGA等封裝可供選擇。同時(shí)STM32還推出了STM32L和STM32W等超低功耗和無(wú)線應(yīng)用型的M3芯片;優(yōu)異的實(shí)時(shí)性能。84個(gè)中斷,16級(jí)可編程優(yōu)先級(jí),并且所有的引腳都可以作為中斷輸入;杰出的功耗控制。STM32各個(gè)外設(shè)都有自己的獨(dú)立時(shí)鐘開關(guān),可以通過(guò)關(guān)閉相應(yīng)外設(shè)的時(shí)鐘來(lái)降低功耗;極低的開發(fā)成本。STM32的開發(fā)不需要昂貴的仿真器,只需要一個(gè)串口即可下載代碼,并且支持SWD和JTAG兩種調(diào)試口。SWD調(diào)試可以為你的設(shè)計(jì)帶來(lái)跟多的方便,只需要2個(gè)IO口,即可實(shí)現(xiàn)仿真調(diào)試。圖3.2STM32F103C8T6單片機(jī)及原理圖3.3顯示電路設(shè)計(jì)液晶屏通常作為嵌入式設(shè)備的顯示終端,用于顯示一些關(guān)鍵信息,將信息直接顯示在一塊小的液晶屏幕上。液晶屏除了可以作為顯示終端外,還可以作為調(diào)試信息輸出的一個(gè)終端。在調(diào)試硬件程序的時(shí)候,通常會(huì)對(duì)程序進(jìn)行調(diào)試,想輸出一些狀態(tài)或者信息來(lái)體現(xiàn)程序當(dāng)前的運(yùn)行狀態(tài),一般我們會(huì)選擇串口打印輸出內(nèi)容,或者LED的不同閃爍頻率代表不同狀態(tài),當(dāng)然我們也可以使用一個(gè)液晶屏來(lái)顯示不同內(nèi)容,這種方式也是十分的方便快捷的。SSD1306是一款單片CMOSOLED/PLED驅(qū)動(dòng)器,具有有機(jī)/聚合物發(fā)光控制器二極管點(diǎn)陣圖形顯示系統(tǒng)。它由128個(gè)段和64個(gè)公共部分組成。這個(gè)IC是為普通陰極型OLED面板設(shè)計(jì)。SSD1306內(nèi)置對(duì)比度控制、顯示RAM和振蕩器,減少了外部組件和功耗。它有256級(jí)亮度控制。數(shù)據(jù)/命令是從通用單片機(jī)通過(guò)硬件可選的6800/8000系列兼容并行接口發(fā)送,I2C接口或串行外圍接口。它適用于許多緊湊型便攜式應(yīng)用程序,例如手機(jī)副顯示屏、MP3播放器、計(jì)算器等。圖3.3OLED內(nèi)部結(jié)構(gòu)及管腳圖3.4按鍵電路設(shè)計(jì)在設(shè)計(jì)中,按鍵功能僅用于驗(yàn)證作用,驗(yàn)證可行性和交互調(diào)試。圖3.4按鍵電路設(shè)計(jì)3.5電源模塊設(shè)計(jì)供電芯片用的是SPX3819,是一個(gè)正電壓調(diào)節(jié)器,具有低輟學(xué)電壓和低噪聲輸出。此外,該設(shè)備在100mA輸出時(shí)提供了非常低的800μA地電流。SPX3819的初始公差小于1%的最大值和一個(gè)邏輯兼容的開/斷開開關(guān)輸入。當(dāng)禁用時(shí),功耗將降至接近于零。其他關(guān)鍵功能包括反向電池保護(hù)、電流限制和熱關(guān)機(jī)。SPX3819包括一個(gè)參考旁路針輸出最佳的低噪聲輸出性能。由于其非常低的輸出溫度系數(shù),該器件也是一個(gè)優(yōu)越的低功率電壓參考。SPX3819是在電池驅(qū)動(dòng)的應(yīng)用中使用的絕佳選擇,如無(wú)繩電話、無(wú)線電控制系統(tǒng)和便攜式計(jì)算機(jī)。它是可在幾個(gè)固定的輸出電壓選項(xiàng)或與一個(gè)可調(diào)的輸出電壓。充電芯片是HX4054A,是一款單節(jié)鋰離子電池恒流/恒壓線性充電器,簡(jiǎn)單的外部應(yīng)用電路非常適合便攜式設(shè)備應(yīng)用,適合USB電源和適配器電源工作,內(nèi)部采用防倒充電路,不需要外部隔離二極管。熱反饋可對(duì)充電電流進(jìn)行自動(dòng)調(diào)節(jié),以便在大功率操作或高環(huán)境溫度條件下對(duì)芯片溫度加以限制。HX4054A充電截止電壓為4.2V,充電電流可通過(guò)外部電阻進(jìn)行設(shè)置。當(dāng)充電電流降至設(shè)定值的1/10時(shí),HX4054A將自動(dòng)結(jié)束充電過(guò)程。當(dāng)輸入電壓被移掉后,HX4054A自動(dòng)進(jìn)入低電流待機(jī)狀態(tài),將待機(jī)電流降至1uA以下。HX4054A在有輸入電源時(shí)也可置于停機(jī)模式,從而將工作電流降至30uA。圖3.5充電模塊和LDO電源3.6WIFI模塊設(shè)計(jì)ESP8266系列模組是深圳市安信可科技有限公司開發(fā)的一系列基于樂(lè)鑫ESP8266的低功耗UART-WiFi芯片模組,可以方便地進(jìn)行二次開發(fā),接入云端服務(wù),實(shí)現(xiàn)手機(jī)3/4G全球隨時(shí)隨地的控制,加速產(chǎn)品原型設(shè)計(jì)。模塊核心處理器ESP8266在較小尺寸封裝中集成了業(yè)界領(lǐng)先的TensilicaL106超低功耗32位微型MCU,帶有16位精簡(jiǎn)模式,主頻支持80MHz和160MHz,支持RTOS,集成Wi-FiMAC/BB/RF/PA/LNA,板載天線。支持標(biāo)準(zhǔn)的IEEE802.11b/g/n協(xié)議,完整的TCP/IP協(xié)議棧。用戶可以使用該模塊為現(xiàn)有的設(shè)備添加聯(lián)網(wǎng)功能,也可以構(gòu)建獨(dú)立的網(wǎng)絡(luò)控制器。ESP8266是高性能無(wú)線SoC,以最低成本提供最大實(shí)用性,為Wi-Fi功能嵌入其他系統(tǒng)提供無(wú)限可能。當(dāng)命令響應(yīng)操作模式(或AT模式)時(shí),AT命令模塊可以被允許,用戶可以向模塊發(fā)送各種AT指令、設(shè)定控制參數(shù)、或發(fā)出控制命令。(AT指令是一組指令,用以在PC與諸如Bluetooth、WiFi)等特定終端裝置進(jìn)行通信并進(jìn)行配置。)在自動(dòng)化連接模式下,模塊可以分為主干、從、回環(huán)三種工作任務(wù)。采用自動(dòng)連接方式,按照預(yù)定的方式,數(shù)據(jù)將被自動(dòng)傳輸。圖3.6ESP-12S模塊3.7傳感器選型3.7.1溫濕度傳感器選型AHT20,新一代溫濕度傳感器在尺寸與智能方面建立了新的標(biāo)準(zhǔn):它嵌入了適于回流焊的雙列扁平無(wú)引腳SMD封裝,底面3x3mm,高度1.0mm。傳感器輸出經(jīng)過(guò)標(biāo)定的數(shù)字信號(hào),標(biāo)準(zhǔn)I2C格式。AHT20配有一個(gè)全新設(shè)計(jì)的ASIC專用芯片、一個(gè)經(jīng)過(guò)改進(jìn)的MEMS半導(dǎo)體電容式濕度傳感元件和一個(gè)標(biāo)準(zhǔn)的片上溫度傳感元件,其性能已經(jīng)大大提升甚至超出了前一代傳感器的可靠性水平,新一代溫濕度傳感器,經(jīng)過(guò)改進(jìn)使其在惡劣環(huán)境下的性能更穩(wěn)定。圖3.7溫濕度傳感器模塊-AHT20圖3.8溫濕度傳感器模塊性能指標(biāo)3.7.2氣體傳感器選型SGP30是一種數(shù)字多像素氣體傳感器,設(shè)計(jì)為易于集成到空氣凈化器、需求控制通風(fēng)和物聯(lián)網(wǎng)應(yīng)用中。三星的CMOSens?技術(shù)在一個(gè)單芯片上提供了一個(gè)完整的傳感器系統(tǒng),具有一個(gè)數(shù)字I2C接口、一個(gè)溫度控制的微熱板和兩個(gè)預(yù)處理的室內(nèi)空氣質(zhì)量信號(hào)。作為第一個(gè)在一個(gè)芯片上具有多個(gè)傳感元件的金屬氧化物氣體傳感器,SGP30提供了關(guān)于空氣質(zhì)量的更詳細(xì)的信息。該傳感元件具有對(duì)現(xiàn)實(shí)應(yīng)用中存在的污染氣體的無(wú)比魯棒性,從而具有獨(dú)特的長(zhǎng)期穩(wěn)定性和低漂移。非常小的2.45x2.45x0.9mm3DFN包可以在有限的空間內(nèi)應(yīng)用。傳感器的最先進(jìn)的生產(chǎn)工藝保證了高重現(xiàn)性和可靠性。磁帶和卷軸包裝,以及對(duì)標(biāo)準(zhǔn)SMD組裝工藝的適用性,使SGP30注定要用于大容量的應(yīng)用。圖3.9氣體傳感器模塊連接電路圖3.10氣體傳感器模塊性能指標(biāo)3.7.3光線傳感器選型采用光敏電阻作為信號(hào)采集器件。光敏電阻是基于光電導(dǎo)效應(yīng)的一種光電器件,無(wú)光照時(shí),

光敏電阻值(暗電阻)很大,電路中電流(暗電流)很??;當(dāng)受到光照時(shí),半導(dǎo)體材料電導(dǎo)率增加,電阻減小。其阻值隨光照增強(qiáng)而減小。光敏電阻作為光電式傳感器的一種,它具有靈敏度高、光譜響應(yīng)范圍寬;體積小、重量輕、機(jī)械強(qiáng)度高、耐沖擊、耐震動(dòng)、抗過(guò)載能力強(qiáng)和壽命長(zhǎng)等特點(diǎn)。所以選擇光敏電阻采集光照信號(hào),并把不同的光照強(qiáng)度轉(zhuǎn)化為不同的電阻值。把光敏電阻串聯(lián)在直流電路中即可把不同的電阻值轉(zhuǎn)化為不同的電壓值,電路如原理圖所示。于是,就把對(duì)光照信號(hào)的處理轉(zhuǎn)化為對(duì)電壓信號(hào)V的處理。 圖3.11光敏傳感器模塊性能指標(biāo)圖3.16光敏傳感器模塊性能指標(biāo)第四章戶外環(huán)境監(jiān)測(cè)系統(tǒng)軟件部分設(shè)計(jì)4.1系統(tǒng)總設(shè)計(jì)流程軟件設(shè)計(jì)部分著重闡述了各模塊的軟件設(shè)計(jì)過(guò)程。C語(yǔ)言在MCU中的應(yīng)用是廣泛的,MCU不僅功能強(qiáng)大,而且還具備了高級(jí)和匯編兩種語(yǔ)言,能夠在硬件上直接運(yùn)行。C語(yǔ)言的操作符和數(shù)據(jù)類型非常豐富,利用C語(yǔ)言與MCU一起設(shè)計(jì)是非常方便的。以下的圖4.1顯示了該系統(tǒng)的總體設(shè)計(jì)流程:圖4.1系統(tǒng)總設(shè)計(jì)流程圖在單片機(jī)程序設(shè)計(jì)中,需要注意以下幾點(diǎn):程序的可讀性:在編寫程序時(shí),應(yīng)該盡可能地使程序易于閱讀和理解。可以采用注釋、代碼縮進(jìn)、命名規(guī)范等方式來(lái)提高程序的可讀性。程序的可維護(hù)性:程序的可維護(hù)性是指在程序運(yùn)行過(guò)程中,出現(xiàn)問(wèn)題時(shí),能夠快速地找到問(wèn)題并進(jìn)行修復(fù)。為了提高程序的可維護(hù)性,應(yīng)該盡可能地避免使用魔法數(shù)字、使用有意義的變量名稱和函數(shù)名稱,以及編寫清晰的注釋等。程序的效率:在單片機(jī)程序設(shè)計(jì)中,由于資源有限,程序的效率非常重要。為了提高程序的效率,可以采用位運(yùn)算、避免重復(fù)計(jì)算等方式。程序的穩(wěn)定性:?jiǎn)纹瑱C(jī)程序的穩(wěn)定性是指程序可以在長(zhǎng)時(shí)間運(yùn)行中不出現(xiàn)異常。為了提高程序的穩(wěn)定性,應(yīng)該避免使用死循環(huán)、盡量避免使用浮點(diǎn)數(shù)運(yùn)算、檢查輸入輸出的范圍等。程序的可移植性:在單片機(jī)程序設(shè)計(jì)中,程序的可移植性是指可以在不同的開發(fā)板和不同的編譯器上運(yùn)行。為了提高程序的可移植性,應(yīng)該盡可能地遵守C語(yǔ)言標(biāo)準(zhǔn)、避免使用特定于平臺(tái)的函數(shù)和數(shù)據(jù)類型等。程序的安全性:在單片機(jī)程序設(shè)計(jì)中,程序的安全性是指程序不會(huì)受到惡意攻擊或者由于程序錯(cuò)誤而導(dǎo)致設(shè)備損壞等問(wèn)題。為了提高程序的安全性,應(yīng)該對(duì)輸入數(shù)據(jù)進(jìn)行范圍檢查、避免使用危險(xiǎn)的函數(shù)等??傊?,在單片機(jī)程序設(shè)計(jì)中,需要綜合考慮程序的可讀性、可維護(hù)性、效率、穩(wěn)定性、可移植性和安全性等方面,以編寫出高質(zhì)量、穩(wěn)定、可靠的程序。圖4.2系統(tǒng)初始化程序4.2按鍵部分程序設(shè)計(jì)流程按鍵模塊的執(zhí)行步驟如下:首先要進(jìn)行行列鍵的掃描,這個(gè)時(shí)候要進(jìn)行一個(gè)消除顫動(dòng)的步驟,然后確定按鍵的位置,輸入相應(yīng)的代碼進(jìn)行處理。圖4-3中顯示了按鍵模組的子程序的流程。開始開始初始化掃描按鍵進(jìn)行列掃描進(jìn)行行掃描顯示按鍵輸入字符結(jié)束圖4.3按鍵模塊子程序流程圖鍵盤掃描子程式,先讀取P2口I/0端口的低四位電平狀態(tài),再讀取輸入/輸出端口的高四位電平狀態(tài),鍵值,并顯示高速緩沖。接著把鍵的數(shù)值轉(zhuǎn)化成ASCII代碼字符,然后就能用軟件設(shè)定鍵的各個(gè)鍵所代表的內(nèi)容,編入程序。采用行列式掃描方法讀取按鍵。圖4.4按鍵模塊程序原理圖4.3LCD顯示部分程序設(shè)計(jì)流程當(dāng)按鍵鍵入數(shù)值和結(jié)果顯示時(shí),都需要用到OLED作為顯示屏,OLED顯示流程如圖4-3所示。開始開始向緩存數(shù)組裝載字符將緩存數(shù)組存入發(fā)送LCD數(shù)組中發(fā)送最終字符給LCD將需要顯示的字符存入緩存數(shù)組結(jié)束圖4.5OLED顯示流程由圖4.3可以很清楚地看出OLED的顯示流程。顯示模塊程序首先要對(duì)顯示模塊進(jìn)行初始化,主要通過(guò)向OLED發(fā)送字符數(shù)組,來(lái)達(dá)到顯示數(shù)據(jù)。4.4WIFI數(shù)據(jù)上傳程序設(shè)計(jì)ESP-12S是通過(guò)UART與MCU(USART3)進(jìn)行連接通訊的,使用在初始化ESP-12S的程序中,其實(shí)是在初始化串口3(USART3),而后面的流程都是在使用ESP-12S廠家的AT命令給ESP-12S,通過(guò)串口接收到的數(shù)據(jù),利用字符串分析來(lái)判斷程序成功與否。圖4.6WIFI程序流程圖4.5騰訊IoTExplore騰訊云物聯(lián)網(wǎng)開發(fā)平臺(tái)(IoTExplorer)是面向智慧生活與產(chǎn)業(yè)互聯(lián)應(yīng)用的物聯(lián)網(wǎng)PaaS平臺(tái),為基于物聯(lián)網(wǎng)的各行業(yè)設(shè)備制造商、方案商及應(yīng)用開發(fā)商提供一站式設(shè)備智能化服務(wù)。平臺(tái)提供海量設(shè)備連接與管理能力及基于騰訊連連的小程序應(yīng)用開發(fā)能力,并打通騰訊云云產(chǎn)品及AI能力,聚合騰訊生態(tài)內(nèi)容能力。從而提升傳統(tǒng)行業(yè)設(shè)備智能化的效率,降低用戶的開發(fā)運(yùn)維成本。旨在提供一個(gè)安全、穩(wěn)定、高效的連接平臺(tái),幫助開發(fā)者低成本、快速地實(shí)現(xiàn)“設(shè)備-設(shè)備”、“設(shè)備-用戶應(yīng)用”、“設(shè)備-云服務(wù)”之間可靠、高并發(fā)的數(shù)據(jù)通信。物聯(lián)網(wǎng)通信平臺(tái)不僅可以實(shí)現(xiàn)設(shè)備之間的互動(dòng)、設(shè)備的數(shù)據(jù)上報(bào)和配置下發(fā),還可以基于規(guī)則引擎和騰訊云產(chǎn)品打通,方便快捷地實(shí)現(xiàn)海量設(shè)備數(shù)據(jù)的存儲(chǔ)、計(jì)算以及智能分析。騰訊IoT對(duì)ESP8266有一個(gè)官方的定制的固件,大大的減少了傳入MQTT的參數(shù)。4.6MQTT協(xié)議MQTT協(xié)議是為大量計(jì)算能力有限,且工作在低帶寬、不可靠的網(wǎng)絡(luò)的遠(yuǎn)程傳感器和控制設(shè)備通訊而設(shè)計(jì)的協(xié)議,它具有以下主要的幾項(xiàng)特性:1、使用發(fā)布/訂閱消息模式,提供一對(duì)多的消息發(fā)布,解除應(yīng)用程序耦合;2、對(duì)負(fù)載內(nèi)容屏蔽的消息傳輸;3、使用TCP/IP提供網(wǎng)絡(luò)連接;4、有三種消息發(fā)布服務(wù)質(zhì)量;5、小型傳輸,開銷很小,協(xié)議交換最小化,以降低網(wǎng)絡(luò)流量;6、使用LastWill和Testament特性通知有關(guān)各方客戶端異常中斷的機(jī)制。MQTT最大優(yōu)點(diǎn)在于,用極少的代碼和有限的帶寬,為連接遠(yuǎn)程設(shè)備提供實(shí)時(shí)可靠的消息服務(wù)。4.7cJSON程序設(shè)計(jì)cJSON是一個(gè)超輕巧,攜帶方便,單文件,可以作為ANSI-C標(biāo)準(zhǔn)的JSON解析器,是一個(gè)用C語(yǔ)言編寫的簡(jiǎn)單好用的JSON解析器;它只包含一個(gè)C文件和一個(gè)頭文件,可以非常容易集成到自己工程項(xiàng)目中。特點(diǎn):CJSON具有輕巧、快速、易用的特點(diǎn),可以在嵌入式系統(tǒng)中使用,支持解析和生成JSON格式數(shù)據(jù)。數(shù)據(jù)類型:CJSON支持JSON中的所有數(shù)據(jù)類型,包括null、布爾型、數(shù)字、字符串、數(shù)組和對(duì)象。接口:CJSON提供了簡(jiǎn)單易用的API接口,包括解析JSON數(shù)據(jù)、生成JSON數(shù)據(jù)、遍歷JSON數(shù)據(jù)等操作。使用場(chǎng)景:CJSON適用于各種嵌入式系統(tǒng)中,可以用于數(shù)據(jù)傳輸、數(shù)據(jù)存儲(chǔ)、網(wǎng)絡(luò)通信等場(chǎng)景。兼容性:CJSON可以在各種不同平臺(tái)和編譯器下使用,具有良好的兼容性和可移植性。缺點(diǎn):CJSON雖然輕量級(jí),但對(duì)于大規(guī)模的JSON數(shù)據(jù)解析和生成,效率可能不如其他一些JSON庫(kù)。CJSON是一款優(yōu)秀的JSON解析庫(kù),適用于各種嵌入式系統(tǒng)中,具有簡(jiǎn)單易用、輕量快速等特點(diǎn),是嵌入式系統(tǒng)中處理JSON數(shù)據(jù)的不錯(cuò)選擇。下面是在我們的工程中使用的cJSON的過(guò)程:導(dǎo)入CJSON庫(kù):可以從官方網(wǎng)站或GitHub上下載CJSON庫(kù),并將其導(dǎo)入到STM32單片機(jī)的工程中。創(chuàng)建JSON對(duì)象:在代碼中定義一個(gè)CJSON對(duì)象,可以使用cJSON_CreateObject()函數(shù)創(chuàng)建一個(gè)空的JSON對(duì)象。添加JSON數(shù)據(jù):使用cJSON_AddItemToObject()函數(shù)在JSON對(duì)象中添加對(duì)應(yīng)的JSON數(shù)據(jù),例如添加一個(gè)字符串可以使用cJSON_AddStringToObject()函數(shù)。生成JSON數(shù)據(jù):使用cJSON_Print()函數(shù)將JSON對(duì)象轉(zhuǎn)換為JSON字符串。解析JSON數(shù)據(jù):使用cJSON_Parse()函數(shù)將從外部接收到的JSON字符串轉(zhuǎn)換為CJSON對(duì)象,然后使用cJSON_GetObjectItem()函數(shù)獲取JSON對(duì)象中對(duì)應(yīng)的數(shù)據(jù)。釋放內(nèi)存:使用cJSON_Delete()函數(shù)釋放CJSON對(duì)象所占用的內(nèi)存。在我們的程序設(shè)計(jì)中,首先創(chuàng)建了一個(gè)JSON對(duì)象root,并添加了一個(gè)字符串和一個(gè)數(shù)字。然后使用cJSON_Print()函數(shù)將JSON對(duì)象轉(zhuǎn)換為JSON字符串,并輸出到終端。接著使用cJSON_Parse()函數(shù)將JSON字符串解析為CJSON對(duì)象,并使用cJSON_GetObjectItem()函數(shù)獲取JSON對(duì)象中的數(shù)據(jù)。最后使用cJSON_Delete()函數(shù)釋放內(nèi)存。4.8AndroidAPP設(shè)計(jì) AndroidAPP的開發(fā)過(guò)程,可以在騰訊云IoT控制臺(tái)上,可視化的開發(fā),圍繞騰訊云IoT的SDK進(jìn)行二次開發(fā),可以支持多種控件。第五章系統(tǒng)測(cè)試5.1成品制作5.1.1PCB繪制使用立創(chuàng)EDA軟件來(lái)繪制PCB板。建立并繪制原理圖。需要了解元件選型,根據(jù)設(shè)計(jì)要求來(lái)選擇元件規(guī)格,同時(shí)要看元件開發(fā)手冊(cè),官方對(duì)元件引腳和硬件配置的詳細(xì)說(shuō)明。繪制完原理圖后,進(jìn)行網(wǎng)絡(luò)檢查,看是否有某元件的引腳漏定義和網(wǎng)絡(luò)交叉。然后就可以根據(jù)原理圖創(chuàng)建PCB。PCB設(shè)計(jì)涉及到layout,元件擺放,走線規(guī)則等。圖5.1PCB設(shè)計(jì)頂層、底層和3D圖5.1.2準(zhǔn)備工作及制作步驟準(zhǔn)備工具和材料:需要準(zhǔn)備焊接工具,如焊錫、焊臺(tái)、烙鐵、吸錫器等,以及焊接材料,如焊錫絲、焊接劑等;進(jìn)行焊接:根據(jù)電路圖和元件布局圖,依次將電子元件焊接到PCB板上。焊接時(shí)要注意焊接溫度、時(shí)間和方法,以避免焊接不良或損壞元件;進(jìn)行外觀檢查:焊接完成后,需要對(duì)PCB板進(jìn)行外觀檢查,檢查焊點(diǎn)是否光滑、焊接是否牢固、元件是否位置正確等;進(jìn)行電氣調(diào)試:接通電源后,需要進(jìn)行電氣調(diào)試,檢查電路是否正常工作??梢允褂萌f(wàn)用表、示波器等工具進(jìn)行檢測(cè)和分析,以確定電路中存在的問(wèn)題;進(jìn)行信號(hào)調(diào)試:在電氣調(diào)試完成后,需要進(jìn)行信號(hào)調(diào)試,檢查信號(hào)是否正確傳輸??梢允褂檬静ㄆ鞯裙ぞ哌M(jìn)行檢測(cè)和分析,以確定信號(hào)傳輸存在的問(wèn)題;分析問(wèn)題:如果在調(diào)試過(guò)程中發(fā)現(xiàn)電路或信號(hào)存在問(wèn)題,需要進(jìn)行分析和定位問(wèn)題??梢酝ㄟ^(guò)逐步排除法、分析電路原理圖等方式,找出問(wèn)題所在并進(jìn)行修復(fù);進(jìn)行終極測(cè)試:調(diào)試完成后,需要進(jìn)行終極測(cè)試,驗(yàn)證電路是否正常工作??梢赃M(jìn)行長(zhǎng)時(shí)間運(yùn)行測(cè)試和負(fù)載測(cè)試等,確保電路的可靠性和穩(wěn)定性。注意,在非SMT工藝的情況下,大部分元件為貼片的情況下,需要提前打印鋼網(wǎng)。總之,在進(jìn)行焊接和調(diào)試分析時(shí),需要細(xì)心認(rèn)真、耐心分析,并根據(jù)具體情況采取合適的方法和工具,以確保電路的正常工作。5.2仿真5.2.1硬件仿真STM32硬件仿真是一種通過(guò)軟件模擬STM32芯片的運(yùn)行狀態(tài)來(lái)驗(yàn)證STM32芯片設(shè)計(jì)的方法。這種方法可以在設(shè)計(jì)階段發(fā)現(xiàn)硬件問(wèn)題,節(jié)省了硬件開發(fā)的時(shí)間和成本。在進(jìn)行STM32硬件仿真時(shí),需要注意以下幾點(diǎn):確認(rèn)仿真軟件和仿真器的兼容性,選擇合適的仿真器和軟件。確認(rèn)仿真的電路圖和原理圖與實(shí)際硬件一致,檢查連接是否正確。選擇合適的仿真模式,如單步執(zhí)行、斷點(diǎn)調(diào)試等。在仿真過(guò)程中,需要仔細(xì)觀察仿真結(jié)果,及時(shí)發(fā)現(xiàn)問(wèn)題。5.2.1仿真準(zhǔn)備工作使用Keil5給STM32進(jìn)行仿真,需要注意的是在進(jìn)行仿真之前需要確認(rèn)硬件連接和軟件設(shè)置是否正確,以確保仿真的準(zhǔn)確性。1)必要工具:安裝Keil5軟件和相關(guān)驅(qū)動(dòng)程序;準(zhǔn)備好STM32芯片和開發(fā)板,仿真器我們選擇ST_LinkV2。2)創(chuàng)建新工程:打開Keil5軟件,點(diǎn)擊“Project”->“NewμVisionProject”;選擇芯片型號(hào)和開發(fā)板,點(diǎn)擊“OK”;填寫工程名稱和存儲(chǔ)路徑,點(diǎn)擊“Save”。3)配置芯片和工程:右鍵點(diǎn)擊工程名稱,選擇“OptionsforTarget”;擇“Target”選項(xiàng)卡,設(shè)置芯片型號(hào)、仿真器和仿真速度;選擇“Debug”選項(xiàng)卡,設(shè)置調(diào)試器和調(diào)試接口;點(diǎn)擊“OK”保存設(shè)置。4)編寫程序:在工程中添加源文件和頭文件;編寫程序代碼。5)編譯程序:點(diǎn)擊“Build”按鈕,對(duì)程序進(jìn)行編譯,排除不必要的錯(cuò)誤和警告。6)進(jìn)行仿真:連接STM32開發(fā)板和仿真器,并設(shè)置仿真器的相關(guān)參數(shù);點(diǎn)擊“Debug”按鈕,進(jìn)入仿真模式;在仿真模式中,可以進(jìn)行單步執(zhí)行、斷點(diǎn)調(diào)試等操作;開始仿真,觀察仿真結(jié)果,并根據(jù)結(jié)果調(diào)整程序代碼和硬件電路圖。7)停止仿真:在仿真模式中,點(diǎn)擊“Stop”按鈕,停止仿真;斷開STM32開發(fā)板和仿真器的連接。重復(fù)以上步驟,直到達(dá)到預(yù)期的仿真效果??偨Y(jié)本次的畢業(yè)設(shè)計(jì)是一個(gè)綜合性很強(qiáng)的設(shè)計(jì),需要我們?cè)谟布O(shè)計(jì)、軟件設(shè)計(jì)、網(wǎng)絡(luò)通信等方面進(jìn)行全方位的考慮和實(shí)現(xiàn)。本次畢業(yè)設(shè)計(jì)基于物聯(lián)網(wǎng)技術(shù),實(shí)現(xiàn)了一個(gè)智能家居控制系統(tǒng)。該系統(tǒng)采用了基于STM32單片機(jī)的硬件設(shè)計(jì)方案,結(jié)合了WiFi模塊、傳感器、執(zhí)行器等多種元件,實(shí)現(xiàn)了題目的主要功能。本次畢業(yè)設(shè)計(jì)中,我獨(dú)立完成了硬件設(shè)計(jì)、軟件編程、服務(wù)器搭建等多項(xiàng)任務(wù),深入了解了物聯(lián)網(wǎng)技術(shù)的相關(guān)知識(shí),并獲得了以下收獲:掌握了STM32單片機(jī)的硬件設(shè)計(jì)和編程技能,熟練使用了KeilMDK、STM32CubeMX等開發(fā)工具;學(xué)習(xí)了WiFi模塊的接口和通信協(xié)議,了解了TCP/IP、MQTT等網(wǎng)絡(luò)協(xié)議的基本原理;熟悉了傳感器和執(zhí)行器的接口和工作原理,了解了數(shù)字信號(hào)處理的相關(guān)

溫馨提示

  • 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)論