步驟1:材料清單
您可以在E-Bay或許多中國的電子商店(例如Dealextreme等)上購買此項目所需的一切。
對于此項目,您需要以下物品:
Raspberry Pi模型B
16x2顯示屏
Mifare RFID閱讀器
USB數字鍵盤
紅色LED二極管
有源3V蜂鳴器
小面包板以及各種FF和MF跨接電纜
盒
各種螺釘和/或膠槍,LED電阻器,顯示屏10k電位器
我推薦使用Raspberry Pi B型,因為集成局域網和兩個USB端口。這樣,您既可以使用LAN + USB鍵盤,也可以使用USB鍵盤和USB WiFi加密狗。
您可以使用任何顯示器,但我使用的是HD44780(與adafruit上的顯示器相同),因為它已被充分記錄并僅使用我選擇了13.56 MHz RFID讀取器和標簽,因為從我的手機實驗中我已經很少使用這種技術的標簽了。我還找到了不錯的“操作方法”(http://fuenteabierta.teubi.co/2013/07/utilizando-el-lector-nfc-rc522-en-la.html),并且在Google翻譯的幫助下修改了給定的源代碼我的需要。
可以使用任何數字鍵盤。那些高按鈕的人可能會因為盒子的厚度而更好。安裝時只需用小刀或螺絲刀卸下所有多余的按鈕即可。
LED和LED支架是純粹多余的,對于設備運行而言不是必需的,但它們可以作為額外的動作指示。
蜂鳴器。我覺得這樣的設備應該有自己的聲音讓人們知道它正在工作。
面包板和跳線用于每個設備之間的互連,因為多個引腳(3.3V,GND等)用于多個部分。 。您當然可以使用焊接的板,但是我希望能夠輕松地更換每個零件,而只需用膠槍將其粘合在一起。
您還需要很少的螺釘和/或膠槍將所有零件固定在一起。對于LED,您需要小電阻。對于我的紅色LED,我使用了68歐姆的電阻,該電阻應將電流限制在19 mA左右。根據您的LED,您可以在該地址上計算電阻值。在多個論壇上討論了最大GPIO電流,但我不會超過20mA。電位器用于調整顯示器的對比度。
步驟2:一起布線
在圖片上從上方的Fritzing可以看到每個元素之間的連接。您可以在頁面下方找到fzz文件作為下載鏈接。
有關顯示連接的故障排除,請參閱adafruit網站上的精美手冊。
連接非常簡單,因此不會有任何麻煩。
我在包裝盒的蓋子上切了一些孔,用于顯示,LED和鍵盤,為了安全起見,NFC讀取器仍留在蓋子下,并且它有足夠強的信號可以通過塑料讀取標簽。
我用膠槍對準了盒子,它足以固定每個組件。并且在測試之后,甚至將電線粘到連接器上,以防止在操作過程中意外斷開連接。
也不要忘記在電源和網絡電纜上鉆孔(如果使用WiFi加密狗或PoE,則只能鉆一個孔)。 br》作為最后的觸摸,在NFC讀取器所在的蓋子的外部標記點,以便于閱讀。
步驟3:軟件
該項目來自多個教程和HOWTO,因此可能會有一些遺留之處,但是暫時可行,以后我可能會修復它(AKA永遠不;))
首先,您需要默認的Raspbian映像
之后,我們需要進行一些調整才能啟用正確的功能:
首先,我們安裝了NFC閱讀器所需的文件,如下所述(http://fuenteabierta .teubi.co/2013/07/utilizando-EL-講師-NFC-RC522-ZH-la.html)點擊1。通過編輯文件/etc/modprobe.d/raspi-blacklist.conf 啟用SPI設備,并注釋 blacklist spi-bcm2708 行,以便其內容如下:
# blacklist spi and i2c by default (many users don‘t need them)
# blacklist spi-bcm2708
blacklist i2c-bcm2708
2.然后下載SPI-Py軟件包以啟用Python的SPI通信
git clone https://github.com/lthiery/SPI-Py,并通過
sudo python setup.py install
進行安裝(如果缺少python-dev和安裝腳本錯誤退出,請先安裝軟件包
sudo apt-get install python-dev
我們還將需要來自https://github.com/mxgxw/MFRC522-python的MFRC522軟件包,但我必須對其進行編輯一點點,所以它已經在該項目的源文件夾中。
要使其正常工作,最后想到的是為Python安裝GPIO(如果愿意,請將軟件包版本中的數字更新為最新的版本)。 :
wget https://pypi.python.org/packages/source/R/RPi.GPIO-0.5.4.tar.gz
tar zxf RPi.GPIO-0.5.4.tar.gz
cd RPi.GPIO-0.5.4
sudo python setup.py install
此后,我們可以下載該項目的源代碼
git clone https://github.com/Yimbo/attendance在您的MySQL數據庫中創建表并將結構從mysql.sql文件上傳到該數據庫。 br》根據您的設置(服務器,用戶名,密碼和數據庫名稱,下一個更新文件mysql.py我)。
此步驟之后,您應該可以運行該程序:
sudo python attendance.py
步驟4:自動化
現在您應該具有功能齊全的系統,可用于讀取NFC標簽并將有關它們的信息存儲在MySQL數據庫中。
對于日常使用,您應該準備接受電源故障,數據錯誤等。為避免電源故障,可以使用UPS,但是樹莓派可能仍然不時重啟。另外,您還想使用集成鍵盤,而不是要從中運行程序的控制臺中的鍵盤。
首先更改您的出勤文件屬性,使其可以在不外部調用python的情況下運行:
chmod +x attendance.py在下一個中在TTY1上啟用自動登錄。以root身份重啟后,這將自動登錄您的第一個控制臺。
首先安裝mingetty:
apt-get install mingetty,然后編輯文件/etc/inittab并找到行
1:2345:respawn:/sbin/getty --noclear 38400 tty1并將其更新為:
1:2345:respawn:/sbin/mingetty --autologin root --noclear tty1
然后,每次系統登錄到控制臺tty1時,都需要激活NumLock,因此請創建具有以下內容的文件leds.sh(請注意,它可能不會影響鍵盤上的實際LED,但是它將變成Numlock無論如何,請執行以下操作:
setleds -D +num 《 /dev/tty1并將其權限更改為可執行文件:
chmod +x leds.sh然后您要為python腳本創建看門狗,因此即使崩潰,該看門狗也會再次啟動它。轉到主目錄并使用以下文本創建文件runattendance.sh:
while [ 1=1 ];
do
if [ ! “$(pgrep attendance.py)” ];
then
/root/leds.sh && cd /root/Attendance/ && /root/Attendance/attendance.py
fi
sleep 10
done并以與以前相同的方式將其權限更改為可執行。
此后轉到根主目錄(/root/)并更新文件.bash_profile并添加以下行:
[[ $(tty) == ’/dev/tty1‘ ]] && /root/runattendance.sh這將在系統每次登錄第一個控制臺時啟動runattendance.sh(引導后現在將自動運行)。
如果完成所有這些操作步驟,您現在可以重新啟動樹莓派,并且在成功啟動后,顯示屏應該亮起并且考勤系統應該可以工作。
責任編輯:wv
-
nfc
+關注
關注
59文章
1621瀏覽量
180537 -
考勤系統
+關注
關注
0文章
40瀏覽量
11212 -
樹莓派
+關注
關注
116文章
1707瀏覽量
105617
發布評論請先 登錄
相關推薦
評論