<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 設(shè)計應(yīng)用 > 基于Zigbee的智能門鎖控制終端設(shè)計

          基于Zigbee的智能門鎖控制終端設(shè)計

          作者:沈凡 席飛 杭磊 陳城 時間:2018-10-25 來源:電子產(chǎn)品世界 收藏
          編者按:本文介紹了基于Zigbee通信協(xié)議的智能門鎖,從低成本、低功耗的角度出發(fā),設(shè)計了一種具有實用價值的智能門鎖控制終端,智能門鎖控制終端以CC2530作為處理器,以Zigbee協(xié)議棧為通信載體,設(shè)計了相應(yīng)外圍電路,如門鎖驅(qū)動電路、液晶顯示電路、鍵盤輸入電路和RFID讀卡器電路。實現(xiàn)了以RFID讀取卡號與密碼輸入的方式采集身份信息,將身份信息發(fā)送至上位控制機進(jìn)行身份核實,上位控制器返回核實信息結(jié)果,智能門鎖控制終端根據(jù)核實后的結(jié)果進(jìn)行開關(guān)門操作及液晶顯示頁面的更新。

          作者 沈凡 席飛 杭磊 陳城 淮陰工學(xué)院 電子信息工程學(xué)院(江蘇 淮安223001)

          本文引用地址:http://www.ex-cimer.com/article/201810/393370.htm

          摘要:本文介紹了基于Zigbee通信協(xié)議的智能門鎖,從低成本、低功耗的角度出發(fā),設(shè)計了一種具有實用價值的智能門鎖控制終端,智能門鎖控制終端以CC2530作為處理器,以Zigbee協(xié)議棧為通信載體,設(shè)計了相應(yīng)外圍電路,如門鎖驅(qū)動電路、液晶顯示電路、鍵盤輸入電路和讀卡器電路。實現(xiàn)了以讀取卡號與密碼輸入的方式采集身份信息,將身份信息發(fā)送至上位控制機進(jìn)行身份核實,上位控制器返回核實信息結(jié)果,智能門鎖控制終端根據(jù)核實后的結(jié)果進(jìn)行開關(guān)門操作及液晶顯示頁面的更新。

          0 引言

            現(xiàn)代人的生活越來越信息化,人們對于生活質(zhì)量的要求也越來越高,家庭房屋安全就變成頭等大事,現(xiàn)在的犯罪分子盜竊手段也在日益進(jìn)步,入室偷竊也是頻繁發(fā)生,對于偷竊問題目前還很難做到完全杜絕,只能夠通過提升家庭安防技術(shù),來提高安全系數(shù)?,F(xiàn)在市場上的一些智能門鎖設(shè)備,都是自帶處理功能的,很難抵御不法分子的盜竊手段。所以方式控制的智能門鎖應(yīng)運而生,他的優(yōu)點在于不進(jìn)行數(shù)據(jù)對比處理,只做數(shù)據(jù)采集以及數(shù)據(jù)傳輸,更為安全可靠,而且無線智能門鎖使用較為方便,不需要大量布線;而且可以和智能家居控制系統(tǒng)相結(jié)合,以提高家庭安防性能 [1-2]。

          1 Zigbee技術(shù)

            1.1 Zigbee技術(shù)

            Zigbee技術(shù)是一種短距離、低功耗的無線網(wǎng)絡(luò)通訊技術(shù),其采用了IEEE802.15.4協(xié)議規(guī)范,具有低數(shù)據(jù)速率、低功耗、低成本、安全可靠,具有自組網(wǎng)和自恢復(fù)能力等優(yōu)點。本文選用的是TI公司的第二代片上系統(tǒng)CC2530,相比以前的產(chǎn)品,CC2530具有更優(yōu)越的RF性能,支持多種協(xié)議如ZigbeePRO、ZigbeeRF4CE等。本文介紹的智能門鎖控制終端使用到CC2530作為處理器,用來驅(qū)動液晶顯示電路、AD模擬鍵盤以及讀取控制電路,以達(dá)到優(yōu)化智能門鎖的目的,從而降低成本。

            1.2 Zigbee無線傳輸優(yōu)勢與其余方式的比較

            本文采用Zigbee技術(shù)進(jìn)行,是因為相比于藍(lán)牙技術(shù)而言Zigbee傳輸距離比藍(lán)牙遠(yuǎn)的多, WiFi相比Zigbee傳輸速率快但是耗電量較高,WiFi適合快速發(fā)送數(shù)據(jù),而Zigbee相比于藍(lán)牙雖然傳輸速率慢,但是功耗比藍(lán)牙低,通過電池供電就能維持較長時間,適合傳輸數(shù)據(jù)量不大、傳輸不頻繁的設(shè)備。正因為Zigbee的功耗低和數(shù)據(jù)傳輸不頻繁的特點,所以采用Zigbee無線傳輸技術(shù)。

          2 系統(tǒng)結(jié)構(gòu)

            2.1 智能門鎖控制終端系統(tǒng)結(jié)構(gòu)

            本文智能門鎖控制終端內(nèi)部包括:ZigbeeCC2530通信模塊、RFID閱讀器、按鍵鍵盤和19232顯示液晶,系統(tǒng)結(jié)構(gòu)圖如圖1所示。

            使用ZigbeeCC2530讀取RFID卡號與鍵盤輸入的密碼數(shù)據(jù),將讀取的RFID卡號數(shù)據(jù)或密碼數(shù)據(jù)打包成數(shù)據(jù)包,通過Zigbee通信模塊無線傳輸數(shù)據(jù),將數(shù)據(jù)傳輸至終端設(shè)備,終端設(shè)備返回數(shù)據(jù)對比信息至智能門鎖控制終端,用于是否進(jìn)行開門操作。液晶的主要是用于顯示使用者的當(dāng)前操作狀態(tài)。具體設(shè)計制作產(chǎn)品如圖2所示。

            2.2 硬件設(shè)計

            1)Zigbee處理器電路

            本文選用TI公司最新Zigbee芯片CC2530F256作為處理器,以Zigbee協(xié)議棧為通信載體,此芯片射頻組是在2.4GHz頻段,電路圖如圖3所示。

            CC2530芯片是最實用的片上系統(tǒng)首選,不僅成本低而且功耗也很小,是TI公司專門設(shè)計基于IEEE 802.15.4協(xié)議的Zigbee芯片,這塊芯片上集成了8051內(nèi)核,帶有256 KB的內(nèi)存和8 KB的RAM,足以提供智能門鎖控制終端的信息處理與控制操作[4]。

            2)門鎖控制電路

            本文智能門鎖控制終端所使用的機械門鎖為靈性鎖,靈性鎖使用的是步進(jìn)電機進(jìn)行鎖芯的伸縮控制,由于步進(jìn)電機的工作電壓是直流12 V,而CC2530的驅(qū)動電壓為直流3.3 V,所以本文采用一個復(fù)合管電路進(jìn)行門鎖的控制,電路圖如圖4所示。

            門鎖驅(qū)動端口接CC2530的P2_0端口,作用是CC2530可以通過P2_0驅(qū)動門鎖電路,發(fā)送一個低電壓信號就可控制12 V驅(qū)動電機工作。低電壓信號控制高電壓信號也可以采用繼電器來進(jìn)行驅(qū)動,但是本文為了門鎖功耗、安全性能與門鎖設(shè)計體積的考慮,采用復(fù)合管電路進(jìn)行門鎖驅(qū)動控制。

            3)RFID讀卡接口電路

            本文采用的RFID讀卡器電路為RC522讀卡器電路,射頻識別技術(shù)是不需要接觸就可以實現(xiàn)數(shù)據(jù)通信,它主要是通過交變的電磁場進(jìn)行通信。RC522讀卡器電路是由閱讀器、天線、應(yīng)答器三大部分組成。閱讀器主要是用來讀取應(yīng)答器的信息;天線是在應(yīng)答器與閱讀器之間進(jìn)行數(shù)據(jù)的傳遞;應(yīng)答器主要由耦合電路元件和芯片組成,每一個應(yīng)答器都有一個獨一無二的ID碼,這個碼在芯片制作的時候就儲存在芯片的ROM中,無法進(jìn)行更改,智能門鎖設(shè)計中主要就是利用這個編碼來確認(rèn)應(yīng)答器的身份。RFID讀卡器與CC2530接口電路圖如圖5所示。

            RC522讀卡器部分只用了5個接口連接到CC2530芯片處理器,SDA是RC522的數(shù)據(jù)接口用來傳輸數(shù)據(jù),連接在CC2530芯片上的P1_7口;SCK是RC522的時鐘接口,連接在芯片的P0_1口;MOSI是RC522的主輸出從輸入,連接在芯片上的P1_2口;MISO是RC522的主輸入從輸出,連接在芯片上的P0_4接口;RST為RC522的復(fù)位接口,連接在芯片上的P1_3口用來復(fù)位電路。

            4)模擬鍵盤電路

            本文為了節(jié)省端口數(shù)量,所使用的按鍵采用了分壓式模擬,電路圖如圖6所示。

            當(dāng)不同的按鍵被按下后,輸出不同的電壓信號,使用Zigbee自帶的AD轉(zhuǎn)換器,采集電壓信號,根據(jù)不同的電壓值來判定不同的按鍵。根據(jù)計算可得,二極管鉗制了大約0.6 V電壓,一共13個200 Ω電阻,理想情況下,大約每個電阻分的0.2 V電壓,通過CC2530芯片P0_0端口使用AD轉(zhuǎn)換器功能將模擬信號轉(zhuǎn)化為數(shù)字信號識別按鍵。

            4)液晶顯示電路

            本文中使用的液晶為19232液晶顯示器,液晶顯示器與CC2530之前采用的是串行傳輸?shù)姆绞?,硬件電路連接只需要3根線,與CC2530數(shù)據(jù)傳輸也只需要3個IO口,占用芯片的引腳少,接口6是液晶顯示屏的使能端,與CC2530芯片的P0_7引腳連接;接口5是液晶顯示屏的數(shù)據(jù)輸入端,與芯片的P0_6引腳連接;接口4是液晶顯示屏的時鐘輸入端,與芯片的P0_5引腳連接。并且可以通過調(diào)節(jié)RT可變電阻可以調(diào)節(jié)液晶的的對比度,使液晶顯示屏上的字更加清晰。

            2.3 軟件設(shè)計

            1)主流程設(shè)計

            在系統(tǒng)軟件程序設(shè)計時,選擇IAR公司的IAR Embedded Workbench作為開發(fā)環(huán)境,智能門鎖控制端作為Zigbee無線傳輸網(wǎng)絡(luò)中的一個終端節(jié)點,終端設(shè)備作為一個協(xié)調(diào)器來工作。主程序流程圖如圖7所示。

            首先進(jìn)行各個部分的初始化操作,如將液晶進(jìn)行初始化以及RFID讀卡器進(jìn)行模式設(shè)置等一些操作,初始化完成后;調(diào)用液晶顯示子函數(shù),顯示歡迎光臨頁面,接著液晶會根據(jù)不同的狀態(tài)而現(xiàn)實不同的頁面。接著調(diào)用RFID讀卡程序與按鍵檢測程序,同時檢測讀取RFID卡號與密碼鍵入,當(dāng)讀取到RFID卡號或4位密碼后,發(fā)送身份審核數(shù)據(jù)包,并且等待上位終端返回審核結(jié)果,以執(zhí)行門鎖驅(qū)動操作。

            2)RFID讀卡流程設(shè)計

            RFID讀卡流程圖如圖8所示。

            RFID射頻卡放到讀卡器上時,則進(jìn)入讀卡程序。首先是開始尋找RFID卡,讀取RFID序列號,為了RFID的讀卡穩(wěn)定,在程序中設(shè)計了兩次尋卡過程,當(dāng)兩次讀卡號為相同時則會保存下來。同時為了避免多張射頻卡同時放在讀卡器上面時會數(shù)據(jù)碰撞,在尋卡結(jié)束后會進(jìn)行防沖撞檢測,當(dāng)通過防沖撞檢測后,則確認(rèn)為有效卡號,并將卡號打包成數(shù)據(jù)包后加密發(fā)送至上位控制器審核身份,等待返回信息,以返回信息來判斷是否進(jìn)行開門操作[5-6]。

            3)鍵值讀取流程設(shè)計

            按鍵讀取程序程序設(shè)計由CC2530處理器不斷檢測按鍵AD端口的數(shù)據(jù),判斷轉(zhuǎn)換的數(shù)據(jù)是否在有效鍵值內(nèi)的數(shù)據(jù),如果是則將數(shù)據(jù)保存下來,如果連續(xù)保存下16個相同的有效鍵值后,則可以確認(rèn)為按下了一個有效按鍵,等待4位密碼輸入完成后,將4位密碼打包成數(shù)據(jù)包加密后發(fā)送給上位控制器,等待審核信息,進(jìn)行開關(guān)門操作。

          3 基于密碼本的數(shù)據(jù)加密技術(shù)

            本文中為了提高安全性能,所使用的無線傳輸數(shù)據(jù)包是需要數(shù)據(jù)加密的,所采用的數(shù)據(jù)加密方式是基于普通加密方式上的一種升級版,是為了增加安防的可靠性而設(shè)計的,將Zigbee傳輸?shù)拇贏SCLL碼數(shù)據(jù)進(jìn)行加密,在我們現(xiàn)實生活中,普通的加密方式有很多,比如:移位加密、DES和CC2530自帶的AES等;本文采取的數(shù)據(jù)加密方式核心是基于同或及異或的一種加密方式,我們通過將數(shù)據(jù)所需加密的數(shù)據(jù)進(jìn)行一定的加密;所需加密的數(shù)據(jù)可以查詢密碼本得到,密碼本內(nèi)數(shù)據(jù)是通過外部軟件隨機獲得,寫入到ROM中,為了使加密的數(shù)據(jù)可以達(dá)到更高等級安全系數(shù),密碼本的數(shù)據(jù)可以更加具有隨機性,或者可以進(jìn)行多次加密計算。

            本文中所傳輸中的數(shù)據(jù)包是一個具有16位的字符型數(shù)據(jù)的數(shù)組,格式如圖9所示;其中包括5位發(fā)送者ID位、8位數(shù)據(jù)位、2位加密位和1位結(jié)束位(0xff),加密位即是將5位發(fā)送者ID和8位數(shù)據(jù)位加密,加密程序如圖10所示,2位加密位本文中設(shè)計的是前者為同或加密,后者為異或加密,具體過程為:首先將同或加密位數(shù)據(jù)在密碼本中查找到真正的有效數(shù)據(jù),本文采用的是雙重提取的方式提取數(shù)據(jù),比如同或位為0時,我們在密碼表中查得數(shù)據(jù)為0x67,此時再次查找0x67位置的數(shù)據(jù)就是真正的有效同或數(shù)據(jù),將有效數(shù)據(jù)與數(shù)據(jù)相同或后,再使用同種方式將后者的異或加密的有效數(shù)據(jù)取出,將同或后的數(shù)據(jù)再進(jìn)行異或操作。操作完成后,即是加密后所需傳輸?shù)臄?shù)據(jù)。解密方式即與加密方式是個相同操作,即可將數(shù)據(jù)還原。

            本次密碼加密設(shè)計可以多種方式來提高安全性能,比如通過更改密碼本中數(shù)據(jù)位置提高安全性能,密碼本中一共有256個數(shù)據(jù),即0x00~0xff;通過電腦軟件Excel將256個數(shù)據(jù)隨機排列,制作成密碼本,256個數(shù)據(jù)排列順序有256256的數(shù)據(jù)排列方式。還可以通過增加加密位來提高安全性能,本次設(shè)計只執(zhí)行了同或和異或兩次運算,如增加加密位,再進(jìn)行相應(yīng)運算,可以在同或與異或的基礎(chǔ)上添置加減移位等一系列計算,會使加密更為安全。

          4 結(jié)論

            本文設(shè)計了實現(xiàn)密碼或者射頻卡打開門鎖,為了能讓它低功耗又能減少浪費資源,所以在硬件設(shè)計時使用Zigbee與終端設(shè)備進(jìn)行通信連接,使用方便簡單,只需要對它軟件進(jìn)行設(shè)計,將Z-Stack協(xié)議棧導(dǎo)入到Zigbee核心芯片CC2530中,節(jié)點與協(xié)調(diào)器之間會實現(xiàn)自動組網(wǎng),即可驅(qū)動液晶顯示與RFID讀卡器進(jìn)行顯示與讀卡,而且根據(jù)分壓原理制作的AD式輸入鍵盤,優(yōu)點在于只需要一根線即可檢測鍵值,減少了不必要的資源浪費。還有智能門鎖使用頻率較低,無線信號傳輸?shù)乃俾薀o需太頻繁,Zigbee無線傳輸足以滿足要求。

            參考文獻(xiàn):

            [1]邱凌.淺談智能家居[J].網(wǎng)絡(luò)信息技術(shù)應(yīng)用與自動化,2008,(5):01-02.

            [2]秦茂盛. 基于Zigbee的智能家居系統(tǒng)設(shè)計[D].太原理工大學(xué),2011.

            [3]孫華,李揚.熱釋電紅外傳感器原理及其應(yīng)用[J].內(nèi)江科技,2010,31(12):116+160.

            [4]孫靜,陳佰紅.Zigbee協(xié)議棧及應(yīng)用實現(xiàn)[J].通化師范學(xué)院學(xué)報,2007(04):35-37.

            [5]高金轉(zhuǎn),彭旭鋒,張會新,等.基于Zigbee無線傳感網(wǎng)絡(luò)的環(huán)境監(jiān)測系統(tǒng)的設(shè)計[J].電子器件,2016,39(3):546-550.

            [6]羅凱. 基于Zigbee的智能家居控制節(jié)點設(shè)計與實現(xiàn)[D].電子科技大學(xué),2013.

            本文來源于《電子產(chǎn)品世界》2018年第11期第46頁,歡迎您寫論文時引用,并注明出處。



          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();