Проект libfreefare предоставляет удобный API для манипуляций с картами MIFARE.
Это часть nfc-tools , дополнительную информацию о них можно найти на вики nfc-tools.
Если вы новичок в libfreefare или nfc-tools , вам следует собрать полезную информацию на сайте проекта и специализированных форумах.
Ярлык | Статус |
---|---|
ФелиКа Лайт | Поддерживается |
МИФАРЕ Классик 1к | Поддерживается |
МИФАРЕ Классик 4к | Поддерживается |
МИФАРЕ DESFire 2k | Поддерживается |
МИФАРЕ DESFire 4k | Поддерживается |
МИФАРЕ DESFire 8k | Поддерживается |
MIFARE DESFire EV1 | Поддерживается |
МИФАРЕ Мини | Поддерживается |
МИФАРЕ Плюс S 2k | Не поддерживается |
МИФАРЕ Плюс S 4k | Не поддерживается |
МИФАРЕ Плюс Х 2к | Не поддерживается |
МИФАРЕ Плюс Х 4к | Не поддерживается |
МИФАРЕ Сверхлегкий | Поддерживается |
MIFARE Сверхлегкий C | Поддерживается |
НТАГ21x | Поддерживается |
Спецификация | Статус |
---|---|
Каталог приложений Mifare (MAD) v1 | Поддерживается |
Каталог приложений Mifare (MAD) v2 | Поддерживается |
Каталог приложений Mifare (MAD) v3 | Поддерживается (часть поддержки Mifare DESFire) |
Вы можете использовать выпущенную версию (см. раздел «Загрузка» ) или версию для разработки:
Сначала убедитесь, что все зависимости установлены:
apt-get install autoconf automake git libtool libssl-dev pkg-config
Клонируйте этот репозиторий:
git clone https://github.com/nfc-tools/libfreefare.git
cd libfreefare
Перед компиляцией не забудьте запустить:
autoreconf -vis
Теперь вы можете скомпилировать libfreefare обычным способом autotools:
./configure --prefix=/usr
make
sudo make install
mingw64-cmake -DLIBNFC_INCLUDE_DIRS=/path/to/libnfc-source/include -DLIBNFC_LIBRARIES=/path/to/libnfc.dll
mingw64-make
Для отладки с использованием GDB вам следует настроить CFLAGS:
CFLAGS="-O0 -ggdb" ./configure --prefix=/usr
make clean all
Затем можно отлаживать примеры с помощью такой команды из корня репозитория:
./libtool --mode=execute gdb examples/mifare-classic-write-ndef
Если вас интересует только просмотр трассировок передачи между PCD и PICC, просто используйте флаг конфигурации --enable-debug
:
./configure --enable-debug
make clean all