基于單片機(jī)的多功能密碼鎖_第1頁
基于單片機(jī)的多功能密碼鎖_第2頁
基于單片機(jī)的多功能密碼鎖_第3頁
基于單片機(jī)的多功能密碼鎖_第4頁
基于單片機(jī)的多功能密碼鎖_第5頁
已閱讀5頁,還剩24頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

摘要物聯(lián)網(wǎng)技術(shù)正在飛速發(fā)展,同時(shí)大量的物聯(lián)網(wǎng)終端設(shè)備也隨之衍生。隨著物聯(lián)網(wǎng)和人工智能技術(shù)的快速發(fā)展,智能鎖具已成為現(xiàn)代家庭和商業(yè)場所不可或缺的安全設(shè)備。傳統(tǒng)的機(jī)械鎖已經(jīng)無法滿足現(xiàn)代社會的安全需要,相較于傳統(tǒng)的機(jī)械式鑰匙開鎖,密碼鎖保密性好,編碼量大,使隨機(jī)開鎖成功率大大降低,所以智能鎖因其便捷性和安全性受到了廣泛的關(guān)注?;赟TM32的智能鎖具有低功耗,高性能和易于擴(kuò)展等特點(diǎn),是實(shí)現(xiàn)多功能密碼鎖的理想選擇。本文提出一種基于STM32的多功能密碼鎖設(shè)計(jì)方案,該方案不僅支持傳統(tǒng)的密碼解鎖方案,還融入了語音解鎖和藍(lán)牙APP遠(yuǎn)程解鎖等先進(jìn)功能,該鎖使用方便簡單,適用于家庭、辦公室等場所。通過實(shí)際制作與測試,驗(yàn)證了該方案的可行性和實(shí)用性。關(guān)鍵詞:物聯(lián)網(wǎng);安全;鎖;單片機(jī)AbstractInternetofThingstechnologyisdevelopingrapidly,andalargenumberofInternetofThingsterminaldevicesarealsoderiving.WiththerapiddevelopmentofIoTandartificialintelligencetechnology,smartlockshavebecomeanindispensablesecuritydeviceinmodernhomesandcommercialplaces.Traditionalmechanicallockshavebeenunabletomeetthesecurityneedsofmodernsociety,comparedwiththetraditionalmechanicalkeyunlocking,thepasswordlockhasgoodconfidentiality,alargeamountofcoding,sothatthesuccessrateofrandomunlockingisgreatlyreduced,sothesmartlockhasreceivedwidespreadattentionbecauseofitsconvenienceandsecurity.STM32-basedsmartlockshavethecharacteristicsoflowpowerconsumption,highperformanceandeasyexpansion,whichisidealforachievingmulti-functionalcombinationlocks.Thispaperproposesamulti-functionalpasswordlockdesignschemebasedonSTM32,whichnotonlysupportsthetraditionalpasswordunlockingscheme,butalsoincorporatesadvancedfunctionssuchasvoiceunlockingandBluetoothAPPremoteunlocking,whichisconvenientandsimpletouse,andissuitableforhomes,officesandotherplaces.Throughactualproductionandtesting,thefeasibilityandpracticabilityoftheschemeareverified.Keywords:InternetofThings;security;lock;microcontroller目錄TOC\o"1-3"\h\u3549摘要 130438Abstract 2198921緒論 5272631.1研究背景 5275651.2研究意義 5286401.3研究內(nèi)容 6247671.4研究現(xiàn)狀 660602系統(tǒng)總體方案設(shè)計(jì) 742172.1系統(tǒng)功能 7242592.2功能設(shè)計(jì) 8218942.3系統(tǒng)方案選擇 8269512.4兩種單片機(jī)進(jìn)行對比(51和stm32) 9120583硬件方案設(shè)計(jì) 9242713.1硬件介紹 9324733.1.1STM32F103C8T6 9146383.1.2OLED顯示屏 107713.1.3JDY-31藍(lán)牙模塊 1188253.1.4蜂鳴器模塊 12222433.1.5DS1302時(shí)鐘芯片 1292653.1.6LU-ASR01語音識別模塊 13214613.1.7繼電器 13145183.1.84x4矩陣鍵盤 14162213.1.9SPP藍(lán)牙串口模塊 1565183.2核心電路圖 16223174軟件方案設(shè)計(jì) 17141974.1Keil軟件介紹 1746104.2天問Block軟件介紹 17310034.2.1天問Block軟件概述 18257924.2.2天問Block軟件特點(diǎn) 18285254.2.3天問Block軟件功能 1854434.2.4天問Block軟件技術(shù)架構(gòu) 1915664.3C語言介紹 19124594.4程序設(shè)計(jì) 2133545系統(tǒng)完成圖 24105556總結(jié)與展望 26121546.1總結(jié) 2646.2展望 2719202參考文獻(xiàn) 2816613致謝 29基于單片機(jī)的多功能密碼鎖1緒論1.1研究背景十九大報(bào)告中提出了“智慧社會”的全新概念。智能社會是數(shù)字化、網(wǎng)絡(luò)化、智能化深度融合的社會,構(gòu)成了未來社會形態(tài)的新藍(lán)圖REF_Ref26001\r\h[1]。在科技的不斷進(jìn)步下,物聯(lián)網(wǎng)在我們的生活中已經(jīng)廣泛應(yīng)用了,安全問題也已經(jīng)成為當(dāng)今現(xiàn)代社會普遍關(guān)注的焦點(diǎn)之一。最近這些年,生活發(fā)生了天翻地覆的變化,科技技術(shù)也迅速加強(qiáng),所以很多科技產(chǎn)品出現(xiàn)在我們的生活中,給我們的生活帶來了極大的便利。例如,以往人們出門必須攜帶家中的鑰匙,放在身上有異物感,還要擔(dān)心是否會遺失,極為不便,在科技進(jìn)步的今天,人們的出行更加追求輕便,因此智能鎖的出現(xiàn)可以說是一種必然趨勢REF_Ref30225\r\hREF_Ref26073\r\h[2]。這些年來,隨著各種安全產(chǎn)品的問世,多功能密碼鎖相較于傳統(tǒng)的機(jī)械鎖、指紋解鎖、RFID射頻鎖等等,具備了較高的安全性和較低的成本、功耗。除此之外,它還提升了整體的操作性和便捷性,簡單易于使用,適用于家庭、辦公室、學(xué)校等多種場所。當(dāng)今,手機(jī)APP的使用也成為了當(dāng)代人生活必不可少的部分,因此在此基礎(chǔ)上,利用傳統(tǒng)的門禁系統(tǒng)以及目前被大眾所使用的手機(jī)APP,設(shè)計(jì)一款多功能門禁系統(tǒng)REF_Ref26168\r\h[3]。各種開鎖方式,回歸根本,鎖本身也需要夠堅(jiān)固,材質(zhì)要堅(jiān)固,鎖體要防爆,鎖芯防盜防撬性能高才行REF_Ref26305\r\h[4]。所以,本項(xiàng)目計(jì)劃設(shè)計(jì)并開發(fā)一種基于單片機(jī)的多功能密碼鎖,可以實(shí)現(xiàn)密碼解鎖、語音解鎖、手機(jī)APP遠(yuǎn)程解鎖。1.2研究意義在今天,科技技術(shù)的不斷進(jìn)步下,不同的用戶也有著自己的密碼信息,例如:手機(jī)的開機(jī)密碼、各個(gè)登錄密碼、驗(yàn)證密碼等。這些數(shù)字化的密碼常常被我們鎖遺忘,并且也很容易被別人知曉或者是竊取。簡單的數(shù)字密碼鎖、機(jī)械鎖已無法滿足智能的需求REF_Ref26465\r\h[5]。所以對于基于STM32F103C8T6的多功能密碼鎖的研究有著非凡的意義。多功能密碼鎖不僅在實(shí)用上有著重要的價(jià)值,可以保護(hù)用戶家庭和財(cái)產(chǎn)安全,防止陌生人未經(jīng)授權(quán)的訪問。而且在學(xué)術(shù)上也具備重要的意義。該研究可以為單片機(jī)技術(shù)的發(fā)展提供新思路和新方法,這樣可以大力推動了相關(guān)領(lǐng)域的技術(shù)進(jìn)步。除此之外,還可以為密碼學(xué)以及安全技術(shù)這方面的研究提供新工具和新方法,可以極大提高了密碼技術(shù)的安全性和可靠性。所以,基于單片機(jī)的多功能密碼鎖研究具有重要的現(xiàn)實(shí)意義和學(xué)術(shù)價(jià)值。1.3研究內(nèi)容1.密碼鎖的硬件設(shè)計(jì):選擇合適的單片機(jī)作為主控制器,選擇適當(dāng)?shù)膫鞲衅?、鎖體、OLED顯示屏、藍(lán)牙模塊、蜂鳴器模塊、時(shí)鐘芯片、語音識別模塊、等等的硬件部件,設(shè)計(jì)硬件電路。2.密碼算法:研究合適的密碼算法,如窮舉法、迭代法等,以此來對密碼進(jìn)行加密或者解密。3.用戶界面設(shè)計(jì):我們可以設(shè)計(jì)出一個(gè)界面,方便用戶輸入密碼并且知道當(dāng)前時(shí)間以及開關(guān)鎖。通過以上研究內(nèi)容,可以設(shè)計(jì)出一種基于單片機(jī)的多功能密碼鎖,具有安全、可靠、方便等特點(diǎn),滿足不同用戶的需求,滿足不同場合的需求。實(shí)現(xiàn)出一種穩(wěn)定可靠的門禁系統(tǒng),確保只有授權(quán)用戶才能解鎖。提供多種解鎖方式,方便用戶選擇。1.4研究現(xiàn)狀隨著科技不斷的進(jìn)步之下,智能鎖作為安全防護(hù)設(shè)備被大家廣泛應(yīng)用。雖然按目前的研究成果來說這方向已經(jīng)取得了不錯(cuò)的成績,但是困難和挑戰(zhàn)還是有的,研究者們還是需要努力攻破難題,迎接挑戰(zhàn)。國內(nèi)研究現(xiàn)狀:國內(nèi)對于密碼鎖的研究起步稍稍較晚,但快速發(fā)展。主要表現(xiàn)在算法、安全性和易用性等方面,包括基于生物特征識別技術(shù)的密碼鎖,例如指紋和虹膜識別,以其來提高安全性和易用性。除此之外,一些研究工作者還專注于密碼鎖的智能化和物聯(lián)網(wǎng)應(yīng)用,例如通過手機(jī)APP實(shí)現(xiàn)遠(yuǎn)程控制和解鎖。盡管國內(nèi)已經(jīng)取得了一定的進(jìn)展,但是仍然面臨了諸多問題。首先,密碼鎖的算法和安全性仍然需要進(jìn)一步提高,以此來抵御日益復(fù)雜的網(wǎng)絡(luò)和黑客攻擊。還有就是密碼鎖的易用性需要改善,以此來滿足不同用戶群體的需求。最后就是我們對密碼鎖的監(jiān)管和管理也是需要進(jìn)一步加強(qiáng)的,這樣可以確保密碼的安全性和保密性。國外研究現(xiàn)狀:相較于在國內(nèi),國外對于密碼鎖的研究是啟動的更早了,并且已經(jīng)建立了一定的研究體系。在算法方面,主要關(guān)注加密算法和哈希算法的應(yīng)用,以此來提升密碼鎖的安全性和可靠性。另外,國外的研究者在安全性這方面重視密碼鎖的硬件和軟件防護(hù)措施,包括采用硬件加密芯片和軟件的加密算法等等。在易用性這方面,他們關(guān)注用戶的體驗(yàn)感和人機(jī)交互設(shè)計(jì),這樣可以提升密碼鎖的易用性和適用性。盡管在這些方面已經(jīng)取得了一些進(jìn)展,但是他們?nèi)匀幻媾R著一些挑戰(zhàn)。還有就是,一些國家對于密碼鎖的研究和應(yīng)用施加了限制和監(jiān)管,影響了密碼鎖的普及和應(yīng)用。同時(shí)呢,密碼鎖的硬件和軟件可能存在著一些漏洞和缺陷,這樣極大的導(dǎo)致安全風(fēng)險(xiǎn)和密碼的泄露。除此之外,一些用戶對于密碼鎖的信任度和依賴度相較于低,這也成為了對密碼鎖應(yīng)用和發(fā)展造成了一定的影響??偟膩碚f,國內(nèi)外對于密碼鎖的研究已經(jīng)有了一定性的進(jìn)展,但是困難與挑戰(zhàn)還比比皆是。所以在未來,我們需要加強(qiáng)密碼鎖的算法還有它們安全性的研究,以此來提高產(chǎn)品的易用性和適應(yīng)性,對密碼鎖加強(qiáng)監(jiān)督和管理,這樣可以保障密碼的安全性和保密性。同時(shí)還可以加強(qiáng)國際合作和交流,推動國際的合作以及交流,推動密碼鎖技術(shù)的發(fā)展和應(yīng)用。2系統(tǒng)總體方案設(shè)計(jì)2.1系統(tǒng)功能密碼解鎖功能:由單片機(jī)控制鍵盤來輸入密碼,假設(shè)密碼與之前所設(shè)置的密碼相對應(yīng),就能打開門鎖,繼電器亮綠燈,顯示屏上就會出現(xiàn)open字眼,代表著門鎖已經(jīng)打開了;如果密碼與之前所設(shè)置的密碼不一樣,則顯示屏上會出現(xiàn)error字眼;要是我們輸入與原先所設(shè)置的密碼不一樣時(shí),在三次及三次以上的時(shí)候,這時(shí)蜂鳴器就會報(bào)警,并且亮紅燈,顯示屏還會出現(xiàn)warning字眼;語音解鎖功能:用戶說出之前預(yù)設(shè)的語音指令,如果語音指令比對正確,即可解鎖,亮起綠燈,并且顯示屏上顯示open;要是觸發(fā)錯(cuò)誤的語音指令,就會解鎖失敗亮紅燈,顯示屏上會顯示error,如果觸發(fā)錯(cuò)誤的語音指令三次以及三次以上就會報(bào)警響應(yīng)亮紅燈,并且顯示屏?xí)@示warning;APP遠(yuǎn)程解鎖功能:通過與手機(jī)藍(lán)牙連接,實(shí)現(xiàn)用戶遠(yuǎn)程解鎖,在手機(jī)APP上按開關(guān)鍵字符就能操控密碼解鎖,并且可以提供實(shí)時(shí)監(jiān)測,可以監(jiān)測到開鎖以及關(guān)鎖時(shí)間,也能監(jiān)測到密碼解鎖和語音解鎖的開鎖以及關(guān)鎖時(shí)間,還有報(bào)警功能。安全防護(hù):對密碼、語音和APP通信數(shù)據(jù)等進(jìn)行加密保護(hù),提高密碼鎖的安全性。圖1系統(tǒng)流程圖Figure1Systemflowchart2.2功能設(shè)計(jì)首先,我們用一根數(shù)據(jù)線給單片機(jī)供上電,通上電之后,我們就能看到OLED顯示模塊第一行上可以顯示時(shí)間,第二行顯示門鎖狀態(tài):Door:Close,這是初始狀態(tài),初始狀態(tài)顯示門鎖為關(guān)閉狀態(tài)。緊接著,我們用4x4的矩陣鍵盤輸入密碼,先按#號鍵,之后顯示屏上會顯示password,初始密碼我設(shè)置為1234,輸入之后0LED顯示模塊上會顯示1234,輸入正確后,繼電器亮綠燈,顯示屏顯示open,代表著我們打開門鎖,繼電器的綠燈亮起兩秒之后又關(guān)閉,此時(shí)門鎖就再次關(guān)閉。要是我們輸入錯(cuò)誤密碼的話,OLED顯示屏就會出現(xiàn)error字樣,以此來告知我們密碼錯(cuò)誤。我們要是密碼錯(cuò)誤的話,并且輸入了三次及三次以上,這時(shí)候蜂鳴器就會報(bào)警,并且在顯示屏顯示warning來告知我們警告,并且關(guān)鎖。如果我們想修改密碼,接著按*號鍵,輸入密碼之后,顯示屏上顯示OK則代表修改成功,原先的密碼就會失效。語音功能是說出“打開門鎖”指令則解鎖失敗,顯示屏?xí)@示error,這是錯(cuò)誤的語音指令,正確的語音指令為“解鎖成功”,顯示屏?xí)@示open,并亮綠燈。當(dāng)錯(cuò)誤指令說出三次及三次以上,蜂鳴器會報(bào)警響應(yīng),顯示屏也會顯示warning。當(dāng)密碼解鎖和語音解鎖共同輸入或者說出錯(cuò)誤指令三次及三次以上,蜂鳴器也會報(bào)警和顯示屏顯示warning。藍(lán)牙APP遠(yuǎn)程解鎖功能首先把手機(jī)上的藍(lán)牙打開,然后搜索設(shè)備,藍(lán)牙如果沒連接上會有個(gè)小紅燈一直在閃爍,找到JDY-31進(jìn)行連接,連接成功后,燈就會保持常亮的狀態(tài)。接著打開藍(lán)牙串口APP,APP界面會有開和關(guān)符號,按開則亮綠燈,顯示屏顯示open,按關(guān)則繼電器關(guān)閉,顯示屏則顯示Close,同時(shí)也會記錄下開鎖和關(guān)鎖的時(shí)間,還可以記錄密碼解鎖和語音解鎖的開鎖和關(guān)鎖時(shí)間。圖2功能流程圖Figure2Functionalflowchart2.3系統(tǒng)方案選擇核心控制器上我選擇了STMF103C8T6,這個(gè)是由ST公司基于公版的ARM機(jī)構(gòu)和內(nèi)核開發(fā)的一款適用于小型硬件的微處理控制芯片,這種微控制器以其高性能、低功耗而聞名。并且提供了豐富的外設(shè)接口,所以本課題用此作為核心控制器。2.4兩種單片機(jī)進(jìn)行對比(51和stm32)開發(fā)環(huán)境:在開發(fā)環(huán)境這部分來說,51單片機(jī)雖然有一些開源選項(xiàng)可以利用,但是開發(fā)工具有限。而STM32單片機(jī)可以提供出豐富的開發(fā)工具還有庫供我們開發(fā)者學(xué)習(xí)以及適用,可以迅速幫助開發(fā)者創(chuàng)建出功能強(qiáng)大的產(chǎn)品。功耗控制:51單片機(jī)在功耗控制這方面雖然是比較弱,但是可以通過其他更高效的電路設(shè)計(jì)和優(yōu)化軟件提升效率。STM32單片機(jī)在功耗方面就是表現(xiàn)得出色一些,可以有效的管理電池壽命,也適用于長時(shí)間運(yùn)行的場景。擴(kuò)展性:對于擴(kuò)展性這方面而言,51單片機(jī)的擴(kuò)展性相較于STM32弱一些,但是也可以通過外設(shè)芯片添加或者是利用庫函數(shù)來實(shí)現(xiàn)擴(kuò)展功能。而STM32單片機(jī)具有更廣泛的接口和擴(kuò)展能力,可以輕松和其他的硬件還有軟件集成一起。硬件資源:STM32單片機(jī)在硬件資源這方面比起51單片機(jī)來說更為豐富,51單片機(jī)相對來說比較簡單,適用于初學(xué)者,也更加適用于低成本還有低功耗的一些應(yīng)用場景,而STM32單片機(jī)擁有更多的通用輸入輸出接口、定時(shí)器、ADC還有DAC等等,所以我們在處理復(fù)雜任務(wù)還有一些擴(kuò)展功能的時(shí)候這方面STM32會更加具有優(yōu)勢。開發(fā)難度:51微控制器相對新手來說簡單一些,新手也更容易學(xué)習(xí)。但是STM32的開發(fā)比較復(fù)雜,需要更多的學(xué)習(xí)硬件知識還有掌握編程技巧。也因?yàn)樗墓δ軓?qiáng)大,對于復(fù)雜控制和擴(kuò)展性需求較高的應(yīng)用場景,STM32是更佳更好的選擇。目前,常見的電子密碼鎖大多采用了STC89C51系列芯片,但它內(nèi)存較小,IO口資源有限,后續(xù)功能擴(kuò)展將會有很大的局限性,且功耗較高REF_Ref26625\r\h[6]。所以我認(rèn)為stm32更適于本次課題的方案選擇,因?yàn)閟tm32有著低功耗高效能等多優(yōu)點(diǎn),也適用于大量的場所,也便于多個(gè)功能的使用。3硬件方案設(shè)計(jì)3.1硬件介紹3.1.1STM32F103C8T6單片機(jī)這方面,我是選擇了意法半導(dǎo)體的一款32位微處理器——STM32F103C8T6。它包括一個(gè)外部的復(fù)位電路,還有一個(gè)外部的時(shí)鐘電路和一個(gè)MCU的主體。圖3Figure33.1.2OLED顯示屏OLED顯示屏我使用的是0.94寸4線OLED顯示屏,這是一種包含0.96寸OLED屏幕及四根管腳的顯示模組。此OLED屏幕組常常被嵌入到系統(tǒng)或者是小型的電子裝置當(dāng)中,并且可以顯示文字、影像還有其他型態(tài)的資訊。用來提供模塊的接地的是GND,這個(gè)是地引腳。是需要接到負(fù)極電源上。用來傳輸數(shù)據(jù)時(shí)的時(shí)鐘信號的是SCL,它是時(shí)鐘引腳。這是需要連接到主控芯片的時(shí)鐘引腳。用來傳輸數(shù)據(jù)的是SDA,SDA是數(shù)據(jù)引腳。這是得連接到主控芯片的數(shù)據(jù)引腳。當(dāng)采用I2C接口的時(shí)候,它也被稱作為SDA,即串行的數(shù)據(jù)線??紤]到友好的人機(jī)界面,顯示屏就起到了一個(gè)很好的作用,在顯示屏上面可以顯示出當(dāng)前的時(shí)間和解鎖狀況,以及解鎖失敗后的警告,當(dāng)我們需要修改密碼的時(shí)候,顯示屏上也會顯示出你當(dāng)前修改的密碼以及有沒有密碼修改成功。圖4Figure43.1.3JDY-31藍(lán)牙模塊JDY-31藍(lán)牙模塊:作為一款先進(jìn)的無線通信設(shè)備,它的技術(shù)基礎(chǔ)就在于藍(lán)牙4.0標(biāo)準(zhǔn)。這一個(gè)模塊采用了低功耗的設(shè)計(jì)理念,意為提供穩(wěn)定可靠的數(shù)據(jù)傳輸服務(wù)。當(dāng)啟用的時(shí)候,它就會利用內(nèi)置的低能耗處理器來管理還有處理藍(lán)牙數(shù)據(jù)包,確保在不消耗過多電能的前提下,也可以實(shí)現(xiàn)高效的信息交換。該模塊接收來自其他藍(lán)牙設(shè)備的信號并且發(fā)出自己的信號,這樣它們能夠相互識別和連接,從而實(shí)現(xiàn)更廣泛的設(shè)備間的通訊。用手機(jī)打開藍(lán)牙配對成功后就可以和手機(jī)進(jìn)行通信了,我們就可以用手機(jī)通過藍(lán)牙去控制單片機(jī)。JDY-31藍(lán)牙模塊程序設(shè)計(jì)藍(lán)牙模塊采用SPP透傳,接收到主機(jī)藍(lán)牙的數(shù)據(jù)后,會直接傳輸給STM單片機(jī),與SM5388B傳感器類似,建立Buletooth.c庫函數(shù)存放藍(lán)牙模塊的程序,再從主程序中調(diào)用,調(diào)用USART3,串口3引腳為PB10和PB11,初始化串口配置串口波特率,設(shè)置程序中斷,由于有多個(gè)中斷,需要對中斷優(yōu)先級進(jìn)行設(shè)置,設(shè)置搶占優(yōu)先級設(shè)為3,響應(yīng)優(yōu)先級為3REF_Ref26798\r\h[7]。圖5Figure53.1.4蜂鳴器模塊蜂鳴器模塊:蜂鳴器是一種以直流電壓作為電源的集成化電子信號發(fā)生器。圖6Figure63.1.5DS1302時(shí)鐘芯片DS1302時(shí)鐘芯片:將DS1302時(shí)鐘芯片外接32.678KHz晶振,采用無備用電源設(shè)計(jì),其I/O引腳、SCLK引腳、RST引腳分別經(jīng)R3、R4、R5三個(gè)4.7K的上拉電阻后接至單片機(jī)的P3.3、P3.4、P3.5引腳組成實(shí)時(shí)時(shí)鐘電路,為系統(tǒng)提供所需顯示的實(shí)時(shí)時(shí)鐘REF_Ref26903\r\h[8]。圖7Figure73.1.6LU-ASR01語音識別模塊LU-ASR01語音識別模塊:語音識別模組采用型號為LU-ASRO1的智能語音識別控制模塊,它可以自定義喚醒詞和語音詞條,識別率高達(dá)98%REF_Ref26968\r\h[9]。整個(gè)系統(tǒng)就分為了兩個(gè)部分。一個(gè)是硬件,另一個(gè)是軟件。在硬件方面,我們使用了先進(jìn)的數(shù)字信號處理技術(shù),并且提供了不同的語音輸入方法。除此之外,本系統(tǒng)還被配備了USB、串口等等標(biāo)準(zhǔn)接口,便于和其他設(shè)備的通訊。在軟件這方面,語音識別算法庫還有應(yīng)用程序的API,可以很容易的和多種應(yīng)用程序結(jié)合起來。圖8Figure83.1.7繼電器繼電器:繼電器是一種電子控制裝置,在輸入量的改變滿足一定的條件的時(shí)候,就會被控量按原先確定的步進(jìn)改變。繼電器的軟件設(shè)置類似于LED燈的設(shè)置,都是配置對應(yīng)的單片機(jī)端口,通過單片機(jī)輸出高低電平控制繼電器的打開和關(guān)閉,實(shí)現(xiàn)門鎖的開關(guān)REF_Ref27125\r\h[10]。圖9Figure93.1.84x4矩陣鍵盤4x4矩陣鍵盤:假設(shè)4排列線(輸入)為DCBA,4排列線全部被設(shè)置成輸入為0的模式,即DCBA=0000;4排行線(輸出)為4位(dcba),將其設(shè)置為dcba=1111REF_Ref27239\r\h[11]。按鍵為微型開關(guān),亦可選為薄膜鍵或硅膠鍵,震動小而穩(wěn)定。密碼鍵有10個(gè),從0~9,功能鍵有3個(gè),一共需要13個(gè)按鍵REF_Ref27291\r\h[12]。圖10Figure103.1.9SPP藍(lán)牙串口模塊我選用的是SPP這個(gè)藍(lán)牙串口APP,通過手機(jī)的藍(lán)牙搜索到單片機(jī)的藍(lán)牙,進(jìn)行連接。連接成功后,就能開鎖以及解鎖。同時(shí),還能記錄上開鎖的時(shí)間,密碼解鎖以及語音解鎖的時(shí)間都能在這個(gè)APP上面被記錄著,如果開鎖成功就會記錄上開鎖時(shí)間和open,解鎖失敗三次以及三次以上,也會記錄上失敗的解鎖時(shí)間和warning。支持SPP藍(lán)牙串口協(xié)議,具有體積小、成本低、功耗低、收發(fā)靈敏性高等優(yōu)點(diǎn),它有三中國模式,分別是Master(發(fā)送模式:查詢周圍的藍(lán)牙從設(shè)備,并主動發(fā)起連接,從而建立主、從藍(lán)牙設(shè)備間的透明數(shù)據(jù)傳輸)、Slave(接收模式)、和Slave-Loop(回環(huán)模式)REF_Ref27380\r\h[13]。3.2核心電路圖圖11Figure11這篇文章是以STM32F103C8T6zuo作為核心控制器,就是和矩陣鍵盤、LU-ASR01語音模塊和JDY-31藍(lán)牙模塊、時(shí)鐘芯片等電路進(jìn)行連接,完成了多個(gè)功能的整合;處理器:我選用的核心控制器是STM32F103C8T6,負(fù)責(zé)處理所有輸入和輸出信號;OLED顯示模塊:連接到STM32的GPIO端口,用于輸入密碼,可以顯示鎖的開關(guān)狀態(tài),當(dāng)前時(shí)間和密碼,在連接藍(lán)牙模塊的時(shí)候,如果鎖開了,可以顯示“open”,如果關(guān)閉就會顯示“close”。前兩次數(shù)字密碼或語音密碼錯(cuò)誤的時(shí)候屏幕顯示“error”,第三次錯(cuò)誤蜂鳴器報(bào)警的同時(shí)顯示“warning”;4x4矩陣鍵盤:連接到STM32的GPIO端口,用于輸入密碼,當(dāng)我們按#鍵時(shí)就可以輸入密碼,修改密碼的時(shí)候是需要先按*號鍵再輸入與之前所設(shè)置的密碼和語音識別連續(xù)解鎖三次失敗,蜂鳴器響一會就報(bào)警并且顯示屏上會同時(shí)顯示warning;ASR01語音識別模塊:通過串口或I2C連接到STM32,用于接收和識別語音指令,可以通過語音指令開鎖,正確語音指令為“解鎖成功”,錯(cuò)誤語音指令為“打開門鎖”,密碼和語音識別連續(xù)解鎖三次失敗,蜂鳴器一會就響并且顯示屏上同時(shí)顯示warning;DS1302時(shí)鐘模塊:連接到STM32的SPI或I2C接口,提供當(dāng)前時(shí)間;JDY-31藍(lán)牙模塊:我們先用手機(jī)藍(lán)牙連接到STM32的串口藍(lán)牙,連接成功后,可以在手機(jī)APP的界面里進(jìn)行開送和關(guān)鎖,手機(jī)APP的界面中還可以顯示出每次我們開關(guān)鎖的時(shí)間和報(bào)警警告的時(shí)間;繼電器模塊:連接到STM32的GPIO端口,模擬開鎖的開關(guān),輸入正確的密碼或者說出正確語音指令可以開鎖,繼電器打開一會代表開鎖,幾秒鐘后關(guān)閉代表自動關(guān)鎖;蜂鳴器模塊:連接到STM32的GPIO端口,用于發(fā)出報(bào)警聲音,密碼和語音識別連續(xù)解鎖三次失敗,蜂鳴器響一會報(bào)警。報(bào)警功能:報(bào)警模塊主要分為兩個(gè)功能。第一部分是顯示屏,當(dāng)密碼輸入錯(cuò)誤或者是語音指令錯(cuò)誤時(shí),顯示屏上就會顯示error;第二部分是蜂鳴器,當(dāng)密碼輸入錯(cuò)誤或者是語音指令錯(cuò)誤三次以及三次以上的時(shí)候,系統(tǒng)會用揚(yáng)聲器進(jìn)行報(bào)警告知用戶解鎖失敗。4軟件方案設(shè)計(jì)4.1Keil軟件介紹Keil是一款專業(yè)的嵌入式開發(fā)軟件,它可以廣泛的應(yīng)用在微控制器、嵌入式系統(tǒng)等領(lǐng)域,它的綜合開發(fā)環(huán)境(IDE),編譯器,調(diào)試器,仿真器等,可以讓開發(fā)人員從編寫代碼到調(diào)試,測試,仿真等整個(gè)過程。(1)Keil提供了一個(gè)功能強(qiáng)大的編譯器,它可以支持ARM、8051、C166等不同的芯片平臺,可以幫助開發(fā)者進(jìn)行代碼的編譯與優(yōu)化。除此之外,Keil還為開發(fā)人員提供了大量的代碼還有樣例程序,使得開發(fā)人員可以更快地投入到項(xiàng)目的開發(fā)中來,從而大大的提高了效率。(2)Keil的IDE提供了C語言、C++,匯編等多個(gè)語言的支持,從而使得開發(fā)人員可以用自己最熟悉的語音進(jìn)行編程,從而大大提升了軟件的開發(fā)效率和質(zhì)量。4.2天問Block軟件介紹隨著科學(xué)技術(shù)的快速發(fā)展,區(qū)塊鏈技術(shù)正逐步深入到我們?nèi)粘5纳町?dāng)中。作為一種去中心化、安全可靠的分布式賬本技術(shù),區(qū)塊鏈在數(shù)字貨幣、智能合約、供應(yīng)鏈管理等領(lǐng)域展現(xiàn)出巨大的潛力。為了更好地滿足廣大開發(fā)者對區(qū)塊鏈技術(shù)的需求,天問Block軟件應(yīng)運(yùn)而生。4.2.1天問Block軟件概述天問Block軟件是一款基于區(qū)塊鏈技術(shù)的開發(fā)平臺,旨在為開發(fā)者提供便捷、高效、安全的區(qū)塊鏈應(yīng)用開發(fā)服務(wù)。該軟件支持多種主流的區(qū)塊鏈協(xié)議,如以太坊、EOS、HyperledgerFabric等,并提供了豐富的開發(fā)工具、模板和庫,幫助開發(fā)者快速搭建、部署和運(yùn)維區(qū)塊鏈應(yīng)用。4.2.2天問Block軟件特點(diǎn)易用性天問Block軟件采用簡潔直觀的界面設(shè)計(jì),使得開發(fā)者無需深入了解復(fù)雜的區(qū)塊鏈技術(shù),即可快速上手。同時(shí),軟件提供了很多的文檔和教程,可以解決開發(fā)者在使用過程中遇到的問題。高度可定制:天問Block軟件支持多種區(qū)塊鏈協(xié)議和智能合約語言,開發(fā)者可以根據(jù)自己的需求選擇合適的技術(shù)棧。此外,軟件還提供了豐富的開發(fā)工具和模板,方便開發(fā)者快速搭建和部署區(qū)塊鏈應(yīng)用。安全性:天問Block軟件采用先進(jìn)的加密算法和安全機(jī)制,確保區(qū)塊鏈應(yīng)用的穩(wěn)定運(yùn)行和數(shù)據(jù)安全。同時(shí),軟件提供了詳細(xì)的安全審計(jì)和漏洞檢測功能,幫助開發(fā)者及時(shí)發(fā)現(xiàn)并修復(fù)潛在的安全風(fēng)險(xiǎn)。可擴(kuò)展性:天問Block軟件支持分布式部署和彈性擴(kuò)展,可以滿足大規(guī)模區(qū)塊鏈應(yīng)用的需求。此外,軟件還提供了豐富的插件和接口,方便開發(fā)者進(jìn)行二次開發(fā)和集成。4.2.3天問Block軟件功能智能合約開發(fā):天問Block軟件支持多種智能合約語言,如Solidity、EOSIO等,方便開發(fā)者編寫和部署智能合約。同時(shí),軟件提供了智能合約調(diào)試和測試工具,幫助開發(fā)者提高開發(fā)效率和代碼質(zhì)量。區(qū)塊鏈瀏覽器:天問Block軟件內(nèi)置了區(qū)塊鏈瀏覽器功能,方便開發(fā)者查看區(qū)塊鏈網(wǎng)絡(luò)的狀態(tài)、交易、區(qū)塊等信息。此外,瀏覽器還提供了豐富的數(shù)據(jù)分析和可視化工具,幫助開發(fā)者深入了解區(qū)塊鏈網(wǎng)絡(luò)的運(yùn)行狀況。錢包管理:天問Block軟件支持多種數(shù)字貨幣錢包的創(chuàng)建和管理,如以太坊錢包、EOS錢包等。開發(fā)者可以使用軟件輕松管理自己的數(shù)字資產(chǎn),進(jìn)行轉(zhuǎn)賬、交易等操作。同時(shí),軟件還提供了詳細(xì)的安全建議和風(fēng)險(xiǎn)提示,幫助開發(fā)者保護(hù)自己的數(shù)字資產(chǎn)安全。部署與運(yùn)維:天問Block軟件提供了便捷的部署和運(yùn)維工具,幫助開發(fā)者快速搭建和運(yùn)維區(qū)塊鏈應(yīng)用。軟件支持自動化部署、集群管理、日志分析等功能,方便開發(fā)者進(jìn)行監(jiān)控和管理區(qū)塊鏈應(yīng)用。4.3C語言介紹C語言是一種結(jié)構(gòu)化語言,具有明確的層級,可以以模塊化的形式來編寫程序,這對于調(diào)試程序又很大的幫助,并且C語音的處理還有表現(xiàn)能力都很強(qiáng),憑借著大量的運(yùn)算符和豐富的數(shù)據(jù)類型,就很容易地構(gòu)造出來不一樣的數(shù)據(jù)結(jié)構(gòu),利用指針類型可以直接對存儲器進(jìn)行尋址,也是可以對硬件直接進(jìn)行操作,所以可以在系統(tǒng)和應(yīng)用軟件的開發(fā)上都有很好的應(yīng)用。在對C語言進(jìn)行研究分析,就可以知道它主要特點(diǎn)有這些:編程時(shí)主要是用小寫字母寫的,去掉了很多不必要的地方。所以C語言是具有一個(gè)很簡單的編譯系統(tǒng)。還有C語言是一門結(jié)構(gòu)化語言,它提供了一些結(jié)構(gòu)化的控制語句,例如for、if...,以及其他語句,它可以用來對功能進(jìn)行邏輯控制,從而使面向流程的編程變得容易。4.4程序設(shè)計(jì)系統(tǒng)初始化:初始化所有硬件模塊,包括OLED,矩陣鍵盤,語音識別模塊,DS1302時(shí)鐘模塊,JDY-31藍(lán)牙模塊,繼電器模塊和蜂鳴器模塊;密碼管理:設(shè)定一個(gè)密碼變量來存儲當(dāng)前有效密碼,提供密碼修改功能,要求輸入當(dāng)前密碼以驗(yàn)證身份;解鎖邏輯:4x4矩陣鍵盤輸入,如果我們輸入了正確密碼,繼電器就會亮綠燈,代表們送已經(jīng)打開,監(jiān)聽ASR01語音識別模塊的語音指令,如果識別到“解鎖成功”,則通過繼電器打開門鎖;錯(cuò)誤處理:設(shè)定一個(gè)錯(cuò)誤計(jì)數(shù)器,用于跟蹤連續(xù)錯(cuò)誤的次數(shù),當(dāng)密碼或語音指令錯(cuò)誤時(shí),OLED顯示屏顯示“error”,若連續(xù)錯(cuò)誤達(dá)到三次,蜂鳴器響起并顯示“warning”。時(shí)間顯示:在DSI302時(shí)鐘模塊中讀取出當(dāng)下的時(shí)間,并且可以在OLED顯示屏上顯示出這個(gè)時(shí)間。藍(lán)牙通信:使用JDY-31藍(lán)牙模塊接受手機(jī)APP的指令,如果APP設(shè)置為開鎖,則執(zhí)行相應(yīng)的解鎖邏輯,在OLED顯示屏上顯示每次開鎖的時(shí)間和報(bào)警時(shí)間。系統(tǒng)狀態(tài)管理:管理繼電器模塊的狀態(tài),確保在開門后的一段時(shí)間后自動關(guān)閉,監(jiān)控所有模塊的工作狀態(tài),確保系統(tǒng)穩(wěn)定運(yùn)行。用戶界面設(shè)計(jì):設(shè)計(jì)易于理解的OLED顯示屏界面,確保用戶能夠清晰地看到鎖的狀態(tài)、時(shí)間和密碼。4.5代碼介紹1.C語言頭文件的調(diào)用圖12Figure12Uint8_tWORD[4]={1,2,3,4};這是設(shè)置了矩陣鍵盤的初始密碼unsignedchardateTime[6]={23,8,5,11,11,00};CharOLED_buff[9]=““;這是時(shí)鐘模塊定義的初始時(shí)間Intflag_ps=0;這是密碼是否正確。1正確,0錯(cuò)誤2.給藍(lán)牙APP發(fā)送時(shí)間圖13Figure133.控制蜂鳴器的報(bào)警,連續(xù)輸入錯(cuò)誤密碼三次以及三次以上,蜂鳴器進(jìn)行兩秒鐘的報(bào)警。圖14Figure144.在語音指令判斷正確的話,Door:open顯示開門,向串口發(fā)送數(shù)據(jù),然后在藍(lán)牙APP上顯示,在開門兩秒鐘之后,進(jìn)行關(guān)門。圖15Figure155.如果指令錯(cuò)誤,三次以及三次以上,就會顯示警告“warning”圖16Figure166.編譯藍(lán)牙APP開鎖和關(guān)鎖的操作圖17Figure175系統(tǒng)完成與測試為完成單片機(jī)的多功能密碼鎖系統(tǒng)的建設(shè),將各個(gè)功能模塊與主控模板進(jìn)行焊接,確保線路的連接正常。測試之前,我們首先對線路進(jìn)行檢查,查看焊接的線路有沒有斷掉,再查看各個(gè)模塊的連接是否到位,查看無誤之后,我們應(yīng)該對硬件設(shè)備進(jìn)行連接和調(diào)試,確保各個(gè)模塊可以正常的工作。除此之外,我們還要查看軟件,打開我們的Keil5開發(fā)工具,對軟件進(jìn)行配置和調(diào)試。另外,我們還需要查看代碼的正確性、健壯性、以及可讀性等等因素,確保系統(tǒng)可以正常的運(yùn)行,這樣就可以避免很多問題,以此可以來提高系統(tǒng)的可靠性和可用性。最后,我們通電,連接電源,看看硬件模塊等方面有沒有響應(yīng)。經(jīng)過多次調(diào)試修改確認(rèn)無誤的情況下,對多功能密碼鎖的密碼解鎖、語音解鎖以及藍(lán)牙APP遠(yuǎn)程解鎖這些模塊逐一的進(jìn)行測試,最終的測試結(jié)果表明可以有效進(jìn)行語音指令解鎖和藍(lán)牙APP解鎖,使得門鎖解鎖方式變得更加多樣,不再局限于傳統(tǒng)的密碼解鎖,解鎖方式變多了之后,解鎖就更加便捷以及高效安全。軟件調(diào)試部分:打開Keil5,把代碼文件包打開,打開之后,下載程序,運(yùn)行程序,代碼顯示無錯(cuò)誤。密碼解鎖部分:我先輸入之前所設(shè)置的密碼,通過矩陣鍵盤輸入初始密碼:1234,顯示屏上顯示“open”字樣,繼電器輸出信號綠燈亮起,證明密碼無誤,門鎖可以打開。語音模塊部分:語音模塊的指令我設(shè)置的是“解鎖成功”為正確指令,說出“解鎖成功”之后,顯示屏顯示“open”字樣,繼電器輸出信號綠燈亮起,證明語音指令無誤,門鎖就可以打開。錯(cuò)誤指令我設(shè)置為“打開門鎖”,說出打開門鎖之后,繼電器關(guān)閉,顯示屏顯示“close”字樣,證明語音指令錯(cuò)誤。藍(lán)牙模塊部分:打開手機(jī)藍(lán)牙,與單片機(jī)的藍(lán)牙連接,沒連接的時(shí)候藍(lán)牙傳感器就會閃著紅燈,直到紅燈不閃爍了,就代表已經(jīng)連接成功。在界面上設(shè)置開鎖和關(guān)鎖,按下開鎖,聊天框可以記錄下開鎖時(shí)間,這是顯示屏顯示“open”字樣,繼電器輸出信號綠燈亮起。按下關(guān)鎖鍵時(shí),聊天框記錄下關(guān)鎖時(shí)間,顯示屏顯示“close”字樣,繼電器關(guān)閉,代表關(guān)鎖成功。圖18Figure18最后我進(jìn)行了軟硬件聯(lián)合調(diào)試,實(shí)驗(yàn)結(jié)構(gòu)顯示,這個(gè)系統(tǒng)能夠達(dá)到之前預(yù)定的解鎖效果,同時(shí)也是證明了該方案在軟硬件上的正確性與可行性。測試結(jié)果表明了這樣系統(tǒng)設(shè)計(jì)可以實(shí)現(xiàn)預(yù)期的解鎖效果,驗(yàn)證了硬件和軟件方面方案的正確性和可行性。經(jīng)過測試之后,該設(shè)計(jì)具有以下幾種特點(diǎn):(1)功能多樣,可以滿足用戶多種需求;(2)使用方便,用戶不用因?yàn)閭鹘y(tǒng)的機(jī)械鎖易丟失而增添煩惱,用戶只需要根據(jù)密碼鎖的密碼解鎖或者是語音指令解鎖或者是連接藍(lán)牙模塊在手機(jī)APP上解鎖了;(3)安全性對比以前提高了,采用了硬件電路、軟件算法等多重保護(hù)機(jī)制來保證用戶的使用安全。6總結(jié)與展望6.1總結(jié)這篇文章介紹了一種基于單片機(jī)的多功能密碼鎖的設(shè)計(jì)與實(shí)現(xiàn)。該鎖具有密碼解鎖、語音解鎖和手機(jī)App遠(yuǎn)程連接藍(lán)牙解鎖三種功能,為使用者提供了便捷、安全的使用體驗(yàn)。該系統(tǒng)設(shè)計(jì)具有以下特點(diǎn):(1)系統(tǒng)使用單片機(jī)作為控制芯片,它所具有強(qiáng)大的功能能夠?qū)崿F(xiàn)智能控制完成密碼的輸入、判斷和比較從而執(zhí)行相應(yīng)的開鎖顯示或報(bào)警等功能。(2)使用用戶可以隨時(shí)更改密碼,密碼可變,同時(shí)可避免因人員的更替而使鎖的隱密級下降。(3)能防止試探性輸入密碼開鎖,隨機(jī)開鎖成功率幾乎為零。(4)無活動零件,不會磨損,壽命長。(5)使用靈活性好,避免必須佩帶鑰匙才能開鎖的弊端。(6)操作簡單易行,適合各個(gè)年齡段的用戶REF_Ref27500\r\h[15]。經(jīng)過測試和結(jié)果分析,這個(gè)設(shè)計(jì)表現(xiàn)出了良好的穩(wěn)定性和可靠性,具有成本低、易于維護(hù)和升級等等優(yōu)點(diǎn)。在未來,本項(xiàng)目也會對算法以及硬件進(jìn)行改進(jìn),從而提升密碼鎖的安全性與性能。隨著科技的進(jìn)步與發(fā)展,未來的密碼鎖將朝著智能化、便捷、安全的方向發(fā)展。我們可以在這個(gè)基礎(chǔ)上,進(jìn)一步優(yōu)化單片機(jī)的性能,提高解鎖速度和準(zhǔn)確性;在這個(gè)基礎(chǔ)上,結(jié)合生物識別技術(shù)和虹膜識別技術(shù),對密碼鎖進(jìn)行了深入研究。此外,我們還可以開發(fā)更多的解鎖方式,如觸摸屏解鎖、指紋解鎖、NPC解鎖等,以滿足不同用戶的需求。盡管該系統(tǒng)具有較高的解鎖能力和較高的穩(wěn)定性,但是也有一些缺點(diǎn)。例如,密碼鎖的抗暴力破解攻擊的能力還有待提高;語音識別解鎖現(xiàn)在我只能通過設(shè)計(jì)語音指令來解鎖,以后在經(jīng)過不斷的學(xué)習(xí)下,利用聲紋分辨不同的用戶聲音,才能進(jìn)行解鎖,這比語音指令解鎖的安全性更加大大的提升了。手機(jī)App連接藍(lán)牙解鎖的準(zhǔn)確性和穩(wěn)定性也需要進(jìn)一步優(yōu)化,現(xiàn)如今我只能通過手機(jī)藍(lán)牙和連接單片機(jī)的藍(lán)牙模塊進(jìn)行解鎖,在逐漸通過學(xué)習(xí)的情況下

溫馨提示

  • 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

提交評論