步驟1:材料清單
您可以在E-Bay或許多中國的電子商店(例如Dealextreme等)上購買此項(xiàng)目所需的一切。
對于此項(xiàng)目,您需要以下物品:
Raspberry Pi模型B
16x2顯示屏
Mifare RFID閱讀器
USB數(shù)字鍵盤
紅色LED二極管
有源3V蜂鳴器
小面包板以及各種FF和MF跨接電纜
盒
各種螺釘和/或膠槍,LED電阻器,顯示屏10k電位器
我推薦使用Raspberry Pi B型,因?yàn)榧删钟蚓W(wǎng)和兩個USB端口。這樣,您既可以使用LAN + USB鍵盤,也可以使用USB鍵盤和USB WiFi加密狗。
您可以使用任何顯示器,但我使用的是HD44780(與adafruit上的顯示器相同),因?yàn)樗驯怀浞钟涗洸H使用我選擇了13.56 MHz RFID讀取器和標(biāo)簽,因?yàn)閺奈业?a target="_blank">手機(jī)實(shí)驗(yàn)中我已經(jīng)很少使用這種技術(shù)的標(biāo)簽了。我還找到了不錯的“操作方法”(http://fuenteabierta.teubi.co/2013/07/utilizando-el-lector-nfc-rc522-en-la.html),并且在Google翻譯的幫助下修改了給定的源代碼我的需要。
可以使用任何數(shù)字鍵盤。那些高按鈕的人可能會因?yàn)楹凶拥暮穸榷谩0惭b時只需用小刀或螺絲刀卸下所有多余的按鈕即可。
LED和LED支架是純粹多余的,對于設(shè)備運(yùn)行而言不是必需的,但它們可以作為額外的動作指示。
蜂鳴器。我覺得這樣的設(shè)備應(yīng)該有自己的聲音讓人們知道它正在工作。
面包板和跳線用于每個設(shè)備之間的互連,因?yàn)槎鄠€引腳(3.3V,GND等)用于多個部分。 。您當(dāng)然可以使用焊接的板,但是我希望能夠輕松地更換每個零件,而只需用膠槍將其粘合在一起。
您還需要很少的螺釘和/或膠槍將所有零件固定在一起。對于LED,您需要小電阻。對于我的紅色LED,我使用了68歐姆的電阻,該電阻應(yīng)將電流限制在19 mA左右。根據(jù)您的LED,您可以在該地址上計(jì)算電阻值。在多個論壇上討論了最大GPIO電流,但我不會超過20mA。電位器用于調(diào)整顯示器的對比度。
步驟2:一起布線
在圖片上從上方的Fritzing可以看到每個元素之間的連接。您可以在頁面下方找到fzz文件作為下載鏈接。
有關(guān)顯示連接的故障排除,請參閱adafruit網(wǎng)站上的精美手冊。
連接非常簡單,因此不會有任何麻煩。
我在包裝盒的蓋子上切了一些孔,用于顯示,LED和鍵盤,為了安全起見,NFC讀取器仍留在蓋子下,并且它有足夠強(qiáng)的信號可以通過塑料讀取標(biāo)簽。
我用膠槍對準(zhǔn)了盒子,它足以固定每個組件。并且在測試之后,甚至將電線粘到連接器上,以防止在操作過程中意外斷開連接。
也不要忘記在電源和網(wǎng)絡(luò)電纜上鉆孔(如果使用WiFi加密狗或PoE,則只能鉆一個孔)。 br》作為最后的觸摸,在NFC讀取器所在的蓋子的外部標(biāo)記點(diǎn),以便于閱讀。
步驟3:軟件
該項(xiàng)目來自多個教程和HOWTO,因此可能會有一些遺留之處,但是暫時可行,以后我可能會修復(fù)它(AKA永遠(yuǎn)不;))
首先,您需要默認(rèn)的Raspbian映像
之后,我們需要進(jìn)行一些調(diào)整才能啟用正確的功能:
首先,我們安裝了NFC閱讀器所需的文件,如下所述(http://fuenteabierta .teubi.co/2013/07/utilizando-EL-講師-NFC-RC522-ZH-la.html)點(diǎn)擊1。通過編輯文件/etc/modprobe.d/raspi-blacklist.conf 啟用SPI設(shè)備,并注釋 blacklist spi-bcm2708 行,以便其內(nèi)容如下:
# 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
進(jìn)行安裝(如果缺少python-dev和安裝腳本錯誤退出,請先安裝軟件包
sudo apt-get install python-dev
我們還將需要來自https://github.com/mxgxw/MFRC522-python的MFRC522軟件包,但我必須對其進(jìn)行編輯一點(diǎn)點(diǎn),所以它已經(jīng)在該項(xiàng)目的源文件夾中。
要使其正常工作,最后想到的是為Python安裝GPIO(如果愿意,請將軟件包版本中的數(shù)字更新為最新的版本)。 :
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
此后,我們可以下載該項(xiàng)目的源代碼
git clone https://github.com/Yimbo/attendance在您的MySQL數(shù)據(jù)庫中創(chuàng)建表并將結(jié)構(gòu)從mysql.sql文件上傳到該數(shù)據(jù)庫。 br》根據(jù)您的設(shè)置(服務(wù)器,用戶名,密碼和數(shù)據(jù)庫名稱,下一個更新文件mysql.py我)。
此步驟之后,您應(yīng)該可以運(yùn)行該程序:
sudo python attendance.py
步驟4:自動化
現(xiàn)在您應(yīng)該具有功能齊全的系統(tǒng),可用于讀取NFC標(biāo)簽并將有關(guān)它們的信息存儲在MySQL數(shù)據(jù)庫中。
對于日常使用,您應(yīng)該準(zhǔn)備接受電源故障,數(shù)據(jù)錯誤等。為避免電源故障,可以使用UPS,但是樹莓派可能仍然不時重啟。另外,您還想使用集成鍵盤,而不是要從中運(yùn)行程序的控制臺中的鍵盤。
首先更改您的出勤文件屬性,使其可以在不外部調(diào)用python的情況下運(yùn)行:
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
然后,每次系統(tǒng)登錄到控制臺tty1時,都需要激活NumLock,因此請創(chuàng)建具有以下內(nèi)容的文件leds.sh(請注意,它可能不會影響鍵盤上的實(shí)際LED,但是它將變成Numlock無論如何,請執(zhí)行以下操作:
setleds -D +num 《 /dev/tty1并將其權(quán)限更改為可執(zhí)行文件:
chmod +x leds.sh然后您要為python腳本創(chuàng)建看門狗,因此即使崩潰,該看門狗也會再次啟動它。轉(zhuǎn)到主目錄并使用以下文本創(chuàng)建文件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并以與以前相同的方式將其權(quán)限更改為可執(zhí)行。
此后轉(zhuǎn)到根主目錄(/root/)并更新文件.bash_profile并添加以下行:
[[ $(tty) == ’/dev/tty1‘ ]] && /root/runattendance.sh這將在系統(tǒng)每次登錄第一個控制臺時啟動runattendance.sh(引導(dǎo)后現(xiàn)在將自動運(yùn)行)。
如果完成所有這些操作步驟,您現(xiàn)在可以重新啟動樹莓派,并且在成功啟動后,顯示屏應(yīng)該亮起并且考勤系統(tǒng)應(yīng)該可以工作。
責(zé)任編輯:wv
-
nfc
+關(guān)注
關(guān)注
59文章
1617瀏覽量
180312 -
考勤系統(tǒng)
+關(guān)注
關(guān)注
0文章
40瀏覽量
11196 -
樹莓派
+關(guān)注
關(guān)注
116文章
1697瀏覽量
105459
發(fā)布評論請先 登錄
相關(guān)推薦
評論