Téléphones Samsung avec NFC. Que signifie le message « Type de balise NFC non pris en charge » sur les téléphones ?

Les utilisateurs travaillant avec des paiements sans contact basés sur la technologie NFC, lorsqu'ils tentent d'effectuer un tel paiement sur leur smartphone Android, peuvent rencontrer le message « Tapez Balises NFC non supporté." Le problème souvent évoqué est observé sur les smartphones Samsung (notamment la famille Samsung Galaxy), qui est dû au refus de Samsung de supporter les tags NFC « MIFARE Classic » sur la plupart de ses appareils. Dans ce document, je décrirai l'essence du problème survenu avec les étiquettes indiquées et fournirai également options possibles ses décisions. Pour le savoir, rendez-vous sur l'article correspondant.

Pourquoi les balises "MIFARE Classic" ne sont pas prises en charge sur Samsung Galaxy

Lorsque vous activez la technologie NFC (communication à contact proche) sur votre appareil, les balises « MIFARE Classic » sont souvent utilisées. Ces balises sont basées en partie sur la norme ISO/IEC 14443-3A et utilisent leur propre algorithme de cryptage (propriétaire). Étant donné que NXP (le propriétaire de la technologie MIFARE Classic) n'est pas pressé de partager les droits de la technologie MIFARE Classic avec les fabricants d'autres puces, l'accès à la mémoire des tags MIFARE Classic est possible principalement sur les appareils NFC dotés d'un chipset de « NXP. "

Cela signifie généralement que vous ne pourrez pas accéder aux données des balises MIFARE Classic en utilisant des appareils qui ne disposent pas d'un chipset NXP intégré (système Service NFS filtre les balises "MIFARE Classic" et ne prévient pas les applications de leur présence). Heureusement (ou malheureusement) pour les propriétaires de gadgets Samsung, Samsung a décidé de bloquer la technologie « MIFARE Classic » sur plusieurs de ses appareils, et lorsque vous essayez de l'utiliser, vous verrez un message indiquant que « le type de balise NFS n'est pas pris en charge sur l'appareil spécifié " Dans les résultats, vous ne pourrez même pas détecter les marques spécifiées sur applications spécialisées, fonctionnant sur les téléphones Samsung.

Message système concernant le manque de support de « MIFARE Classic » dans l'un des smartphones

À titre d'exception, certains gadgets Samsung peuvent inclure des chipsets de NXP. En particulier, " Remarque Samsung 3" dispose d'un contrôleur NFC NXP PN544 et, par conséquent, prend en charge MIFARE Classic. Et ici " Samsung Galaxy S6" contient un contrôleur NFC de Samsung "S3FWRN5P" et, par conséquent, ne prend pas en charge (ou plutôt bloque) le fonctionnement de "MIFARE Classic".

Que faire si « Le type de balise NFC n'est pas pris en charge »

Les problèmes mentionnés avec les balises NFS surviennent principalement parmi les Moscovites - titulaires de la carte de transport Troïka lorsqu'ils tentent de recharger le solde de la carte en utilisant application populaire« Ma carte de voyage » ou autre logiciel similaire. Si vous êtes propriétaire d'un gadget Samsung, dans la plupart des cas, le problème avec les balises est de nature matérielle (absence de chipset de NXP), ce qui rend impossible travail normal avec la technologie NFC.

Néanmoins, un certain nombre d'appareils Samsung prennent en charge la technologie MIFARE Classic. Il s'agit notamment d'appareils tels que (la liste est incomplète et peut varier) :

  • Galaxy Note II
  • Galaxy Nexus I9250
  • Galaxy S III
  • Galaxy SIII Néo
  • DUOS de base
  • Galaxy S5 G900F.

Si vous possédez l'un de ces gadgets et que vous rencontrez néanmoins le texte d'erreur « Le type de balise NFC n'est pas pris en charge », il est alors recommandé de procéder comme suit :


Conclusion

