NFC
进入方式:主菜单 e → Grove 4 / n
左侧 Grove 上的 Unit NFC(ST25R3916):读 / 写 13.56 MHz 卡、NDEF / 历史卡模拟、读卡历史。走 Ex_I2C(G2=SDA、G1=SCL),与 Radio / I2C 扫描同一口。
需要 Unit NFC,不是 Unit RFID(U031 /
0x28)。仅 13.56 MHz;受保护块需匹配密钥。
截图
Hub / Reader / Dump






History / Detail / Write / Emulate




Write / Emulate setup




Write UID / NDEF


模块与接线
插到机身左侧 Grove(HY2.0-4P),按丝印对 SDA / SCL / VCC / GND:
| 模块 | 左侧 Grove |
|---|---|
| SDA | G2 |
| SCL | G1 |
| VCC | 5V |
| GND | GND |
进入后初始化 Unit;失败显示 unit begin failed。与 GPS 不能同时占 Grove(GPS 会把同脚切成 UART)。
界面
进入 NFC 后先到主界面(Hub);r / w / l / e 分别进入读、写、历史、模拟。写卡与模拟只能从 Hub 进入(向导选历史卡或自定义)。
| 视图 | 说明 |
|---|---|
| Hub | 左侧模块状态;右侧四格:r READ / w WRITE / l LIST / e EMU |
| Reader | 左侧状态图标;右侧大号 UID、ATQA/SAK、卡型、USR/TOT;blk 点阵与进度条对齐(绿=成功 / 红=失败);翻页仅列出可读块 Hex |
| History | 最近最多 12 条(GPS 风格列表 + 滚动条) |
| Detail | 单条完整记录 |
| Rename | 改历史条目名称 |
| Write | 从 Hub w 进入:选已存卡或自定义(卡型 / UID / 文本)后贴卡写入 |
| Emulation | 从 Hub e 进入:克隆历史 Type2,或自定义 NDEF 文本标签 |
快捷键
完整说明见 h Help(多页)。
| 按键 | 作用 |
|---|---|
h | Help |
Hub r / w / l / e | 进入 READ / WRITE / LIST / EMU |
Reader r | 扫描直到读到卡 |
Reader o | 开关「读卡自动进历史」 |
History r | 重命名选中项 |
History Bksp | 删除选中项 |
| ↑ ↓ 等 | Reader dump 翻页;History / Detail 选条目或翻页 |
Enter | History → Detail |
写卡 / 模拟中 w / e | 结束当前写卡会话 / 退出模拟 |
ESC | 子页逐步返回 Hub;Hub 再按回 Grove |
默认写卡内容为 Cardputer NFC(NDEF Text)。受保护扇区无正确密钥时读 / 写会失败。
读到 MIFARE Classic 时,会先用默认 KeyA FFFFFFFFFFFF 认证并读 blk 4(第 1 扇区第 0 块),再继续整卡 dump:
| 结果 | 含义 |
|---|---|
default key | 扇区仍是出厂默认密钥 |
Auth Error | 密钥已改(常见于物业门禁卡) |
n/a (not Classic) | 非 Classic,跳过探测 |
状态行与 key 行都会显示该结果,并写入 History。
模拟范围
- 支持:MIFARE Ultralight 系列、NTAG 2xx(Type 2)。读卡时保存完整页镜像;Hub
e可选历史卡按原 UID + 内存回放。 - 不支持:MIFARE Classic / Plus / DESFire 等(库只实现 Type2 监听)。此类记录会提示
type not emulatable(可仅模拟 UID 并提示)。
使用说明
- Unit NFC 插左侧 Grove,主菜单
e→n(或4),进入 NFC 主界面(Hub)。 - 各子模块只能从 Hub 进入:
r读卡、w写卡、l历史、e模拟。 - Hub 按
r进 Reader,自动准备扫描;贴卡后看 UID / 类型 / 密钥探测 / NDEF,箭头翻 dump;o控制是否自动记入 History。 - Hub 按
l浏览历史,Enter看详情,r改名,Bksp删除;ESC回到 Hub。 - Hub 按
w/e开写卡或模拟向导(选已存卡或自定义卡型 / UID / 文本);结束后按w/e或ESC回到 Hub。 - 退出 App 会停扫描 / 模拟并释放 I2C。
