Lo shield Arduino SMARTSHIELD permette di interfacciare la scheda Arduino con smartcard a memoria protetta ed a CPU. Ciò consente di implementare sistemi di pagamento elettronico e di controllo accessi.
- Necessita di una scheda Arduino (non inclusa)
- Tensione di alimentazione: 5V (fornita dalla scheda Arduino)
- Comunicazione con la scheda Arduino mediante porta SPI
- Su richiesta è disponibile il PCB a doppia faccia (completo di serigrafia e solder mask) ed il connettore ISO-7816 per smartcard
Descrizione
Lo shield Arduino SMARTSHIELD dispone di due connettori per smartcard: un connettore standard ISO-7816 ed un connettore SIM che può essere utilizzato per il montaggio di un modulo SAM di autentificazione che consente di implementare agevolmente funzionalità crittografiche.
Un microcontrollore presente sullo shield genera i segnali necessari per il corretto funzionamento delle smartcard e si interfaccia alla scheda Arduino mediante la porta SPI. Per consentire la compatibilità con gli altri shield commerciali, è possibile configurare l’indirizzo del pin SS mediante un jumper (pin 7/8/10) .
Sullo shield sono presenti due led diagnostici, che forniscono informazioni sulla presenza e sullo scambio dati con le smartcard.
Compatibilità
Lo shield SMARTSHIELD si interfaccia ad Arduino mediante i pin SPI 7/8/10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). La compatibilità hardware dello SMARTSHIELD è garantita con Arduino Uno e Duemilanove. Nel caso di differenti modelli di Arduino è comunque possibile utilizzare lo SMARTSHIELD mediante la libreria software SPI.
Libreria Smartcard sincrone
Questa libreria permette alla scheda Arduino di gestire smartcard sincrone (carte a memoria protetta SLE4442 e SLE4428) mediante lo SMARTSHIELD shield.
Funzioni
- IsCardPresent(cam);
- PowerOnATRSC(*atr);
- PowerOffSC();
- ReadByte4442(address);
- ReadByte4428(address);
- WriteByte4442(address,data);
- WriteByte4428(address,data);
- VerifyPSC4442(*psc);
- VerifyPSC4428(*psc);
- ModifyPSC4442(*psc);
Libreria Smartcard a CPU
Questa libreria permette alla scheda Arduino di gestire smartcard asincrone (a CPU) con protocollo T=0 (ACS ACOS, SCHUMBLERGER PAYFLEX, ecc..) e T=1 (SIEMENS INFINEON, ST INCARD, ecc..). E’ supportata anche la carta nazionale/regionale dei servizi (CNS/CRS).
Funzioni
- IsCardPresent(cam);
- PowerOnATR(cam,*atr);
- ApduCommand(cam,T,*C,*D,*SW);
- Shutdown(cam);
Libreria Arduino smartcard sincrone ed a CPU
Sketch di esempio che illustra la lettura della rubrica di una SIM