本項(xiàng)目使用樹莓派設(shè)計(jì)門禁或設(shè)備的訪問控制系統(tǒng),系統(tǒng)根據(jù)用戶列表檢查RFID標(biāo)簽,允許擁有授權(quán)RFID標(biāo)簽的指定成員進(jìn)入室內(nèi)。系統(tǒng)包括一個(gè)USBRFID讀取器(讀取器通過其USB線纜連接到樹莓派),以及一個(gè)12V繼電器電路板。當(dāng)樹莓派GPIO引腳觸發(fā)時(shí),繼電器電路板為電子門鎖供電。
硬件:
1、樹莓派3ModelB。任何樹莓派都可以使用。樹莓派從兩個(gè)傳感器接收數(shù)據(jù),并向繼電器發(fā)送信號(hào)以解鎖門。
2、Adafruit5V2.5A開關(guān)電源。為樹莓派提供電源
3、電子門鎖。確保使用電壓、繼電器板和觸發(fā)電源匹配即可。
4、Parallax12V繼電器。繼電器板上電時(shí),解開電動(dòng)門鎖。
5、Adafruit12VDC1000mA(1A)穩(wěn)壓開關(guān)電源適配器
6、125kHzUSBRFID讀取器
7、AdafruitRGB背光LCD-16x2
軟件:樹莓派Raspbian、Python3、Rclone
開發(fā)過程
1、RFID讀取器的選擇
項(xiàng)目面臨的首個(gè)難題是DIYRFID讀取器,如果不考慮手持式讀取器,第一種方法是自行購買RFID天線和電路板構(gòu)建RFID讀取器,但是需要一定的硬件知識(shí)。第二種方法是購買專業(yè)RFID設(shè)備,第三種本文的方法是網(wǎng)購低成本的RFID讀取器。
2、選擇工作頻率
項(xiàng)目涉及兩個(gè)主要標(biāo)準(zhǔn):125kHz和13.56MHz。先進(jìn)應(yīng)用使用有源RFID技術(shù),比如汽車的遠(yuǎn)程鑰匙扣所使用的技術(shù),但是如果僅僅用于解鎖門,不需要有源RFID。建議使用13.56MHz。其與125kHz在功能上似乎是相同的,但是13.56MHz似乎更常見,因此更容易購買相關(guān)配件。無論選擇何種方式,本文剩余部分適用,RFID標(biāo)簽和RFID讀取器需要匹配。可以使用可擦寫的標(biāo)簽來存儲(chǔ)信息,這里使用永久存儲(chǔ)簡(jiǎn)單ID的標(biāo)簽。
3、設(shè)置RFID讀取器
將RFID讀取器通過USB連接到Windows計(jì)算機(jī)。電源指示燈亮起之后,如果標(biāo)簽接近感應(yīng)區(qū)域,讀取器將發(fā)出蜂鳴聲,并且指示燈將閃爍一次。如果打開PC自帶的記事本程序并滑動(dòng)標(biāo)簽,將會(huì)看到標(biāo)簽的代碼。這是因?yàn)閁SBRFID讀取器可模擬鍵盤,讀取RFID編號(hào),然后按ASCII字符順序輸出。
使用最新版本的RaspbianOS設(shè)置樹莓派,創(chuàng)建目錄和文本文件,包含用戶及其ID列表,復(fù)制提供的測(cè)試代碼,開始使用。Python腳本需要root特權(quán)才能通過USBRFID讀取器讀取信號(hào),因此請(qǐng)使用“sudo”前綴運(yùn)行腳本(script)。運(yùn)行時(shí),腳本應(yīng)連續(xù)監(jiān)視RFID讀取器。找到代碼后,將檢查代碼是否在批準(zhǔn)的代碼列表中,報(bào)告相關(guān)用戶的名稱,或報(bào)告在列表中未找到該代碼。
設(shè)置繼電器
RFID讀取器正常工作之后,將繼電器電路板連接到樹莓派。電源和接地連接到5V和GND,但是這里將樹莓派的引腳2用于5V,將引腳4用于接地,引腳11(GPIO17)用于信號(hào)。如果使用其他信號(hào)引腳,請(qǐng)確保在python腳本中更改此設(shè)置。輕掃標(biāo)簽,如果標(biāo)簽通過認(rèn)證,繼電器電路板激活3秒鐘,LED亮起,發(fā)出咔嗒聲,然后關(guān)閉。
設(shè)置電子門鎖
將電子門鎖連接12V電源,對(duì)其進(jìn)行測(cè)試。如果需要,可以添加插孔連接器。檢查電源,確定電源正極和接地,使用鱷魚夾臨時(shí)連接電線和電子門鎖線。插入電源,也可以打開電涌保護(hù)器,然后電子門鎖發(fā)出微弱聲音,門鎖應(yīng)從固定變?yōu)榛顒?dòng)狀態(tài)。
根據(jù)不同型號(hào),電子門鎖可能有兩根或四根電線。四根電線設(shè)計(jì)為與12V或24V電源兼容。確定電子門鎖正常工作,就將電源接地線焊接到接地線上,或者通過其他方式將其永久連接。將正極導(dǎo)線連接到繼電器的中間接頭,通常標(biāo)記為“COM”。將電子門鎖的正極連接至繼電器的常閉閘門(closedgate),通常標(biāo)記為“NC”,而不是標(biāo)為“NO”的常開閘門。
如果樹莓派已打開,12VAC-DC轉(zhuǎn)換器接入,則運(yùn)行讀取RFID讀取器python腳本(以root用戶身份)。RFID讀取器識(shí)別授權(quán)RFID標(biāo)簽,繼電器激活,打開電子門鎖。
在開機(jī)時(shí)運(yùn)行腳本
至少仍需要做兩件事:設(shè)置一種跟蹤誰登錄的方法;將系統(tǒng)設(shè)置為在插入樹莓派的時(shí)候自動(dòng)啟動(dòng)。否則,如果發(fā)生電源故障,則電子門鎖將保持關(guān)閉狀態(tài),直到手動(dòng)重置為止??稍O(shè)置python腳本,在開機(jī)的時(shí)候運(yùn)行,一種方法是以root用戶身份在Nano中編輯文件“/etc/rc.local”。
sudonano/etc/rc.local
使用完整路徑名稱,添加指令啟動(dòng)程序。
sudopython
/home/
YOUR_DIRECTORY_PATH/sample.py&
在末尾包括“&”,表明其在后臺(tái)運(yùn)行,并確保文本文件的最后一行保持原始狀態(tài)的“exit0”(不帶引號(hào))。重新啟動(dòng)進(jìn)行測(cè)試。python腳本應(yīng)在啟動(dòng)后立即運(yùn)行。
追蹤RFID刷卡動(dòng)作
可通過查看日志文件查看何人何時(shí)使用了系統(tǒng),每次python腳本檢查的時(shí)候,日志文件都會(huì)附加時(shí)間、ID號(hào)和相關(guān)用戶等信息。但是有些用戶可能希望在不使用SSH的情況下訪問樹莓派并讀取文件,可設(shè)置一個(gè)自動(dòng)過程,以在每次發(fā)生刷卡的時(shí)候,將日志文件復(fù)制到云存儲(chǔ)。這里使用Rclone命令行工具。要使用Rclone,需要獲取Google云端硬盤文件夾的API密鑰。使用Rclone是因?yàn)闊o法讓Python識(shí)別PyDrive命令。
Rclone命令行工具
擁有API密鑰后,運(yùn)行:
sudoRclone
config
如果在不使用sudo的情況下運(yùn)行此命令,看起來正常工作,但是當(dāng)嘗試在python腳本中運(yùn)行Rclone命令時(shí),將不能正常工作,因?yàn)閜ython腳本以root用戶身份運(yùn)行。
Rcloneconfig命令將生成并保存Rclone配置文件。如果不使用root特權(quán)生成,python腳本將找不到它,因?yàn)樗詒oot用戶身份運(yùn)行。完全按照Rclone文檔說明進(jìn)行配置過程,以設(shè)置Google云端硬盤同步。
完成上述步驟,嘗試測(cè)試命令。登錄到Google云端硬盤帳戶,然后查看文件是否已上傳。取消注釋每次刷卡后運(yùn)行Rclone命令行。這會(huì)將日志文件復(fù)制到Google云端硬盤。建議為此項(xiàng)目創(chuàng)建一個(gè)與個(gè)人Google云端硬盤帳戶不同的專用Google帳戶,然后與您的普通帳戶共享用于復(fù)制日志文件的文件夾。這樣做的原因是Rclone功能強(qiáng)大,能夠刪除或覆蓋Google云端硬盤上的任何文件。在發(fā)生事故或某種形式的黑客攻擊的情況下,Rclone理論上可以用于在與其連接的相關(guān)云存儲(chǔ)位置中竊取或勒索數(shù)據(jù)。這里使用Google云端硬盤存儲(chǔ)敏感信息,因此采取了這一步驟來從寶貴的云存儲(chǔ)空間中隔離日志文件同步過程。
應(yīng)用延伸1:門開關(guān)
RFID讀取器進(jìn)入工作狀態(tài),將磁性門傳感器連接到樹莓派,該傳感器讀取門狀態(tài),從打開狀態(tài)變?yōu)殛P(guān)閉狀態(tài)(反之亦然)的信息,并將其記錄在日志文件中。門的開關(guān)在圖中以按鈕表示,因?yàn)槠涔ぷ鞣绞较嗤寒?dāng)門關(guān)閉時(shí),電路關(guān)閉;而當(dāng)門打開時(shí),電路也關(guān)閉。需要一個(gè)上拉電阻,將其連接到樹莓派的第一個(gè)引腳,該引腳可提供恒定3V電壓。
應(yīng)用延伸2:LCD
LCD使樹莓派可以為用戶提供反饋信息,提升用戶體驗(yàn)。大多數(shù)傳統(tǒng)LCD具有LED背光燈,背光燈具有RGB三個(gè)不同的顏色,使得樹莓派可以隨著文本更改LCD背景顏色,比如在正常使用期間為藍(lán)色,在授予訪問權(quán)限時(shí)變?yōu)榫G色,在拒絕訪問時(shí)變?yōu)榧t色。
應(yīng)用延伸3:門鈴
當(dāng)外來人員來訪,可為系統(tǒng)添加按鈕和門鈴功能,該按鈕的一端連接到LCD,共享GND連接,減少穿過墻壁的電線數(shù)量。另一端連接到樹莓派引腳12(GPIO18)。也可以通過連接到引腳1的上拉電阻,將其拉高。樹莓派可以使用另一個(gè)繼電器來激活蜂鳴器,或者通過其音頻插孔激活聲音,或者通過SMS短信或其他多種方式發(fā)送通知。
-
RFID
+關(guān)注
關(guān)注
388文章
6152瀏覽量
237899 -
門禁系統(tǒng)
+關(guān)注
關(guān)注
17文章
392瀏覽量
45490 -
樹莓派
+關(guān)注
關(guān)注
116文章
1707瀏覽量
105648
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論