版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第頁(yè)共32頁(yè)引言智能病房監(jiān)控系統(tǒng),顧名思義就是對(duì)病房?jī)?nèi)的環(huán)境進(jìn)行監(jiān)控。核心功能可以分為兩個(gè)部分,一個(gè)部分是對(duì)病房?jī)?nèi)的環(huán)境參數(shù)以及醫(yī)護(hù)人員的信息的采集與顯示,第二部分是對(duì)外人入侵的情況進(jìn)行監(jiān)控和報(bào)警。目前國(guó)內(nèi)的室內(nèi)智能監(jiān)控系統(tǒng)的環(huán)境監(jiān)控參數(shù)一般為溫濕度以及有害氣體含量和煙霧濃度。溫濕度是與日常生活的舒適息息相關(guān)的,如果在溫濕度不適宜的情況下生活過(guò)久,會(huì)在一定程度上影響人的健康程度,特別是對(duì)婦女兒童影響較大,因此需要對(duì)環(huán)境的溫濕度進(jìn)行監(jiān)控,以便及時(shí)進(jìn)行調(diào)整。而對(duì)有害氣體的含量進(jìn)行監(jiān)控主要是對(duì)液化氣等家用燃?xì)膺M(jìn)行監(jiān)控,防止易燃易爆氣體的泄露,如果泄露量過(guò)大,會(huì)有爆炸的危險(xiǎn),會(huì)對(duì)居民的生命安全造成不可估量的威脅。對(duì)煙霧濃度進(jìn)行監(jiān)控主要是為了防止火災(zāi)的發(fā)生,當(dāng)火災(zāi)發(fā)生之后,空氣中的煙霧濃度會(huì)急劇升高,這個(gè)時(shí)候如果能夠有效的進(jìn)行警報(bào),則可以避免大型火災(zāi)的發(fā)生,在一定程度上對(duì)居民的生命財(cái)產(chǎn)安全進(jìn)行了保障。除了對(duì)日常生活中的環(huán)境參數(shù)進(jìn)行測(cè)量,監(jiān)控系統(tǒng)一般還可以在夜晚時(shí)對(duì)外人的入侵情況進(jìn)行檢測(cè),當(dāng)進(jìn)入監(jiān)控模式之后,便會(huì)一直檢測(cè)外人的入侵,當(dāng)有外人入侵時(shí),一般會(huì)發(fā)出警報(bào)進(jìn)行報(bào)警??紤]本次設(shè)計(jì)的應(yīng)用場(chǎng)景是在病房中,因此對(duì)于一些參數(shù)的測(cè)量收集就沒(méi)有那么必要,比如有毒氣體的檢測(cè),考慮到醫(yī)院的環(huán)境一般對(duì)通風(fēng)行要求很高,因此有毒氣體不宜聚集,因此在本次設(shè)計(jì)中,不再對(duì)環(huán)境中的有毒氣體含量參數(shù)進(jìn)行收集。而病房中一般沒(méi)有燃?xì)獾男枨?,因此?duì)于燃?xì)庑孤兜那闆r更是少見,因此在本次設(shè)計(jì)中,也不對(duì)可燃?xì)怏w的含量參數(shù)進(jìn)行檢測(cè)。同時(shí)對(duì)于溫濕度信息以及外人入侵檢測(cè)等功能進(jìn)行保留。同時(shí),還可以對(duì)醫(yī)護(hù)人員和病人的信息進(jìn)行記錄。為了提高用戶的使用體驗(yàn),本次設(shè)計(jì)采用手機(jī)APP的形式,通過(guò)無(wú)線模塊將環(huán)境參數(shù)數(shù)據(jù)發(fā)送到手機(jī)APP端。采用射頻模塊對(duì)醫(yī)護(hù)人員和病人的信息進(jìn)行記錄,并顯示在液晶顯示屏幕上。通過(guò)市場(chǎng)調(diào)研發(fā)現(xiàn),在下位機(jī)與上位機(jī)通信方面,用的較為成熟的方案為藍(lán)牙方案和WIFI方案,考慮到功能的可擴(kuò)展性,本次設(shè)計(jì)選用WIFI模塊完成下位機(jī)與手機(jī)APP的通信功能。綜合國(guó)內(nèi)外市場(chǎng)調(diào)研和對(duì)題目應(yīng)用場(chǎng)景以及題目的需求分析,可以初步得出以下結(jié)論:本次設(shè)計(jì)可以分為上位機(jī)和下位機(jī)端,兩者采用WIFI模塊進(jìn)行信息的交互。同時(shí)下位機(jī)還可以通過(guò)短信將信息發(fā)送給用戶手機(jī)。下位機(jī)端完成病房?jī)?nèi)環(huán)境參數(shù)的采集和外人入侵情況的檢測(cè)。環(huán)境參數(shù)包含溫度和濕度等信息。當(dāng)監(jiān)測(cè)到溫濕度值超過(guò)閾值之后,可以進(jìn)行報(bào)警,報(bào)警的方式為通過(guò)手機(jī)短信和蜂鳴器進(jìn)行遠(yuǎn)程和現(xiàn)場(chǎng)報(bào)警。下面對(duì)本次設(shè)計(jì)的方案設(shè)計(jì)和原理以及測(cè)試過(guò)程進(jìn)行分析,對(duì)測(cè)試數(shù)據(jù)和波形進(jìn)行分析。1總體方案設(shè)計(jì) 通過(guò)對(duì)設(shè)計(jì)要求的分析,結(jié)合參查閱的資料,設(shè)計(jì)出如下系統(tǒng)框圖1.1所示:圖1.1總體方案設(shè)計(jì)框圖系統(tǒng)框圖共包含幾個(gè)部分,下面結(jié)合題目要求對(duì)各個(gè)部分的工能進(jìn)行分析。首先,信息的輸入和輸出方向是從左至右,從圖中可以看出,STM32F103主控模塊對(duì)按鍵模塊、RFID模塊、人體熱紅外感應(yīng)模塊、超聲波測(cè)距模塊、溫濕度模塊進(jìn)行數(shù)據(jù)接收,然后部分?jǐn)?shù)據(jù)通過(guò)顯示模塊顯示到屏幕上,同時(shí)可以通過(guò)ESP8266WIFI模塊與手機(jī)端APP相連接,將數(shù)據(jù)通過(guò)局域網(wǎng)絡(luò)上發(fā)給手機(jī)APP,同時(shí),主控端還可以驅(qū)動(dòng)GSM模塊將數(shù)據(jù)通過(guò)短信的形式發(fā)送給用戶手機(jī)。蜂鳴器完成當(dāng)出現(xiàn)警報(bào)能夠報(bào)警通的功能。具體模塊的功能介紹如下:(1)過(guò)RFID模塊對(duì)患者和醫(yī)護(hù)人員信息進(jìn)行登記。(2)通過(guò)人體紅外傳感器和超聲波測(cè)距傳感器以及溫濕度傳感器對(duì)病房?jī)?nèi)環(huán)境進(jìn)行檢測(cè)。(3)主控單元采用STM32F103單片機(jī),收集傳感器數(shù)據(jù)然后顯示出來(lái),同時(shí)進(jìn)行判斷是否需要報(bào)警。(4)使用ESP8266模塊作為下位機(jī)和APP通信的中轉(zhuǎn)站。(5)使用GSM模塊將報(bào)警信息發(fā)送到特定手機(jī)上。通過(guò)主控單元的協(xié)調(diào),各個(gè)模塊配合工作。在自動(dòng)模式下,下位機(jī)監(jiān)控病房?jī)?nèi)的溫濕度參數(shù)然后將數(shù)據(jù)顯示在液晶屏幕上。1.1方案選擇與原理分析在此,僅對(duì)比較重要的模塊進(jìn)行方案選擇和原理分析,簡(jiǎn)單的模塊例如按鍵,在這里不再進(jìn)行方案選擇和原理分析。1.1.1信息錄入功能方案選擇方案一:采用指紋的方式進(jìn)行信息錄入依據(jù)是每個(gè)人的指紋都是獨(dú)一無(wú)二的,考慮到錄入信息的便捷性和準(zhǔn)確性以及安全性,可以考慮采用指紋的方式進(jìn)行錄入信息。方案二:采用RFID射頻卡的方式進(jìn)行信息錄入RFID是一種常用的信息記錄載體,在日常生活中經(jīng)常能夠見到,例如校園卡,就診卡等,其特點(diǎn)是成本較低且具有存儲(chǔ)信息的功能,而且攜帶方便,可以在射頻卡表面打印一些信息。正是由于這些特點(diǎn),因此,射頻IC卡廣泛被大眾接受。針對(duì)方案一,從硬件角度分析,需要一組串口接口用來(lái)與模塊進(jìn)行通信,這個(gè)對(duì)于單品阿吉來(lái)說(shuō)不是很困難。從軟件角度分析,需要軟件進(jìn)行配合對(duì)指紋信息進(jìn)行識(shí)別和指紋信息存儲(chǔ)。從成本的角度來(lái)說(shuō),一個(gè)指紋模塊大約需要70元人民幣,價(jià)格稍貴。針對(duì)方案二,從硬件角度分析,需要增加一組通信接口,對(duì)于單片機(jī)來(lái)說(shuō),使用普通IO即可實(shí)現(xiàn)與模塊的通信。從軟件角度來(lái)說(shuō),需要對(duì)應(yīng)的模塊驅(qū)動(dòng)程序以及信息存儲(chǔ)。從成本分析,一款RFID模塊僅需大約25元。成本較低。綜合兩個(gè)方案,從本次設(shè)計(jì)考慮,場(chǎng)景是在醫(yī)院中,可能會(huì)出現(xiàn)殘疾人的情況,而且方案一價(jià)格和硬件成本呢都比較高,因此選用方案二作為本次設(shè)計(jì)中進(jìn)行信息錄入。1.1.2溫濕度模塊方案選擇方案一:采用溫度檢測(cè)和濕度檢測(cè)獨(dú)立的方式考慮到溫度和濕度的檢測(cè)點(diǎn)可能會(huì)不同,因此將溫度濕度檢測(cè)分開,這樣在模塊的使用布局方面變得更加靈活,更加人性化。溫度檢測(cè)可以采用常用的溫度檢測(cè)模塊DS18B20,濕度檢測(cè)也有常用的模塊HR202濕敏傳感器。方案二:采用溫濕度檢測(cè)一體模塊對(duì)于單片機(jī)控制單元,與外設(shè)的通信肯定越簡(jiǎn)單約好,因此考慮將溫濕度檢測(cè)放到一起,因?yàn)槎紝儆诃h(huán)境檢測(cè),而且方案比較成熟,這會(huì)給電路的設(shè)計(jì)和軟件代碼的編寫帶來(lái)很大的便利性,有助于順利完成本次設(shè)計(jì)。針對(duì)方案一,優(yōu)點(diǎn)就是對(duì)于用戶來(lái)說(shuō),溫度和濕度的檢測(cè)點(diǎn)的設(shè)置就更加的靈活,特別適合是對(duì)與溫度和濕度測(cè)試需要不同點(diǎn)時(shí)。但是從成本和設(shè)計(jì)實(shí)現(xiàn)的角度來(lái)說(shuō),首先成本會(huì)增加,第二也不利于設(shè)計(jì)的順利進(jìn)行。針對(duì)方案二,優(yōu)點(diǎn)就是對(duì)于設(shè)計(jì)者來(lái)說(shuō)方便了設(shè)計(jì),也節(jié)約了成本??紤]到使用場(chǎng)景是在病房中,并未對(duì)溫度和濕度的測(cè)試點(diǎn)有單獨(dú)的要求,因此采用方案二溫濕度一體模塊完成對(duì)病房中溫濕度的檢測(cè)。1.1.2主控單元的選擇方案一:采用STM32單片機(jī)作為主控STM32單片機(jī)在工業(yè)控制和智能家居中經(jīng)常被使用,由于其功能強(qiáng)大,具有豐富的外設(shè)和接口,可以滿足大多數(shù)的應(yīng)用場(chǎng)景,因此被廣泛使用,且價(jià)格便宜,使用C語(yǔ)言進(jìn)行編程。這在一定程度上位軟件設(shè)計(jì)減輕了壓力。方案二:采用FPGA作為主控單元FPGA具有運(yùn)行速度快,支持并行執(zhí)行的特點(diǎn),由于可以工作在較高的時(shí)鐘頻率下,因此對(duì)于一些對(duì)時(shí)序要求較為嚴(yán)格的外設(shè),F(xiàn)PGA是一款不錯(cuò)的主控選擇。但是從編程角度來(lái)看,對(duì)其編程工作量極大,由于沒(méi)有庫(kù)函數(shù)的支持,因此幾乎所有的代碼都需要自己手動(dòng)編寫,不利于設(shè)計(jì)的按時(shí)完成。針對(duì)方案一,STM32具有強(qiáng)大的庫(kù)函數(shù)支持,因此對(duì)與一些常用的外設(shè)和通信協(xié)議可以直接通過(guò)調(diào)用庫(kù)函數(shù)的方式實(shí)現(xiàn),因此編程靈活,價(jià)格低廉。針對(duì)方案二,雖然支持較高的時(shí)鐘頻率,對(duì)視編程變得不那么靈活,考慮到本次設(shè)計(jì)的應(yīng)用場(chǎng)景是在病房中,使用單片機(jī)即可滿足程序?qū)\(yùn)行速度的要求。綜上所述,采用STM32單片機(jī)作為本次設(shè)計(jì)的主控單元。1.1.3顯示模塊方案分析方案一:采用TFT液晶進(jìn)行顯示TFT液晶分辨率高,能夠顯示多種色彩,同時(shí)支持觸摸操作,但是接口相當(dāng)復(fù)雜,有20幾根信號(hào)線需要主控單元驅(qū)動(dòng),對(duì)于硬件電路設(shè)計(jì)來(lái)說(shuō),是一個(gè)要特別注意的問(wèn)題,因?yàn)榫€多的時(shí)候在制作的時(shí)候容易出錯(cuò)。方案二:采用OLED液晶進(jìn)行顯示OLED具有有限的分辨率,但是能夠?qū)⑾胍@示的東西清晰顯示出來(lái)。一般不支持觸摸操作,當(dāng)需要進(jìn)行顯示時(shí),不需要開背光即可清楚顯示。而且接線較為簡(jiǎn)單,但是缺點(diǎn)就是尺寸較小,優(yōu)點(diǎn)是功耗較低。針對(duì)方案一,成本較高,布線較為麻煩,硬件設(shè)計(jì)存在一定的困難,對(duì)于軟件來(lái)說(shuō),有庫(kù)函數(shù)可以調(diào)用,工作量并沒(méi)有增加很多。針對(duì)方案二,低成本,硬件設(shè)計(jì)簡(jiǎn)單,同樣在軟件設(shè)計(jì)方面也有驅(qū)動(dòng)函數(shù)可以調(diào)用??紤]到本設(shè)計(jì)的需求,因?yàn)榇蠖鄶?shù)是配合APP進(jìn)行顯示,因此對(duì)與顯示屏的尺寸要求不高,結(jié)合制作難易程度和成本三者考慮,選用方案二作為本次設(shè)計(jì)的液晶顯示方案。1.1.4手機(jī)端程序編寫語(yǔ)言方案方案一:采用易語(yǔ)言易語(yǔ)言最大的特點(diǎn)是使用中文來(lái)進(jìn)行編程,對(duì)于初學(xué)編程的用戶來(lái)說(shuō)是比較理想的選擇,但是不利于后期對(duì)于APP的維護(hù),同時(shí)因?yàn)槭莿傞_始流行,所以對(duì)于一些特殊的應(yīng)用,比如連接局域網(wǎng)并沒(méi)有很多的資料。方案二:采用JAVA語(yǔ)言使用JAVA語(yǔ)言進(jìn)行APP開發(fā)需要有一定的代碼編寫能力,且要求對(duì)JAVA有一定的掌握。雖然在前期學(xué)習(xí)的過(guò)程中會(huì)遇到很多問(wèn)題,但是通過(guò)JAVA編寫出來(lái)的APP性能比較穩(wěn)定,且在一些特殊的需求方面也容易找到資料進(jìn)行學(xué)習(xí)。針對(duì)方案一,雖然對(duì)于初學(xué)者非常友好,但是使用它的用戶不是很廣泛,這就帶來(lái)了一個(gè)重要的問(wèn)題,就是APP不利于后期維護(hù)和更新,同時(shí)對(duì)一些特殊的應(yīng)用開發(fā)過(guò)程不是那么簡(jiǎn)單。針對(duì)方案二,前期學(xué)習(xí)過(guò)程需要一定的時(shí)間,但是用戶廣泛,資料豐富,有利于后期的維護(hù)??紤]到使用場(chǎng)景對(duì)設(shè)計(jì)的需求,和APP的維護(hù)方面,選擇方案二作為本次設(shè)計(jì)APP的編程語(yǔ)言。2方案原理分析本小節(jié)對(duì)已選擇的方案的工作原理進(jìn)行分析,主要分為4個(gè)部分,分別為RC522工作原理分析、溫濕度模塊工作原理分析和GSM模塊工作原理分析以及WIFI模塊的工作原理分析。2.1RC522工作原理分析根據(jù)手冊(cè)可以知道,RC522是驅(qū)動(dòng)芯片的名字,該芯片工作在13.56MHz頻率下,可以對(duì)射頻卡進(jìn)行讀寫操作。芯片內(nèi)部功能框圖如圖2.1所示。圖2.1芯片內(nèi)部功能框圖可以看出,芯片內(nèi)部包含模擬電路部分和數(shù)字電路部分,其中模擬接口包含調(diào)制器,天線驅(qū)動(dòng)器,接收器以及放大電路,完成射頻信號(hào)的調(diào)制和解調(diào)。數(shù)字部分則包含非接觸UART和FIFO緩存器以及協(xié)議轉(zhuǎn)換器。工作流程為RF電平檢測(cè)器和數(shù)據(jù)模式檢測(cè)器將檢測(cè)到的信息發(fā)送給芯片內(nèi)部的非接觸UART,通過(guò)非接觸UART對(duì)數(shù)據(jù)進(jìn)行處理完成與主機(jī)通信的協(xié)議要求。FIFO作為數(shù)據(jù)緩沖,用作協(xié)議轉(zhuǎn)換的數(shù)據(jù)緩沖器。當(dāng)模擬接口接收到射頻模擬信號(hào)之后,首先進(jìn)入RF電平檢測(cè)器對(duì)信號(hào)進(jìn)行門限判決,然后將高低電平信號(hào)送入數(shù)據(jù)模式檢測(cè)器,對(duì)數(shù)據(jù)進(jìn)行解析。數(shù)據(jù)模式檢測(cè)器將解析的數(shù)據(jù)發(fā)送給UART后,既可以通過(guò)寄存器組進(jìn)行數(shù)據(jù)暫存然后通過(guò)串口發(fā)送給主機(jī),也可以通過(guò)FIFO進(jìn)行數(shù)據(jù)存儲(chǔ),然后將數(shù)據(jù)通過(guò)SPI或者IIC協(xié)議發(fā)送給主機(jī)。完成協(xié)議轉(zhuǎn)換功能。以滿足不同用戶的不同通信協(xié)議要求。 微控制器通過(guò)對(duì)RC522芯片中的寄存器操作完成數(shù)據(jù)的寫入和讀取,這里對(duì)一些核心的寄存器進(jìn)行介紹。首先是中斷相關(guān)寄存器,這里對(duì)中斷請(qǐng)求標(biāo)志寄存器進(jìn)行介紹,根據(jù)芯片手冊(cè),寄存器字段分布如圖2.2所示。圖2.2寄存器字段可以看出,此寄存器共8位,第兩位為RFU標(biāo)志位,第二位為當(dāng)CRC命令有效且所有數(shù)據(jù)被處理時(shí)的標(biāo)志位。當(dāng)為高電平時(shí)表示有效。第三位為RFU位,第四位表示當(dāng)SIGIN有效標(biāo)志位,置位條件是當(dāng)檢測(cè)到一個(gè)上升沿或者下降沿時(shí)有效。第6和第5位表示RFU位,第七位表示終端屏蔽位,當(dāng)該位置一表示終端被屏蔽,當(dāng)該位置零表示終端屏蔽被清除。2.2溫濕度模塊工作原理分析DHT11溫濕度模塊可以自動(dòng)檢測(cè)環(huán)境中的溫濕度信息,并將檢測(cè)結(jié)果存儲(chǔ)在寄存器中。下面對(duì)其工作原理從硬件工作原理和軟件工作原理進(jìn)行分析。硬件原理分析DHT11溫濕度傳感器內(nèi)部包含兩部分電路,一部分是一款溫濕度復(fù)合傳感器,該傳感器是已經(jīng)經(jīng)過(guò)校準(zhǔn)的傳感器,以確保采集到的數(shù)據(jù)的可靠性與穩(wěn)定性。復(fù)合傳感器包含一個(gè)濕度傳感器和一個(gè)溫度傳感器,其中濕度傳感器為電容式濕度傳感器。第二部分是一個(gè)8位的微控制器。通過(guò)微控制器將溫濕度檢測(cè)模塊的檢測(cè)結(jié)果讀出,然后存儲(chǔ)到微控制器中,外界主控單元只需要與DHT11內(nèi)部的微控制器進(jìn)行通信即可將溫濕度檢測(cè)結(jié)果讀出。之所以要增加一個(gè)8位的微控制器在檢測(cè)模塊中,是因?yàn)樵谖⒖刂破髦谐诵枰@取溫濕度檢測(cè)模塊的檢測(cè)結(jié)果,還需要對(duì)檢測(cè)結(jié)果進(jìn)行誤差處理。為了降低功耗,該模塊與外界通信采用單總線的方式,因此在硬件設(shè)計(jì)中,需要將外部的數(shù)據(jù)線進(jìn)行上拉處理。通信協(xié)議分析DHT11采用標(biāo)準(zhǔn)單總線接口,單總線就是使用一根信號(hào)線完成通信雙方的數(shù)據(jù)傳輸。在傳輸過(guò)程中,需要傳輸數(shù)據(jù)信息和控制信息。在通信時(shí)需要將微處理器的IO端口設(shè)置為漏極開路或者三態(tài)端口,以便可以交換數(shù)據(jù)線的控制權(quán)。通常在外部需要將數(shù)據(jù)線進(jìn)行上拉處理,然后即可按照通信協(xié)議進(jìn)行信息的傳輸。單總線傳輸數(shù)據(jù)的幀格式如圖2.3所示。圖2.3DHT11單總線數(shù)據(jù)幀格式 可以看出,在數(shù)據(jù)傳輸時(shí),主機(jī)先發(fā)送起始信號(hào),然后釋放總線,將總線控制權(quán)交給從機(jī)(這里指DHT11),然后從機(jī)發(fā)送響應(yīng)信號(hào)。在上述握手過(guò)程結(jié)束之后,便開始數(shù)據(jù)傳輸。數(shù)據(jù)包含40bit,其中前8比特表示溫度結(jié)果的高八位,然后是溫度結(jié)果的低八位,然后傳輸濕度結(jié)果的高八位和低八位,最后發(fā)送8比特校驗(yàn)位。每8比特都是先發(fā)高位,因此在數(shù)據(jù)接收的時(shí)候,需要將數(shù)據(jù)進(jìn)行移位處理。具體的時(shí)序要求見表2.1。表2.1單總線數(shù)據(jù)格式定義表名稱單總線格式定義起始信號(hào)微處理器把數(shù)據(jù)總線(SDA)拉低一段時(shí)間(至少1ms),通知傳感器準(zhǔn)備數(shù)據(jù)。響應(yīng)信號(hào)傳感器把數(shù)據(jù)總線(SDA)拉低80us,再接高80us以響應(yīng)主機(jī)的起始信號(hào)。數(shù)據(jù)格式收到主機(jī)起始信號(hào)后,傳感器一次性從數(shù)據(jù)總線(SDA)傳出40位數(shù)據(jù),高位先出濕度濕度分辨率是16比特,高位在前;傳感器輸出的濕度值是實(shí)際濕度值的10倍。溫度溫度分辨率是16比特,高位在前;傳感器傳出的溫度值是實(shí)際溫度值的10倍;溫度最高位(bit15)等于1表示負(fù)溫度,溫度最高位(bit15)等于0表示正溫度,溫度除了最高位[bit14~bit0]的表示溫度值。校驗(yàn)位校驗(yàn)位=濕度高位+濕度低位+溫度高位+溫度低位按照上述表格的數(shù)據(jù)格式定義,便可以對(duì)接收到的數(shù)據(jù)進(jìn)行還原處理。單總線的通信時(shí)序見圖2.4所示。圖2.4單總線的通信時(shí)序從圖中可以看出,對(duì)起始信號(hào)和數(shù)據(jù)信號(hào)的高電平與低電平維持時(shí)間進(jìn)行了規(guī)定,具體數(shù)值見表2.2。表2.2單總線信號(hào)特征符號(hào)參數(shù)最小值常用值最大值單位Tbe主機(jī)起始信號(hào)拉低時(shí)間0.8120毫秒Tgo主機(jī)釋放總線時(shí)間1030200微秒Trel響應(yīng)低電平時(shí)間758085微秒Treh響應(yīng)高電平時(shí)間758085微秒Tlow信號(hào)0、1低電平時(shí)間485055微秒Th0信號(hào)0高電平時(shí)間222630微秒Th1信號(hào)1高電平時(shí)間687075微秒Ten傳感器釋放總線時(shí)間455055需要注意的是,單總線讀出的溫濕度值是上次傳感器的檢測(cè)結(jié)果,而且相鄰兩次溫濕度的讀取時(shí)間間隔要大于2秒,以便給溫濕度模塊數(shù)據(jù)處理時(shí)間。2.3GSM模塊工作原理分析本次使用的GSM模塊實(shí)物圖如圖2.5所示。圖2.5GSM模塊實(shí)物圖GSM模塊內(nèi)部集成了GSM射頻處理芯片、基帶處理芯片、存儲(chǔ)器和功放器件等部件。同時(shí)內(nèi)部集成獨(dú)立操作系統(tǒng)并提供標(biāo)準(zhǔn)數(shù)據(jù)輸入輸出接口。通常來(lái)說(shuō),GSM模塊完成短信收發(fā)、語(yǔ)音通話和GPRS數(shù)據(jù)傳輸?shù)墓δ?,比較簡(jiǎn)單的手機(jī)系統(tǒng)便可以使用GSM模塊加上按鍵模塊和顯示器以及電池組成。本次設(shè)計(jì)主要使用到短息業(yè)務(wù),因此對(duì)短信收發(fā)實(shí)現(xiàn)進(jìn)行分析。短信息發(fā)送流程為微控制器通過(guò)通信接口將數(shù)據(jù)指令發(fā)送到GSM模塊內(nèi)部操作系統(tǒng)中,由操作系統(tǒng)對(duì)數(shù)據(jù)進(jìn)行解析,然后再將數(shù)據(jù)發(fā)送給基帶處理芯片,數(shù)據(jù)由基帶處理芯片出來(lái)之后到GSM射頻處理芯片然后到功放器件將數(shù)據(jù)通過(guò)模擬信號(hào)發(fā)出。短信息接收流程為發(fā)送流程的逆向流程。首先功放模塊先對(duì)接收到的模擬信號(hào)進(jìn)行放大處理,然后將放大后的信號(hào)傳送給GSM射頻處理單元,經(jīng)過(guò)射頻處理之后將模擬信號(hào)轉(zhuǎn)化為數(shù)字信號(hào),然后將數(shù)字信號(hào)發(fā)送給基帶處理單元,最后發(fā)送給內(nèi)部操作系統(tǒng)。操作系統(tǒng)將信息按照一定的數(shù)據(jù)格式通過(guò)通信接口發(fā)送給外部處理器。這樣便完成了短信的的收發(fā)流程。2.4WIFI模塊工作原理分析本次使用的WIFI模塊型號(hào)為ESP-015WiFi模塊,其實(shí)物圖如圖2.6所示。圖2.6WIFI模塊實(shí)物圖ESP-015WiFi模塊使用串口與外界進(jìn)行通信,微控制器可以通過(guò)串口對(duì)WIFI模塊進(jìn)行配置和數(shù)據(jù)傳輸。模塊支持TCP/IP協(xié)議棧和IEEE802.11協(xié)議棧,可以實(shí)現(xiàn)串口數(shù)據(jù)到無(wú)線網(wǎng)絡(luò)數(shù)據(jù)之間的轉(zhuǎn)換。也就是說(shuō),外部微控制器可以使用串口設(shè)備加入無(wú)線網(wǎng)絡(luò)。該模塊有兩種工作方式,第一種是工作在主動(dòng)串口聯(lián)網(wǎng)設(shè)備,也就是說(shuō)在每次進(jìn)行數(shù)據(jù)交互之前,由模塊主動(dòng)進(jìn)行網(wǎng)絡(luò)連接,當(dāng)連接成功后再進(jìn)行數(shù)據(jù)交互。第二種為被動(dòng)串口連網(wǎng)設(shè)備,也就是說(shuō),在沒(méi)有數(shù)據(jù)進(jìn)行交互時(shí),WIFI模塊處于等待狀態(tài),由服務(wù)器發(fā)起數(shù)據(jù)傳輸,WIFI模塊被動(dòng)進(jìn)行數(shù)據(jù)傳輸。在本次設(shè)計(jì)中采用主動(dòng)串口連網(wǎng)設(shè)備,每次向手機(jī)發(fā)送數(shù)據(jù)時(shí)都需要進(jìn)行連接,然后再主動(dòng)發(fā)送數(shù)據(jù),手機(jī)APP接收數(shù)據(jù)后進(jìn)行解析,然后將解析后的數(shù)據(jù)顯示出來(lái)。3硬件設(shè)計(jì)分析系統(tǒng)總體硬件圖由于過(guò)大放到附錄中,這里對(duì)硬件設(shè)計(jì)進(jìn)行分模塊介紹。3.1最小系統(tǒng)電路3.1.1單片機(jī)電路設(shè)計(jì)圖3.1STM32單片機(jī)引腳連接圖在對(duì)芯片的連接中需要注意一些特殊引腳,比如啟動(dòng)方式配置引腳。這里先對(duì)STM32啟動(dòng)方式進(jìn)行介紹。對(duì)于STM32系列單片機(jī)來(lái)說(shuō),啟動(dòng)方式一般分為三種。第一種是從用戶閃存中啟動(dòng),也就是從芯片的內(nèi)置的flash啟動(dòng)。第二種是從SRAM啟動(dòng),也即是從芯片內(nèi)置的RAM區(qū)啟動(dòng)。第三種是從系統(tǒng)存儲(chǔ)器,在這個(gè)儲(chǔ)存器中,有一段Bootloader程序,一旦燒錄則無(wú)法修改。STM32單片機(jī)通過(guò)配置兩個(gè)特殊引腳的高低電平來(lái)選擇以那種方式啟動(dòng),一般來(lái)說(shuō)程序是從用戶閃存中啟動(dòng),也就是對(duì)應(yīng)BOOT1=X、BOOT0=0,這是正常的啟動(dòng)方式,因此在這里需要將BOOT0拉低。3.1.2晶振電路設(shè)計(jì)分析圖3.2時(shí)鐘電路原理圖根據(jù)芯片手冊(cè),STM32單片機(jī)外接8MHz的無(wú)源晶體振蕩器,但是芯片工作在72MHz,這是由于芯片內(nèi)部有一個(gè)倍頻器,將外部由晶振輸入的8MHz進(jìn)行9倍頻,然后輸出72MHz供系統(tǒng)使用,因此外部的8M時(shí)鐘電路的正確性決定了系統(tǒng)能否進(jìn)行正常的工作。通過(guò)查閱資料了解到,一般在晶振兩端接入22pf的電容,這兩只電容一般也稱為晶振的負(fù)載電容,因?yàn)樵诰д竦耐鈿ど蠘?biāo)注的振蕩頻率是在外接負(fù)載電容時(shí)測(cè)得的,因此在實(shí)際使用的時(shí)候,也需要加上負(fù)載電容,以保證晶振頻率的正確性。3.1.3復(fù)位電路設(shè)計(jì)分析復(fù)位對(duì)于一個(gè)數(shù)字電路系統(tǒng)非常重要,因?yàn)樵陔娐穭倓偵想娭?,?shù)字電路的狀態(tài)并不是穩(wěn)定的,這個(gè)時(shí)候需要給電路一個(gè)激勵(lì),以便進(jìn)入一個(gè)特定的狀態(tài)。這個(gè)激勵(lì)就是復(fù)位電路存在的意義,有了復(fù)位電路同時(shí)可以在程序跑飛的情況下進(jìn)行復(fù)位。根據(jù)查閱的資料得知,一般復(fù)位電路是由RC組成的。本次設(shè)計(jì)復(fù)位電路如圖3.3所示。圖3.3復(fù)位電路設(shè)計(jì)在剛上電時(shí),由于電容兩端沒(méi)有電壓,可以看作短路狀態(tài),這個(gè)時(shí)候單片機(jī)的復(fù)位引腳為低電平,當(dāng)此低電平維持一定的時(shí)間,便可以使單片機(jī)完成復(fù)位動(dòng)作。由流經(jīng)電容的電流I和電容兩端的電壓變化關(guān)系式:I=C?d可以得到:I?dt=通過(guò)對(duì)上式進(jìn)行積分化簡(jiǎn)得到:VCC=R一般在電容充電至0.9VCC時(shí)完成復(fù)位,此時(shí)可以得到t=9RC,其中t就是復(fù)位所需要的時(shí)間。根據(jù)芯片手冊(cè),單片機(jī)復(fù)位至少1.5ms,選用R為10KΩ,電容可以選擇0.1uf。滿足復(fù)位要求。3.2電源電路設(shè)計(jì)分析分析系統(tǒng)設(shè)計(jì)供電情況,有些外設(shè)需要5V供電,有一些需要3.3V供電,因此采用5V電源輸入,對(duì)于單片機(jī)等需要的3.3V則經(jīng)過(guò)一個(gè)LDO線性穩(wěn)壓器穩(wěn)壓得到。電路原理圖如圖3.4所示:圖3.4電源電路原理圖直流電源輸入選用DC輸入端子,在開關(guān)之后加入LED進(jìn)行上電提示。然后對(duì)輸入進(jìn)來(lái)的5V直流電源進(jìn)行電容濾波處理。經(jīng)過(guò)濾波處理之后,將電源輸入到LDO線性穩(wěn)壓器中,這里選用的是LM1117,輸出3.3V電源供給單片機(jī)使用。在輸入端也增加濾波電容,提高電源電路的穩(wěn)定性。元件的參數(shù)選取方面選用常用的10uf與10nf電容。3.3實(shí)時(shí)時(shí)鐘電路設(shè)計(jì)分析分析設(shè)計(jì)的使用場(chǎng)景是在病房中,病人可能需要看時(shí)間但是又不是很方便去翻找手機(jī),于是考慮增加時(shí)鐘電路,將實(shí)時(shí)時(shí)間顯示在液晶上。圖3.5為本次設(shè)計(jì)實(shí)時(shí)時(shí)鐘電路的原理圖。圖3.5實(shí)時(shí)時(shí)鐘電路原理圖在電路設(shè)計(jì)方面,依據(jù)芯片手冊(cè),在2引腳和3引腳兩端加入32.768KHzd的晶振為時(shí)鐘芯片提供穩(wěn)定時(shí)鐘。同時(shí)需要對(duì)時(shí)鐘、數(shù)據(jù)、復(fù)位引腳進(jìn)行上拉處理??紤]到可能需要對(duì)設(shè)備進(jìn)行關(guān)機(jī),因此為實(shí)時(shí)時(shí)鐘電路加入備用電源,也就是8引腳連接的紐扣電池。這里實(shí)時(shí)時(shí)鐘所有的用來(lái)都從紐扣電池獲取。4軟件設(shè)計(jì)分析本次設(shè)計(jì)軟件設(shè)計(jì)部分主要分為5個(gè)小節(jié),前3個(gè)小節(jié)是對(duì)本次設(shè)計(jì)中的主要協(xié)議代碼實(shí)現(xiàn)進(jìn)行分析,第四小節(jié)是下位機(jī)工作流程代碼分析,第五小節(jié)是手機(jī)APP端工作流程代碼分析。4.1液晶時(shí)序在本設(shè)計(jì)中所采用的液晶是0.96寸OLED液晶,它采用SSD1306芯片進(jìn)行驅(qū)動(dòng),我們使用液晶的過(guò)程就是和SSD1306芯片通信的過(guò)程,因此,了解并掌握SSD1306芯片的通信協(xié)議非常重要。SSD1306驅(qū)動(dòng)芯片采用IIC通信協(xié)議,這里對(duì)該通信協(xié)議進(jìn)行簡(jiǎn)單的介紹。IIC協(xié)議采用兩根信號(hào)線完成主機(jī)和從機(jī)的通信。一根信號(hào)叫SCL信號(hào),另一根叫SDA信號(hào)。其中SCL信號(hào)為時(shí)鐘信號(hào),SDA為數(shù)據(jù)信號(hào)。根據(jù)芯片手冊(cè)上的介紹,高速IIC通信速率可以達(dá)到400kbs以上。具體的通信協(xié)議見圖4.1:圖4.1IIC協(xié)議時(shí)序圖從時(shí)序圖中可以看出,當(dāng)要和SSD1306驅(qū)動(dòng)芯片進(jìn)行通信時(shí),首先要發(fā)送起始信號(hào),也就是在SCL為高電平的時(shí)候,拉高SDA信號(hào),同時(shí)保證SDA高電平持續(xù)時(shí)間大于4.7us。根據(jù)這個(gè)要求,編寫如下代碼:圖4.2IIC協(xié)議起始信號(hào)代碼圖下面對(duì)代碼進(jìn)行分析,首先將SCLK置為1,然后將SDIN置1,這里沒(méi)有明顯的延時(shí)等待,這是由于單片機(jī)的指令執(zhí)行速度已經(jīng)大于4.7us了,不需要編寫額外的延遲時(shí)間,因此在執(zhí)行將SDIN置1的指令之后,直接將SDIN置0,然后根據(jù)協(xié)議要求,將SCLK拉低。通過(guò)實(shí)際檢驗(yàn),兩條指令執(zhí)行的時(shí)間間隔確實(shí)滿足IIC時(shí)序要求。其他的例如終止信號(hào),檢測(cè)應(yīng)答和非應(yīng)答原理與起始信號(hào)類似,在這里不再贅述。4.2SR-04超聲波模塊驅(qū)動(dòng)在本設(shè)計(jì)中,根據(jù)設(shè)計(jì)要求,超聲波模塊用來(lái)檢測(cè)外來(lái)人員的距離,如果距離小于設(shè)定值,則會(huì)發(fā)出警報(bào),因此需要對(duì)如何正確的驅(qū)動(dòng)超聲波模塊進(jìn)行測(cè)距是完成這一功能的重要因素。下面對(duì)超聲波模塊測(cè)距的原理和對(duì)應(yīng)的代碼編寫思路進(jìn)行說(shuō)明。超聲波模塊包含兩個(gè)部分,一個(gè)是超聲波發(fā)射端,一個(gè)是超聲波接收端,測(cè)距的過(guò)程是通過(guò)單片機(jī)控制發(fā)出一個(gè)持續(xù)時(shí)間超過(guò)10us的高電平,驅(qū)動(dòng)超聲波發(fā)射端發(fā)出固定頻率的超聲波,然后將剛才的高電平拉低,同時(shí),Echo信號(hào)由低電平變?yōu)楦唠娖?,?dāng)發(fā)射出的超聲波遇到物體時(shí),會(huì)反射回來(lái),這個(gè)時(shí)候,當(dāng)接收端接收到反射回來(lái)的超聲波,Echo信號(hào)又會(huì)被拉低成為低電平。按照上述流程,可以看出,物體與超聲波模塊的距離的來(lái)回時(shí)間,就是超聲波模塊Echo信號(hào)高電平的持續(xù)時(shí)間,也就是聲音在空氣中傳播的時(shí)間,然后再根據(jù)聲音的速度與距離的關(guān)系,可以算出這一個(gè)來(lái)回的距離,然后將算出的距離除以2,便得到超聲波模塊與待測(cè)物理的距離。具體信號(hào)編號(hào)見下圖:圖4.3超聲波模塊測(cè)距過(guò)程信號(hào)變化根據(jù)圖4.3所示,只需要使用單片機(jī)發(fā)出一個(gè)大于10us的高電平信號(hào)即可驅(qū)動(dòng)超聲波發(fā)出測(cè)距聲波。因此編寫如下圖所示的驅(qū)動(dòng)代碼。圖4.4超聲波模塊測(cè)距驅(qū)動(dòng)代碼有了驅(qū)動(dòng),如果要實(shí)現(xiàn)對(duì)距離的測(cè)量,還需要對(duì)Echo信號(hào)拉高的時(shí)間進(jìn)行測(cè)量,在本次設(shè)計(jì)中,采用定時(shí)器來(lái)對(duì)該時(shí)間進(jìn)行測(cè)量,通過(guò)定時(shí)器的讀數(shù)的大小來(lái)反映時(shí)間的長(zhǎng)短。具體驅(qū)動(dòng)和計(jì)算過(guò)程見圖4.5。圖4.5超聲波模塊計(jì)算代碼在本次設(shè)計(jì)中,對(duì)于Echo信號(hào)高電平的持續(xù)時(shí)間測(cè)量使用定時(shí)器來(lái)實(shí)現(xiàn),當(dāng)運(yùn)行圖超聲波模塊測(cè)距驅(qū)動(dòng)代碼后,便等待Echo信號(hào)變?yōu)楦唠娖?,然后使能定時(shí)器進(jìn)行定時(shí),然后等待Echo信號(hào)變?yōu)榈碗娖剑汴P(guān)閉定時(shí)器。通過(guò)定時(shí)器的計(jì)數(shù)值,乘以計(jì)數(shù)周期然后在帶入響應(yīng)的公式便可得到距離。本次設(shè)計(jì)中對(duì)公式進(jìn)行了化簡(jiǎn),得到了計(jì)數(shù)值與距離的關(guān)系。經(jīng)過(guò)實(shí)際檢驗(yàn),關(guān)系也是正確的。4.3RFID射頻讀卡模塊驅(qū)動(dòng)根據(jù)設(shè)計(jì)題目要求,需要能夠?qū)︶t(yī)生和病人的信息進(jìn)行錄入。為了實(shí)現(xiàn)這一目標(biāo),采用RFID射頻讀卡模塊來(lái)進(jìn)行信息的記錄。用兩張射頻卡來(lái)模擬病人和醫(yī)生,通過(guò)兩張卡的序列號(hào)來(lái)進(jìn)行區(qū)分。根據(jù)MFRC522手冊(cè)可以知道,其可以支持多種通信協(xié)議與控制器進(jìn)行通信,本次設(shè)計(jì)選用SPI通信協(xié)議。手冊(cè)中對(duì)SPI通信協(xié)議的時(shí)序描述如下:圖4.6RC522SPI通信協(xié)議時(shí)序圖同時(shí),手冊(cè)中對(duì)與SPI通信中的時(shí)間參數(shù)進(jìn)行了規(guī)定:SCK低電平的持續(xù)時(shí)間需要最小為50ns,同時(shí)SPI高電平的持續(xù)時(shí)間最小需要50ns,時(shí)鐘的上升沿到數(shù)據(jù)的變化時(shí)間最小需要25ns,數(shù)據(jù)的變化到時(shí)鐘的上升沿最小需要25ns,時(shí)鐘的下降沿到數(shù)據(jù)穩(wěn)定最大限制為25ns,結(jié)合以上時(shí)序要求,編寫如圖4.7所示代碼:圖4.7RC522SPI驅(qū)動(dòng)發(fā)送代碼可以看出,依據(jù)手冊(cè)描述,每次最先發(fā)送數(shù)據(jù)最高位MSB,因此這里將要發(fā)送的數(shù)據(jù)與0x80,取其最高位,然后延時(shí)200us,將時(shí)鐘拉低,然后再次延時(shí)200us,將時(shí)鐘拉高,然后再次延時(shí)200us,將數(shù)據(jù)左移一位,刪除掉已經(jīng)發(fā)送的最高位。這樣往復(fù)循環(huán)8次,一個(gè)8位的數(shù)據(jù)就通過(guò)SPI協(xié)議發(fā)送給RC522模塊了。4.4單總線數(shù)據(jù)讀取流程DHT11模塊的數(shù)據(jù)讀取需要按照特定的流程進(jìn)行讀取,通過(guò)查閱相關(guān)手冊(cè)可以知道,單總線數(shù)據(jù)讀取流程圖如圖4.8所示。圖4.8單總線數(shù)據(jù)讀取流程圖從流程圖中可以看出,在上電后需要先對(duì)傳感器進(jìn)行上電初始化,然后主機(jī)發(fā)送讀取設(shè)備信息起始信號(hào),然后主機(jī)釋放數(shù)據(jù)總線,等待傳感器模塊的響應(yīng)信號(hào),然后獲取到傳感器模塊的響應(yīng)信號(hào),則主機(jī)開始接收從機(jī)發(fā)過(guò)來(lái)的40位溫濕度數(shù)據(jù),然后計(jì)算校驗(yàn)位是否正確,如果正確則更新系統(tǒng)中的溫濕度值,如果錯(cuò)誤,則繼續(xù)等待下一次采集。跟新完系統(tǒng)中的溫濕度值后,便等待下一次數(shù)據(jù)傳輸。至此,便完成一次完整的溫濕度數(shù)據(jù)的傳輸。具體代碼見圖4.9。圖4.9溫濕度傳感器通信代碼對(duì)代碼進(jìn)行分析可以知道,代碼按照時(shí)序要求和讀取數(shù)據(jù)流程要求完成。4.5下位機(jī)工作流程代碼分析本小節(jié)介紹下位機(jī)端工作流程代碼,主要完成環(huán)境溫濕度檢測(cè),距離檢測(cè),熱紅外檢測(cè),通過(guò)WiFi模塊與上位機(jī)通信和通過(guò)GSM模塊發(fā)送報(bào)警信息到指定號(hào)碼。其工作的流程圖如圖4.10所示。圖4.10工作的流程圖對(duì)于下位機(jī)端,分為三種種工作模式,一種是自動(dòng)模式,一種是監(jiān)護(hù)模式,一種是手動(dòng)模式。自動(dòng)模式下,下位機(jī)通過(guò)與傳感器進(jìn)行通信,獲取環(huán)境參數(shù)。通過(guò)與DHT11傳感器通信,獲取環(huán)境溫濕度,然后通過(guò)wifi模塊將溫濕度信息發(fā)送給手機(jī)端APP。通過(guò)與DS1302進(jìn)行通信,獲取實(shí)時(shí)時(shí)間,通過(guò)驅(qū)動(dòng)SR-04超聲波測(cè)距模塊,獲取距離參數(shù),通過(guò)AD檢測(cè)熱紅外模塊來(lái)檢測(cè)是否有人活動(dòng)。當(dāng)溫濕度超過(guò)閾值,便通過(guò)wifi模塊向手機(jī)APP發(fā)送報(bào)警信息。在監(jiān)護(hù)模式下,除了實(shí)時(shí)更新環(huán)境溫濕度,上報(bào)溫濕度報(bào)警信息之外,當(dāng)通過(guò)超聲波傳感器和人體紅外傳感器檢測(cè)到有人進(jìn)入,便通過(guò)GSM向固定手機(jī)號(hào)發(fā)送警報(bào)信息。在手動(dòng)模式下,按下按鍵,進(jìn)入病人或者醫(yī)護(hù)人員信息模式,默認(rèn)輸入的信息具有掉電存儲(chǔ)功能。4.6手機(jī)APP軟件代碼設(shè)計(jì)本次設(shè)計(jì)的APP軟件部分,可以分為兩大部分,首先是Android手機(jī)APP設(shè)計(jì)代碼和下位機(jī)設(shè)計(jì)代碼。下面分別對(duì)代碼實(shí)現(xiàn)邏輯和細(xì)節(jié)進(jìn)行說(shuō)明。首先是手機(jī)APP部分,圖4.11是APP部分的程序流程圖。圖4.11APP部分的程序流程圖下面對(duì)流程圖進(jìn)行解釋,程序的開始部分,定義相對(duì)應(yīng)的變量,并對(duì)變量的初始值賦值為空或則false,以便用來(lái)存儲(chǔ)相對(duì)應(yīng)的值。具體代碼實(shí)現(xiàn)如下:圖4.12開始部分根據(jù)設(shè)計(jì)要求,需要對(duì)溫濕度和報(bào)警狀態(tài)進(jìn)行顯示,因此定義相對(duì)應(yīng)的變量,并對(duì)變量的初始值賦值為空或則false,以便用來(lái)存儲(chǔ)相對(duì)應(yīng)的值,可以通過(guò)代碼與圖形界面中的元素進(jìn)行連接,之后就可以將變量中保存的值顯示到手機(jī)APP圖形界面。圖形界面如圖4.13所示:圖4.13手機(jī)端APP圖形界面其中第一欄是輸入IP地址,用于設(shè)定需要連接的WiFi的IP地址,第二欄是端口,和第一欄的IP地址配合使用,當(dāng)設(shè)置完畢之后,點(diǎn)擊連接按鈕,即可進(jìn)行連接。在APP端會(huì)首先開辟一個(gè)socket控件,用于進(jìn)行socket連接。通過(guò)此socket可以實(shí)現(xiàn)與WiFi模塊進(jìn)行socket連接,從而實(shí)現(xiàn)數(shù)據(jù)傳輸。連接成功之后,當(dāng)下位機(jī)發(fā)送溫濕度數(shù)據(jù)后,APP端對(duì)數(shù)據(jù)進(jìn)行解析,如果要將接收到的溫濕度數(shù)據(jù)顯示到前端頁(yè)面的對(duì)應(yīng)欄中。還需要將后端變量與前端頁(yè)面元素進(jìn)行連接。進(jìn)行連接的代碼如圖4.14所示。圖4.14連接代碼連接的意義在于,將后端的變量值顯示到前端的圖形界面上。鏈接之后,當(dāng)接收到數(shù)據(jù)后,需要進(jìn)行數(shù)據(jù)處理,對(duì)應(yīng)的核心代碼如圖4.15所示。圖4.15數(shù)據(jù)處理核心代碼根據(jù)流程圖所示,當(dāng)連接成功之后,接收到消息時(shí),通過(guò)對(duì)消息類型的判斷來(lái)做響應(yīng)的操作。本設(shè)計(jì)中將消息類型分為3種。第一種為TCP斷開連接,也就是說(shuō)當(dāng)APP與下位機(jī)的WiFi模塊的連接意外中斷時(shí),消息類型為1,這是,APP會(huì)更新“連接”按鈕,然后彈出提示信息,表明此時(shí)已經(jīng)和WiFi模塊連接斷開,提示用戶進(jìn)行下一步操作。第二種為TCP連接成功,也就是說(shuō)已經(jīng)和下位機(jī)的WiFi模塊建立正常的通信,同時(shí)彈出提示消息,讓用戶知道現(xiàn)在已經(jīng)和下位機(jī)端連接成功。第三種為從下位機(jī)端接收到數(shù)據(jù)。此時(shí)首先對(duì)數(shù)據(jù)幀進(jìn)行判斷,根據(jù)自己制定的數(shù)據(jù)傳輸協(xié)議,數(shù)據(jù)幀的起始符號(hào)為“T”時(shí),表明此數(shù)據(jù)幀有效。當(dāng)判斷為有效數(shù)據(jù)幀時(shí),便按照協(xié)議進(jìn)行數(shù)據(jù)解析,也就是數(shù)據(jù)幀的第1到第3位傳輸?shù)氖菧囟葦?shù)據(jù),數(shù)據(jù)幀的第3到第5位傳輸?shù)氖菨穸葦?shù)據(jù),第6到第7位傳輸?shù)氖荓ED燈的狀態(tài)。當(dāng)獲取到溫濕度數(shù)據(jù)之后,通過(guò)setText函數(shù)將變量值顯示到手機(jī)應(yīng)用頁(yè)面前端進(jìn)行顯示。然后判斷LED燈的狀態(tài),根據(jù)燈的不同狀態(tài),更新APP端的燈圖形的顏色來(lái)提示用戶。除了對(duì)溫濕度信息進(jìn)行顯示外,使用此APP同時(shí)還可以對(duì)溫濕度上限進(jìn)行設(shè)定,當(dāng)溫濕度超過(guò)此上限后,即可進(jìn)行報(bào)警。設(shè)定上限時(shí),將要輸入的溫濕度上限值填到對(duì)應(yīng)的欄后,點(diǎn)擊“發(fā)送溫濕度閾值”按鈕,即可將設(shè)定值發(fā)送給下位機(jī)。靈活控制其溫濕度報(bào)警閾值。發(fā)送數(shù)據(jù)核心代碼如圖4.16所示。圖4.16發(fā)生數(shù)據(jù)核心代碼根據(jù)制定的協(xié)議,APP端發(fā)送的數(shù)據(jù)幀起始位置符號(hào)應(yīng)為“Z”,因此,設(shè)定發(fā)送數(shù)據(jù)緩沖區(qū)的第0位為“Z”,以便能夠使下位機(jī)正常接收,然后分別將LED燈的狀態(tài)和要設(shè)定的溫濕度信息寫入到發(fā)送緩沖區(qū)中,其中從APP圖形界面獲取設(shè)定值是通過(guò)getText函數(shù)。當(dāng)寫入輸出數(shù)據(jù)流后,socket自動(dòng)進(jìn)行數(shù)據(jù)發(fā)送。然后提示發(fā)數(shù)據(jù)發(fā)送成功,以提高用戶的使用體驗(yàn)。5調(diào)試部分5.1液晶顯示電路調(diào)試根據(jù)前面章節(jié)所述,液晶采用IIC通信協(xié)議,部分核心驅(qū)動(dòng)代碼也在前面章節(jié)有介紹,這里不再贅述。給系統(tǒng)上電,然后使用示波器對(duì)SCK、SDA引腳上的波形進(jìn)行抓取,抓取結(jié)果如圖5.1所示:圖5.1系統(tǒng)顯示結(jié)果和液晶通信引腳波形圖通過(guò)對(duì)5.1波形圖進(jìn)行分析,可以看出,其通信時(shí)序滿足IIC所要求的時(shí)序。通過(guò)液晶顯示結(jié)果也可以驗(yàn)證顯示的正確性。經(jīng)過(guò)時(shí)序分析和顯示結(jié)果可以表明,在軟件方面對(duì)于液晶的驅(qū)動(dòng)邏輯是正確的,同時(shí)也驗(yàn)證的硬件電路設(shè)計(jì)的正確性。5.2DHT11溫濕度模塊的調(diào)試DHT11使用一根線和主控單元進(jìn)行通信,因此只需要用示波器測(cè)其數(shù)據(jù)線即可。測(cè)得波形如圖5.2所示:圖5.2DHT11數(shù)據(jù)傳輸波形從圖5.2中可以看出,通信所需要的起始信號(hào)以及握手信號(hào)都檢測(cè)到了。通過(guò)代碼對(duì)讀取到的DHT11測(cè)得的溫濕度數(shù)據(jù)進(jìn)行顯示,顯示結(jié)果也是正確的,因此軟件方面和硬件電路設(shè)計(jì)部分,關(guān)于DHT11模塊的驅(qū)動(dòng)是正確的。5.3超聲波模塊的調(diào)試關(guān)于超聲波模塊的測(cè)距原理,在前面章節(jié)已經(jīng)敘述過(guò),這里不再贅述。對(duì)于主控單元來(lái)說(shuō),如果要驅(qū)動(dòng)超聲波模塊,只需要將一個(gè)引腳拉高10us即可,然后等待ECHO引腳為高電平,然后開始計(jì)數(shù)。這里對(duì)不同的距離進(jìn)行測(cè)試,同時(shí)抓取驅(qū)動(dòng)引腳和ECHO輸出引腳,觀察不同距離時(shí),兩者信號(hào)的差別,用示波器測(cè)試波形如圖5.3所示:圖5.3不同距離超聲波模塊的輸出信號(hào)區(qū)別通過(guò)對(duì)測(cè)試結(jié)果進(jìn)行觀察,可以看出,當(dāng)測(cè)試距離較短時(shí),ECHO引腳輸出高電平時(shí)間大約為500ps,隨著測(cè)試距離的增大,ECHO引腳輸出的高電平時(shí)間明顯增大。因此可以得出結(jié)論,在硬件設(shè)計(jì)上對(duì)于超聲波模塊是正確的。同時(shí)對(duì)計(jì)算得到的距離和真是距離進(jìn)行比較,結(jié)果存在一定的誤差,但是可有接收,因此對(duì)于超聲波模塊的硬件和軟件可以去頂是能夠正常工作的。5.4RC522模塊調(diào)試RC522模塊通過(guò)SPI通信協(xié)議和單片機(jī)進(jìn)行通信,因此為了確保通信正確,需要測(cè)試在通信過(guò)程中的數(shù)據(jù)信號(hào)是否正常反轉(zhuǎn)以及翻轉(zhuǎn)電平是否正常,需要對(duì)通信時(shí)鐘信號(hào)線和數(shù)據(jù)信號(hào)線進(jìn)行測(cè)量。測(cè)量信號(hào)波形如圖5.4所示。圖5.4RC522通信時(shí)序波形從圖中可以看出,時(shí)鐘信號(hào)翻轉(zhuǎn)正常,數(shù)據(jù)信號(hào)翻轉(zhuǎn)正常,通過(guò)與軟件配合進(jìn)行射頻卡識(shí)別測(cè)試,識(shí)別結(jié)果如圖5.5所示。圖5.5識(shí)別結(jié)果從圖5.5識(shí)別結(jié)果可以看出,讀取到的射頻卡的ID為73EFBB16,表明讀取ID卡片成功,驅(qū)動(dòng)能夠正常使用。5.5GSM模塊的調(diào)試因?yàn)楸敬问褂肎SM模塊進(jìn)行短信測(cè)試,因此需要先使用串口對(duì)模塊的短信業(yè)務(wù)進(jìn)行調(diào)試分析。使用串口進(jìn)行相關(guān)命令調(diào)試結(jié)果如下圖所示,首先發(fā)送AT+CSQ命令,GSM模塊返回OK信息,表示測(cè)試通信成功。測(cè)試結(jié)果如圖3GSM模塊短信指令測(cè)試結(jié)果所示。然后接著進(jìn)行模式的設(shè)置,設(shè)置完成之后使用短信讀取指令進(jìn)行讀取,因?yàn)樵诙绦胖械闹形淖址际峭ㄟ^(guò)編碼映射,因此在串口助手上看到的為亂碼。但是能夠讀取到數(shù)據(jù)就說(shuō)明短信功能工作正常。5.6WIFI模塊的調(diào)試本項(xiàng)測(cè)試完成對(duì)WIFI模塊能否發(fā)出熱點(diǎn)和能否進(jìn)行正常連接進(jìn)行測(cè)試。通過(guò)在程序中對(duì)WIFI模塊的用戶名和密碼進(jìn)行設(shè)置,配置為熱點(diǎn)模式,這樣在上電后WIFI模塊便會(huì)自動(dòng)向外部發(fā)出熱點(diǎn)信號(hào),本次測(cè)試時(shí)將WIFI模塊名配置為“wifi”然后使用手機(jī)的WIFI連接功能進(jìn)行連接,輸入正確的密碼后,連接情況如圖4手機(jī)連接WIFI模塊結(jié)果圖所示。通過(guò)連接結(jié)果可以看出,WIFI模塊工作正常,符合設(shè)計(jì)預(yù)期結(jié)果。5.7手機(jī)APP與下位機(jī)通信測(cè)試此項(xiàng)測(cè)試是為了確保下位機(jī)能夠正常與手機(jī)APP進(jìn)行正常通信,測(cè)試步驟為首先手機(jī)開啟WIFI功能,將下位機(jī)的WIFI模塊配置為熱點(diǎn)模式,通過(guò)手機(jī)WIFI鏈接下位機(jī)熱點(diǎn)。然后開啟APP,進(jìn)行局域網(wǎng)連接。當(dāng)下位機(jī)獲得環(huán)境參數(shù)之后,便通過(guò)WIFI模塊將數(shù)據(jù)按照一定的幀格式發(fā)送給手機(jī)APP,當(dāng)APP接收到數(shù)據(jù)之后,按照約定好的協(xié)議對(duì)數(shù)據(jù)進(jìn)行還原,然后將數(shù)據(jù)顯示出來(lái)。下圖為發(fā)送的數(shù)據(jù)。手機(jī)APP接收到數(shù)據(jù)后,將數(shù)據(jù)顯示到屏幕上,顯示結(jié)果如圖5.9所示??梢钥闯觯謾C(jī)APP通過(guò)WIFI能夠和下位機(jī)進(jìn)行正常通信,可以按照約定的協(xié)議對(duì)下位機(jī)發(fā)送的數(shù)據(jù)進(jìn)行解析。6結(jié)論通過(guò)對(duì)不同模塊的測(cè)試可以知道,各個(gè)模塊在本次設(shè)計(jì)系統(tǒng)中能夠正常工作,表明相關(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 少兒活動(dòng)策劃方案-愛國(guó)(3篇)
- 2025-2026學(xué)年甘肅省蘭州大學(xué)附中高二(上)期末政治試卷(含答案)
- 醫(yī)療資源整合背景下薪酬激勵(lì)與醫(yī)務(wù)人員發(fā)展協(xié)同
- 外科惡性腫瘤手術(shù)后疼痛管理計(jì)劃
- 醫(yī)療設(shè)備選型中的全流程管理
- 醫(yī)療設(shè)備維護(hù)與醫(yī)院質(zhì)量安全案例
- 醫(yī)療設(shè)備維保服務(wù)創(chuàng)新模式與績(jī)效激勵(lì)
- 護(hù)士人文關(guān)懷與護(hù)理質(zhì)量的提升策略
- 《GBT 21941-2008土方機(jī)械 液壓挖掘機(jī)和挖掘裝載機(jī)的反鏟斗和抓鏟斗 容量標(biāo)定》專題研究報(bào)告
- 2026年云南勐??h公安局警務(wù)輔助人員招聘35人備考題庫(kù)含答案詳解
- GJB3243A-2021電子元器件表面安裝要求
- 二苯基甲烷二異氰酸酯-理化性質(zhì)及危險(xiǎn)特性表
- 四年級(jí)下冊(cè)美術(shù)教學(xué)設(shè)計(jì)-第13課 彈涂的趣味 -嶺南版
- JJG 1132-2017熱式氣體質(zhì)量流量計(jì)
- 糧食儲(chǔ)備庫(kù)擴(kuò)建工程施工組織設(shè)計(jì)方案樣本
- 創(chuàng)新創(chuàng)業(yè)與組織管理
- 產(chǎn)品質(zhì)量鑒定通用程序規(guī)范
- 中橋施工組織設(shè)計(jì)方案
- 一類,二類,三類醫(yī)療器械分類目錄
- 國(guó)開大學(xué)2022年01月2136《管理會(huì)計(jì)》期末考試參考答案
- 健康相關(guān)生存質(zhì)量及其測(cè)量和評(píng)價(jià)課件
評(píng)論
0/150
提交評(píng)論