Tutti abbiamo tessere magnetiche nel nostro portafoglio, dalla tessere bancomat a tessere di riconoscimento aziendali. E proprio le tessere aziendali sono utilizzate per la gestione di utilities all’interno dell’azienda, come apertura porte, fruibilità dei pasti alla mensa, ecc. In questa nota riportiamo un progetto per la lettura di tessere magnetiche.

Le tessere magnetiche o badge o in inglese Magnetic Stripe Card sono delle tessere plastiche in PVC in cui viene applicata da un lato una banda magnetica. Possiamo considerare quest’ultima come un pezzo di nastro di una cassetta audio, adatto quindi a contenere in modo non volatile delle informazioni. Possono essere lette utilizzando un semplice lettore a strisciamento come quello visibile a lato. Il lettore utilizzato è un lettore con uscita seriale RS232 in grado di leggere tutte le tracce della carta, quindi è adatto ad ogni tipo di applicazione.

Lo standard che definisce le caratteristiche delle tessere magnetiche è l’ISO 7810 per quanto riguarda le dimensioni fisiche e l’ISO 7811 per il posizionamento e la struttura dei dati sulla banda magnetica. Questo standard divide la banda magnetica in tre tracce:

– Traccia ISO 1, IATA (International Air Transportation Association), massimo 70 caratteri a 7 bit;
– Traccia ISO 2, ABA (American Bankers Association), massimo 40 caratteri a 5 bit;
– Traccia ISO 3, MINTS (Mutual Institution National Transfer System), massimo 107 caratteri a 5 bit.

Ecco lo screenshot del progetto MagneticReader che gestisce le lettura di tutte e 3 le tracce di una carta magnetica. Il lettore è collegato alla porta COM0 ed un FB provvede alla sua gestione. Si passa al FB gli indirizzi dei buffers in cui trasferire i dati letti dalle 3 tracce, vedi progetto su GitHub.

Ti è stato utile questo articolo ?

Ultimo aggiornamento: 22 Novembre 2018