Le problème existant avec les balises NFS, qui existe sur les appareils de la gamme Samsung Galaxy, est dû au fait que Samsung bloque la technologie MIFARE Classic du fabricant de chipsets NFS NXP. Dans une telle situation, vous pouvez essayer de supprimer par programme ce message(par exemple, en utilisant la méthode décrite dans

Tout d'abord, conseil important: Si vous envisagez de fixer le tag NFC sur une surface métallique, vous devez utiliser des tags NFC pour le métal, sinon la surface métallique interférera champ magnétique puce et elle sera inutilisable.

Après cette clarification, qui peut s'appliquer à tous les types de tags NFC, vous devez comprendre que votre projet a besoin que les tags NFC soient compatibles avec tous les appareils ou que cette fonctionnalité n'est pas du tout nécessaire dans votre projet.

Série NTAG - COMPATIBLE AVEC TOUS LES APPAREILS

Si vous souhaitez des tags NFC compatibles avec tous les smartphones et tablettes équipés de NFC, vous devez choisir la puce NTAG. Exister Divers types Puces NTAG. Dans notre boutique NFC-UKRAINE.COM, vous pouvez trouver NTAG203, NTAG212, NTAG213, NTAG215 et NTAG216. Laissez-nous vous donner les principales caractéristiques de chacune de ces puces.

Puce NTAG203

NTAG203 est une grande puce, très répandue, d'une capacité de 137 octets et disponible en des tailles différentes, formes et tailles, ainsi que des bracelets, porte-clés, etc. Dans l'ensemble, il convient à tout usage, même s'il est remplacé par NTAG212 et NTAG213, la nouvelle génération de puces.

Puce NTAG212

NTAG212 est plus avancé que NTAG203 : il a meilleure performance en termes de vitesse et de plage de lecture. Il dispose d'une mémoire légèrement plus petite de 128 octets. Cela présente l’avantage non négligeable d’être moins cher. Si vous n'avez pas de besoins particuliers, cette puce est idéale.

Puce NTAG213

NTAG213 est la nouvelle génération de puces NTAG : elle offre de meilleures performances en termes de vitesse et de plage de lecture. Il dispose également d’une mémoire légèrement plus grande de 144 octets. Les étiquettes sur ces puces sont relativement peu coûteuses, ce qui est très bonne puce NFC.

Puce NTAG215

NTAG215 se situe entre NTAG213 et NTAG216 car il dispose de 504 octets de mémoire disponible et peut donc être codé à l'aide de V-maps ou de Big Data. Comme tous les NTAG21x, il en possède quelques autres fonctions utiles comme la protection par mot de passe. Ces puces sont légèrement moins chères que le NTAG216.

Puce NTAG216

Puces MIFARE Classic 1K et ULTRALIGHT - COMPATIBILITÉ LIMITÉE

Si vous n'avez pas besoin d'une compatibilité maximale, vous pouvez également choisir d'autres types de puces comme la Mifare Classic 1k ou l'Ultralight.

Puce Mifare Classique 1k

Les balises NFC avec la puce Mifare Classic ont une mémoire assez volumineuse de 716 octets. Ceux-ci sont recommandés si vous utilisez déjà un système basé sur le protocole Mifare (comme certains systèmes de contrôle d'accès), ou si vos tags ne seront pas considérés comme accessibles au public. Ils ne sont compatibles qu'avec certains Smartphones Android. Les balises Mifare Classic NFC prennent également en charge le cryptage. Si vous n'avez pas besoin d'une compatibilité maximale, les balises Mifare sont excellentes, disponibles dans une variété de tailles, de formes et de tailles. Acheter des tags NFC Mifare

Puce ultralégère

Les balises NFC ultralégères sont plus avancées que Mifare Classic et sont compatibles avec presque tous les appareils BlackBerry Appareils Android, et éventuellement aussi avec les smartphones Téléphone Windows(même si un formatage spécial est requis). Ils sont assez bon marché mais ont très mémoire limitée, qui ne fait que 46 octets, ce qui les rend utiles uniquement pour les liens courts ou les chaînes de texte courtes.

Dans tous les cas, avant d'acheter des tags NFC avec une puce Ultralight ou Mifare Classic, vérifiez dans cet article la compatibilité des smartphones et tablettes avec une autre puce NFC.

NFC (Near Field Communication) est une technologie de communication sans fil haute fréquence à courte portée (jusqu'à 10 cm), permettant l'échange de données sans contact entre des appareils situés sur le courtes distances: par exemple, entre le terminal de lecture et téléphone portable ou une carte à puce en plastique.

La technologie NFC est basée sur la RFID (Radio Frequency IDentification, l'identification par radiofréquence est une méthode d'identification automatique d'objets dans laquelle les données stockées dans des transpondeurs, ou étiquettes RFID, sont lues ou écrites à l'aide de signaux radio), c'est-à-dire une technologie pour transmettre des informations sur un canal radio prenant en charge les appareils actifs et passifs.

Par exemple, les porte-clés Sony ne nécessitent pas NFC nourriture supplémentaire pour le fonctionnement (lecture des données), c'est-à-dire qu'ils peuvent fonctionner de manière totalement passive.

Il existe trois utilisations les plus courantes de la technologie NFC dans les téléphones mobiles :
- émulation de carte - le téléphone se fait passer pour une carte, par exemple un pass ou une carte de paiement ;
- mode lecture - le téléphone lit un tag passif (Tag), par exemple pour la publicité interactive ;
- Mode P2P - deux téléphones communiquent et échangent des informations.

Le « porteur » de la puce NFC est souvent un téléphone mobile, un appareil aussi répandu qu'individuel, et surtout indissociable de son propriétaire, agissant comme :
- des moyens de paiement (portefeuille virtuel),
- un moyen d'identification du propriétaire,
- clé,
- carte bonus,
- billet.

Actuellement, les solutions NFC sont déjà utilisées dans de nombreux domaines.
Par exemple, grâce à cette technologie, les réservations et les ventes sont effectuées billets électroniques, paiement des déplacements dans les transports publics et du stationnement, la technologie NFC est également activement utilisée dans le domaine des services et du divertissement, dans le domaine de la sécurité et du contrôle d'accès.

Le rayon d'action maximum est d'environ 10 cm.
Le module fonctionne à une fréquence de : 13,56 MHz.
Taux de transfert de données : 106 Kbps - 848 Kbps.

Quelle est la différence fondamentale entre la technologie NFC et Bluetooth ?

L’avantage le plus important du NFC est le temps de connexion plus court, d’un dixième de seconde.
De plus, le NFC a une portée plus courte, ce qui rend cette méthode de transmission d'informations plus sécurisée.
NFC vous permet de transférer des données à une vitesse de 424 Kbps, ce qui est bien inférieur à Bluetooth.

Le développement de la technologie de paiement sans contact a conduit à l'émergence de cartes telles que Visa PayWave et MasterCard PayPass, dotées d'une antenne intégrée et fonctionnant selon la norme NFC.

Le développement de ce marché a conduit à Google, MasterCard, Citibank, Sprint et First Data créés Service Google Wallet, installé sur certains téléphones Android.
L'application vous permet de transformer votre téléphone en carte de crédit, qui peut être utilisé pour payer sur n’importe quel terminal prenant en charge PayPass.

Désormais, presque tout le monde possède des cartes prenant en charge NFC, que vous pouvez utiliser pour payer un achat en une seule touche, ou mieux encore, le faire avec un smartphone ou même une montre intelligente 😉 Il existe des cartes que vous pouvez utiliser pour payer un voyage, comme ainsi que recharger votre solde depuis votre téléphone (c'est dommage qu'ils viennent d'introduire un tel système pas dans toutes les villes, mais dans certaines ils ont préféré « réinventer la roue » et utilisé des cartes incompatibles avec NFC). Vous pouvez également simplement mettre votre téléphone en contact avec les écouteurs, qui s'associeront à votre téléphone et, dans certains cas, activeront même Bluetooth.

NFC a rendu la vie plus facile à certains égards et peut la rendre encore plus facile si vous maîtrisez la magie de la programmation. Dans cet article, nous étudierons le principe de fonctionnement du NFC, comprendrons ce qu'est le NDEF et comment travailler avec eux.

Ce qu'il faut absolument savoir : le NFC est basé sur la RFID. Souvent, ces deux technologies sont combinées par erreur en une seule, mais ce n’est pas la même chose. Bien que les lecteurs NFC puissent reconnaître et réécrire certaines étiquettes RFID, la technologie NFC offre bien plus que la RFID. NFC peut être considéré comme un complément à la RFID, créé pour étendre la plateforme d'échange de données.

Comprenons donc les mécanismes de la RFID et du NFC et en quoi ils diffèrent.

RFID

Imaginez qu'Ivan est assis la nuit sur le porche de sa maison. Ivan a allumé la lumière du porche et peut désormais voir son voisin quand il passe, car la lumière se reflète sur lui et frappe la rétine d'Ivan. Il s'agit d'une RFID passive. Le signal radio du lecteur RFID passif atteint l'étiquette, qui l'absorbe et renvoie son identifiant.

Imaginez maintenant qu'Ivan ait allumé la lampe et que son voisin, qui est assis à la maison, le voit et allume brièvement la lampe sur son porche, comme s'il disait « bonjour » à Ivan depuis son porche. Il s'agit d'une RFID active, elle peut fonctionner sur de plus longues distances car le récepteur dispose de sa propre alimentation et, en outre, peut générer son propre signal radio sans dépendre de l'énergie qu'il absorbe de la source.

La RFID est deux de ces porches. Ivan et son voisin se connaissent de vue, mais ils ne peuvent rien savoir de plus l'un sur l'autre. Ils n’échangent aucune information significative. La RFID a été créée pour l'identification et non pour la communication. Les étiquettes RFID contiennent donc une petite quantité d'informations, de l'ordre de mille octets ou moins, qui peuvent être lues ou réécrites à partir des lecteurs RFID.

NFC

Imaginez maintenant qu’un autre voisin d’Ivan passe près du porche et que lorsqu’Ivan le voit, il l’invite à s’asseoir sur le porche et à discuter avec lui. Le voisin est d'accord, ils s'assoient ensemble et, en échangeant des histoires humoristiques, améliorent leur relation. Ils parlent pendant quelques minutes. C'est le NFC.

Le NFC a été développé sur la base de la RFID, mais pour un échange de données plus complexe entre les participants. Il est toujours possible de lire des étiquettes RFID passives à l'aide d'un lecteur NFC et d'écrire de nouvelles données dans leur mémoire limitée. NFC vous permet également d'écrire des informations sur un certain type d'étiquette RFID en utilisant format standard, quel que soit le type d'étiquettes. Vous pouvez également interagir avec d'autres appareils NFC en utilisant un échange duplex ou bidirectionnel. Les appareils NFC peuvent échanger des informations sur leurs capacités, partager des enregistrements ou établir des interactions à plus long terme via d'autres technologies.

Par exemple, vous pouvez mettre en contact un téléphone avec NFC avec un appareil stéréo doté également de NFC, et ils se reconnaissent, sachent qu'ils ont tous les deux Module Wi-Fi, et échangez des données pour une interaction ultérieure via Wi-Fi. Après cela, le téléphone commencera à diffuser de la musique sur l'appareil stéréo depuis en utilisant le Wi-Fi. Le téléphone ne diffusera pas de musique via NFC pour deux raisons :

  • D'abord parce que le NFC a une portée courte d'une dizaine de centimètres, ce qui permet de réduire la consommation d'énergie et d'éviter d'établir une communication avec d'autres appareils utilisant la même technologie de transfert de données.
  • Deuxièmement, la vitesse de transfert de données via NFC est nettement inférieure à celle d'autres technologies (Wi-Fi, Bluetooth, etc.). NFC n'a pas été créé pour les communications à haut débit à long terme, mais pour le partage messages courts, les informations d'identification (comptes avec paramètres d'accès utilisateur générés après une authentification réussie) et l'initiation de la communication. Si nous revenons à l'analogie avec le porche, alors NFC vous permettra d'entamer une conversation avec un voisin ou d'échanger des avis sur la météo, mais pour une conversation plus longue, vous inviterez votre voisin à prendre le thé - ce déjà Wi-Fi, Bluetooth et autres protocoles d'échange de données avancés.

NFC permet d'effectuer un échange complexe de données ou d'instructions sans les barrières des mots de passe, du couplage ou de tout autre chemin compliqué inhérent aux autres protocoles de communication. Cela signifie que pour échanger des informations d'adresse avec votre ami, il vous suffit de toucher votre téléphone. Ou lorsque vous souhaitez régler votre achat sans contact par carte bancaire, il vous suffit de l'apporter au terminal.

L'appareil ne permet pas de lire absolument toute sa mémoire lorsque en utilisant le NFC, il ne donne accès qu’à une petite information nécessaire à l’échange. L'utilisateur peut contrôler quelles informations il transmet et à qui.

Types de balises NFC

Il existe quatre types de tags décrits par le forum NFC, tous basés sur des protocoles RFID. Cela rend les balises NFC partiellement compatibles avec de nombreux systèmes RFID existants (par exemple Mifare et FeliCa). Bien que ces anciens systèmes ne prennent pas en charge NDEF, ils peuvent néanmoins reconnaître les balises NFC qui leur sont compatibles. Par exemple, un lecteur RFID conçu pour fonctionner avec les étiquettes Mifare Ultralight peut lire un numéro d'identification Balises NFC de type 2, bien qu'elles ne puissent pas lire les informations codées en NDEF. Il existe également un cinquième type compatible avec la technologie, mais ne faisant pas partie de la spécification NFC.

Les types 1, 2 et 4 sont basés sur GOST R ISO/IEC 14443A (se compose de quatre parties : , , , ), le type 3 - sur GOST R ISO/IEC 18092. Vous pouvez en savoir plus sur chaque type sous le spoiler.

Type 1:

  • Basé sur GOST R ISO/IEC 14443A ;
  • Il n'y a aucune protection des données contre les collisions (remarque : des collisions peuvent se produire lorsque deux sources actives transmettent des données simultanément) ;
  • Exemples : Innovision Topaz, Broadcom BCM20203.

Type 2:

  • Semblable au type 1, basé sur les balises NXP/PhilipsMifareUltralight (GOST R ISO/IEC 14443A) ;
  • Peut être en lecture seule ou en lecture/écriture ;
  • Contient de 96 octets à 2 Ko de mémoire ;
  • Assistance anti-collision ;
  • Exemple : NXP Mifare Ultralight.

Tapez 3:

  • Basé sur les balises Sony FeliCa (GOST R ISO/IEC 18092 et JIS-X-6319-4) sans la prise en charge du cryptage et de l'authentification fournie par la spécification FeliCa ;
  • Vitesse d'interaction 212 ou 424 kbit/s ;
  • Assistance anti-collision ;
  • Exemple : Sony FeliCa.

Tapez 4:

  • Semblable au type 1, le type 4 est basé sur GOST R ISO/IEC 14443A ;
  • Peut être en lecture seule ou en lecture/écriture ;
  • 2, 4 ou 8 Ko de mémoire ;
  • Vitesse d'interaction 106, 212 ou 424 kbit/s ;
  • Assistance anti-collision ;
  • Exemple : NXP DESFire, SmartMX-JCOP.

Cinquième type est la propriété de NXPSemiconductors et est probablement le MifareClassictag le plus courant aujourd'hui (GOST R ISO/IEC 14443A) :

  • Mémoire : 192, 768 ou 3584 octets ;
  • Vitesse d'interaction 106 kbit/s ;
  • Assistance anti-collision ;
  • Exemple : NXP Mifare Classic 1K, Mifare Classic 4K, Mifare Classic Mini.

Algorithme de fonctionnement NFC

Le NFC, comme la RFID, a un initiateur et une cible dans un échange, mais la nouvelle technologie fait bien plus que simplement échanger un identifiant et lire ou écrire les informations de la cible. La différence la plus significative entre les deux technologies réside dans le fait que les cibles NFC sont souvent des appareils programmables tels que les smartphones. Cela signifie qu'il est possible non seulement d'échanger des données statiques, mais également de générer à chaque fois une réponse aux informations demandées par l'initiateur.

Les appareils NFC ont deux modes d'interaction. Si l'initiateur émet des ondes radiofréquences et que la cible reçoit de l'énergie grâce à l'initiateur, alors ce mode d'interaction est appelé passif. En mode actif, l'initiateur et la cible disposent de leurs propres sources d'alimentation et sont indépendants l'un de l'autre. Ces modes sont les mêmes que les modes RFID.

Les appareils NFC disposent également de trois méthodes de fonctionnement. Ils peuvent fonctionner en mode de lecture d'informations de la cible ou d'écriture vers celle-ci. Ils peuvent émuler des cartes, se comportant comme des étiquettes RFID lorsqu'ils se trouvent dans le champ d'un autre appareil NFC ou RFID. Ils peuvent également fonctionner en mode peer-to-peer (P2P), dans lequel ils échangent des données dans les deux sens à la fois.

La première différence principale entre NFC et RFID est une méthode d'interaction peer-to-peer, mise en œuvre à l'aide de GOST R ISO/IEC 18092. L'échange de données P2P est implémenté par deux protocoles : le protocole de contrôle de liaison logique (LLCP) et protocole simpleÉchange de données NDEF (SNEP - format d'échange NDEF simple).

Architecture NFC

Il existe plusieurs couches dans l'architecture NFC. Le plus bas d'entre eux est physique, qui est implémenté par le processeur et d'autres matériels à travers lesquels l'interaction se produit. Au milieu se trouve la couche de données par paquets et de transport, puis le format de la couche de données et à la fin se trouve le logiciel.

Sur niveau physique NFC fonctionne selon l'algorithme décrit dans GOST pour RFID (GOST R ISO/IEC 14443-2-2014), qui fait référence à des signaux radio de faible puissance avec une fréquence de 13,56 MHz. Vient ensuite le niveau qui décrit la décomposition du flux de données en trames (GOST R ISO/IEC 14443-3-2014). Tous les contrôleurs radio utilisés dans un téléphone, une tablette ou connectés à un ordinateur ou un microcontrôleur sont des composants matériels distincts. Ils communiquent avec le processeur hôte via un ou plusieurs protocoles série standard entre appareils : émetteur-récepteur asynchrone universel (UART), interface périphérique série (SPI), bus de communication série. circuits intégrés(I2C) ou bus série universel (USB).

Au-dessus se trouvent plusieurs protocoles de commande RFID basés sur deux spécifications. Les étiquettes de lecture et d'écriture NFC sont basées sur la norme RFID GOST R ISO/IEC 14443A originale. Les protocoles Philips/NXP Semiconductors Mifare Classic et Mifare Ultralight et NXP DESFire sont compatibles avec GOST R ISO/IEC 14443A. L'échange de données P2P NFC est basé sur GOST R ISO/IEC 18092. Les cartes et étiquettes RFID Sony FeliCa, disponibles principalement au Japon, sont également basées sur la même norme. Vous pouvez lire et écrire des balises basées sur ces normes sans utiliser NFC.

Ils sont représentés dans la figure ci-dessus au niveau des autres protocoles de contrôle, puisqu’ils utilisent le même standard.

FEND

NDEF est utilisé pour formater les données d'échange entre les appareils et les balises. Ce format représente tous les messages utilisés dans NFC, et cela n'a pas d'importance pour la carte ou pour l'appareil. Chaque message NDEF contient un ou plusieurs enregistrements NDEF. Chacun contient un type d'enregistrement unique, un identifiant, une longueur et un champ pour les informations à déclarer.

Il existe plusieurs types courants d'enregistrements NDEF :

  1. Entrées de texte régulières. Ils peuvent envoyer n'importe quelle chaîne et ne contiennent pas d'instructions pour la cible, mais contiennent des métadonnées sur la langue et l'encodage du texte.
  2. URI. Ces enregistrements contiennent des données sur les liens Internet. Une cible qui reçoit un tel enregistrement l'ouvrira dans une application capable de l'afficher. Par exemple, un navigateur Web.
  3. Enregistrement intelligent. Contient non seulement des liens Web, mais également description du texteà eux, afin que ce soit clair ce qu'il y a sur ce lien. En fonction des données d'enregistrement, le téléphone peut ouvrir des informations dans application souhaitée, que ce soit un SMS ou un e-mail, ou modifiez les paramètres de votre téléphone (volume sonore, luminosité de l'écran, etc.).
  4. Signature. Il permet de prouver que les informations transmises ou en cours de transmission sont fiables.

Vous pouvez utiliser plusieurs types d'enregistrements dans un seul message NDEF.

Vous pouvez considérer un message comme un paragraphe et les entrées comme des phrases. Un paragraphe est une unité d'information spécifique qui contient une ou plusieurs phrases. Alors qu’une phrase est une unité d’information plus petite qui ne contient qu’une seule idée. Par exemple, vous pouvez créer des invitations d'anniversaire sous forme de paragraphes et écrire des informations sur la date, l'heure et le lieu dans des phrases séparées, et utiliser les messages NDEF pour envoyer à vos amis un rappel sur cet événement, où il y aura message texte avec une description de l'événement, enregistrement intelligent avec l'emplacement et un lien Web indiquant comment se rendre à cet emplacement.

Deuxième différence principale entre NFC et RFID- Format d'échange de données NFC (NDEF - Format d'échange de données NFC). NDEF définit le format des données dans les messages, qui sont à leur tour constitués d'enregistrements NDEF. Il existe plusieurs types de documents, qui seront abordés plus en détail ci-dessous. NDEF permet avec code de programme gérer le processus de lecture et d'écriture des balises NFC, l'échange de données par peer-to-peer et l'émulation de carte.

Structure du FEND

NDEF contient des informations sur la représentation en octets des messages, qui peuvent contenir plusieurs entrées. Chaque entrée possède un en-tête contenant des métadonnées (type, longueur, etc.) et des informations à envoyer. Si nous revenons à l'analogie avec un paragraphe, alors un paragraphe est formé de phrases liées à un sujet, et dans les messages NDEF, il est bon que toutes les entrées se rapportent au même sujet.

Les messages NDEF sont généralement courts, chaque échange est constitué d'un message, chaque étiquette contient également un message. Étant donné que les données NFC sont échangées lorsqu'un appareil en touche un autre ou une balise, il ne sera pas pratique de transmettre le texte d'un livre entier dans un seul message, de sorte que la longueur d'un message NDEF est comparable à la longueur d'un paragraphe, mais pas d'un message entier. livre.

Un enregistrement NDEF contient des informations à transmettre et des métadonnées sur la manière d'interpréter ces informations. Chaque entrée peut être différents types, comme annoncé dans le titre de cet article. L'en-tête décrit également l'endroit où se situe l'entrée dans le message, suivi des informations. La figure ci-dessous montre informations complètes sur l'emplacement des bits et octets d'informations dans un enregistrement NDEF. Les informations à transmettre occupent la majeure partie du dossier. Le type d'information précise comment l'interpréter, l'identifiant de l'information est facultatif et est utilisé pour la transmission grande quantité enregistrements ou échange de données croisées.

Combien de temps un message NDEF peut-il durer ?

L'espace réservé aux informations dans un enregistrement NDEF est limité en taille à 2 ^ 32-1 octets, mais vous pouvez créer des chaînes d'enregistrements dans un message pour envoyer des informations. plus grande taille. En théorie, il n'y a aucune restriction sur les messages NDEF, mais en pratique, la taille du message est limitée par les capacités des appareils ou des balises impliqués dans l'échange d'informations. Si seuls les appareils sont impliqués dans l'échange, la longueur du message sera limitée Puissance de calcul le plus faible des appareils, mais il convient de considérer que les appareils devront rester à proximité pendant une longue période pour transférer toutes les données. Lors de l'interaction entre un smartphone et une carte, la longueur du message sera limitée par la taille de la mémoire de la carte.

En général, l'échange de données via NFC est assez rapide. La personne amène l'appareil mobile à l'étiquette, un bref échange d'informations a lieu et la personne continue son chemin. Cette technologie n’a pas été conçue pour des échanges d’informations à long terme car les appareils doivent littéralement se trouver à quelques centimètres les uns des autres. Afin de transmettre une grande quantité d'informations, les appareils devront rester longtemps les uns à côté des autres, cela peut être gênant. Si vous avez besoin d'une interaction à long terme entre les appareils, vous pouvez utiliser NFC pour échange rapide données sur les capacités des appareils, puis allumez l'un des plus moyens appropriés transmission de données (Bluetooth, Wi-Fi, etc.).

Lecture du message NDEF

Lorsqu'un téléphone Android lit une balise NFC, il la traite et la reconnaît d'abord, puis transmet les données la concernant à l'application appropriée pour la création ultérieure de l'intention. Si plusieurs applications peuvent fonctionner avec NFC, un menu de sélection d'application apparaîtra. Le système de reconnaissance est défini par trois intentions, classées par ordre d'importance, de la plus élevée à la plus faible :

  1. ACTION_NDEF_DISCOVERED : Cet intent est utilisé pour lancer une activité si l'étiquette contient un message NDEF. Il a la priorité la plus élevée et le système l'exécutera en premier.
  2. ACTION_TECH_DISCOVERED : Si aucune activité n'est enregistrée pour l'intention ACTION_NDEF_DISCOVERED, alors le système de reconnaissance tentera de lancer l'application avec cette intention. De plus, cette intention sera déclenchée immédiatement si le message NDEF trouvé ne correspond pas au type MIME ou à l'URI, ou si l'étiquette ne contient aucun message.
  3. ACTION_TAG_DISCOVERED : cette intention sera déclenchée si les deux intentions précédentes échouent.

En général, le système de reconnaissance fonctionne comme le montre la figure ci-dessous.

Dans la mesure du possible, l'intention ACTION_NDEF_DISCOVERED est exécutée car elle est la plus spécifique des trois. De plus, il peut être utilisé pour lancer votre application.

Si l'activité est lancée en raison d'une intention NFC, il est alors possible d'obtenir des informations de la balise NFC numérisée à partir de cette intention. L'intention peut contenir les champs supplémentaires suivants (en fonction du type de balise numérisée) :

  • EXTRA_TAG (obligatoire) : un objet Tag décrivant la balise numérisée.
  • EXTRA_NDEF_MESSAGES (facultatif) : un tableau de messages NDEF lus à partir de la balise. Ce champ supplémentaire est unique à l'intention ACTION_NDEF_DISCOVERED.
  • EXTRA_ID (facultatif) : identifiant de bas niveau de l'étiquette.

Vous trouverez ci-dessous un exemple qui vérifie l'intention ACTION_NDEF_DISCOVERED et obtient les messages NDEF à partir d'un champ supplémentaire.

Remplacer fun onNewIntent(intent: Intent) ( super.onNewIntent(intent) ... if (NfcAdapter.ACTION_NDEF_DISCOVERED == intent.action) ( intent.getParcelableArrayExtra(NfcAdapter.EXTRA_NDEF_MESSAGES)?.also ( rawMessages -> val messages: List = rawMessages.map ( sous la forme NdefMessage ) // Traitement d'un tableau de messages. ... ) ) )

@Override protected void onNewIntent(Intent intent) ( super.onNewIntent(intent); ... if (NfcAdapter.ACTION_NDEF_DISCOVERED.equals(intent.getAction())) ( Parcelable rawMessages = intent.getParcelableArrayExtra(NfcAdapter.EXTRA_NDEF_MESSAGES); if ( rawMessages != null) ( messages NdefMessage = new NdefMessage; for (int i = 0; i< rawMessages.length; i++) { messages[i] = (NdefMessage) rawMessages[i]; } // Обработка массива сообщений. ... } } }

En outre, l'objet Tag peut être obtenu à partir de l'intention, qui contiendra informations utiles et vous permettra de lister les technologies de tags :

balise val : Tag = intent.getParcelableExtra (NfcAdapter.EXTRA_TAG)

Balise tag = intent.getParcelableExtra(NfcAdapter.EXTRA_TAG);

Création d'enregistrements NDEF communs

Il existe plusieurs méthodes pour créer un enregistrement NDEF : createUri() , createExternal() et createMime() . Il est préférable d'en utiliser un pour éviter les erreurs pouvant survenir lors de la création manuelle d'un enregistrement. Tous les exemples présentés ci-dessous doivent être envoyés comme premier message lors de l'enregistrement d'un tag ou du couplage avec un autre appareil.

TNF_ABSOLUTE_URI (type d'URI, dépendant du type)

Vous pouvez créer un enregistrement NDEF TNF_ABSOLUTE_URI comme suit :

Val uriRecord = ByteArray(0)..toByteArray(Charset.forName("US-ASCII")), videByteArray, videByteArray) )

NdefRecord uriRecord = new NdefRecord(NdefRecord..getBytes(Charset.forName("US-ASCII")), nouvel octet, nouvel octet);

TNF_MIME_MEDIA (type MIME, dépend du type d'enregistrement)

Vous pouvez créer l'enregistrement NDEF TNF_MIME_MEDIA comme suit :

1. Utilisation de la méthode createMime() :

Val mimeRecord = NdefRecord.createMime("application/vnd.com.example.android.beam", "Envoyez-moi, Android".toByteArray(Charset.forName("US-ASCII")))

NdefRecord mimeRecord = NdefRecord.createMime("application/vnd.com.example.android.beam", "Envoyez-moi, Android".getBytes(Charset.forName("US-ASCII")));

2. En créant manuellement NdefRecord :

Val mimeRecord = Charset.forName("US-ASCII").let ( usAscii -> NdefRecord(NdefRecord.TNF_MIME_MEDIA, "application/vnd.com.example.android.beam".toByteArray(usAscii), ByteArray(0), " Téléportez-moi, Android!".toByteArray(usAscii)) )

NdefRecord mimeRecord = new NdefRecord(NdefRecord.TNF_MIME_MEDIA , "application/vnd.com.example.android.beam".getBytes(Charset.forName("US-ASCII")), nouvel octet, "Envoyez-moi, Android !". getBytes(Charset.forName("US-ASCII")));

Le filtre d'intention pour un tel enregistrement NDEF ressemblera à ceci :

TNF_WELL_KNOWN avec RTD_TEXT (type MIME en texte brut)

Amusant createTextRecord(payload : String, locale : Locale, encodeInUtf8 : Boolean) : NdefRecord ( val langBytes = locale.lingual.toByteArray(Charset.forName("US-ASCII")) val utfEncoding = if (encodeInUtf8) Charset.forName(" UTF-8") else Charset.forName("UTF-16") val textBytes = payload.toByteArray(utfEncoding) val utfBit: Int = if (encodeInUtf8) 0 else 1 shl 7 val status = (utfBit + langBytes.size). toChar() val data = ByteArray(1 + langBytes.size + textBytes.size) data = status.toByte() System.arraycopy(langBytes, 0, data, 1, langBytes.size) System.arraycopy(textBytes, 0, data , 1 + langBytes.size, textBytes.size) renvoie NdefRecord(NdefRecord.TNF_WELL_KNOWN, NdefRecord.RTD_TEXT, ByteArray(0), data) )

Public NdefRecord createTextRecord(String payload, Locale locale, boolean encodeInUtf8) ( byte langBytes = locale.getLanguage().getBytes(Charset.forName("US-ASCII")); Charset utfEncoding = encodeInUtf8 ? Charset.forName("UTF-8 ") : Charset.forName("UTF-16"); octet textBytes = payload.getBytes(utfEncoding); int utfBit = encodeInUtf8 ? 0 : (1<< 7); char status = (char) (utfBit + langBytes.length); byte data = new byte; data = (byte) status; System.arraycopy(langBytes, 0, data, 1, langBytes.length); System.arraycopy(textBytes, 0, data, 1 + langBytes.length, textBytes.length); NdefRecord record = new NdefRecord(NdefRecord.TNF_WELL_KNOWN, NdefRecord.RTD_TEXT, new byte, data); return record; }

Le filtre d'intention pour un tel enregistrement NDEF ressemblera à ceci :

TNF_WELL_KNOWN avec RTD_URI (un type d'URI basé sur la charge utile)

Vous pouvez créer l'enregistrement NDEF TNF_WELL_KNOWN comme suit :

1. À l'aide de la méthode createUri(String) :

val rtdUriRecord1 = NdefRecord.createUri("http://example.com")

NdefRecord rtdUriRecord1 = NdefRecord.createUri("http://example.com");

2. À l'aide de la méthode createUri(Uri) :

Val rtdUriRecord2 = Uri.parse("http://example.com").let ( uri -> NdefRecord.createUri(uri) )

Uri uri = Uri.parse("http://exemple.com"); NdefRecord rtdUriRecord2 = NdefRecord.createUri(uri);

3. En créant manuellement NdefRecord :

Val uriField = "example.com".toByteArray(Charset.forName("US-ASCII")) val payload = ByteArray(uriField.size + 1) //ajout de 1 pour le préfixe URI payload = 0x01 //préfixe http:/ /www. à l'URI System.arraycopy(uriField, 0, payload, 1, uriField.size) //ajouter l'URI à la charge utile val rtdUriRecord = NdefRecord(NdefRecord.TNF_WELL_KNOWN, NdefRecord.RTD_URI, ByteArray(0), charge utile)

Octet uriField = "example.com".getBytes(Charset.forName("US-ASCII")); charge utile d'octet = nouvel octet ; //ajout de 1 pour la charge utile du préfixe URI = 0x01 ; //préfixe http://www. vers l'URI System.arraycopy (uriField, 0, payload, 1, uriField.length); //ajout d'un URI à la charge utile NdefRecord rtdUriRecord = new NdefRecord(NdefRecord.TNF_WELL_KNOWN, NdefRecord.RTD_URI, nouvel octet, charge utile);

Le filtre d'intention pour un tel enregistrement NDEF ressemblera à ceci :

Vous pouvez en savoir plus sur l’utilisation des enregistrements NDEF sur Android.

Utiliser le NFC

Il existe de nombreuses possibilités pour utiliser le NFC :

  • Le mode d'émulation de carte vous permet d'utiliser cette technologie pour les paiements sans contact, comme Google Wallet, ou pour payer ou recevoir des billets dans les transports publics.
  • Il y a un peu Applications mobiles, qui vous permettent d'enregistrer les paramètres de appareil mobile sur les étiquettes et les utiliser ensuite pour changement rapide tous les paramètres de l'appareil mobile (passage en mode vibreur, activation ou désactivation du Wi-Fi sur l'appareil mobile).
  • Des appareils prenant en charge NFC apparaissent progressivement sur le marché - des chaînes stéréo, des téléviseurs, qui permettent de les coupler avec un téléphone ou une tablette pour le contrôle à distance.
  • NFC est utilisé dans le système de santé pour stocker l’identification des patients et les dossiers personnels.
  • Dans le domaine de la gestion des stocks, les enregistrements NDEF peuvent être utilisés pour stocker des informations sur le lieu de départ des marchandises, leur passage par divers points intermédiaires, etc.

Conclusion

La technologie NFC ajoute des fonctionnalités prometteuses à la technologie RFID. L'innovation la plus importante est le format d'échange de données NFC (NDEF), qui offre la possibilité de formater des données conventionnelles dans l'une des quatre technologies d'étiquettes NFC. NDEF peut être utilisé à la fois pour l'échange de données entre un appareil et un tag, ainsi que pour l'échange entre appareils. Cela rend le NFC adapté non seulement comme méthode d'identification, mais également comme moyen d'échange de courts blocs de données.

Varvara Nikolaïeva

NFC (Near Field Communication) est une technologie qui permet de transférer des fichiers d'un appareil à un autre à des vitesses très élevées via des fréquences radio.

En gros, c'est plus alternative moderne Le Bluetooth, qui présente de nombreux avantages. Cependant, contrairement au Bluetooth, la portée du NFC est beaucoup plus courte (jusqu'à 10 cm), ce qui rend le transfert de données (notamment le paiement) plus sécurisé. Cependant, la vitesse de transfert des données est bien inférieure à celle du Bluetooth. Mais la vitesse de connexion des appareils via NFC est plusieurs fois plus rapide que Bluetooth.

Les possibilités d'utilisation du NFC dans différentes situations sont étonnantes. Dans cet article, nous en parlerons.

Comment fonctionne le NFC

Les informations sont échangées entre deux appareils utilisant des fréquences radio à courte portée. Par conséquent, les appareils doivent être situés à proximité lorsque vous transférez des fichiers. Bien entendu, les deux appareils doivent prendre en charge cette technologie, c'est-à-dire être équipé de puces NFC.

Activez NFC

Pour savoir si votre gadget prend en charge la technologie NFC, procédez comme suit :

  • Accédez à la section des paramètres du smartphone " Plus"

  • Ici, vous devriez voir les éléments NFC et Android Beam suivants
  • S'ils ne sont pas là, votre gadget ne prend pas en charge cette technologie.
  • Activer NFC. Faisceau Androidça devrait démarrer tout seul.

  • Si cela ne se produit pas, nous activerons de force Android Beam.

Transfert de données

Nous activons NFC sur les deux appareils et les plaçons près l'un de l'autre. Une fois que les gadgets se sont « trouvés », vous entendrez un signal d’alerte.

  • Nous confirmons le transfert le fichier souhaité. Une fois terminé, vous entendrez à nouveau un bip.

Grâce à NFC, vous pouvez transférer :

  • Liens vers des applications sur Google Play
  • Liens vers des pages Web
  • Liens vers des vidéos YouTube
  • Musique, graphiques et autres fichiers de différents formats
  • Contacts

Balises NFC

Un autre fonctionnalité intéressante Cette technologie consiste à programmer des balises NFC. Avec leur aide, vous pouvez configurer les paramètres de votre smartphone, ce que l'on appelle « one touch ».

L'étiquette NFC elle-même est une petite puce qui ne nécessite pas d'alimentation, qui peut être intégrée à n'importe quel élément : porte-clés, stylo, carte de visite, cas, etc. Une telle puce électronique peut stocker, par exemple, une URL ou une commande qui, une fois lue, votre appareil commencera à s'exécuter.

À l'aide d'étiquettes, vous pouvez programmer des paramètres et des commandes tels que :

  • Appel téléphonique
  • Configuration des profils sonores
  • Luminosité et autres paramètres d'affichage
  • Envoi de messages
  • Paramètres Paramètres Wifi et Bluetooth
  • Lancement d'applications et plus encore

Paiement par NFC

Il convient de souligner paiements mobiles qui peut être accompli grâce à cette technologie. Champ d'application de leur application dans actuellement pas trop étendu, mais des services tels que