Portál AbcLinuxu, 23. dubna 2024 13:02

PN532 NFC Adafruit shield + Raspberry Pi přes SPI + libnfc

6.8.2013 01:57 | Přečteno: 3416× | programování | Výběrový blog

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.        

Hodnocení: 100 %

        špatnédobré        

Obrázky

PN532 NFC Adafruit shield + Raspberry Pi přes SPI + libnfc, obrázek 1

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

Komentáře

Nástroje: Začni sledovat (2) ?Zašle upozornění na váš email při vložení nového komentáře. , Tisk

Vložit další komentář

6.8.2013 09:43 drunkezz | skóre: 34 | blog: kadeco
Rozbalit Rozbalit vše Re: PN532 NFC Adafruit shield + Raspberry Pi přes SPI + libnfc
Odpovědět | Sbalit | Link | Blokovat | Admin

Pekna praca...velmi obdivujem aspon trocha HW oriented geekov...ale neda mi....naco to je?:)
D.

limit_false avatar 6.8.2013 13:25 limit_false | skóre: 23 | blog: limit_false
Rozbalit Rozbalit vše Re: PN532 NFC Adafruit shield + Raspberry Pi přes SPI + libnfc
Tohle zařízení je na čtení RFID ISO 14443 tagů jako Mifare Classic/Desfire/Ultralight nebo jiných aktivních čteček. Výhoda low-level zapojení je možnost přímé komunikace s PN532 čipem (viz PN532 datasheet). Knihovna libnfc má utilitu pn53x-tamashell, kterou lze komunikaci naskriptovat.
When people want prime order group, give them prime order group.
6.8.2013 22:04 lacinka
Rozbalit Rozbalit vše Re: PN532 NFC Adafruit shield + Raspberry Pi přes SPI + libnfc
takze s timhle geretem muzu cist bezdrave identifikacni cipove karty? chapu to tak, ze to dam do krabice lipnu to na stenu a mam primitivni dochazku? zasadni otazka kde sezenu ty cipove karty, idealne v cechach a levne?
pushkin avatar 7.8.2013 08:33 pushkin | skóre: 43 | blog: FluxBlog
Rozbalit Rozbalit vše Re: PN532 NFC Adafruit shield + Raspberry Pi přes SPI + libnfc
<paranoid>A při troše snahy a zvýšení vyzářeného výkonu není problém si s tím i nakopírovat cizí bezkontaktní karty v MHD...</paranoid>
limit_false avatar 7.8.2013 23:41 limit_false | skóre: 23 | blog: limit_false
Rozbalit Rozbalit vše Re: PN532 NFC Adafruit shield + Raspberry Pi přes SPI + libnfc
U ISO 14443 karet lze na vetší vzdálenost rádově metrů odchytávat jenom aktivní komunikaci čtečka-tag nebo čtečka-čtečka (nelze na velkou vzdálenost číst pasivní tagy).
When people want prime order group, give them prime order group.
7.8.2013 13:30 Mirek | skóre: 4
Rozbalit Rozbalit vše Re: PN532 NFC Adafruit shield + Raspberry Pi přes SPI + libnfc
karty koupis treba tady http://www.elatec.cz/
limit_false avatar 7.8.2013 23:37 limit_false | skóre: 23 | blog: limit_false
Rozbalit Rozbalit vše Re: PN532 NFC Adafruit shield + Raspberry Pi přes SPI + libnfc
Lze číst 13.56 MHz ISO 14443 karty (typicky Mifare, Felica, HID iClass...). 125 kHz karty se tím číst nedají. Karty prodávájí firmy, co prodávají i přístupové systémy.
When people want prime order group, give them prime order group.
Jendа avatar 8.8.2013 03:26 Jendа | skóre: 78 | blog: Jenda | JO70FB
Rozbalit Rozbalit vše Re: PN532 NFC Adafruit shield + Raspberry Pi přes SPI + libnfc
zasadni otazka kde sezenu ty cipove karty, idealne v cechach a levne?
V nejmenovaném pražském hackerspace :) se používají karty, kteří již lidé mají - například openkrad, ČD InKarta, ISIC…
8.8.2013 14:37 m-a
Rozbalit Rozbalit vše Re: PN532 NFC Adafruit shield + Raspberry Pi přes SPI + libnfc
Lepiaca paska foreva!
pavlix avatar 11.8.2013 19:08 pavlix | skóre: 54 | blog: pavlix
Rozbalit Rozbalit vše Re: PN532 NFC Adafruit shield + Raspberry Pi přes SPI + libnfc
Stejně to má pokud vím i státní technická knihovna.
Já už tu vlastně ani nejsem. Abclinuxu umřelo.
xkucf03 avatar 14.8.2013 16:22 xkucf03 | skóre: 49 | blog: xkucf03
Rozbalit Rozbalit vše Re: PN532 NFC Adafruit shield + Raspberry Pi přes SPI + libnfc

Duct tape a visící dráty?

Mám rád, když se lidé přou, znamená to, že vědí, co dělají, a že mají směr. Frantovo.cz, SQL-DK, Relational pipes
pavlix avatar 16.8.2013 15:37 pavlix | skóre: 54 | blog: pavlix
Rozbalit Rozbalit vše Re: PN532 NFC Adafruit shield + Raspberry Pi přes SPI + libnfc
Preferuju duck tape ;).
Já už tu vlastně ani nejsem. Abclinuxu umřelo.

Založit nové vláknoNahoru

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.