2016-08-12 14 views
0

Я пытаюсь управлять блоком ценностей с помощью считывателя Mifare Classic и PN532. Я использую библиотеку с открытым исходным кодом с именем «libnfc», но я не вижу ничего связанного с блоками значений в этой библиотеке.Как уменьшить значение в блоке значений MIFARE Classic с помощью считывателя PN532?

Кто-нибудь знает, как я мог бы совершать приращения, декременты и передавать звонки с помощью этого читателя &?

ответ

0

Посмотрите на заголовок utils/mifare.h (и связанную с ним реализацию utils/mifare.c). Они содержат реализацию команд считывателя MIFARE. Например, для команды приращения, вы бы использовать что-то вроде:

mp.mpv.abtValue[0] = 1; 
mp.mpv.abtValue[1] = 0; 
mp.mpv.abtValue[2] = 0; 
mp.mpv.abtValue[3] = 0; 

nfc_initiator_mifare_cmd(pnd, MC_INCREMENT, blockNumber, &mp); 

Где pnd является nfc_device *, mp является mifare_param и ранее проверку подлинности в этом секторе (см utils/nfc-mfclassic.c).

+0

Спасибо, Майкл! но я использую оболочку Python библиотеки (библиотека nfcpy) и, похоже, не имеет доступных модулей в папке «utils». – crossmax

+0

Я ищу библиотеку nfc в Python, но найти ее можно с помощью функций декремента и инкремента. Я немного читаю о том, как использовать библиотеки, написанные на C, если моя программа написана на Python, но я предпочитаю повторное использование некоторой библиотеки, готовой к использованию, конечно;) – crossmax

+0

@crossmax Вы должны были объяснить это в своем вопросе. Обратите внимание, что [nfcpy] (https://github.com/nfcpy/nfcpy) (или ранее [доступно здесь] (https://launchpad.net/nfcpy)), безусловно, ** не ** оболочка для libnfc. nfcpy - полностью независимая реализация. Поэтому запрос libnfc, если вы хотите, чтобы nfcpy не имеет смысла. –