NFC

Материал из Wiren Board
Это утверждённая версия страницы. Она же — наиболее свежая версия.
Другие языки:

Hardware

Используется чип NXP PN532. Чип подключен по SPI. Используется GPIO в качестве chip select.

Software

Чип поддерживается библиотекой libnfc, начиная с релиза 1.7.0. Backport для Debian Wheezy: [1], по умолчанию установлен в стандартном образе.

Работа производится через spidev в userspace. По-умолчанию при использовании стандартного dts файла используется устройство /dev/spidev1.4. Конфиг по-умолчанию: [2].

Примеры

Список карточек в области видимости

root@wirenboard:~# nfc-list 
nfc-list uses libnfc 1.7.0
NFC device: pn532_spi:/dev/spidev1.4 opened
1 ISO14443A passive target(s) found:
ISO/IEC 14443A (106 kbps) target:
    ATQA (SENS_RES): 00  44  
       UID (NFCID1): 04  f7  04  1a  0d  28  86  
      SAK (SEL_RES): 00  

Чтение Mifare Ultralight

Одноразовые билеты московского метро - карточки Mifare UL.

root@wirenboard:~# nfc-mfultralight r dump.mfd
NFC device: pn532_spi:/dev/spidev1.4 opened
Found MIFARE Ultralight card with UID: 04f7041a0d2886
Reading 16 pages |................|
Done, 16 of 16 pages readed.
Writing data to file: dump.mfd ... Done.

Python

Для работы с NFC из Python необходимо использовать биндинги для libnfc. См. пример https://github.com/contactless/wirenboard/tree/master/examples/nfc/python на гитхабе.

C/C++

Примеры работы с libnfc в утилитах, поставляемых с libnfc: http://code.google.com/p/libnfc/source/browse/#git%2Fexamples