NFC — различия между версиями
Admin (обсуждение | вклад) |
Admin (обсуждение | вклад) |
||
Строка 78: | Строка 78: | ||
SAK (SEL_RES): 00 | SAK (SEL_RES): 00 | ||
</pre> | </pre> | ||
+ | |||
+ | Более подробно общение с NFC ещё не производил, так что подробности будут позже, когда опробую остальные функции. | ||
[[Категория:Инструкции]] | [[Категория:Инструкции]] |
Версия 15:51, 27 августа 2014
Содержание |
Вступление
NFC - Near Field Communication - технология беспроводной высокочастотной связи малого радиуса действия, которая дает возможность обмена данными между устройствами, находящимися на расстоянии около 10 сантиметров. Эдакий усовершенствованный RFID, короче. Рабочая частота - 13.56 MHz.
Для считывания NFC меток и брелков требуется подключить к Виртурилке NFC-считыватель.
Подключение
NFC считыватели могут быть подключены по шинам SPI, I2C (IIC), UART. Некоторые модели считывателей допускают подключение только к одной из этих шин, а некоторые - к любой из них, в зависимости от настроек.
Подключение к UART
NFC считыватель | Виртурилка |
---|---|
GND | CON1 (GND) |
RX | CON2 (UART0_TXD) или CON29 (UART1_TXD) |
TX | CON3 (UART0_RXD) или CON28 (UART1_RXD) |
Vcc | +3.3V или +5V (пин PWR_VIN), в зависимости от модели считывателя |
Проверенные устройства
Itead PN532 NFC
В зависимости от положений двух переключателей на борту может быть подключён к SPI, I2C, UART.
Описание на сайте производителя http://imall.iteadstudio.com/im130625002.html
Работа со считывателем
Тут всё немного сложнее, чем при чтении RFID. Первым делом необходимо установить пакет libfnc.
opkg-cl update opkg-cl install libnfc
Пакете libnfc пока собран только с поддержкой считывателей на базе чипа PN532, по умолчанию будем использовать режим UART. Предполагаем что считыватель подключён к порту UART1.
В каталоге /etc должен появиться каталог nfc, в котором находится файл дефолтной конфигурации, а в нём каталог devices.d, где находятся конфигурации для разных типов считывателей. Пока там есть только один файл считывателя, pn532_uart.conf с примерно таким содержимым:
name = "Itead PN532 via UART" connstring = pn532_uart:/dev/ttyS1 allow_intrusive_scan = true log_level = 3
Попробуем прочитать NFC метку, встроенную в билетик московского метрополитена
Вводим команду nfc-poll, считыватель будет переведён в режим ожидания метки
[root@virt2real devices.d]# nfc-poll nfc-poll uses libnfc 1.7.0 NFC reader: pn532_uart:/dev/ttyS1 opened NFC device will poll during 30000 ms (20 pollings of 300 ms for 5 modulations)
Подносим метку, увидим что-то вроде такого:
ISO/IEC 14443A (106 kbps) target: ATQA (SENS_RES): 00 44 UID (NFCID1): 34 38 06 a9 78 d3 56 SAK (SEL_RES): 00
Более подробно общение с NFC ещё не производил, так что подробности будут позже, когда опробую остальные функции.