一、基本概念

NDEF(NFC Data Exchange Format,NFC数据交换格式):NFC Forum指定的一个轻量级的数据封装规范,用于NFC设备之间(手机、标签、卡等)传输结构化信息。它定义了如何将数据(如文本、URL、名片等)打包成NDEF消息和记录,并通过NFC载体(如标签或点对点)传输。他是NFC Forum定义的唯一官方数据格式,ISO 14443、ISO 15693、FeliCa等底层协议,只要设备支持NFC,就能互通数据。

二、NDEF 的结构组成

1. NDEF Message(NDEF 消息)

  • 一个 NDEF Message 由一组 NDEF Record(记录)组成

  • 一个 NFC 标签只能包含 一个 NDEF 消息

mathematica复制编辑NDEF Message
├── NDEF Record 1
├── NDEF Record 2
└── ...

2. NDEF Record(NDEF 记录)

每条记录包括以下字段:

字段名 长度 含义
MB (Message Begin) 1bit 是否是第一条记录
ME (Message End) 1bit 是否是最后一条记录
CF (Chunk Flag) 1bit 是否是分段数据
SR (Short Record) 1bit Payload 长度是否为 1 字节
IL (ID Length) 1bit 是否包含 ID 长度字段
TNF (Type Name Format) 3bit 表示记录的数据类型
TYPE LENGTH 1 字节 Type 字段长度
PAYLOAD LENGTH 1-4 字节 Payload 数据长度
ID LENGTH(可选) 1 字节 ID 字段长度(可选)
TYPE 可变 数据类型(如文本、URI等)
ID(可选) 可变 记录唯一 ID
PAYLOAD 可变 实际数据


三、TNF:Type Name Format(类型命名格式)

TNF 是 NDEF 中的核心字段,用来标识 payload 的类型。常用 TNF 类型如下:

TNF 值 含义 示例用途
0x01 Well-known type 文本、URI 等标准类型
0x02 MIME media type image/png, text/html 等
0x03 Absolute URI 以完整 URI 为类型标识
0x04 External type 自定义应用私有类型
0x05 Unknown 不知道 Payload 类型
0x06 Unchanged 用于 Chunked 分段记录


四、常见 NDEF 记录类型

✅ 1. Text Record(文本记录)

  • TNF = 0x01(Well-known)

  • TYPE = “T”

  • PAYLOAD = 语言编码长度[文本内容]

  • 例如:"enHello world"

✅ 2. URI Record(超链接)

例如:

arduino复制编辑Payload: 0x01 + "example.com"
等效URL: http://www.example.com

✅ 3. MIME Type Record(媒体类型记录)

  • TNF = 0x02

  • TYPE = “text/plain”, “image/png” 等标准 MIME 类型

  • Payload 是实际的内容,例如一段 HTML 文本或 PNG 图像数据

✅ 4. Smart Poster(复合结构)

  • 一个包含多个记录的 NDEF 消息组合,如 URI + Text

  • 用于展示同时包含标题和链接的 NFC 标签


五、NDEF 实际案例

假设你扫描一个 NFC 标签,自动打开网页 https://chat.openai.com

NDEF 记录结构大致如下:

  • MB = 1, ME = 1, SR = 1

  • TNF = 0x01(Well-known)

  • TYPE = “U”(URI)

  • PAYLOAD = 0x01 + "chat.openai.com" → 0x01 表示 http://www.


六、NDEF 的使用场景

  • 📲 手机扫码标签:打开网站、下载 App、加入 WiFi

  • 🎫 名片交换:vCard 格式打包成 NDEF

  • 🔐 身份认证:将身份标识打包后发送给后台验证

  • 📦 数据通信:Android Beam、iOS NFC、蓝牙配对


七、NDEF 与 NFC 的关系总结

项目 内容
NFC 一种近场通信技术,涵盖物理层、电磁波、通信协议(如 ISO 14443)等
NDEF 一个高层的数据封装格式,运行在 NFC 之上,用于统一数据结构和交换方式
举例 NFC 是“道路”,NDEF 是“车辆上的货物格式”


八、NDEF 与 Android、iOS 开发的关系

  • Android 提供了完整的 NDEF 读写 API(NdefMessageNdefRecord

  • iOS 支持读取 NDEF(iPhone 7及以后),写入功能较晚开放

  • 通用框架如:React Native NFC Manager, NFC Tools, Flutter NFC

Logo

智能硬件社区聚焦AI智能硬件技术生态,汇聚嵌入式AI、物联网硬件开发者,打造交流分享平台,同步全国赛事资讯、开展 OPC 核心人才招募,助力技术落地与开发者成长。

更多推荐