gpt4 book ai didi

android - Smartwatch 3 (SWR50) 是否有 NFC API

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:34:54 26 4
gpt4 key购买 nike

首先要确定并澄清这一点,Smartwatch 3 的 NFC 只是一个嵌入式标签还是理论上功能齐全的 NFC 芯片?

希望它不仅仅是一个标签,我们想使用 NFC 构建一个 Android Wear 应用程序,为此最大的问题是:

  • 是否有(将会?)API 来使用 SWR50 的 NFC 芯片?
  • 如果没有,是否有任何其他方法可以激活它,或者更新版本的 Android Wear 是否可以为智能 watch 带来对芯片的支持?感谢您的帮助!

谢谢,克里斯


长篇大论:基本上索尼新的smartwatch 3也是一样的问题:NFC对开发者有用吗? Is there an NFC API for the Sony SmartWatch 2?

最佳答案

我终于拿到了其中一款智能 watch 。这是我目前所发现的。

  1. 扫描 SWR50 作为标签:

    SWR50 被识别为 Broadcom 制造的 NFC Forum Type 2 标签。我测试的 watch 的 7 字节 UID 是 2e020d00000000。事实上,我找不到来自 Broadcom 的任何专用 Type 2 标签以及 UID 中的许多零,这让我认为这可能是使用某些 NFC Controller 模拟的标签。

    标签有 122 个 block (乘以 4 个字节,总共 488 个字节)包含以下数据:

     0: 2e 02 0d 0c     1: 00 00 00 00 2: 00 00 ff ff     3: e1 11 3c 0f 4: 00 00 00 01     5: 03 78 30 35 6: 03 31 d4 0f     7: 1f 61 6e 64 8: 72 6f 69 64     9: 2e 63 6f 6d10: 3a 70 6b 67    11: 63 6f 6d 2e12: 67 6f 6f 67    13: 6c 65 2e 6114: 6e 64 72 6f    15: 69 64 2e 7716: 65 61 72 61    17: 62 6c 65 2e18: 61 70 70 fe    19: ff ff ff ff20: 30 a8 db f2    21: 43 1c ff ff22: 30 a8 db f5    23: 2a 78 ff ff24: 14 39 2d 4d    25: f2 6a 91 4026: ff ff ff ff    27: ff ff ff ff(remaining blocks are all filled with ff ff ff ff)
    • The static lock bits (block 2, bytes 2 and 3) are all set (indicates locked state).

    • Block 3 contains a capability container for a Type 2 tag (magic byte 0xE1).

    • However, the mapping version number 1.1 (0x11) does not comply to any of the current mapping version documents provided by the NFC Forum! The only mapping version number that is currently defined is 1.0.

    • Block 4 contains 3 NULL TLVs (0x00) and the first byte of a Lock Control TLV (tag 0x01).

    • The Lock Control TLV indicates that there are 48 lock bits located starting at byte position 232 (= 7 * 25 + 8). I.e. 6 bytes starting at block 58, so they are all set (0xFFFFFFFFFFFF). Each lock bit locks 3 bytes, so they indicate that blocks 16 to 51 are locked.

    • Block 6 contains the start of an NDEF Message TLV (tag 0x03, length 0x31). The NDEF message consists of a single NDEF record (Android Application Record for app com.google.android.wearable.app):

      +--------------------------------------------+| TNF:  EXTERNAL TYPE                        || Type: urn:nfc:ext:android.com:pkg          |+--------------------------------------------+| Payload: com.google.android.wearable.app   |+--------------------------------------------+
    • Block 18 contains a Terminator TLV (tag 0xFE) indicating the last TLV block within the tag memory area.

    • Blocks 20 and 21 (first 2 bytes) contain the device Bluetooth address.

    • Blocks 22 and 23 (first 2 bytes) contain something that looks like a Bluetooth address too.

    • Blocks 24 and 25 contain the device serial number.

    • The remaining blocks are all filled with FF FF FF FF.

  2. Android NFC API access:

    Requesting an instance of the NFC adapter fails (the getDefaultAdapter() method returns null):

    NfcManager nfcMgr = (NfcManager)mContext.getSystemService(Context.NFC_SERVICE);
    NfcAdapter nfcAdapter = nfcMgr.getDefaultAdapter(); // -> null

    此外,还有一条日志消息表明该设备不支持 NFC。

    V/NFC: this device does not have NFC support

    查看NFC系统功能,没有一个NFC系统功能可用:

    PackageManager pkgMgr = mContext.getPackageManager();
    boolean featureNfc = pkgMgr.hasSystemFeature("android.hardware.nfc"); // -> false
    boolean featureHce = pkgMgr.hasSystemFeature("android.hardware.nfc.hce"); // -> false

    featureNfcfeatureHce都是false,所以android.hardware.nfc和android.hardware.nfc.hce都不可用。

    因此目前 SWR50 上没有可用的 NFC API。

  3. 固件分析:

    • 在/system/vendor/firmware/下有一个名为 BCM43341B0_002.001.014.0122.0174.hcd 的文件,因此 watch 似乎确实包含 Broadcom 的 BCM43341 四 radio 芯片,它还包含一个 NFC Controller 。
    • /proc/misc 列出了 bcm2079x,因此看来 bcm2079x 驱动程序已编译到内核中。
    • /system 分区上没有 NFC 服务应用程序 (Nfc*.apk)。

    因此,可能从硬件端和内核端支持 NFC,但缺少 NFC 堆栈的用户空间部分。尽管内核驱动程序也可能指向任何地方。 BCM43341 的固件可能以 NFC Controller 简单模拟 2 类标签的方式进行编码,同时无法从操作系统访问。

关于android - Smartwatch 3 (SWR50) 是否有 NFC API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26769864/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com