Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


¿Existe una API NFC para el Smartwatch 3 (SWR50)

Sólo para estar seguro y tener clarificación de que al principio, es el NFC de la Smartwatch 3 sólo una etiqueta incrustada o es un NFC-chip en teoría en pleno funcionamiento?

Esperando que no sea solo una etiqueta, queremos crear una aplicación Android Wear usando NFC y para ello la pregunta más importante es:

  • ¿Hay (va a ser?) Una API para usar el chip NFC de la SWR50?
  • Si no, ¿hay alguna otra forma de activarlo, o tal vez una versión actualizada de Android Wear traiga soporte para el chip al smartwatch? Cualquier ayuda es apreciada!

Gracias, Chris


TLDR: Básicamente es la misma pregunta para el nuevo smartwatch 3 de sony: ¿Es NFC utilizable para desarrolladores? ¿Existe una API NFC para el Sony SmartWatch 2?

4 Solutions collect form web for “¿Existe una API NFC para el Smartwatch 3 (SWR50)”

Hay un chip totalmente funcional en el SmartWatch 3. Actualmente actúa de acuerdo a la especificación ligada por CM787 ( aquí hay una nueva como la vieja parece muerta).

Cuando Android Wear amplíe oficialmente el soporte para NFC, el SmartWatch 3 podrá seguirlo.

Finalmente conseguí mis manos en uno de esos relojes elegantes. Esto es lo que he encontrado hasta ahora.

  1. Escaneo del SWR50 como una etiqueta:

    El SWR50 se identifica como un Tag del Tipo 2 del foro de NFC manufacturado por Broadcom. El 7-byte-UID del reloj que he probado es 2e020d00000000 . Ambos, el hecho de que no pude encontrar ninguna etiqueta dedicada tipo 2 de Broadcom y los muchos ceros en el UID, me hacen pensar que esto podría ser una etiqueta emulada con un controlador NFC.

    La etiqueta tiene 122 bloques (veces 4 bytes hace 488 bytes en total) que contiene los siguientes datos:

      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: fffffffffffffff
     (Los bloques restantes se llenan con ff fffff)
    
    • Los bits de bloqueo estáticos (bloque 2, bytes 2 y 3) están todos ajustados (indica estado bloqueado).

    • El bloque 3 contiene un contenedor de capacidad para una etiqueta de Tipo 2 (byte mágico 0xE1 ).

    • Sin embargo, el número de versión de asignación 1.1 ( 0x11 ) no cumple con ninguno de los documentos de versión de asignación actuales proporcionados por el foro NFC! El único número de versión de asignación que se define actualmente es 1.0.

    • El bloque 4 contiene 3 NULL TLVs ( 0x00 ) y el primer byte de un Lock Control TLV (etiqueta 0x01 ).

    • El TLV de control de bloqueo indica que hay 48 bits de bloqueo localizados comenzando en la posición de byte 232 (= 7 * 2 5 + 8). Es decir 6 bytes que empiezan en el bloque 58, por lo que están todos configurados ( 0xFFFFFFFFFFFF ). Cada bit de bloqueo bloquea 3 bytes, por lo que indican que los bloques 16 a 51 están bloqueados.

    • El bloque 6 contiene el inicio de un mensaje TLV de 0x03 (etiqueta 0x03 , longitud 0x31 ). El mensaje NDEF consiste en un solo registro NDEF (Registro de aplicación de Android para la aplicación com.google.android.wearable.app):

       + -------------------------------------------- +
       |  TNF: TIPO EXTERNO |
       |  Tipo: urn: nfc: ext: android.com: pkg |
       + -------------------------------------------- +
       |  Carga útil: com.google.android.wearable.app |
       + -------------------------------------------- +
      
    • El bloque 18 contiene un terminador TLV (etiqueta 0xFE ) que indica el último bloque TLV dentro del área de memoria de etiqueta.

    • Los bloques 20 y 21 (primeros 2 bytes) contienen la dirección Bluetooth del dispositivo.

    • Los bloques 22 y 23 (primeros 2 bytes) contienen algo que parece una dirección Bluetooth también.

    • Los bloques 24 y 25 contienen el número de serie del dispositivo.

    • Los bloques restantes se llenan con FF FF FF FF .

  2. Acceso a la API NFC de Android:

    Solicitar una instancia del adaptador NFC falla (el método getDefaultAdapter() devuelve null):

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

    Además, hay un mensaje de registro en el que el dispositivo no admite NFC.

     V/NFC: this device does not have NFC support 

    En cuanto a las características del sistema NFC, ninguna de las características del sistema NFC está disponible:

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

    Tanto featureNfc como featureHce son false , por lo que ni android.hardware.nfc ni android.hardware.nfc.hce están disponibles.

    Por lo tanto, actualmente no hay API NFC disponible en el SWR50.

  3. Análisis de firmware:

    • Hay un archivo llamado BCM43341B0_002.001.014.0122.0174.hcd bajo / system / vendor / firmware /, por lo que parece que el reloj realmente contiene el chip BCM43341 de Broadcom que también contiene un controlador NFC.
    • / Proc / misc listas bcm2079x, por lo que parece que el controlador bcm2079x se compiló en el núcleo.
    • No hay ninguna aplicación de servicio NFC (Nfc * .apk) en la partición / system.

    Por lo tanto, puede haber soporte para NFC desde el lado del hardware y el lado del kernel, pero la parte del espacio de usuario de la pila NFC falta. Aunque el driver del kernel también podría apuntar a ninguna parte. Y el firmware de la BCM43341 puede ser codificado de una manera que el controlador NFC simplemente emula la etiqueta de tipo 2 al ser inaccesible desde el sistema operativo.

Nope. Dice que la NFC es para encender o emparejar en la hoja de especificaciones. No parece que los desarrolladores de terceros van a conseguir una grieta en esta vez.

El smartwatch admite NFC, basado en las especificaciones aquí http://www.smartwatchspecifications.com/Device/smartwatch-3-swr50/ , sin embargo, no hay API NFC disponible a partir de ahora, espero que habrá una, también estoy Buscando esta funcionalidad, planeando desarrollar aplicaciones con esta función

    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.