智能家居門禁系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第1頁
智能家居門禁系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第2頁
智能家居門禁系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第3頁
智能家居門禁系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第4頁
智能家居門禁系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第5頁
已閱讀5頁,還剩36頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

-.天線天線用于接收和發(fā)送無線電信號。天線與讀寫器相連,將讀寫器產(chǎn)生的無線電信號轉(zhuǎn)換為電磁波并發(fā)送到空間中。當(dāng)處于工作范圍內(nèi)時(shí),天線將接收到的信號轉(zhuǎn)換為讀寫器可識別的電信號。天線的設(shè)計(jì)和布置對于RFID系統(tǒng)的性能和效果具有重要影響。除了上述主要組成部分外,RFID系統(tǒng)還可能包括其他輔助設(shè)備,如信號放大器、連接電纜、電源等,以滿足特定應(yīng)用的需求。RFID系統(tǒng)的硬件組成包括標(biāo)簽、讀寫器和天線。標(biāo)簽是被動或主動設(shè)備,用于存儲和傳輸物體的標(biāo)識符和數(shù)據(jù)。讀寫器是與標(biāo)簽進(jìn)行通信的設(shè)備,負(fù)責(zé)激活標(biāo)簽、接收響應(yīng)和處理數(shù)據(jù)。天線用于接收和發(fā)送無線電信號。這些硬件組成共同協(xié)作,實(shí)現(xiàn)了RFID系統(tǒng)的無線識別和追蹤功能。2.4.3RFID工作原理讀寫器向天線發(fā)送無線電磁波信號,當(dāng)標(biāo)簽進(jìn)入天線的工作范圍內(nèi)時(shí),天線會感應(yīng)到標(biāo)簽并向標(biāo)簽發(fā)送電磁波信號,標(biāo)簽接收到電磁波信號后,將存儲在芯片中的數(shù)據(jù)通過電磁波信號回傳給天線,再由天線傳輸給讀寫器,完成數(shù)據(jù)的傳輸和識別。下面是RFID系統(tǒng)的基本工作原理過程REF_Ref11620\r\h[10]:標(biāo)簽激活當(dāng)標(biāo)簽處于讀寫器的工作范圍內(nèi)時(shí),讀寫器便會發(fā)送無線電信號,這個(gè)信號包含了激活標(biāo)簽所需的能量。標(biāo)簽接收能量標(biāo)簽的天線接收到讀寫器發(fā)送的無線電信號,并利用其中的能量來激活標(biāo)簽內(nèi)部的電路。標(biāo)簽響應(yīng)當(dāng)標(biāo)簽被激活時(shí),便開始向讀寫器發(fā)送一個(gè)響應(yīng)信號。這個(gè)響應(yīng)信號包含了標(biāo)簽的唯一標(biāo)識符和其他存儲在標(biāo)簽內(nèi)部的數(shù)據(jù)。讀寫器接收信號讀寫器的天線接收到標(biāo)簽發(fā)送的響應(yīng)信號后,將其轉(zhuǎn)換為數(shù)字信號。數(shù)據(jù)處理讀寫器將接收到的數(shù)字信號轉(zhuǎn)換為計(jì)算機(jī)可識別的數(shù)據(jù),并將其傳輸?shù)胶蠖藬?shù)據(jù)庫或其他系統(tǒng)進(jìn)行進(jìn)一步處理。數(shù)據(jù)處理和應(yīng)用后端數(shù)據(jù)庫或其他系統(tǒng)接收到讀寫器傳輸?shù)臄?shù)據(jù)后,可以根據(jù)需要進(jìn)行數(shù)據(jù)處理和分析。RFID的工作原理圖,如圖2.4所示。圖2.4RFID工作原理圖2.5步進(jìn)電機(jī)2.5.1步進(jìn)電機(jī)技術(shù)概述步進(jìn)電機(jī)是一種常見的電動機(jī)類型,其工作原理基于電磁學(xué)原理。步進(jìn)電機(jī)通過逐步改變電磁場的方向和大小來實(shí)現(xiàn)精確的角度控制和位置控制REF_Ref14993\r\h[18]。步進(jìn)電機(jī)的發(fā)展可以追溯到20世紀(jì)60年代。最早的步進(jìn)電機(jī)采用電磁鐵作為驅(qū)動元件,通過逐步激磁不同的線圈來實(shí)現(xiàn)轉(zhuǎn)動。隨著電子技術(shù)的進(jìn)步,控制步進(jìn)電機(jī)的驅(qū)動電路也得到了改進(jìn)和創(chuàng)新?,F(xiàn)代步進(jìn)電機(jī)通常采用電子驅(qū)動器和微控制器等設(shè)備進(jìn)行控制。步進(jìn)電機(jī)由轉(zhuǎn)子和定子組成。轉(zhuǎn)子通常采用磁性材料制成,而定子則包含一組線圈。通過逐步激勵(lì)這些線圈,可以使轉(zhuǎn)子按照一定的步進(jìn)角度旋轉(zhuǎn)。步進(jìn)電機(jī)的離散旋轉(zhuǎn)的,每一步都對應(yīng)著一個(gè)固定的角度。步進(jìn)電機(jī)的工作原理是基于磁場之間相互作用。當(dāng)電流通過線圈時(shí),就會在定子和轉(zhuǎn)子之間產(chǎn)生磁場。又可以通過改變線圈旋轉(zhuǎn)順序和電流的方向,使磁場的方向和大小發(fā)生變化,從而讓轉(zhuǎn)子震動旋轉(zhuǎn)。同時(shí)步進(jìn)電機(jī)也被廣泛應(yīng)用于3D打印機(jī)、平衡小車等需要精確定位和控制的設(shè)備中。步進(jìn)電機(jī)還常用于紡織、印刷、醫(yī)療設(shè)備和攝影器材等領(lǐng)域??偟膩碚f,步進(jìn)電機(jī)是一種可靠、精確且易于控制的電動機(jī)類型。它們通過逐步改變電磁場的方向和大小來實(shí)現(xiàn)精確的角度和位置控制,廣泛應(yīng)用于各種需要精確控制的設(shè)備和系統(tǒng)中。2.5.2步進(jìn)電機(jī)原理步進(jìn)電機(jī)是利用電磁力作用讓電機(jī)轉(zhuǎn)動,將脈沖信號轉(zhuǎn)變?yōu)榻俏灰苹蚓€位移的開環(huán)控制電機(jī)。在正常情況下,電機(jī)的轉(zhuǎn)速、停止的位置只取決于脈沖信號的頻率和脈沖數(shù),不受負(fù)載變化的影響。當(dāng)步進(jìn)電機(jī)驅(qū)動器接收到一個(gè)脈沖信號時(shí),它就可以驅(qū)動步進(jìn)電機(jī)按設(shè)定的方向轉(zhuǎn)動一個(gè)固定的角度,稱為“步距角”。步進(jìn)電機(jī)是通過脈沖信號控制的,每輸入一個(gè)信號,步進(jìn)電機(jī)就會轉(zhuǎn)動,步進(jìn)電機(jī)旋轉(zhuǎn)的步距角,是等比例產(chǎn)生的,如果控制電路細(xì)分控制不變,則電機(jī)旋轉(zhuǎn)的步距角是一個(gè)固定的角度,步距角大小與控制繞組的相數(shù)、轉(zhuǎn)子齒數(shù)和通電方式有關(guān)REF_Ref15303\r\h[19]。步距角越小,運(yùn)轉(zhuǎn)的平穩(wěn)性越好。步距角與轉(zhuǎn)子齒數(shù)、拍數(shù)的關(guān)系如公式(2-1)所示:(2-1)m為運(yùn)行的拍數(shù),Zr為轉(zhuǎn)子齒數(shù)。2.5.3步進(jìn)電機(jī)的組成步進(jìn)電機(jī)由定子和轉(zhuǎn)子兩部分組成:1.定子。電流控制磁場方向。步進(jìn)電機(jī)的電流通過定子而產(chǎn)生的磁場的過程叫做勵(lì)磁。2.轉(zhuǎn)子。電機(jī)轉(zhuǎn)子排斥B相磁吸的定子,吸引A相磁極的定子,產(chǎn)生另一個(gè)步進(jìn)操作,轉(zhuǎn)子被定子環(huán)繞在中間受定子磁場變化產(chǎn)生轉(zhuǎn)動。轉(zhuǎn)子分為永久磁鐵的轉(zhuǎn)子、帶有轉(zhuǎn)子齒輪的齒輪和具有永久磁鐵和轉(zhuǎn)子齒的齒輪。2.6本章小結(jié)本章通過對本設(shè)計(jì)所涉及的關(guān)鍵技術(shù)、核心器件和運(yùn)行環(huán)境進(jìn)行了解、學(xué)習(xí),突出了運(yùn)用以上技術(shù)和軟件的優(yōu)勢之處,為論文的撰寫和設(shè)計(jì)的下一步完成打下了堅(jiān)實(shí)基礎(chǔ)。3門禁系統(tǒng)硬件設(shè)計(jì)此門禁系統(tǒng)的設(shè)計(jì)目的是為提高用戶自身財(cái)產(chǎn)人身安全,以及提高傳統(tǒng)門禁系統(tǒng)的便捷性、實(shí)用性。該門禁系統(tǒng)結(jié)合藍(lán)牙,指紋和射頻技術(shù)來完成智能門禁系統(tǒng)的組成。對于門禁系統(tǒng),其整體設(shè)計(jì)如下:對用戶指紋信息的增刪改查的過程,用戶管理界面將在OLED顯示屏上。通過手機(jī)與藍(lán)牙模塊相連接并向其發(fā)送密碼,完成解鎖??赏ㄟ^IC卡或者復(fù)旦卡來進(jìn)行解鎖。通過設(shè)定六位密碼來進(jìn)行按鍵解鎖。解鎖成功后,電機(jī)轉(zhuǎn)動進(jìn)行解鎖開門。3.1系統(tǒng)硬件設(shè)計(jì)方案結(jié)合各個(gè)模塊的性能,價(jià)格和功能等,確定整個(gè)系統(tǒng)的硬件模塊:智能門禁系統(tǒng)采用STM32F407GT6開發(fā)板,28BYJ4步進(jìn)電機(jī)及ULN2003驅(qū)動模塊,4×4矩陣按鍵,AS608指紋模塊,OLED顯示屏,HC-05藍(lán)牙模塊,RC522射頻模塊。通過Keil5軟件完成各個(gè)模塊使用功能的代碼編寫。系統(tǒng)大致框架,如圖3.1所示:圖3.1系統(tǒng)結(jié)構(gòu)框架3.2STM32微控制器STM32是意法半導(dǎo)體(STMicroelectronics)公司推出的一系列基于ARMCortex-M內(nèi)核的32位微控制器(MCU)產(chǎn)品。STM32微控制器以其高性能、低功耗、豐富的外設(shè)和廣泛的開發(fā)生態(tài)系統(tǒng)而聞名。STM32微控制器采用ARMCortex-M內(nèi)核,其提供了高性能、低功耗和豐富的外設(shè)集成,可以適用于各種不同的需求。STM32微控制器具有豐富的外設(shè)集成,包括通用輸入/輸出、模擬/數(shù)字轉(zhuǎn)換器、定時(shí)器、串行通信接口等。這些外設(shè)使得STM32微控制器能夠滿足各種應(yīng)用的需求。它們支持多種低功耗模式,如睡眠模式和停機(jī)模式,以最小化功耗并延長電池壽命。此外,它們還具有快速喚醒和低功耗時(shí)鐘等特性。3.2.1STM32F407ZGT6電路設(shè)計(jì)STM32F407ZGT6開發(fā)板是32位的高性能ARM處理器,時(shí)鐘高達(dá)168M,支持浮點(diǎn)運(yùn)算單元和數(shù)字信號處理器指令。有144個(gè)引腳且對絕大多數(shù)都耐5V。STM32F407ZGT6具有強(qiáng)大的時(shí)鐘系統(tǒng),如4~26M的外部高速晶振。STM32F407ZGT6開發(fā)板低功耗,可用RTC和備份寄存器供電。支持外設(shè):定時(shí)器、SDIO、IIS、SPI、IIC和USART。其有3個(gè)IIC接口,6個(gè)串口,3個(gè)SPI串口,2個(gè)CAN,2個(gè)USBOTG,1個(gè)SDIO共17個(gè)通信接口。STM32F407ZGT6原理如圖3.2所示:圖3.2STM32F407ZGT6芯片圖系統(tǒng)總電路設(shè)計(jì)如圖所示:圖3.3指紋模塊、藍(lán)牙模塊與MCU電路連接原理圖圖3.4OLED顯示屏、步進(jìn)電機(jī)驅(qū)動模塊、射頻識別模塊與MCU電路連接原理圖圖3.5矩陣按鍵與MCU電路連接原理圖3.3指紋識別模塊設(shè)計(jì)3.3.1指紋模塊技術(shù)指標(biāo)本設(shè)計(jì)選用AS608指紋模塊,該模塊配備了串口通信接口。AS608模塊內(nèi)置DSP運(yùn)算單元REF_Ref11620\r\h[10],能夠快速的完成指紋圖像的采集、特征提取匹配等指紋識別過程。1.緩沖區(qū)與指紋庫該系統(tǒng)內(nèi)設(shè)有一個(gè)圖像緩沖區(qū)與兩個(gè)特征文件緩沖區(qū),用戶可以通過指令讀寫任意一個(gè)緩沖區(qū)。其中CharBufferr1和CharBuffer2兩個(gè)緩沖區(qū)既可以用于存放普通文件也可以存放模板特征文件。指紋庫容量根據(jù)FLASH容量的不同而改變。指紋模板按照序號存放,序號定義為:0—(N-1)(N為指紋庫容量)。用戶只能根據(jù)序號訪問指紋庫內(nèi)容。2.用戶記事本系統(tǒng)在FLASH中開辟了一個(gè)512字節(jié)的存儲區(qū)域作為用戶記事本,每頁32字節(jié)共16頁。上位機(jī)可以通過指令訪問任意一頁。3.隨機(jī)數(shù)產(chǎn)生器系統(tǒng)內(nèi)部集成了硬件32位隨機(jī)數(shù)生成器,用戶可以通過指令讓模塊產(chǎn)生一個(gè)隨機(jī)數(shù)并上傳給上位機(jī)。3.3.2硬件接口說明AS608指紋模塊電路接口如圖3.6示,指紋模塊的數(shù)據(jù)傳輸是通過USART2進(jìn)行的。圖3.6指紋模塊電路接口AS608模塊引腳描述如表3.1所示:表3.1AS608模塊引腳描述序號名稱說明1Vi模塊電源正輸入端2Tx串行數(shù)據(jù)輸出。TTL邏輯電平3Rx串行數(shù)據(jù)輸入。TTL邏輯電平4GND信號地。內(nèi)部與電源連接5WAK感應(yīng)信號輸出,默認(rèn)高電平有效6Vt觸摸感應(yīng)電源輸入端,3v供電7U+USBD+8U-USBD-3.4射頻識別模塊設(shè)計(jì)該智能門禁設(shè)計(jì)使用MFRC522射頻識別模塊。MFRC522是被動非接觸式同信方式和協(xié)議。它與主機(jī)之間的通信采用連線較少的串行通信,本設(shè)計(jì)選取的就是SPI串行通信協(xié)議。MRFC522射頻模塊電路接口如圖3.7所示:圖3.7射頻模塊電路接口圖3.5藍(lán)牙模塊設(shè)計(jì)本設(shè)計(jì)使用HC-05藍(lán)牙模塊。MCU通過TXD向模塊發(fā)送數(shù)據(jù),模塊的RXD端口收到串口數(shù)據(jù)后,又將數(shù)據(jù)以無線電波的方式發(fā)送。藍(lán)牙模塊自動接收到數(shù)據(jù),并從TXD發(fā)送數(shù)據(jù)到MCU的RXD。開發(fā)板與藍(lán)牙模塊模擬鏈接如圖3.8所示:圖3.8藍(lán)牙模塊與MCU模擬連接圖模塊與供電為3.3V的開發(fā)板連接時(shí),模塊的RX接MCU的TX、模塊的TX接開發(fā)板的RX即可。藍(lán)牙模塊電路接口如圖3.9所示:圖3.9藍(lán)牙模塊電路接口圖3.5步進(jìn)電機(jī)及驅(qū)動模塊設(shè)計(jì)本設(shè)計(jì)采用28BYJ4+ULN2003帶驅(qū)動的步進(jìn)電機(jī)模塊。ULN2003驅(qū)動模塊對步進(jìn)電機(jī)的簡單控制接,這使得28BYJ-48步進(jìn)電機(jī)在較低電壓的情況下也可以轉(zhuǎn)動。只需連接幾根引腳,并使用相應(yīng)的庫或編寫簡單的代碼,即可實(shí)現(xiàn)步進(jìn)電機(jī)的控制。28BYJ-48步進(jìn)電機(jī)具有較高的靜態(tài)和動態(tài)扭矩,能夠提供一定的驅(qū)動力,適用于一些需要較大負(fù)載的應(yīng)用。ULN2003驅(qū)動模塊具有較好的電流驅(qū)動能力和保護(hù)功能,可以保護(hù)步進(jìn)電機(jī)免受電壓和電流的突變等干擾。步進(jìn)電機(jī)與驅(qū)動相連,驅(qū)動與開發(fā)板連接,驅(qū)動與開發(fā)板連接如圖3.10所示:圖3.10ULN2003驅(qū)動電路接口圖3.6本章小結(jié)本章通過從模塊的性能,功能作用兩個(gè)角度的深入分析,確保了系統(tǒng)的可行性,并且結(jié)合實(shí)際需求,提出了一套完善的解決方案,以滿足實(shí)際應(yīng)用的要求。4系統(tǒng)功能設(shè)計(jì)4.1系統(tǒng)設(shè)計(jì)目標(biāo)本設(shè)計(jì)通過密碼、指紋、藍(lán)牙、IC卡來對用戶進(jìn)行身份信息的驗(yàn)證,其目的是提高門禁的安全性、可靠性以及用戶體驗(yàn)感和解鎖方式的多樣性。軟件設(shè)計(jì)是各個(gè)硬件模塊功能實(shí)現(xiàn)必不可缺的重要環(huán)節(jié)也是模塊能夠正常運(yùn)行的基礎(chǔ)。本設(shè)計(jì)主要由STM32F407ZGT6單片機(jī)、MFRC522射頻模塊、HC-05藍(lán)牙模塊、AS608指紋模塊程序設(shè)計(jì)等組成實(shí)現(xiàn)。4.2系統(tǒng)整體架構(gòu)設(shè)計(jì)本設(shè)計(jì)使用的是STM32F407ZGT6普中開發(fā)板為主控芯片,主要實(shí)現(xiàn)密碼驗(yàn)證開鎖、用戶信息的增刪改查等。當(dāng)系統(tǒng)電源啟動后,外設(shè)開始初始化,驅(qū)動OLED顯示屏顯示鎖屏界面。每次刷新檢測外界是否有解鎖操作,若檢測到有解鎖操作則驗(yàn)證密碼是否正確,正確則進(jìn)入解鎖界面電機(jī)轉(zhuǎn)動開門。若密碼錯(cuò)誤或檢測超時(shí)則返回鎖屏界面。主程序流程圖如圖4.1所示:圖4.1主程序流程圖本設(shè)計(jì)主要有六大功能模塊。分別為OLED顯示屏、4×4功能按鍵、指紋模塊、射頻識別模塊、藍(lán)牙模塊以及步進(jìn)電機(jī)。通過這幾個(gè)模塊的實(shí)現(xiàn),完成門禁系統(tǒng)的用戶身份驗(yàn)證及開門。門禁系統(tǒng)結(jié)構(gòu)圖如圖4.2所示:圖4.2門禁系統(tǒng)結(jié)構(gòu)圖本設(shè)計(jì)解鎖方式多樣化,首先我們先輸入正確密碼進(jìn)入用戶界面,在用戶界面,錄入指紋信息,IC卡信息,并修改密碼。指紋解鎖:首先錄入指紋,在第二次錄入指紋時(shí)會與第一次錄入的指紋進(jìn)行比對,檢查是否為同一手指信息,若比對成功,則會提示錄入成功并顯示剩余指紋容量(一共可以錄入300個(gè)指紋信息)并需要為指紋進(jìn)行編號,方便以后刪除指紋信息。IC卡解鎖:在用戶界面選擇錄入IC卡信息,將IC卡或復(fù)旦卡與射頻模塊接觸錄入卡片信息。藍(lán)牙解鎖:在手機(jī)端下載藍(lán)牙串口軟件,與藍(lán)牙模塊連接成功后,發(fā)送密碼“123456::”,藍(lán)牙接收到密碼后解鎖。按鍵解鎖:通過4×4矩陣按鍵來進(jìn)行解鎖,進(jìn)入用戶界面后可以修改密碼或者錄入新的密碼。密碼可以設(shè)置兩個(gè),輸入其中一個(gè)即可配對成功。退出用戶界面,再次登陸時(shí),就可以用指紋解鎖、藍(lán)牙解鎖和IC卡解鎖。每次解鎖成功,電機(jī)轉(zhuǎn)動開門,驗(yàn)證失敗則返回登錄界面。解鎖流程如圖4.3所示:圖4.3解鎖流程圖4.3模塊功能設(shè)計(jì)4.3.1指紋模塊功能設(shè)計(jì)1.指紋模塊使用首先需要選擇合適的通信協(xié)議,因此本設(shè)計(jì)選擇的是使用串口協(xié)議。將指紋模塊的數(shù)據(jù)發(fā)送端(TX)與開發(fā)板的數(shù)據(jù)接收端(RX)連接,將指紋模塊的數(shù)據(jù)接收端(RX)與開發(fā)板的數(shù)據(jù)發(fā)送端(TX)相連接。同時(shí)需要設(shè)置波特率來進(jìn)行數(shù)據(jù)的傳輸和同步。以下函數(shù)的作用是初始化串口2,設(shè)置波特率,初始化引腳:voidusart2_init(u32bound);通過定義該函數(shù)voidUSART2_IRQHandler(void)來判斷接收連續(xù)2個(gè)字符之間的時(shí)間差不大于100ms來決定是不是一次連續(xù)的數(shù)據(jù),如果2個(gè)字符接收間隔超過100ms,則認(rèn)為不是1次連續(xù)數(shù)據(jù),則表示此次接收完畢。以下函數(shù)的作用是:確保一次發(fā)送數(shù)據(jù)不超過串口2最大發(fā)送數(shù)據(jù)字節(jié)長度:voidu2_printf(char*fmt);每個(gè)注冊的指紋模塊都會生成一個(gè)對應(yīng)的指紋模板,這些模塊數(shù)據(jù)會被存儲在外部FLASH中。除指紋模塊外還需要存儲每個(gè)指紋相關(guān)的用戶信息,如用戶ID等,這些信息也會被存儲在外部FLASH中。在本設(shè)計(jì)中選擇外部FLASH存儲。W25Q128閃存器具有16兆字節(jié)的存儲量,可以存儲大量的數(shù)據(jù);具有快速的讀寫速度和塊擦除功能,可以將存儲器的整個(gè)塊擦除為初始狀態(tài)以便重新寫入數(shù)據(jù)。W25Q128具有低功耗特性,適用于對功耗要求較高的應(yīng)用。以下函數(shù)功能是將CharBuffer1或CharBuffer2中的模板文件存到PageID號flash數(shù)據(jù)庫位置:u8PS_StoreChar(u8BufferID,u16PageID);以下函數(shù)功能是刪除FLASH數(shù)據(jù)庫中指定ID號開始的N個(gè)指紋模塊:u8PS_DeletChar(u16PageID,u16N);以下函數(shù)的功能是刪除FLASH中所有指紋模板:u8PS_Empty(void);設(shè)置串口2波特率,根據(jù)指紋模塊波特率更改為57600#defineusart2_baund576004.3.2射頻模塊功能實(shí)現(xiàn)MFRC522射頻模塊采用SPI協(xié)議進(jìn)行通信。SPI協(xié)議是一種同步的串口通信協(xié)議,通常用于主設(shè)備與從設(shè)備之間的通信。首先初始化SPI,使能GPIOA時(shí)鐘,使能SPI時(shí)鐘,設(shè)置SPI工作模式為主機(jī)模式,選擇SPI的數(shù)據(jù)模式為雙向全雙工,使能外設(shè)。通過voidSPI1_Init(void);函數(shù)使得SPI1完成初始化,利用RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA,ENABLE)使能GPIOA時(shí)鐘,利用RCC_APB2PeriphClockCmd(RCC_APB2Periph_SPI1,ENABLE)使能SPI1時(shí)鐘。同時(shí)設(shè)置SPI為雙向全雙工并且為將SPI設(shè)為主設(shè)備:SPI_InitStructure.SPI_Direction=SPI_Direction_2Lines_FullDuplex;SPI_InitStructure.SPI_Mode=SPI_Mode_Master;射頻識別模塊選用SPI協(xié)議,首先需要對SPI3進(jìn)行初始化,配置引腳,設(shè)置推晚輸出GPIO_InitStruct.GPIO_OType =GPIO_OType_PP;同時(shí)使用射頻模塊需要開啟天線進(jìn)行數(shù)據(jù)接收,所以在開啟天線或關(guān)閉天線發(fā)射之間至少有1ms的間隔SetBitMask(TxControlReg,0x03)、ClearBitMask(TxControlReg,0x03)這兩個(gè)函數(shù)只能對讀寫位有效;MFRC522與IC卡通訊定義sendData來接收RC522發(fā)送到卡片的數(shù)據(jù),定義sendLen來接收數(shù)據(jù)的長度,定義BackData接收卡片返回的數(shù)據(jù),定義BackLen接收返回?cái)?shù)據(jù)位長度。射頻模塊選卡,讀取IC卡ID信息并存儲在buffer數(shù)組中。其中buffer[2]到buffer[5]為卡序列號,buffer[7]到buffer[8]為CRC校驗(yàn)碼。循環(huán)冗余校驗(yàn)(CRC)用于驗(yàn)證數(shù)據(jù)在傳輸過程中是否發(fā)生了錯(cuò)誤,通過在數(shù)據(jù)中添加一組校驗(yàn)位來實(shí)現(xiàn)檢測,如果接收端計(jì)算出的校驗(yàn)結(jié)果與發(fā)送端一致,則可以確定數(shù)據(jù)在傳輸過程中沒有出現(xiàn)錯(cuò)誤。然后讀、寫塊數(shù)據(jù)。將讀取到的IC卡數(shù)據(jù)進(jìn)行緩存,以便在需要時(shí)快速訪問。同時(shí)在結(jié)束訪問時(shí)IC卡進(jìn)行休眠,減少系統(tǒng)功耗。通過該函數(shù)u8MFRC522_SelectTag(u8*serNum)讀取卡存儲器容量。以下函數(shù)的功能是讀塊數(shù)據(jù),傳入塊地址和讀出的塊數(shù)據(jù):u8MFRC522_Read(u8blockAddr,u8*recvData);以上函數(shù)的功能是寫快數(shù)據(jù),傳入塊地址并向塊寫16字節(jié)數(shù)據(jù) u8MFRC522_Write(u8blockAddr,u8*writeData);以上代碼功能是命令卡片進(jìn)入休眠狀態(tài):voidMFRC522_Halt(void);4.3.3藍(lán)牙模塊功能實(shí)現(xiàn)(1)HC-05藍(lán)牙模塊使用串口協(xié)議進(jìn)行通信,將串口3初始化使之與藍(lán)牙連接接受發(fā)數(shù)據(jù)。初始化串口3,設(shè)置優(yōu)先級和搶占優(yōu)先級: NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=3; NVIC_InitStructure.NVIC_IRQChannelSubPriority=2; 為確保數(shù)據(jù)能夠正確的接收和解析,數(shù)據(jù)的發(fā)送方和接收方必須以相同的波特率進(jìn)行通信,所以這里的藍(lán)牙需要設(shè)置波特率為9600。USART_InitStructure.USART_BaudRate=bound;(2)藍(lán)牙通過與手機(jī)連接,手機(jī)向藍(lán)牙發(fā)送密碼數(shù)據(jù),其中發(fā)送的數(shù)據(jù)要以“::”結(jié)尾,藍(lán)牙接收到數(shù)據(jù)后,檢查是否與正確密碼匹配。成功則電機(jī)轉(zhuǎn)動開鎖。該函數(shù)是串口1中斷服務(wù)程序。主要是接收數(shù)據(jù),檢查字符串是否與接收數(shù)據(jù)匹配,在這里藍(lán)牙接收到的數(shù)據(jù)必須是以“::”結(jié)尾的。如果接收錯(cuò)誤就重新開始。if(Res!=':')USART3_RX_STA=0;elseUSART3_RX_STA|=0x8000; 4.3.4步進(jìn)電機(jī)及驅(qū)動模塊功能實(shí)現(xiàn)當(dāng)密碼正確時(shí)電機(jī)轉(zhuǎn)動模擬開門,因?yàn)椴竭M(jìn)電機(jī)不能直接接到工頻交流電或直流電源上工作,所以必須使用步進(jìn)電機(jī)驅(qū)動器。初始化步進(jìn)電機(jī)及相關(guān)驅(qū)動器,設(shè)置步進(jìn)電機(jī)的參數(shù)速度加速度等,并初始化驅(qū)動器的接口,并設(shè)置電機(jī)工作方式:Aout=1;Bout=0;Cout=0;Dout=0;delay_ms(5);Aout=0;Bout=1;Cout=0;Dout=0;delay_ms(5);Aout=0;Bout=0;Cout=1;Dout=0;delay_ms(5);Aout=0;Bout=0;Cout=0;Dout=1;delay_ms(5);這是將A、B、C、D四相設(shè)置為工作模式。工作停止時(shí)的設(shè)置與之相反即可。4.3.5漢字庫因?yàn)樾枰贠LED屏上提示用戶解鎖是否成功、顯示用戶界面,所以需要使用到漢字庫。將有關(guān)漢字庫的內(nèi)容存儲到SD卡中,再將SD卡插入STM32開發(fā)板中,使用SD卡則需要設(shè)置SDIO。SDIO是擴(kuò)展型SD存儲卡接口標(biāo)準(zhǔn),它允許SD卡與外部設(shè)備進(jìn)行高速數(shù)據(jù)傳輸和通信。SDIO接口在SD卡的基礎(chǔ)上增加了I/O功能,使得SD卡不僅可以用于存儲數(shù)據(jù),還可以作為外部設(shè)備的接口,與其他設(shè)備進(jìn)行數(shù)據(jù)交換和通信。通過SDIO接口,SD卡可以扮演各種角色,例如無線網(wǎng)絡(luò)適配器、藍(lán)牙模塊、GPS接收器等。SDIO接口具有較高的帶寬和傳輸速率,通過SDIO接口可以實(shí)現(xiàn)快速的數(shù)據(jù)讀寫和通信。同時(shí)SDIO接口支持多個(gè)I/O通道進(jìn)行多個(gè)數(shù)據(jù)通信。SDIO接口還支持電源管理功能,可以控制SD卡的供電狀態(tài)和功耗管理,在需要時(shí)進(jìn)行低功耗休眠或喚醒操作,以節(jié)省能量。SDIO接口定義了與SD卡進(jìn)行數(shù)據(jù)交換和通信的軟件協(xié)議。通過遵循這些協(xié)議,外部設(shè)備可以與SD卡進(jìn)行可靠的數(shù)據(jù)傳輸和通信。SDIO包含兩個(gè)部分:SDIO適配器模塊:連接SD卡與主控板之間的數(shù)據(jù)傳輸,同時(shí)支持多種設(shè)被連接。AHB總線接口:操作SDIO適配器模塊中的寄存器,產(chǎn)生中斷和DMA請求信號。SDIO框圖如圖4.4所示:圖4.4SDIO框圖工作模式必須通過SD_SetDeviceMode后才可以,這里定義一個(gè)默認(rèn)的模式(SD_DMA_MODE);定義staticu8StopCondition=0的作用檢查是否發(fā)送停止傳輸標(biāo)志位,在DMA多塊讀寫的時(shí)候用到;并定義volatileSD_ErrorTransferError=SD_OK數(shù)據(jù)傳輸錯(cuò)誤標(biāo)志。 最后需要定義傳輸結(jié)束標(biāo)志volatileu8TransferEnd=0。初始化SD卡,將SDIOCLK時(shí)鐘固定為48Mhz,查詢所有SDIO接口上的卡設(shè)備,并查詢其電壓和配置時(shí)鐘。得到卡信息,將卡信息放在cardinfo存儲區(qū),并設(shè)置SD卡工作模式DeviceMode=Mode;同時(shí)定義SDIO中斷服務(wù)函數(shù),處理所有SDIO相關(guān)中斷,SDIO中斷處理函數(shù):SD_ErrorSD_ProcessIRQSrc(void),處理SDIO傳輸過程中的各個(gè)中斷事務(wù),最后定義函數(shù)SD_ErrorCmdError(void),檢查CMD0的執(zhí)行狀態(tài)4.4本章小結(jié)通過對模塊功能進(jìn)行分析與研究,實(shí)現(xiàn)本次設(shè)計(jì)的目的與系統(tǒng)整體框架。完成功能代碼的編寫,實(shí)現(xiàn)各個(gè)功能,完成設(shè)計(jì)的硬件功能實(shí)現(xiàn)。5系統(tǒng)功能實(shí)現(xiàn)5.1系統(tǒng)功能實(shí)現(xiàn)5.1.1按鍵解鎖實(shí)現(xiàn)對按鍵功能進(jìn)行檢測時(shí)只需要檢測當(dāng)按鍵時(shí)屏幕是否有輸入密碼界面、用戶管理界面,能否完成密碼輸入,選擇光標(biāo)的上下移動以及確定取消上鎖等功能,如下圖5.1所示:圖5.1輸入密碼界面圖5.2輸入密碼界面圖5.3解鎖界面圖5.4用戶管理界面5.1.2指紋解鎖功能實(shí)現(xiàn)(1)上位機(jī)測試上位機(jī)測試使用SynoChip串口助手,將指紋模塊的TX、RX連接到USB轉(zhuǎn)串口設(shè)備,并在計(jì)算機(jī)設(shè)備中找到識別的串口號。在上位機(jī)上選擇對應(yīng)的串口號。連接成功后即可錄入指紋測試指紋模塊。此時(shí)根據(jù)步驟完成指紋信息的錄入并錄入指紋ID。圖5.5上位機(jī)測試(2)指紋模塊的實(shí)現(xiàn)在用戶信息管理界面選擇錄入指紋信息,成功錄入后給指紋信息輸入ID,保存成功。選擇上鎖,測試是否能使用指紋解鎖。將錄入指紋信息的手指放在指紋模塊檢測,對比成功顯示“解鎖成功”。再次回到用戶信息管理頁面,選擇刪除指紋,輸入要刪除指紋的ID,確認(rèn)刪除。圖5.6選擇指紋錄入、指紋錄入成功圖5.7指紋解鎖成功圖5.8刪除指紋5.1.3RFID功能實(shí)現(xiàn)在用戶信息界面選擇錄入IC卡信息,并為IC信息錄入ID方便以后刪除IC卡信息。上鎖進(jìn)行IC卡解鎖測試。如圖5.8。圖5.9錄入IC信息圖5.9IC卡成功解鎖5.1.4藍(lán)牙功能實(shí)現(xiàn)用戶通過手機(jī)app“藍(lán)牙串口”,連接藍(lán)牙。想藍(lán)牙發(fā)送密碼數(shù)據(jù),密碼要以“::”結(jié)尾。藍(lán)牙接收到正確密碼后解鎖。如圖所示。圖5.12藍(lán)牙解鎖5.2本章小結(jié)本章通過對系統(tǒng)軟硬件功能的實(shí)現(xiàn)進(jìn)行展示,完成了本設(shè)計(jì)所需求的所有功能,實(shí)現(xiàn)了系統(tǒng)設(shè)計(jì)的預(yù)期目標(biāo)。--PAGE12-總結(jié)該設(shè)計(jì)基于STM32微控制器,結(jié)合了射頻識別、指紋識別和藍(lán)牙通信等技術(shù)組成的智能家居門禁系統(tǒng)。該系統(tǒng)實(shí)現(xiàn)了高效、便捷的門禁控制和身份識別功能。本設(shè)計(jì)有以下幾個(gè)主要特點(diǎn)和優(yōu)勢:該設(shè)計(jì)采用了指紋識別技術(shù)進(jìn)行身份驗(yàn)證。AS608指紋模塊能夠高速、準(zhǔn)確地采集和比對指紋信息,確保門禁系統(tǒng)的安全性。用戶可以通過將手指放置在指紋模塊上進(jìn)行身份驗(yàn)證,無需攜帶門禁卡或記憶密碼,提高了門禁系統(tǒng)的便捷性和用戶體驗(yàn)。射頻識別技術(shù)在該系統(tǒng)中起到了重要作用。MFRC522射頻模塊支持卡片的讀寫操作,可以識別并與門禁卡進(jìn)行通信。這種技術(shù)可以廣泛應(yīng)用于門禁系統(tǒng)中,例如員工卡、學(xué)生卡等。通過射頻識別,系統(tǒng)能夠快速識別卡片并進(jìn)行身份驗(yàn)證,提高了門禁系統(tǒng)的效率和安全性。同時(shí)該設(shè)計(jì)還具備藍(lán)牙通信功能。通過HC-05藍(lán)牙模塊,用戶可以通過手機(jī)或其他藍(lán)牙設(shè)備與門禁系統(tǒng)進(jìn)行無線通信。用戶可以通過手機(jī)上的應(yīng)用程序發(fā)送密碼,實(shí)現(xiàn)開鎖。這種藍(lán)牙通信方式方便了用戶的操作,并且具有靈活性和擴(kuò)展性。在實(shí)現(xiàn)方面,充分利用了STM32微控制器的強(qiáng)大功能和豐富的外設(shè)資源。通過編程和配置,實(shí)現(xiàn)了與指紋模塊、射頻模塊和藍(lán)牙模塊的通信和控制。同時(shí),論文還設(shè)計(jì)了用戶界面和操作流程,使得門禁系統(tǒng)的使用更加友好和直觀。本設(shè)計(jì)也有不足之處,如:可以增加人臉識別功能或者遠(yuǎn)程開鎖,虛擬密碼解鎖等安全性更高的解鎖方式,提高用戶體驗(yàn)感,讓門禁系統(tǒng)更加智能與安全。同時(shí)也可以增加警報(bào)功能,當(dāng)連續(xù)輸錯(cuò)密碼時(shí)可以鎖住解鎖界面并向用戶遠(yuǎn)程發(fā)送安全風(fēng)險(xiǎn)提醒。參考文獻(xiàn)楊澤輝,孫運(yùn)強(qiáng),姚愛琴.基于X-10的智能燈光控制系統(tǒng)[J].電氣時(shí)代,2008,(06):98-99.汪洋.基于語音交互的智能家居系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[D].西安電子科技大學(xué),2021.DOI:10.27389/ki.gxadu.2021.002938.陳林.智能門禁身份驗(yàn)證與功耗管理實(shí)現(xiàn)技術(shù)[D].華中科技大學(xué),2022.DOI:10.27157/ki.ghzku.2022.004670.ShakrKAS,HasimZO.EnsuringInformationSecurityinSmartDoorLockSystemsUsingtheCuckooSearchAlgorithm[J].1DepartmentofMathematics,OpenEducationalCollege,KirkukBranch,Kirkuk,36001,Iraq;2MutafaweqatHighSchoolforGirls,KirkukBranch,Kirkuk,36001,Iraq,2023,4(4):269-286.胡鋒.基于云平臺的家庭智能門禁系統(tǒng)的設(shè)計(jì)[D].淮北師范大學(xué),2020.DOI:10.27699/ki.ghbmt.2020.000307.張萌.2022熱點(diǎn)品類觀察——智能門鎖[J].家用電器,2022,(12):68-70

溫馨提示

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

最新文檔

評論

0/150

提交評論