NFC: различия между версиями

Материал из Wiren Board
м
(Отметить эту версию для перевода)
Строка 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