Aller au contenu
Langue : FR

Un téléphone peut-il configurer un appareil éteint ?

Oui, quand l'appareil porte un tag que le téléphone sait alimenter : le téléphone écrit la configuration dans le tag, et le firmware la relit dans la même mémoire au premier allumage. Certains transpondeurs vont plus loin et font tourner leur propre microcontrôleur sur le seul champ.

Pourquoi cela marche

Un tag tire son énergie du lecteur, ce qu'explique la page de l'alimentation : le champ du téléphone est ce qui fait tourner la puce, donc l'appareil qui l'entoure peut être débranché, à plat ou encore scellé dans son carton. Rien dans l'échange n'a besoin que le produit soit vivant.

Ce qui rend cela utile plutôt que curieux est le côté filaire d'un tag dynamique. Le téléphone écrit dans une mémoire que le microcontrôleur pourra lire plus tard, si bien qu'une configuration passe de l'un à l'autre sans qu'aucun des deux soit alimenté au même moment.

Écrire avant le premier démarrage

Le schéma tient en trois étapes. Le téléphone écrit la configuration sous forme de message NDEF, ou dans la mémoire propre de la puce, appareil éteint. L'appareil est allumé pour la première fois, son firmware lit le tag par I2C ou par SPI, et applique ce qu'il y trouve. Le tag garde les octets, si bien qu'une remise en état d'usine peut y revenir plutôt qu'à des valeurs par défaut que personne n'a choisies.

Sur une chaîne de production c'est ce qui paye : un appareil configuré dans son emballage, sans câble, sans écran et sans boîtier à ouvrir, ce que la page de la préparation décrit pour les tags en général.

Tourner sur le champ

Certaines puces font mieux que garder des octets. La fiche du RF430FRL15xH de TI décrit un transpondeur ISO/IEC 15693 doté d'un coeur MSP430, d'une mémoire non volatile, d'un convertisseur analogique-numérique et d'un capteur de température, dont le système d'alimentation tourne sur une pile ou sur le champ à 13,56 MHz.

Un téléphone peut donc déclencher une mesure sur un appareil sans la moindre pile, et en lire le résultat dans le même contact. La limite est l'énergie du champ : ce qui tourne est ce que la puissance récoltée sait entraîner, et c'est la fiche technique, pas l'ambition, qui décide de ce que c'est.

Ce que le firmware doit prévoir

Valider ce qu'il lit. La configuration a été écrite par quelque chose que le firmware n'a jamais vu, éventuellement par un téléphone qui n'est pas le vôtre : c'est une entrée. Vérifiez la structure, vérifiez les bornes, et gardez une configuration de repli pour le jour où le tag portera n'importe quoi.

Protéger ce qui compte. N'importe qui muni d'un téléphone peut écrire un tag non protégé, donc une configuration qui ne doit pas changer a besoin de la protection propre à la puce, que liste la page des options de configuration et que la page de l'authentification couvre du côté du code.

Et écrire dans un ordre qui survit à une interruption. Un téléphone retiré en pleine écriture laisse le tag dans l'état qu'il a atteint, ce que la page des écritures interrompues traite en écrivant la longueur en dernier.

Questions fréquentes

L'appareil a-t-il besoin d'une pile pour cela ?

Non. Le tag tourne sur le champ du téléphone, donc la configuration peut être écrite appareil éteint, à plat ou encore dans son carton.

Comment le firmware récupère-t-il la configuration ?

Il lit la même mémoire par l'interface filaire du tag, I2C ou SPI, au premier allumage de l'appareil.

Un téléphone peut-il prendre une mesure sur un appareil non alimenté ?

Sur les puces bâties pour cela, oui. La fiche du RF430FRL15xH décrit un transpondeur à microcontrôleur et capteurs qui tourne sur le champ.

Qu'est-ce qui empêche quelqu'un d'autre d'écrire la configuration ?

Rien, sauf si la puce la protège. Employez la protection qu'offre la puce, et validez de toute façon ce que le firmware lit.