基于Zigbee的智能門鎖控制終端設計
作者 沈凡 席飛 杭磊 陳城 淮陰工學院 電子信息工程學院(江蘇 淮安223001)
本文引用地址:http://2s4d.com/article/201810/393370.htm摘要:本文介紹了基于Zigbee通信協(xié)議的智能門鎖,從低成本、低功耗的角度出發(fā),設計了一種具有實用價值的智能門鎖控制終端,智能門鎖控制終端以CC2530作為處理器,以Zigbee協(xié)議棧為通信載體,設計了相應外圍電路,如門鎖驅動電路、液晶顯示電路、鍵盤輸入電路和RFID讀卡器電路。實現(xiàn)了以RFID讀取卡號與密碼輸入的方式采集身份信息,將身份信息發(fā)送至上位控制機進行身份核實,上位控制器返回核實信息結果,智能門鎖控制終端根據(jù)核實后的結果進行開關門操作及液晶顯示頁面的更新。
0 引言
現(xiàn)代人的生活越來越信息化,人們對于生活質量的要求也越來越高,家庭房屋安全就變成頭等大事,現(xiàn)在的犯罪分子盜竊手段也在日益進步,入室偷竊也是頻繁發(fā)生,對于偷竊問題目前還很難做到完全杜絕,只能夠通過提升家庭安防技術,來提高安全系數(shù)?,F(xiàn)在市場上的一些智能門鎖設備,都是自帶處理功能的,很難抵御不法分子的盜竊手段。所以無線通信方式控制的智能門鎖應運而生,他的優(yōu)點在于不進行數(shù)據(jù)對比處理,只做數(shù)據(jù)采集以及數(shù)據(jù)傳輸,更為安全可靠,而且無線智能門鎖使用較為方便,不需要大量布線;而且可以和智能家居控制系統(tǒng)相結合,以提高家庭安防性能 [1-2]。
1 Zigbee技術
1.1 Zigbee無線通信技術
Zigbee技術是一種短距離、低功耗的無線網(wǎng)絡通訊技術,其采用了IEEE802.15.4協(xié)議規(guī)范,具有低數(shù)據(jù)速率、低功耗、低成本、安全可靠,具有自組網(wǎng)和自恢復能力等優(yōu)點。本文選用的是TI公司的第二代片上系統(tǒng)CC2530,相比以前的產(chǎn)品,CC2530具有更優(yōu)越的RF性能,支持多種協(xié)議如ZigbeePRO、ZigbeeRF4CE等。本文介紹的智能門鎖控制終端使用到CC2530作為處理器,用來驅動液晶顯示電路、AD模擬鍵盤以及RFID讀取控制電路,以達到優(yōu)化智能門鎖的目的,從而降低成本。
1.2 Zigbee無線傳輸優(yōu)勢與其余方式的比較
本文采用Zigbee技術進行無線通信,是因為相比于藍牙技術而言Zigbee傳輸距離比藍牙遠的多, WiFi相比Zigbee傳輸速率快但是耗電量較高,WiFi適合快速發(fā)送數(shù)據(jù),而Zigbee相比于藍牙雖然傳輸速率慢,但是功耗比藍牙低,通過電池供電就能維持較長時間,適合傳輸數(shù)據(jù)量不大、傳輸不頻繁的設備。正因為Zigbee的功耗低和數(shù)據(jù)傳輸不頻繁的特點,所以采用Zigbee無線傳輸技術。
2 系統(tǒng)結構
2.1 智能門鎖控制終端系統(tǒng)結構
本文智能門鎖控制終端內(nèi)部包括:ZigbeeCC2530通信模塊、RFID閱讀器、按鍵鍵盤和19232顯示液晶,系統(tǒng)結構圖如圖1所示。
使用ZigbeeCC2530讀取RFID卡號與鍵盤輸入的密碼數(shù)據(jù),將讀取的RFID卡號數(shù)據(jù)或密碼數(shù)據(jù)打包成數(shù)據(jù)包,通過Zigbee通信模塊無線傳輸數(shù)據(jù),將數(shù)據(jù)傳輸至終端設備,終端設備返回數(shù)據(jù)對比信息至智能門鎖控制終端,用于是否進行開門操作。液晶的主要是用于顯示使用者的當前操作狀態(tài)。具體設計制作產(chǎn)品如圖2所示。
2.2 硬件設計
1)Zigbee處理器電路
本文選用TI公司最新Zigbee芯片CC2530F256作為處理器,以Zigbee協(xié)議棧為通信載體,此芯片射頻組是在2.4GHz頻段,電路圖如圖3所示。
CC2530芯片是最實用的片上系統(tǒng)首選,不僅成本低而且功耗也很小,是TI公司專門設計基于IEEE 802.15.4協(xié)議的Zigbee芯片,這塊芯片上集成了8051內(nèi)核,帶有256 KB的內(nèi)存和8 KB的RAM,足以提供智能門鎖控制終端的信息處理與控制操作[4]。
2)門鎖控制電路
本文智能門鎖控制終端所使用的機械門鎖為靈性鎖,靈性鎖使用的是步進電機進行鎖芯的伸縮控制,由于步進電機的工作電壓是直流12 V,而CC2530的驅動電壓為直流3.3 V,所以本文采用一個復合管電路進行門鎖的控制,電路圖如圖4所示。
門鎖驅動端口接CC2530的P2_0端口,作用是CC2530可以通過P2_0驅動門鎖電路,發(fā)送一個低電壓信號就可控制12 V驅動電機工作。低電壓信號控制高電壓信號也可以采用繼電器來進行驅動,但是本文為了門鎖功耗、安全性能與門鎖設計體積的考慮,采用復合管電路進行門鎖驅動控制。
3)RFID讀卡接口電路
本文采用的RFID讀卡器電路為RC522讀卡器電路,射頻識別技術是不需要接觸就可以實現(xiàn)數(shù)據(jù)通信,它主要是通過交變的電磁場進行通信。RC522讀卡器電路是由閱讀器、天線、應答器三大部分組成。閱讀器主要是用來讀取應答器的信息;天線是在應答器與閱讀器之間進行數(shù)據(jù)的傳遞;應答器主要由耦合電路元件和芯片組成,每一個應答器都有一個獨一無二的ID碼,這個碼在芯片制作的時候就儲存在芯片的ROM中,無法進行更改,智能門鎖設計中主要就是利用這個編碼來確認應答器的身份。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的復位接口,連接在芯片上的P1_3口用來復位電路。
4)模擬鍵盤電路
本文為了節(jié)省端口數(shù)量,所使用的按鍵采用了分壓式模擬,電路圖如圖6所示。
當不同的按鍵被按下后,輸出不同的電壓信號,使用Zigbee自帶的AD轉換器,采集電壓信號,根據(jù)不同的電壓值來判定不同的按鍵。根據(jù)計算可得,二極管鉗制了大約0.6 V電壓,一共13個200 Ω電阻,理想情況下,大約每個電阻分的0.2 V電壓,通過CC2530芯片P0_0端口使用AD轉換器功能將模擬信號轉化為數(shù)字信號識別按鍵。
4)液晶顯示電路
本文中使用的液晶為19232液晶顯示器,液晶顯示器與CC2530之前采用的是串行傳輸?shù)姆绞?,硬件電路連接只需要3根線,與CC2530數(shù)據(jù)傳輸也只需要3個IO口,占用芯片的引腳少,接口6是液晶顯示屏的使能端,與CC2530芯片的P0_7引腳連接;接口5是液晶顯示屏的數(shù)據(jù)輸入端,與芯片的P0_6引腳連接;接口4是液晶顯示屏的時鐘輸入端,與芯片的P0_5引腳連接。并且可以通過調節(jié)RT可變電阻可以調節(jié)液晶的的對比度,使液晶顯示屏上的字更加清晰。
2.3 軟件設計
1)主流程設計
在系統(tǒng)軟件程序設計時,選擇IAR公司的IAR Embedded Workbench作為開發(fā)環(huán)境,智能門鎖控制端作為Zigbee無線傳輸網(wǎng)絡中的一個終端節(jié)點,終端設備作為一個協(xié)調器來工作。主程序流程圖如圖7所示。
首先進行各個部分的初始化操作,如將液晶進行初始化以及RFID讀卡器進行模式設置等一些操作,初始化完成后;調用液晶顯示子函數(shù),顯示歡迎光臨頁面,接著液晶會根據(jù)不同的狀態(tài)而現(xiàn)實不同的頁面。接著調用RFID讀卡程序與按鍵檢測程序,同時檢測讀取RFID卡號與密碼鍵入,當讀取到RFID卡號或4位密碼后,發(fā)送身份審核數(shù)據(jù)包,并且等待上位終端返回審核結果,以執(zhí)行門鎖驅動操作。
2)RFID讀卡流程設計
RFID讀卡流程圖如圖8所示。
RFID射頻卡放到讀卡器上時,則進入讀卡程序。首先是開始尋找RFID卡,讀取RFID序列號,為了RFID的讀卡穩(wěn)定,在程序中設計了兩次尋卡過程,當兩次讀卡號為相同時則會保存下來。同時為了避免多張射頻卡同時放在讀卡器上面時會數(shù)據(jù)碰撞,在尋卡結束后會進行防沖撞檢測,當通過防沖撞檢測后,則確認為有效卡號,并將卡號打包成數(shù)據(jù)包后加密發(fā)送至上位控制器審核身份,等待返回信息,以返回信息來判斷是否進行開門操作[5-6]。
3)鍵值讀取流程設計
按鍵讀取程序程序設計由CC2530處理器不斷檢測按鍵AD端口的數(shù)據(jù),判斷轉換的數(shù)據(jù)是否在有效鍵值內(nèi)的數(shù)據(jù),如果是則將數(shù)據(jù)保存下來,如果連續(xù)保存下16個相同的有效鍵值后,則可以確認為按下了一個有效按鍵,等待4位密碼輸入完成后,將4位密碼打包成數(shù)據(jù)包加密后發(fā)送給上位控制器,等待審核信息,進行開關門操作。
3 基于密碼本的數(shù)據(jù)加密技術
本文中為了提高安全性能,所使用的無線傳輸數(shù)據(jù)包是需要數(shù)據(jù)加密的,所采用的數(shù)據(jù)加密方式是基于普通加密方式上的一種升級版,是為了增加安防的可靠性而設計的,將Zigbee傳輸?shù)拇贏SCLL碼數(shù)據(jù)進行加密,在我們現(xiàn)實生活中,普通的加密方式有很多,比如:移位加密、DES和CC2530自帶的AES等;本文采取的數(shù)據(jù)加密方式核心是基于同或及異或的一種加密方式,我們通過將數(shù)據(jù)所需加密的數(shù)據(jù)進行一定的加密;所需加密的數(shù)據(jù)可以查詢密碼本得到,密碼本內(nèi)數(shù)據(jù)是通過外部軟件隨機獲得,寫入到ROM中,為了使加密的數(shù)據(jù)可以達到更高等級安全系數(shù),密碼本的數(shù)據(jù)可以更加具有隨機性,或者可以進行多次加密計算。
本文中所傳輸中的數(shù)據(jù)包是一個具有16位的字符型數(shù)據(jù)的數(shù)組,格式如圖9所示;其中包括5位發(fā)送者ID位、8位數(shù)據(jù)位、2位加密位和1位結束位(0xff),加密位即是將5位發(fā)送者ID和8位數(shù)據(jù)位加密,加密程序如圖10所示,2位加密位本文中設計的是前者為同或加密,后者為異或加密,具體過程為:首先將同或加密位數(shù)據(jù)在密碼本中查找到真正的有效數(shù)據(jù),本文采用的是雙重提取的方式提取數(shù)據(jù),比如同或位為0時,我們在密碼表中查得數(shù)據(jù)為0x67,此時再次查找0x67位置的數(shù)據(jù)就是真正的有效同或數(shù)據(jù),將有效數(shù)據(jù)與數(shù)據(jù)相同或后,再使用同種方式將后者的異或加密的有效數(shù)據(jù)取出,將同或后的數(shù)據(jù)再進行異或操作。操作完成后,即是加密后所需傳輸?shù)臄?shù)據(jù)。解密方式即與加密方式是個相同操作,即可將數(shù)據(jù)還原。
本次密碼加密設計可以多種方式來提高安全性能,比如通過更改密碼本中數(shù)據(jù)位置提高安全性能,密碼本中一共有256個數(shù)據(jù),即0x00~0xff;通過電腦軟件Excel將256個數(shù)據(jù)隨機排列,制作成密碼本,256個數(shù)據(jù)排列順序有256256的數(shù)據(jù)排列方式。還可以通過增加加密位來提高安全性能,本次設計只執(zhí)行了同或和異或兩次運算,如增加加密位,再進行相應運算,可以在同或與異或的基礎上添置加減移位等一系列計算,會使加密更為安全。
4 結論
本文設計了實現(xiàn)密碼或者射頻卡打開門鎖,為了能讓它低功耗又能減少浪費資源,所以在硬件設計時使用Zigbee與終端設備進行通信連接,使用方便簡單,只需要對它軟件進行設計,將Z-Stack協(xié)議棧導入到Zigbee核心芯片CC2530中,節(jié)點與協(xié)調器之間會實現(xiàn)自動組網(wǎng),即可驅動液晶顯示與RFID讀卡器進行顯示與讀卡,而且根據(jù)分壓原理制作的AD式輸入鍵盤,優(yōu)點在于只需要一根線即可檢測鍵值,減少了不必要的資源浪費。還有智能門鎖使用頻率較低,無線信號傳輸?shù)乃俾薀o需太頻繁,Zigbee無線傳輸足以滿足要求。
參考文獻:
[1]邱凌.淺談智能家居[J].網(wǎng)絡信息技術應用與自動化,2008,(5):01-02.
[2]秦茂盛. 基于Zigbee的智能家居系統(tǒng)設計[D].太原理工大學,2011.
[3]孫華,李揚.熱釋電紅外傳感器原理及其應用[J].內(nèi)江科技,2010,31(12):116+160.
[4]孫靜,陳佰紅.Zigbee協(xié)議棧及應用實現(xiàn)[J].通化師范學院學報,2007(04):35-37.
[5]高金轉,彭旭鋒,張會新,等.基于Zigbee無線傳感網(wǎng)絡的環(huán)境監(jiān)測系統(tǒng)的設計[J].電子器件,2016,39(3):546-550.
[6]羅凱. 基于Zigbee的智能家居控制節(jié)點設計與實現(xiàn)[D].電子科技大學,2013.
本文來源于《電子產(chǎn)品世界》2018年第11期第46頁,歡迎您寫論文時引用,并注明出處。
評論