NFC: различия между версиями
м |
(Отметить эту версию для перевода) |
||
Строка 3: | Строка 3: | ||
==Hardware== | ==Hardware== <!--T:1--> | ||
Используется чип NXP [[PN532]]. Чип подключен по SPI. Используется GPIO в качестве chip select. | Используется чип NXP [[PN532]]. Чип подключен по SPI. Используется GPIO в качестве chip select. | ||
== Software == | == Software == <!--T:2--> | ||
Чип поддерживается библиотекой [http://nfc-tools.org/index.php?title=Libnfc libnfc], начиная с релиза 1.7.0. | Чип поддерживается библиотекой [http://nfc-tools.org/index.php?title=Libnfc libnfc], начиная с релиза 1.7.0. | ||
Backport для Debian Wheezy: [https://github.com/contactless/wirenboard/tree/master/contrib/libnfc], по умолчанию установлен в стандартном образе. | Backport для Debian Wheezy: [https://github.com/contactless/wirenboard/tree/master/contrib/libnfc], по умолчанию установлен в стандартном образе. | ||
<!--T:3--> | |||
Работа производится через spidev в userspace. По-умолчанию при использовании стандартного dts файла используется устройство /dev/spidev1.4. | Работа производится через spidev в userspace. По-умолчанию при использовании стандартного dts файла используется устройство /dev/spidev1.4. | ||
Конфиг по-умолчанию: [https://github.com/contactless/wirenboard/blob/master/rootfs/configs/etc/nfc/libnfc.conf]. | Конфиг по-умолчанию: [https://github.com/contactless/wirenboard/blob/master/rootfs/configs/etc/nfc/libnfc.conf]. | ||
Строка 15: | Строка 16: | ||
===Примеры=== | ===Примеры=== <!--T:4--> | ||
====Список карточек в области видимости==== | ====Список карточек в области видимости==== <!--T:5--> | ||
<pre> | <pre> | ||
root@wirenboard:~# nfc-list | root@wirenboard:~# nfc-list | ||
Строка 28: | Строка 29: | ||
SAK (SEL_RES): 00 | SAK (SEL_RES): 00 | ||
<!--T:6--> | |||
</pre> | </pre> | ||
====Чтение Mifare Ultralight==== | ====Чтение Mifare Ultralight==== <!--T:7--> | ||
Одноразовые билеты московского метро - карточки Mifare UL. | Одноразовые билеты московского метро - карточки Mifare UL. | ||
<pre> | <pre> | ||
Строка 41: | Строка 43: | ||
</pre> | </pre> | ||
====Python==== | ====Python==== <!--T:8--> | ||
Для работы с NFC из Python необходимо использовать биндинги для libnfc. См. пример https://github.com/contactless/wirenboard/tree/master/examples/nfc/python на гитхабе. | Для работы с NFC из Python необходимо использовать биндинги для libnfc. См. пример https://github.com/contactless/wirenboard/tree/master/examples/nfc/python на гитхабе. | ||
====C/C++==== | ====C/C++==== <!--T:9--> | ||
Примеры работы с libnfc в утилитах, поставляемых с libnfc: http://code.google.com/p/libnfc/source/browse/#git%2Fexamples | Примеры работы с libnfc в утилитах, поставляемых с libnfc: http://code.google.com/p/libnfc/source/browse/#git%2Fexamples | ||
</translate> | </translate> |
Версия 20:30, 18 июля 2019
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