Portál AbcLinuxu, 30. dubna 2025 11:20
PN532 NFC Adafruit shield + Raspberry Pi přes SPI + libnfc
6.8.2013 01:57
| Přečteno: 3523×
| programování
|
Krátký návod k rozchození Adafruit shieldu s PN532 čipem. Čip PN532 je jeden z nejrozšířenejších pro NFC/ISO 14443 komunikaci, lze ho třeba najít snad v každém Android zařízení podporující NFC. Zapojení by nebylo nic zajímavýho, kdyby k desce existoval datasheet a nebyla by na silkscreenu chyba v označení.
Note well
Existují dvě verze Adafruit PN532 desky, breakout board a (Arduino) shield verze. Tenhle návod je pro druhou verzi, mírně se liší v zapojení.
Volba I2C vs SPI vs UART
První krok je spočívá v spájení konektorů SEL0 a SEL1 pro SPI. Jsou na PCB naznačeny opačně, ale pro SPI to moc nevadí, musíme spojit oba (breakout board verze má místo ně jumpery, což mi přijde pohodlnější na použití). Teď je deska připravena pro SPI komunikaci.
Napájení a SPI připojení
PIN označen "5V" bere jako vstupní napětí but 5V nebo 3.3V - interně deska běží na 3.3V, 5V vstup se tam dodělal na shield verzi kvůli Arduinu (hned za 5V vstupem je regulátor napětí, PIN s označením 3V vede přesně nikam). Dále je už připojení SPI celkem přímočaré, piny MOSI, MISO, SCLK a SS vyvést na odpovídající piny Raspberry (pro SS lze použít buďto GPIO 8 nebo GPIO 7).
Kompilace libnfc na Raspberry Pi
Nejideálnější varianta je zakompilovat všechny drivery s:
./configure --with-drivers=all
make && make install
Tím pádem bude zahrnut i UART driver použitelný například pro OpenPCD desku nebo pokud byste se rozhodli pro pomalejší UART zapojení Adafruit PN532 desky (pro UART musíte změnit zapojení SEL0 a SEL1). Git verze libnfc velmi nedávno začala podporovat i I2C pro PN532, ale nezkoušel jsem. Konfigurace zařízení, ze kterých číst, se provádí přes /usr/local/etc/nfc/libnfc.conf nebo /usr/local/etc/nfc/devices.d/ pokud nezměníte prefix u configure.
Minimálně jeden z následovních příkazů by měl jako test zabrat, pokud je v poli čtečky karta:
nfc-scan-device
nfc-list
nfc-poll
Výsledek
Na mé překvapění SPI spojení s Rasbperry funguje překvapivě spolehlivě. Tip pro ACR122T čtečku u PC (USB čtečka s PN532 čipem) - zastavte pcscd daemona před použitím libnfc, nebudou se přetahovat o USB/CCID zařízení.
Caveats
RFIDIOt moc dobře nefunguje s libfnc, i když to má v popisu práce (parametr -R READER_LIBNFC). Možná je už libfnc moc nová proti RFIDIOt, ale s posíláním ISO 7816 APDU nefungoval jak na PC, tak na Raspberry.
Foto Raspberry Pi + PN532 deska níže.
Obrázky
Tiskni
Sdílej:
Komentáře
Vložit další komentář
6.8.2013 09:43
drunkezz | skóre: 34
| blog:
kadeco
Re: PN532 NFC Adafruit shield + Raspberry Pi přes SPI + libnfc
Založit nové vlákno •
Nahoru
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.