Skip to content

superice119/libnfc-openwrt

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 

Repository files navigation

libnfc-openwrt

OpenWrt 的 libnfc 库编译包,用于在 OpenWrt 系统上支持 NFC(近场通信)功能。

概述

本项目为 OpenWrt 提供 libnfc 库和相关工具的编译配置。libnfc 是一个开源的、跨平台的、底层的 NFC SDK 和编程 API,支持多种 NFC 设备和标签操作。

特性

  • libnfc 1.8.0 - 核心 NFC 库
  • 支持多种驱动:
    • PN532 UART
    • PN532 SPI
    • PN532 I2C
  • 支持标签类型:
    • MIFARE Classic
    • MIFARE Ultralight
    • Jewel Topaz
    • NFC Forum Tag Type 3/4
  • 包含实用工具集

安装包

1. libnfc

核心库包,提供 NFC 操作的基础功能。

功能:

  • 操作 Jewel Topaz 标签
  • 操作 MIFARE Classic 和 Ultralight 标签
  • 底层 NFC 通信接口

2. nfc-utils

NFC 实用工具集合。

包含工具:

  • nfc-emulate-forum-tag4 - 模拟 NFC Forum Tag Type 4 v2.0(或 v1.0)
  • nfc-jewel - Jewel 标签的导出/恢复工具
  • nfc-list - 列出每个发现设备的第一个目标
  • nfc-mfclassic - MIFARE Classic 操作示例
  • nfc-mfultralight - MIFARE Ultralight 导出/恢复工具
  • nfc-read-forum-tag3 - 从 NFC Forum Tag Type 3 提取 NDEF 消息
  • nfc-relay-picc - 使用两个 PN532 设备的中继示例
  • nfc-scan-device - 列出每个可用的 NFC 设备

3. nfc-exp

Onion NFC/RFID 扩展应用程序。

编译

将本项目放置到 OpenWrt SDK 的 package 目录下:

cd /path/to/openwrt-sdk/package
git clone <此仓库URL> libnfc-openwrt

配置编译选项:

make menuconfig

在菜单中选择:

  • Libraries -> libnfc
  • Utilities -> nfc-utils
  • Onion -> Utilities -> nfc-exp(可选)

编译:

make package/libnfc-openwrt/compile V=s

配置

安装后,配置文件位于 /etc/nfc/libnfc.conf

默认配置示例

allow_autoscan = true
allow_intrusive_scan = false
log_level = 1
device.name = "PN532 via CH341"
device.connstring = "pn532_uart:/dev/ttyUSB7"

配置说明

  • allow_autoscan - 允许自动扫描设备
  • allow_intrusive_scan - 允许侵入式扫描
  • log_level - 日志级别(0-3)
  • device.name - 设备名称
  • device.connstring - 设备连接字符串

常用连接字符串格式

  • UART: pn532_uart:/dev/ttyUSB0
  • SPI: pn532_spi:/dev/spidev0.0
  • I2C: pn532_i2c:/dev/i2c-1

使用示例

扫描 NFC 设备

nfc-scan-device

列出标签

nfc-list

读取 MIFARE Classic 卡

nfc-mfclassic r a dump.mfd

写入 MIFARE Classic 卡

nfc-mfclassic w a dump.mfd

读取 MIFARE Ultralight 卡

nfc-mfultralight r dump.mfd

硬件支持

本包支持基于 PN532 芯片的 NFC 模块,通过以下接口连接:

  • UART(串口)
  • SPI
  • I2C

常见的兼容硬件包括:

  • PN532 NFC 模块
  • 通过 CH341 USB 转串口连接的 PN532 模块

许可证

  • libnfc: LGPL-2.1
  • OpenWrt 编译包: GPL-2.0

维护者

Sebastian Wendel packages@sourceindex.de

相关链接

故障排除

找不到设备

  1. 检查设备是否正确连接
  2. 确认设备节点存在(如 /dev/ttyUSB0
  3. 检查 libnfc.conf 中的连接字符串是否正确
  4. 尝试运行 nfc-scan-device -v 查看详细信息

权限问题

确保运行 NFC 工具的用户有权限访问设备节点:

chmod 666 /dev/ttyUSB0

日志调试

修改配置文件中的 log_level 为 3 以获取详细日志:

log_level = 3

贡献

欢迎提交 Issue 和 Pull Request!

About

OpenWrt package for libnfc - NFC library and utilities supporting PN532 chip (UART/SPI/I2C) libnfc 的 OpenWrt 编译包 - 支持 PN532 芯片的 NFC 库和工具集(UART/SPI/I2C)

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors