Lire des cartes magnétiques

Nous avons tous des cartes magnétiques dans nos portefeuilles, des cartes ATM aux cartes d'identité d'entreprise. Et les cartes d'entreprise sont utilisées pour gérer les services publics au sein de l'entreprise, tels que l'ouverture des portes, la facilité d'utilisation des repas à la cantine, etc. Dans cette note, nous rapportons un projet de lecture de cartes magnétiques.

Les cartes magnétiques ou les badges ou en anglais Magnetic Stripe Card sont des cartes en plastique PVC dans lesquelles une bande magnétique est appliquée sur un côté. On peut considérer ce dernier comme un morceau de cassette dans une cassette audio, ce qui convient donc pour contenir des informations non volatiles. Ils peuvent être lus à l'aide d'un simple lecteur coulissant, tel que celui visible sur le côté. Le lecteur utilisé est un lecteur à sortie série RS232 capable de lire toutes les traces du papier, il convient donc à tout type d’application.

La norme qui définit les caractéristiques des cartes magnétiques est l'ISO 7810 pour les dimensions physiques et l'ISO 7811 pour le positionnement et la structure des données de bandes magnétiques. Cette norme divise la bande magnétique en trois pistes:

- Piste ISO 1, IATA (International Air Transportation Association), maximum 70 caractères 7 bits;
- Piste ISO 2, ABA (American Bankers Association), maximum 40 caractères 5 bits;
- Piste ISO 3, MINTS (Mutual Institution National Transfer System), maximum 107 caractères de 5 bits.

Voici la capture d'écran du projet MagneticReader qui gère la lecture de toutes les traces 3 d'une carte magnétique. Le lecteur est connecté au port COM0 et un FB assure sa gestion. Le FB adresse les adresses des tampons dans lesquels transférer les données lues à partir des pistes 3, voir projet sur GitHub.

Cet article a-t-il été utile?