ubuntu搭建nfc测试环境(libnfc+mfoc)
系统:ubuntu18.04
libnfc官网:libnfc
libnfc github: libnfc github
硬件:pn532、ch341usb转串口模块
1.安装git
1 | sudo apt install git |
2.安装依赖库
1 | sudo apt-get install libusb-dev libpcsclite-dev libusb-0.1-4 libpcsclite1 libccid pcscd |
3.插上usb转串口模块,检查驱动有没有安装过,终端运行:
1 | lsmod | grep usbserial |
若有
1 | usbserial 45056 1 ch341 |
这样的,说明系统支持usb转串口。终端运行:
1 | dmesg | grep ttyUSB0 |
如果出现以下连接成功的信息,则说明系统已识别该设备了。
1 | usb 3-4.3: ch341-uart converter now attached to ttyUSB0 |
驱动已安装好。如果没有,需安装usb转串口驱动。终端运行:
1 | sudo apt-get install minicom |
安装好后,终端运行:
1 | sudo minicom -s |
这时会弹出配置界面,使用方向键选择 Serial port setup ,按Enter键,进入设置环境。
输入a或者A,选择串口设备,在这里我使用的是USB转串口,将/dev/tty8修改为/dev/ttyUSB0。
配置完串口设备后,按Enter键。输入E可以配置波特率,pn532按默认配置即可,不用改波特率 115200 8N1 (波特率:115200,数据位:8,奇偶校验位:N 无,停止位:1)。
输入F,配置硬件流控,选择NO,再继续配置软件流控,也选择NO。都配置完后,按下Enter键返回上一界面,选择save setup as dfl(即将其保存位默认配置),再选择Exit,关闭minicom。
再次输入命令 sudo minicom,使刚才的配置生效,可以看到串口输出信息,串口配置完成。
4.在etc下新建nfc文件夹,放配置文件(这一步解决后面会遇到的执行nfc-list时出现No NFC device found的问题)
1 | sudo mkdir /etc/nfc && sudo mkdir /etc/nfc/devices.d/ |
pn532_via_uart2usb.conf文件里添加以下配置语句:
1 | # Typical configuration file for PN532 board (ie. microbuilder.eu / Adafruit) device |
5.选择一个libnfc要安装的目录,在该目录下终端运行:
1 | git clone https://github.com/nfc-tools/libnfc.git |
然后libnfc会下载到该目录的libnfc文件夹下。
6.终端运行:
1 | cd libnfc |
可能会遇到的错误:
1.’doxygen is mandatory.’
安装doxygen:
选择一个doxygen要安装的目录,在该目录下终端运行:
1 | git clone https://github.com/doxygen/doxygen.git |
没有cmke的再安装一下cmake:
1 | sudo apt install cmake |
make完后,终端运行:
1 | sudo make install |
以安装doxygen。
2.’PKG_CHECK_MODULES ERROR’
1 | ./configure: line 14085: syntax error near unexpected token `libusb,' |
论坛上说安装pkg-config,安装了后可以解决。实测安装了后这个问题还在,由于支持的库已经确认安装好了,我的做法是直接vim打开configure文件,找到对应行的位置,注释掉。一共有3处PKG_CHECK_MODULES。(vim 冒号加行数+回车即跳转到该行,加#号注释)。注释完后configure可以执行完毕。最后可以看到:
1 | Selected drivers: |
7.在libnfc文件夹下终端运行:
1 | make |
8.安装libnfc:
1 | sudo make install |
9.验证安装是否成功:
将PN532接上usb转串口模块,usb转串口模块插入PC USB接口,然后进入如下目录:
libnfc/utils,运行程序:
1 | sudo ./nfc-list |
出现以下信息表示安装成功:
1 | NFC device: Adafruit PN532 board via UART opened |
下面就可以把卡放在PN532上去使用libnfc了。
libnfc常用指令:
1 | nfc-list: |
10.安装mfoc
选择一个mfoc要安装的目录,在该目录下终端运行:
1 | git clone https://github.com/nfc-tools/mfoc |
克隆好后,打开文件夹:
1 | cd mfoc/ |
即可安装完成,测试是否安装好:
1 | cd src/ |
输出:
1 | Usage: mfoc [-h] [-k key] [-f file] ... [-P probnum] [-T tolerance] [-O output] |
安装完毕。
本文标题:ubuntu搭建nfc测试环境(libnfc+mfoc)
文章作者:Mr Bluyee
发布时间:2018-07-23
最后更新:2019-07-15
版权声明:The author owns the copyright, please indicate the source reproduced.