NFC
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