
Удобный API для работы с NFC-картами на основе libnfc.
Проект libfreefare предоставляет удобный API для работы с картами MIFARE.
Он является частью nfc-tools. Дополнительную информацию можно найти в вики nfc-tools.
Если вы новичок в libfreefare или nfc-tools, полезную информацию можно получить на сайте проекта и на специализированных форумах.
| Метка | Статус |
|---|---|
| FeliCa Lite | Поддерживается |
| MIFARE Classic 1k | Поддерживается |
| MIFARE Classic 4k | Поддерживается |
| MIFARE DESFire 2k | Поддерживается |
| MIFARE DESFire 4k | Поддерживается |
| MIFARE DESFire 8k | Поддерживается |
| MIFARE DESFire EV1 | Поддерживается |
| MIFARE Mini | Поддерживается |
| MIFARE Plus S 2k | Не поддерживается |
| MIFARE Plus S 4k | Не поддерживается |
| MIFARE Plus X 2k | Не поддерживается |
| MIFARE Plus X 4k | Не поддерживается |
| MIFARE Ultralight | Поддерживается |
| MIFARE Ultralight C | Поддерживается |
| NTAG21x | Поддерживается |
| Спецификация | Статус |
|---|---|
| Каталог приложений 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