树莓派linux读卡器,在树莓派上使用 PN532 NFC读卡器[0]

news/2025/2/22 16:14:34/

66b52468c121889b900d4956032f1009.png

8种机械键盘轴体对比

本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选?

最近需要在树莓派上使用使用NFC读取mifare classic卡中的信息,在X宝购买了一块PN532芯片的NFC读卡器,然后使用libnfc提供的接口进行开发,本文介绍一下libnfc的基本使用方法。

PN532芯片介绍PN532是一个高度集成的NFC读写芯片,它包含80C51微控制器内核,集成了13.56MHz下的各种主动/被动式非接触通信方法和协议。

PN532支持三种与主机之间的通信接口(可能还支持USB,不过我这块PN532板子上没有USB接口):SPI

I2C

UART

PN532传输模块支持6种不同的工作模式:读写器模式,支持ISO/IEC 14443A / MIFARE®机制

读写器模式,支持 FeliCa机制

读写器模式,支持ISO/IEC 14443B机制

卡操作模式,支持ISO 14443A / MIFARE®机制

卡操作模式,FeliCa机制

ISO/IEC18092,ECM340点对点

本文中使用SPI与Raspberry Pi3之间进行通信,接线图就不放了,SPI接口一共就那么几根线。其实使用libnfc进行开发的话,使用什么接口都一样,libnfc会处理底层的通信细节,让开发者专注于PN532于芯片卡之间的通信过程。下文将讲述libnfc的配置方法。

libnfc介绍libnfc是GNU公共许可正下发布的第一个免费的底层的NFC SDK和编程API。它对任何人都是完全免费和公开的。这个列表给出了目前已经支持的功能。libnfc支持所有的主流操作系统,包括GNU/Linux、Mac OS X和windows。其编译工作应该在兼容POSIX的系统中进行。libnfc库支持多种NFC硬件,如dongles、flat 和 OEM设备等。libnfc当前支持ISO/IEC 14443协议A、B,Felica、Jewel/Topaz标签和发起者和接收者的点对点数据交换。

在libnfc支持的硬件列表中发现,其对PN532的各种接口都提供了很好的支持,So,放心的使用libnfc吧!(说的好像还有别的库可以用一样……)

目前libnfc的版本停留在1.7.1,可以从GitHub上得到它的源码,该网页有libnfc的官方文档。

libnfc安装与配置

开发环境为树莓派3,系统是Raspbian。安装libnfc的依赖库1sudo apt-get install libusb-dev libpcsclite-dev

安装libnfc

这里有两种安装方法,直接使用apt安装和源码编译安装。apt安装1sudo apt-get install libnfc-dev libnfc-bin

其中dev包包含libnfc的头文件和链接库文件,bin包包含了一些预编译的二进制工具(其实就是源码文件夹example里面的东西)。

源码安装

其实源码安装也很简单粗暴,在Raspbian上也没有遇到什么莫名其妙的问题。

首先安装CMake,如果已经安装了请忽略这一步:1sudo apt-get install cmake

然后cd到libnfc的源码目录中,建立一个build文件夹,在build文件夹中进行编译安装:1

2

3

4

5

6mkdir build

cd build

cmake ..

make

sudo make install

sudo ldconfig

至此libnfc安装完成。

配置libnfc

libnfc安装完成后,需要编辑配置文件/etc/nfc/libnfc.conf,使其能够找到PN532设备,如果系统中没有这个文件,创建它,然后在文件中添加以下内容:1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20# Allow device auto-detection (default: true)

# Note: if this auto-detection is disabled, user has to set manually a device

# configuration using file or environment variable

allow_autoscan = true

# Allow intrusive auto-detection (default: false)

# Warning: intrusive auto-detection can seriously disturb other devices

# This option is not recommended, user should prefer to add manually his device.

allow_intrusive_scan = false

# Set log level (default: error)

# Valid log levels are (in order of verbosity): 0 (none), 1 (error), 2 (info), 3 (debug)

# Note: if you compiled with --enable-debug option, the default log level is "debug"

log_level = 1

# Manually set default device (no default)

# To set a default device, you must set both name and connstring for your device

# Note: if autoscan is enabled, default device will be the first device available in device list.

device.name = "PN532"

device.connstring = "pn532_spi:/dev/spidev0.0"

