物聯(lián)網(wǎng)
- 首頁 >> 新聞資訊 >> 博客文章 >> 物聯(lián)網(wǎng)
電子密碼鎖單片機(jī)硬件設(shè)計
目前,在國外RSA電子加密鎖技術(shù)運用已經(jīng)非常成熟,尤其在美國、德國等計算機(jī)技術(shù)發(fā)達(dá)國家,它的運用已經(jīng)相當(dāng)普遍,美國已經(jīng)將這項技術(shù)運用到了公鑰加密標(biāo)準(zhǔn)和電子商業(yè)中。電子密碼鎖包括圖形鎖、密碼鎖、指紋鎖、人臉識別等,這些安全鎖使用不同的設(shè)鎖和解鎖的模式,大多運用電容、機(jī)器碼、熱感等開鎖原理,具有很高的安全性,對于網(wǎng)絡(luò)用戶的個人信息和財務(wù)等方面的安全提供了有力保障。但是,還是有少部分高智商的犯罪分子仍然無視他們的存在,究其主要原因還是因為這些加密技術(shù)在現(xiàn)有的破鎖技術(shù)下可強破性很高,如此的結(jié)果就使的他們無法達(dá)到對更高機(jī)密的保護(hù)要求。
當(dāng)下,RSA電子密碼鎖開鎖解鎖模式和美國所運用的RSA密碼鎖解鎖開鎖模式基本相符,只是運用的主要硬件有所不同,電子密碼鎖所使用的STC89C52單片機(jī)內(nèi)部使用匯編語言處理信息,對代碼的要求較低,提升了電子密碼鎖廣泛應(yīng)用的可行性。而在本設(shè)計思路中運用了RSA密鑰加密技術(shù),由于RSA加密技術(shù)在當(dāng)下還屬于不可強破的加密技術(shù),從而增加了密碼鎖的不可強破性,提高了電子密碼鎖的安保性能,操作簡單、性價比更高。
一、電子密碼鎖單片機(jī)系統(tǒng)設(shè)計
1.1單片機(jī)的內(nèi)部引腳原件功能和外部實現(xiàn)
單片機(jī)是一種集成電路芯片,采用超大規(guī)模集成電路技術(shù)把具有數(shù)據(jù)處理能力的中央處理器CPU、隨機(jī)存儲器RAM、只讀存儲器ROM、多種I/O口和中斷系統(tǒng)、定時器/計數(shù)器等,還包括顯示驅(qū)動電路、發(fā)送數(shù)據(jù)的功能,具有接收信息、處理信息和做出外部響應(yīng)的功能,以此來模擬密碼鎖。其內(nèi)部有四個八位并行I/O端口:記作P0、P1、P2和P3,每個端口都是準(zhǔn)雙向口,包含一個鎖存器、一個輸出驅(qū)動器和一個輸入緩沖器。
P0口主要用于數(shù)碼管的顯示。P1口主要用于外部開鎖閉鎖和相對狀態(tài)的顯示,輸入輸出電路圖如圖1所示。P2端口的第1位(P2.1)接在繼電器的DIO端,在單片機(jī)內(nèi)控制高低電平,為P3口控制中斷提供指令。
P3口主要是控制器,端口的第0位連接藍(lán)牙的TX端,是單片機(jī)串口的接收端,P3端口的第1位連接藍(lán)牙的RX端,是單片機(jī)串口的發(fā)送端。按鍵S4在內(nèi)部連接P3端口的第2位,為外部中斷0(低電位),按鍵S5在內(nèi)部連接P3端口的第3位,為部中斷1(高電位)。
P1口作為通用I/O口,被設(shè)計為電子密碼鎖的外部鎖頭的旋轉(zhuǎn)控制,對P1的操作可以采用字節(jié)操作,也可以采用位操作。復(fù)位以后,口鎖存器為“1”,對于作為輸入的口線,相應(yīng)位的口鎖存器不能寫入“0”,在圖1中P1.0~P1.3作為輸出線,分別接,鎖身、鎖柄、開鎖狀態(tài)指示燈和閉鎖狀態(tài)指示燈,P1.4~P1.7作為輸入線,接四個開關(guān)S0~S3。圖1子程序采用字節(jié)操作指令將開關(guān)狀態(tài)送到P1.0~P1.3顯示,S1,S2閉合P1.0和P1.2分別處于開鎖和開鎖指示狀態(tài),S3,S4閉合P1.1和P1.3分別處于閉鎖和閉鎖指示狀態(tài),如果狀態(tài)指示燈不能與鎖頭鎖柄同步進(jìn)行指示狀態(tài),說明電子加密鎖出現(xiàn)故障,需要維修。
1.2單片機(jī)的功能
1)連接:和連接轉(zhuǎn)換模塊一樣,藍(lán)牙模塊的RX連接單片機(jī)的TX,藍(lán)牙模塊的TX連接單片機(jī)的RX,此處說明單片機(jī)的RX和TX引腳分別為P3.0 RXD(串行輸入口)和P3.1 TXD(串行輸出口),之后可相互記錄彼此的IP地址。在藍(lán)牙模塊和單片機(jī)進(jìn)行連接的時候,還要注意保持兩者的晶振相同,一般在12MHZ左右,晶振大小可在某平臺購買的時候在詳細(xì)數(shù)據(jù)參數(shù)中查詢。
2)傳送數(shù)據(jù):數(shù)據(jù)傳送的匯編語言指令一共有28種,用到的助記符有如下8種:MOV、MOVC、XCH、XCHD、SWAP、PUSH、POP、MOVX,也可以使用C語言代碼中的UART_DMA_Enable傳送信息,電子加密鎖主要使用了UART_DMA_Enable調(diào)用dma(直接存儲器)的發(fā)送方式。傳送數(shù)據(jù)的類型可分為內(nèi)部RAM的數(shù)據(jù)傳輸指令和片外RAM的數(shù)據(jù)傳輸指令,片內(nèi)RAM的數(shù)據(jù)傳送指令可以分為立即型、直接型、寄存器型和寄存器間址型,立即型數(shù)據(jù)傳輸一般使用助記符MOV。而電子密碼鎖所使用的是片內(nèi)RAM的立即數(shù)據(jù)型傳送指令。
51單片機(jī)的串口,是個全雙工的串口,發(fā)送數(shù)據(jù)的同時,還可以接收數(shù)據(jù)。當(dāng)串行發(fā)送完畢后,將在標(biāo)志位TI置1,同樣,當(dāng)收到了數(shù)據(jù)后,也會在RI置1。無論RI或TI出現(xiàn)了1,只要串口中斷處于開放狀態(tài),單片機(jī)都會進(jìn)入串口中斷處理程序。在中斷程序中,要區(qū)分出來研究是發(fā)送引起的中斷,還是接收引起的中斷,然后分別進(jìn)行處理。如果接收到1,則將P10置高電平,接收到0,P1.0置低電平。處于高電平時,開鎖狀態(tài),輸入輸出電路如圖1所示,以此來完成開鎖請求。
3)接收信息:接收信息,代碼使用程序存儲器ROM取數(shù)據(jù)指令,這種指令只有兩條,完成從程序存儲器ROM中讀入數(shù)據(jù),傳送至累加器。這兩條指令常用于查表操作,故又被稱之為查找指令,內(nèi)部主要依賴于P3.6/WR(外部數(shù)據(jù)存儲器寫選通)和P3.7/RD(外部數(shù)據(jù)存儲器讀選通)。串口接收程序基于串口中斷,單片機(jī)串口每次接收到一字節(jié)數(shù)據(jù)產(chǎn)生一次中斷,然后再讀取寄存器就可以得到串口所接收的數(shù)據(jù)。然而在實際應(yīng)用當(dāng)中,基本上不會有單字節(jié)接收的情況。一般都是基于一定串口通信協(xié)議的多字節(jié)通信。在422或者485通信中,還可能是一個主機(jī)(一般是計算機(jī))帶多個從機(jī)(相應(yīng)的有單片機(jī)的板卡)。這就要求單片機(jī)能夠在連續(xù)接收到的串口數(shù)據(jù)序列中識別出符合自己板卡對應(yīng)的通信協(xié)議,來進(jìn)行控制操作,不符合則不進(jìn)行任何操作。簡而來說就是,單片機(jī)要在一串?dāng)?shù)據(jù)中找到符合一定規(guī)律的幾個字節(jié)的數(shù)據(jù),來達(dá)到匹配效果。
二、藍(lán)牙模塊原理和功能
2.1藍(lán)牙模塊的功能和作用
藍(lán)牙模塊是指集成藍(lán)牙功能的芯片基本電路集合,用于無線網(wǎng)絡(luò)通訊,大致可分為三大類型:數(shù)據(jù)傳輸模塊、遠(yuǎn)程控制模塊和數(shù)據(jù)采集模塊。一般模塊具有半成品的屬性,是在芯片的基礎(chǔ)上進(jìn)行加工,使后續(xù)應(yīng)用更為方便。電子密碼鎖使用的是半成品藍(lán)牙模塊。電子密碼鎖藍(lán)牙模塊相當(dāng)于開鎖裝置,是用來存儲RSA加密源碼和解秘源碼的模塊,同時具有與單片機(jī)進(jìn)行藍(lán)牙方式連接、發(fā)送信息和接收信息的功能。
1)連接:使用的是HC-05型號的藍(lán)牙模塊,通過USB-TTL轉(zhuǎn)接器,在與單片機(jī)進(jìn)行連接之前連接到電腦上,通過串口調(diào)試助手調(diào)試。進(jìn)入命令調(diào)試模式,輸入AT指令,設(shè)置模塊的參數(shù)。設(shè)置藍(lán)牙的名稱,用指令A(yù)T+name=”xxx”
設(shè)置藍(lán)牙模塊名字為xxx,方便后續(xù)查找。設(shè)置自動連接模式的串口波特率為9600,為了與藍(lán)牙模塊波特率進(jìn)行匹配,用指令A(yù)T+uart=9600,0,0
,設(shè)置波特率為9600,停止位1位,無校驗位。若藍(lán)牙模塊為手機(jī)時,可直接使用手機(jī)藍(lán)牙功能進(jìn)行藍(lán)牙連接,在藍(lán)牙模塊的Java代碼內(nèi)進(jìn)行波特率設(shè)置。
2)發(fā)送信息:配對完成后,設(shè)備之間已經(jīng)記錄了雙方的IP地址,通過點擊listView設(shè)備,觸發(fā)HandleMessage線程傳輸數(shù)據(jù),數(shù)據(jù)流以字節(jié)流的形式進(jìn)行傳播。
3)接收數(shù)據(jù):通過觸發(fā)handerler.sendMessage自動接收數(shù)據(jù)流,以字節(jié)的方式接收之后再進(jìn)行字符形式的轉(zhuǎn)換,達(dá)到獲取數(shù)據(jù)的目的。
2.2硬件功能流程
開始使用電子密碼鎖時,首先對藍(lán)牙模塊和單片機(jī)進(jìn)行初始化,主要是執(zhí)行重啟操作即可,第二步在藍(lán)牙模塊上只需要按請求鍵請求請求重新生成密碼密鑰,可在,單片機(jī)接收并信息處理信息,做出生成密碼和保存密碼的指令,單片機(jī)顯示屏?xí)崾久艽a設(shè)置完成,第三步,利用藍(lán)牙模塊發(fā)出解鎖請求信息,在液晶顯示屏上顯示開鎖成功,開鎖狀態(tài)指示燈點亮,鎖頭旋轉(zhuǎn),達(dá)到解鎖的目的。解鎖開鎖的過程省去了手動輸入密碼是過程,在內(nèi)部使用函數(shù)直接調(diào)用接收信息端口。
結(jié)語
電子加密鎖選擇51單片機(jī),是因為它的指令簡單,外圍電路簡單,硬件設(shè)計方便,I/O口操作簡單,無方向寄存器,可用資源豐富,一般設(shè)計就可以滿足電子密碼鎖的需要,而且易學(xué)易懂,方便后期電子密碼鎖的維修工作。而藍(lán)牙模塊,價格便宜、容易購買,資料豐富容易獲得,程序編寫簡單,低功率,便于在停電的情況下使用小功率電池長期供電使用,而且使用藍(lán)牙通信,不受互聯(lián)網(wǎng)的限制,即便在沒有無線網(wǎng)的情況下也可以正常使用。所以基于51單片機(jī)模塊設(shè)計的電子密碼鎖將以其操作簡單、安全系數(shù)高和價格低廉等特點,被大眾所接受并得到廣泛的應(yīng)用。
以上就是我們深圳市組創(chuàng)微電子有限公司為您介紹的電子密碼鎖開發(fā)示例。如果您有電子密碼鎖控制板方案開發(fā)需求,可以放心交給我們。我們代理多種單片機(jī)、語音芯片、雙模藍(lán)牙IC、wifi芯片。品牌有松翰單片機(jī)、應(yīng)廣單片機(jī)、杰理藍(lán)牙、安凱藍(lán)牙、全志、瑞昱(realtek)。我們的技術(shù)服務(wù)范圍有:PCB設(shè)計、單片機(jī)開發(fā)、藍(lán)牙方案、軟硬件定制開發(fā)、APP開發(fā)、小程序開發(fā)、微信公眾號開發(fā)等。還可以承接智能電子產(chǎn)品方案設(shè)計、生活電器開發(fā)、美容儀器研發(fā)、物聯(lián)網(wǎng)平臺應(yīng)用、智能家居控制系統(tǒng)、TWS耳機(jī)、藍(lán)牙耳機(jī)音箱開發(fā)、兒童益智玩具方案開發(fā)、電子教育產(chǎn)品方案設(shè)計等。
- 返回頂部