【问题标题】:what is the relationship between NFC and NDEFNFC和NDEF是什么关系
【发布时间】:2013-08-02 09:53:57
【问题描述】:

NFC 和 NDEF 之间究竟是什么关系?是否任何 NFC 设备总是必须具有 NDEF 格式的数据?或者是否有可能有 NFC 但没有 NDEF(虽然我认为反之亦然是不可能的?)?一张空的 NFC 卡会是什么样子?它还会有 NDEF 标头信息但没有有效负载吗?或者标签是否可能完全为空,即也没有任何标题信息?在那种情况下,这仍然可以被安卓手机或读卡器检测到吗?究竟是什么让标签被阅读器检测到?

【问题讨论】:

标签: android nfc ndef


【解决方案1】:

在NFC通信中主要有三种操作模式

  1. 读/写模式 (PCD)
  2. 点对点模式 (NFC)
  3. 标签/卡模拟模式 (PICC)



NFC的基础是天线耦合,当一个NFC设备靠近另一台发生天线耦合时,有一个Multiprotocol RF前端IC芯片连接到读写器设备,另一台设备可以是读写器设备或只是一个 NFC 标签(nfc 标签不过是天线和数据存储)。只有通过 ISO?IEC 18092 和 ISO/IEC 14443 协议时才会进行通信,否则不会进行通信。

NFC和NDEF究竟是什么关系?

在 android 中,所有 NFC 设备都被检测并作为 PICC 设备处理,android.nfc 包提供对近场通信 (NFC) 功能的访问,允许应用程序读取 NFC 标签中的 NDEF 消息

任何 NFC 设备是否总是必须具有 NDEF 格式的数据?

是和否,在此模式下,NFC 设备模拟 ISO 14443 智能卡或集成在移动设备中的智能卡芯片连接到 NFC 模块的天线。传统读卡器无法区分在标签仿真模式下运行的手机和普通智能卡。

这是 NFC 技术的一个优势,因为不需要更换现有的读取器基础设施。用于标签仿真的智能卡芯片也称为安全元件。

是否有可能有 NFC 但没有 NDEF?

是的,这里已经详细介绍了:Advanced NFC

空的 NFC 卡会是什么样子?它是否仍然有 NDEF 标头信息但没有有效负载?或者标签是否有可能完全为空,即也没有任何头部信息?

NDEF 由四部分组成
3 位 TNF(类型名称格式)
指示如何解释变长类型字段。
变长类型
描述记录的类型。如果使用 TNF_WELL_KNOWN,请使用此字段指定记录类型定义 (RTD)。
可变长度 ID
记录的唯一标识符。该字段不经常使用,但如果您需要唯一标识一个标签,您可以为其创建一个 ID。
可变长度负载
您要读取或写入的实际数据负载。一条 NDEF 消息可以包含一个或没有或多个 NDEF 记录,因此不要假设完整的有效负载在 NDEF 消息的第一个 NDEF 记录中。

在这种情况下,Android 手机或读卡器还能检测到吗?究竟是什么让阅读器能够检测到标签?

标签调度系统使用类型名称格式 (TNF) 和类型字段来尝试将 MIME 类型或 URI 映射到 NDEF 消息。如果成功,它将将该信息与实际有效负载一起封装在 ACTION_NDEF_DISCOVERED 意图中。但是,有些情况下,标签调度系统无法根据第一个 NDEF 记录确定数据的类型。当 NDEF 数据无法映射到 MIME 类型或 URI,或者 NFC 标签不包含开头的 NDEF 数据时,就会发生这种情况。在这种情况下,包含有关标签技术和有效负载信息的标签对象被封装在 ACTION_TECH_DISCOVERED 意图中。

对于空消息,TNF 将为TNF_EMPTY(表示记录为空。TNF_EMPTY 记录中的类型、id 和有效负载字段为空。)在这种情况下,它回退到ACTION_TECH_DISCOVERED

Refertheselinks

【讨论】:

  • 让我看看我是否明白其中的要点:发现标签的事实与标签上的数据无关,而是标签和阅读器硬件本身的实际设计。如果标签设备设计得当,它将被检测到,如果检测到,阅读器将尝试读取它。如果阅读器是安卓手机并且它读取了 NDEF 消息,则生成ACTION_NDEF_DISCOVERED 意图。但是如果证明不是NDEF,那么ACTION_NDEF_DISCOVERED会生成吗?这是真的?如果我错了,请纠正我。
  • 在 android 中提供了所有类型的 NFC 通信,但默认情况下它使用 PICC 模式,如果您使用另一种通信模式制作设备,您可能需要单独的应用程序进行进一步编程,否则将被丢弃。对于上面所说的进一步编程,您可能需要检查我以 Advanced NFC 名义发布的链接
  • 希望你现在明白了吗?
【解决方案2】:

NFC 是一套电信标准,NDEF 是一种数据格式。所以 NFC 和 NDEF 是相互独立存在的,例如一个 NDEF 消息可以是一个文件。

NDEF 记录直接定义了一条消息,因此不存在空 NDEF 消息(它将是 0 字节)之类的东西。然而,许多类型的标签可以被格式化为“NDEF”,因为在写入实际的 NDEF 数据之前,必须就访问密钥和数据区域等概念达成一致,否则存储的 NDEF 数据将无法被第三方读取(违背整点使用标准)。

标签本身永远不会为空(如硬盘驱动器),但写入它们的数据可以说有用数据的数量为零。

无源(标签)NFC 设备由有源(电话/阅读器)NFC 设备供电。也就是说,有源设备会关闭(轮询)磁场,从而让无源设备为其内部电路和通信天线获取电力。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-02-16
    • 2021-06-11
    • 1970-01-01
    • 2012-05-10
    • 2013-09-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多