NFC pour les nuls (avec un exemple pratique)

Avant de nous plonger dans un exemple d'implémentation de la communication en champ proche (NFC) sur Android, nous allons nous intéresser de plus près à cette technologie intéressante.

Avec l'évolution de la technologie, l'être humain a toujours cherché à simplifier les moyens de la contrôler ; cela suppose de simplifier toute l'ingénierie derrière les appareils et de proposer une interface minimale qui nous permette de les utiliser. Par analogie, nous pouvons comparer la navigation d'un yacht en mer avec le pilote automatique d'un avion commercial. Ou, pour être plus proche du sujet, pensons aux téléphones portables à boutons et aux téléphones modernes dotés de fonctions de reconnaissance faciale. Dans chaque cas, non seulement il y a eu des améliorations permises par la technologie, mais les interfaces des outils de contrôle ont également évolué, évitant ainsi l'utilisation manuelle par le biais de boutons ou d'écrans tactiles.

À l'ère de l'information, nous sommes déterminés à nous connecter à tout et à tous ceux qui nous entourent de la manière la plus naturelle et la plus intuitive possible. C'est là qu'intervient la technologie NFC : elle nous permet de coupler et de connecter sans fil des appareils sur de courtes distances, de manière instantanée.

Alors, qu'est-ce que la NFC ?

Grâce aux champs radio électromagnétiques, il suffit de placer les appareils NFC à au moins 10 cm les uns des autres pour qu'ils échangent des données.

La NFC possède deux modes de communication : le mode passif, qui nous permet de lire et de recevoir des données statiques d'un autre appareil (par exemple, pour obtenir des données de configuration ou une URL) ; et le mode actif, qui nous permet généralement d'envoyer ou d'écrire des données variées selon le besoin d'un moment particulier (par exemple, pour effectuer des paiements électroniques).

Ce sont là quelques-unes des utilisations permises par la technologie NFC :

  • Les paiements mobiles
  • Paiement par carte de crédit sans contact
  • Identification
  • Synchronisation ou couplage instantané de dispositifs Bluetooth.
  • Envoi ou réception d'informations de contact
  • Automatisations avec des tags NFC (ndlr : tag nfc : autocollant contenant info pouvant être lu par un smartphone équipée d'un dispositif nfc).
  • Configuration du smartphone (par exemple, pour activer le mode avion)

Quelle est la fiabilité de la technologie NFC ?

Au début, cette technologie pouvait être utilisée avec un smartphone verrouillé, mais cette fonctionnalité a été modifiée il y a quelque temps. Aujourd'hui, pour pouvoir utiliser la technologie NFC, nous devons déverrouiller l'appareil (au moyen d'un code PIN, d'une empreinte digitale ou de la reconnaissance faciale). En outre, nous ne pouvons utiliser cette technologie que dans le cadre d'une proximité immédiate.

Les appareils permettent aux utilisateurs d'activer/désactiver la fonction NFC dans le menu de configuration, et il est conseillé de la laisser désactivée jusqu'à ce que nous ayons besoin de l'utiliser.

Un exemple d'application

Nous allons apprendre à mettre en œuvre la technologie NFC sur Android avec une méthode native.

Nous écrirons une URL sur un tag NFC, que nous utiliserons plus tard pour ouvrir ce site web sur n'importe quel appareil Android. Le cas qui suit peut être utilisé, par exemple, pour des menus de restaurant, des listes de prix, pour connaître le prix d'un article spécifique, etc.

Pour commencer, nous devons ajouter les permissions NFC à notre projet.

Nous créons une activité qui nous permettra d'entrer une URL pour écrire cette valeur sur un tag NFC. Dans le layout de l'activité, nous incluons un textView et un bouton pour exécuter les changements.

Ensuite, nous vérifions si l'appareil est compatible avec la technologie NFC grâce à l'instance NfcAdapter. S'il l'est, nous vérifions si l'antenne NFC est également activée.

De plus, nous implémentons l'interface NfcAdapter.ReaderCallback dans notre activité, ce qui rendra disponible la méthode d'écrasement onTagDiscovered(tag : Tag). Son but est de nous faire savoir quand notre appareil détecte le tag NFC et il va essayer d'écrire notre URL encapsulée sur une instance NdefMessage.

Enfin, voici notre BeamActivity et l'accès à l'ensemble du projet.

Voici une vidéo pour vous permettre de voir tout cela appliqué ainsi que son utilisation en temps réel :

La NFC est une technologie assez simple en soi. Cependant, lorsque nous la combinons avec d'autres technologies, nous créons une interface de communication sécurisée et puissante qui, utilisée avec des smartphones ou des tags, par exemple, nous donne la possibilité d'interagir avec des centaines de dispositifs, en étant capable de créer des "boutons" partout où nous avons besoin d'interagir, que ce soit sur un dispositif ou un environnement différent.

Nous pensons que le principal problème de la mise en œuvre de la technologie NFC sur Android est le manque de documentation. Cette technologie comporte une série de variables concernant les méthodes et les temps de lecture et d'écriture, parfois dues au fabricant ou à la configuration du système. Bien que ce ne soit pas quelque chose qui ne puisse être résolu avec quelques heures (ou même quelques jours) de tests, il est essentiel d'en tenir compte lorsqu'il s'agit de mettre en œuvre cette technologie.

Nous espérons que cet article vous sera utile d'un point de vue technique et qu'il vous permettra de gagner du temps ; et, bien sûr, nous serions ravis que vous vous en inspiriez !

source :

https://medium.com/flux-it-thoughts/nfc-from-scratch-with-a-practical-example-ce0c7995595b

Enregistrer un commentaire

Les commentaires sont validés manuellement avant publication. Il est normal que ceux-ci n'apparaissent pas immédiatement.

Plus récente Plus ancienne