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