如果你使用i2c进行通信,将最后一行改为:1device.connstring = "pn532_i2c:/dev/i2c-1"

使用串口同理,修改最后一行的设备节点为你的串口设备。

配置完成后,使用nfc-list查看是否配置成功,如果你是使用apt安装的libnfc-bin,直接在终端中输入nfc-list即可;如果使用源码安装libnfc,这个工具在libnfc源码文件夹中的build/utils文件夹中。

运行nfc-list后如果看到如下输出,表示libnfc已经配置完成:

5c3078255dc4e.png

一般情况下不会出现配置失败的情况,如果配置失败,即未能成功打开PN532设备,请检查:树莓派的对应接口是否已经配置,如SPI、I2C等;接线是否正确;PN532设备能否正常工作等。

待续


http://www.ppmy.cn/news/370168.html

相关文章

华旭 身份证读卡器测试软件_华旭身份证读卡器阅读软件8.0版本 支持免驱

名称:华旭身份证读卡器阅读器8.0 版本:V8.0 开发包大小:7.59M 支持型号:华旭HX-FDX3S有驱动连接、HX-J15无驱动连接 下载地址: 专业提供华旭身份证读卡器阅读软件8.0版本,含指纹信息、身份证信息、M1卡、Type A、Type B、SAM卡等多种卡读取,相关技术支持由 www.idukaqi.…

java 德生读卡器对接程序_德生TSW-F4 社保卡读卡器.rar

【实例简介】 德生TSW-F4 社保卡读卡器测试程序以及动态库,出厂自带程序 【实例截图】 【核心代码】 b79d6d98-2fcb-4e20-ab26-8f7aa14b320c └── 德生TSW-F4 社保卡读卡器 ├── TSW-F4 U系列读写器随机软件_20120907 │ ├── Dll │ │ ├── F4.h │…

计算机无法识别读卡器怎么办,在win7电脑中识别不了读卡器的解决方法介绍

在win7系统电脑中经常使用到读卡器,比如:传输文件。但是有些用户将读卡器插到win7系统电脑中没反应,识别不了读卡器,该怎么解决此问题呢?win7系统电脑识别不了读卡器的原因有很多种,接下来,小编…

用c语言做RFID读卡程序,2.STM32读卡号读写数据代码示例3.0(C语言)

文件名大小更新时间 2.STM32读卡号读写数据代码示例3.0(C语言)\HFRFID.uvgui.WEIZAI736912016-07-15 2.STM32读卡号读写数据代码示例3.0(C语言)\HFRFID.uvgui.WeiZai520982202014-12-26 2.STM32读卡号读写数据代码示例3.0(C语言)\HFRFID.uvgui.YE709312017-03-25 2.STM32读卡号…

计算机usb口不识别读卡器,windows7系统下usb读卡器读不出来如何解决

最近有windows7系统用户到本站反馈说碰到这样一个情况,就是在使用读卡器传输文件的时候,发现插入到电脑出现无法识别读卡器的情况,该怎么办呢,针对windows7系统下usb读卡器读不出来这个问题,小编这就为大家带来详细的解…

计算机无法识别读卡器怎么办,usb读卡器读不出来怎么办,详细教您解决的办法...

随着许多电子产品的普及,目前例如像智能手机、数码照相机、笔记本电脑等等,都在我们生活越来越广泛。而这些产品的共通性,那就是信息都是以数据形式存在的,照片、音乐等等。因此,一个额外的小工具就出现在我们的生活中…

计算机无法识别读卡器怎么办,usb读卡器读不出来怎么办,教您解决的办法

如今的读卡器功能上已经非常的齐全,目前主流的一些内存卡都能适用。对于读卡器的情况,有些朋友还是会反应一些问题,那就是会遇到读卡器读不出来的情况。如果说遇到了这种情况,那就可以看下是读卡器的问题还是电脑的问题。换台电脑…

html实现读取读卡器,如何在web浏览器页面使用IC卡读卡器并且兼容所有浏览器

随着H5技术的不断发展与推广,H5技术被广泛用于移动设备,PC终端等众多领域。同时,越来越多的应用都基于B/S(浏览器/服务器)模式,降低开发难度的同时还能更好的普及和应用,突破了硬件设备的兼容性问题。然而,嵌入式开发的设备并没有跟上H5技术的脚步,现在很多嵌入式设备并…