Programmation

Les codes et programmes d’Interface-Z

Accueil > Matériel > Captation et interfaces > Capteurs autonomes > Carte RFID en Pure Data

Carte RFID en Pure Data

Mis à jour le jeudi 9 mars 2017, par zandrine

Pure Data

 

Patches de test

RFID Patch PD : Exemple d’utilisation du module RFID vers Midi avec deux tags

Lors de la première utilisation du patch :

  1. Vérifier que des séquences de 11 nombres s’affichent dans la fenêtre texte de Max chaque fois qu’un badge est passé sur l’antenne.
  2. Poser autant d’invocations "identification_rfid" (détaillée ci-dessous) que vous utilisez de badges, en les numérotant à partir de 1. Le patch est prévu pour 10 badges mais peut être modifié pour plus.
  3. Assignation des badges aux numéros : Passer les badges disponibles un à un sur la borne de la carte RFID. Pour chacun, choisir un numéro d’identification_rfid et cliquer sur le Bang d’enregistrement correspondant, connecté sur l’entrée du milieu de l’invocation que l’on veut associer à ce badge.

  4. Enregistrer l’ensemble de la configuration en cliquant sur le Bang connecté au sous-patch "enregistre_config". L’assignation des badges aux numéros dans le patch peut être modifiée à tout moment, mais il faut toujours enregistrer l’ensemble avec ce Bang pour que les modifications soient conservées après la fermeture du patch.

Test de la carte FRID vers Midi.
Fichier rfid.pd
pour recueillir les données d’identification des tags.

Le sous-patch enregistre_config est détaillé ci-dessous :

Sous-patch d'enregistrement.

L’enregistrement de la configuration se fait grâce à un objet coll et un fichier texte (badges.txt) qui doit être laissé dans le même dossier que le patch. Ce patch supporte jusqu’à 10 tags. Pour en ajouter, il faut ajouter des messages au-dessus du "t f f " et des invocations identification_rfid dans le patch principal. Ce sous-patch fonctionne avec identification_rfid.pd.

Utilisations suivantes :

  1. Il n’est plus nécessaire de réassigner les badges un à un puisque cette étape a été enregistrée la première fois.
  2. Lors de chaque reconnaissance d’un badge, la première sortie des invocations donne l’information positive et la deuxième donne le numéro du badge reconnu.
  3. Les séquences de chiffres détectées apparaissent simultanément dans toutes les invocations identification_rfid, mais seule l’invocation correspondant au tag enregistré donne un signal positif en sortie. Les identifications_rfid sont tous indépendants les uns des autres et permettent d’enregistrer et d’individualiser autant de badges que l’on veut.

RFID Abstraction PD : Obtention des données en provenance du module RFID vers Midi

Réception de la carte RFID vers MIDI.
Fichier reception_rfid.pd
pour recueillir les données d’identification des tags.

La carte RFID envoie une séquence de nombre lors de chaque identification de badge. Ce patch permet de tester le capteur et de sortir les résultats bruts en tant que séquence de chiffres. Ces séquences de chiffres sont spécifiques des tags.

L’entrée permet de paramétrer le canal Midi correspondant à celui de la carte RFID. Ce numéro de canal est également donné en argument de l’invocation reception_rfid.

RFID Abstraction PD : Identification du tag détecté

Une fois les données arrivées dans le logiciel, et sorties de l’invocation précédente, elles permettent d’identifier précisément le badge (tag). Cette nouvelle abstraction permet d’enregistrer une séquence de nombres spécifique d’un tag et de la comparer ensuite aux séquences des différents tags détectés.

Il faut poser une invocation par badge.

Identification d'un badge RFID spécifique en Pure-Data.
Fichier identification_rfid.pd
pour recueillir les données d’identification des tags.

3 entrées :

  • À gauche : Séquence d’identification provenant de l’abstraction précédente ;
  • Au milieu : Signal d’enregistrement, pour garder en mémoire la séquence associée au badge ;
  • À droite : Numero de badge, aussi donné en argument. Ce numéro est attribué arbitrairement.

3 sorties :

  • À gauche : Sort la liste de chiffre lorsqu’elle correspond à la séquence enregistrée ; active aussi un bang.
  • Au milieu : Numéro de badge, correspondant à l’argument, renvoyé à chaque identification positive.
  • À droite : Liste contenant le numéro de badge et la séquence spécifique, pour envoyer dans un objet coll qui permet d’enregistrer les badges choisis.

Cette invocation fonctionne avec le sous-patch "enregistre_config" du patch précédent, pour l’enregistrement des badges.

Elle suffit, avec l’invocation de réception, à faire un test et à faire fonctionner un patch. Cependant, sans les objets dédiés à l’enregistrement de la configuration, l’assignation des badges (l’identification 1, 2, 3, etc) ne sera pas conservée à la fermeture du patch.