2014-11-06 35 views
4

爲了確保並且首先澄清一下,Smartwatch 3的NFC只是一個嵌入式標籤,還是理論上全功能的NFC芯片?是否有適用於Smartwatch 3(SWR50)的NFC API

希望能它不只是一個標籤,我們要建立使用NFC的Android Wear應用程序,併爲這個最大的問題是:

  • 是否有(會是?)使用的NFC芯片API SWR50?
  • 如果沒有其他方法來激活它,或者可能是Android Wear的更新版本將芯片支持到智能手錶? 任何幫助表示讚賞!

謝謝,克里斯


TLDR: 基本上它是索尼的新的SmartWatch 3同樣的問題:是NFC可用於開發? Is there an NFC API for the Sony SmartWatch 2?

回答

2

有一個在的SmartWatch 3,根據(here's a new one如舊,似乎死)由CM787鏈接的規範它今天行事的全功能芯片。

當Android Wear正式擴大對NFC的支持時,SmartWatch 3將能夠關注。

+0

對於SWR50,NFC API已經在Android 5.0.2上打開/發佈了嗎? – Kiril 2015-05-12 11:34:01

+0

關於何時發佈NFC API的任何估計? – 2015-07-29 23:31:48

+0

昨天宣佈推出Android Pay應該不會太久。 – atdre 2015-09-11 21:33:24

0

沒有。它說NFC是用於在規格表上供電或配對的。看起來第三方開發者不會在這個時候看到它。

+0

你能提供一個鏈接到這個規格表嗎? – 2014-11-06 06:38:53

+0

這裏是[規格表](http://dl-developer.sonymobile.com/documentation/whitepapers/SmartWatch3_SWR50_WP_1.pdf) 感謝您的幫助!我不相信他們不會爲開發者開放它。也許除了官方的規格表之外還有更多新聞? – CM787 2014-11-06 07:54:54

+0

謝謝,這很不幸。 – 2014-11-06 09:02:42

16

我終於抓住了那些智能手錶之一。這是我迄今發現的。

  1. 掃描SWR50作爲標籤:

    的SWR50被識別爲通過博通公司製造的NFC論壇2型標籤。我測試的手錶的7字節UID是2e020d00000000。事實上,我找不到Broadcom提供的任何專用Type 2標籤以及UID中的許多零,這讓我認爲這可能是使用NFC控制器模擬的標籤。

    標籤具有包含以下數據122塊(倍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 6d 
    10: 3a 70 6b 67 11: 63 6f 6d 2e 
    12: 67 6f 6f 67 13: 6c 65 2e 61 
    14: 6e 64 72 6f 15: 69 64 2e 77 
    16: 65 61 72 61 17: 62 6c 65 2e 
    18: 61 70 70 fe 19: ff ff ff ff 
    20: 30 a8 db f2 21: 43 1c ff ff 
    22: 30 a8 db f5 23: 2a 78 ff ff 
    24: 14 39 2d 4d 25: f2 6a 91 40 
    26: ff ff ff ff 27: ff ff ff ff 
    (remaining blocks are all filled with ff ff ff ff) 
    
    • 靜態鎖定位(塊2,字節2和3)都設置(表示鎖定狀態)。

    • 塊3包含用於類型2標記(魔術字節0xE1)的能力容器。

    • 然而,映射版本號1.1(0x11)不遵守任何由NFC論壇提供的電流映射版本的文件!目前定義的唯一映射版本號是1.0。

    • 塊4包含3個NULL TLV(0x00)和一個鎖定控制TLV(標記0x01)的第一個字節。

    • 鎖定控制TLV指示從字節位置232(= 7 * 2 + 8)開始定位有48個鎖定位。即從塊58開始的6個字節,因此它們都被設置(0xFFFFFFFFFFFF)。每個鎖定位鎖定3個字節,因此它們表示塊16到51被鎖定。

    • 塊6包含NDEF消息TLV(標籤0x03,長度0x31)的開始。 NDEF消息由一個單一的NDEF記錄(Android應用程序記錄應用程式com.google.android.wearable.app)的:

       
      +--------------------------------------------+ 
      | TNF: EXTERNAL TYPE      | 
      | Type: urn:nfc:ext:android.com:pkg   | 
      +--------------------------------------------+ 
      | Payload: com.google.android.wearable.app | 
      +--------------------------------------------+ 
      
    • 塊18包含終結者TLV指示內的最後TLV塊(標籤0xFE)標籤存儲區。

    • 塊20和21(前2個字節)包含設備藍牙地址。

    • 塊22和23(前2個字節)包含的東西看起來也像藍牙地址。

    • 塊24和25包含設備序列號。

    • 其餘的塊都填滿了FF FF FF FF

  2. 的Android NFC API訪問:

    請求NFC適配器的實例不成功(getDefaultAdapter()方法返回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系統的功能都可用:

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

    兩個featureNfcfeatureHcefalse,所以既不android.hardware.nfc也不android.hardware.nfc .hce可用。

    因此SWR50目前沒有NFC API可用。

  3. 固件分析:

    • 有下/系統/供應商/固件/名爲BCM43341B0_002.001.014.0122.0174.hcd文件,如此看來,手錶實際上確實含有Broadcom的BCM43341四收音機該芯片還包含NFC控制器。
    • /proc/misc列出bcm2079x,所以看起來bcm2079x驅動程序被編譯到內核中。
    • /系統分區上沒有NFC服務應用程序(Nfc * .apk)。

    所以有可能從硬件方面和內核側支持NFC,但NFC堆棧的用戶空間部分缺失。儘管內核驅動程序可能指向無處不在。並且BCM43341的固件可能會以NFC控制器只是在操作系統無法訪問的情況下模擬Type 2標籤的方式進行編碼。

+0

感謝您對手錶的深入分析! 它回答了我的大部分問題,並遵守我自己發現的有關該問題的內容。 我剛剛接受了其他答案,因爲它來自索尼正式提供了明確的聲明。您的答案更加詳細,非常感謝! – CM787 2015-02-05 11:18:33

+0

@ CM787您可以通過https://usmile.at/blog/查看我們的博客。我會在那裏發表我的進一步發現。到目前爲止,我可以確認索尼的官方答覆,我已經能夠檢測標籤並用手錶執行HCE。 – 2015-02-05 12:54:27

+0

你知道現在NFC是否支持最新的Android Wear更新? PS WiFi現在應該可以工作。當SWR50首次發佈時,它同樣不可用 – Kiril 2015-05-12 11:31:37

相關問題