可能过两天需要接手一个关于售水机的项目,需要用到NFC,现在把之前用到的NFC工具再重新整理一下。
今天先安装nfc最基础的工具libnfc。拥有它你就可以用命令行快速的读取UID,配合脚本就能读写和格式化IC卡,如果是MagicM1卡还可强制修改UID号十分方便,以后再介绍他们的使用。
环境: Ubuntu 16.04 x86
工具:
1. USB转串口: FT232(最稳定的串口)
2. 读卡器: PN532
1. 了解Libnfc工具包
- nfc-scan-device 扫描NFC设备
- nfc-list 读取M1卡片基本信息
- nfc-mfsetuid 用于改写M1卡的UID号,不是普通的卡都能改写,一定要UID卡也就是所谓的Chinese clones
- nfc-mfclassic 用于在已知密钥的情况下读写M1卡
2. 安装依赖
sudo apt-get install build-essential pkg-config libusb-dev dpkg-dev libusb-0.1-4 debhelper dh-autoreconf libtool -y
3. 获取源码
git clone https://github.com/nfc-tools/libnfc.git
cd libnfc
git checkout libnfc-1.7.1
git clean -d -f -x
git remote|grep -q anonscm||git remote add anonscm git://anonscm.debian.org/collab-maint/libnfc.git
git fetch anonscm
git checkout remotes/anonscm/master debian
git reset
4. 编译生成dpkg安装包
dpkg-buildpackage -uc -us -b
5. 安装
sudo dpkg -i ../libnfc*.deb
6.配置
当然了这样的话pn532在默认状态下是不能用的,需要更改conf文件。 查看你的串口信息(一般是ttyUSB0)
ls /dev/tty*
然后修改你的conf文件。我这里用vim可用其他编辑器
sudo vim /etc/nfc/libnfc.conf
去掉注释符#
device.name = "microBuilder.eu"
device.connstring = "pn532_uart:/dev/ttyUSB0"
7. 测试
输入一下nfc-list看看是不是能查看UID号了? 在读卡器上放上卡执行
nfc-list
以后讲继续M1卡的结构