Modulo OEM Lettura/Scrittura Smart Card

Salve a tutti,
mi sono appena iscritto a questo forum per cui chiedo subito venia per eventuali imprecisioni.
Dopo una lunga ed attenta, credo, ricerca in rete mi rivolgo alla vostra collaborazione perchè non ho trovato quanto cercato, o meglio l' ho trovato ma a costi inaccessibili.
Devo trovare un sistema, estremamente economico, per la lettura di un supporto prepagato a scelta, Smart Card, Chip Card, RFID, TAG, ecc., tramite il quale abilitare la fruizione di alcuni servizi. In particolare per il momento sarebbe sufficiente che il sistema riconoscesse la validità del supporto inserito e che tenesse chiuso un contatto di un relè per un tempo corrispondente al valore memorizzato sul supporto.
A grandi linee sarebbe come un sistema di addebito locale per tessere prepagate, tipo le tessere a scalare per le copisterie, oppure un sistema per abilitare l' accesso alle camere di un Hotel.
Le tessere hanno una validità espressa in giorni con contabilizzazione di 24 ore solari non frazionabili.
I sistemi trovati in rete o presso potenziali fornitori risultano troppo costi per le mie necessità, non sono rapportati al servizio da svolgere, anche in relazione al numero elevato di postazioni di lettura previste, che superano abbondantemente il centinaio.
Sostanzialmente devo predisporre qualche centinaio di postazioni di lettura stand alone, singole, indipendenti una dall' altra e non collegate a nessun apparato o sistema, ciascuna in grado di leggere la carta prepagata e chiudere il contatto di un relè.
L' Hardware deve risultare un unico circuito stampato, nudo e crudo senza contenitore, estremamente ridotto come dimensioni.
Se non esiste nulla di già predisposto sono disposto a realizzare un Hardware dedicato, soluzione che peraltro preferirei.
C'è qualcuno che mi può aiutare ?

Grazie.

Ciao e benvenuto.
Il sistema più economico che mi viene in mente è quello del lettore di tag RFID.
Puoi interfacciarlo abbastanza semplicemente all'Arduino ed i lettori ed i relativi tag sono facili da gestire.

Puoi usare anche un Atmega in standalone, così da risparmiare il costo della scheda Arduino, che per 100 pezzi verrebbe una cifra molto alta! Con un Atmega328, impostato anche per l'uso con l'oscillatore interno, ed un regolatore per avere 5V, necessiti solo dei pochi collegamenti al lettore RFID e del transistor per gestire il relé.

Ma un RFID tradizionale ti da un numero identificativo e non da possibilitá di memorizzare un valore che corrisponde al credito memorizzato.
Ciao Uwe

uwefed:
Ma un RFID tradizionale ti da un numero identificativo e non da possibilitá di memorizzare un valore che corrisponde al credito memorizzato.
Ciao Uwe

Vero anche questo... :sweat_smile:
Ma i lettori sono collegati oppure no? Nel senso, accedono ad una banca dati comune?
Altrimenti devi usare le smart card.

Ma un RFID tradizionale ti da un numero identificativo e non da possibilitá di memorizzare un valore che corrisponde al credito memorizzato.

lo standard 125 khz (low freq) è quello più economico (il reader costa 10 eur e i tag pochi centesimi), ma permette la sola lettura.
Questo significa appunto che devi avere un database in backend per gestire i dati associati al tag.

Poi ci sono altri standard che permettono anche la scrittura del tag
13.56 Mhz (high freg) e 860-960 Mhz (ultra-high freq)
ma sono mooolto più costosi (da 2-3 volte in su per il reader, per writer ancora di più) così come il tag stesso....

Un'altra soluzione potrebbe essere utilizzare le carte con banda magnetica, il supporto costa poco ma il lettore/scrittore potrebbe costare parecchio.

L'interfacciamento ad un relè è poi cosa faiclmente realizzabile, di cui puoi trovare miriadi di esempi nel forum.

Grazie a tutti per la risposta.
A questa gentilezza e cortesia, probabilmente tipica da Forum, mi dovrò abituare in fretta.

Come dicevo ogni postazione è completamente autonoma ed indipendente e non collegata a nessun sitema centrale.

Mi potrebbe andare bene davvero qualunque soluzione con qualunque tecnologia.
In realtà, l' unica cosa importante, è che il contatto del relè rimanga chiuso per il tempo prefissato e non è strettamente necessario che avvenga la scrittura sulla Smart Card o sul TAG.
Nel senso che se dispongo di una Smart Card o di un TAG della durata di 5 giorni il Timer interno del lettore deve mantenere chiuso il contatto per 5 giorni, indipendentemente dal fatto che la Smart Card rimanga inserita o meno nel lettore. E' una abilitazione iniziale della postazione, dopo di che posso anche estrarre la tessera.

Vorrei trovare qualcuno a cui affidare il compito di predisporre il Circuito Stampato e scrivere il Firmware.

Buona giornata a tutti.

In realtà, l' unica cosa importante, è che il contatto del relè rimanga chiuso per il tempo prefissato e non è strettamente necessario che avvenga la scrittura sulla Smart Card o sul TAG.
Nel senso che se dispongo di una Smart Card o di un TAG della durata di 5 giorni il Timer interno del lettore deve mantenere chiuso il contatto per 5 giorni, indipendentemente dal fatto che la Smart Card rimanga inserita o meno nel lettore. E' una abilitazione iniziale della postazione, dopo di che posso anche estrarre la tessera

.

La durata del tag presumo quindi sia l'informazione che devi andare a scrivere sul tag stesso.
Si può fare con rfid, come già detto il reader costa da una 30ina di eur in su (dipende anche dall'antenna che si intende utilizzare), e i tag quasi 5 eur l'uno, dovendo usare high-freq.
Per la parte relè: non ci son problemi a mantenere un contatto chiuso per giorni.

Poichè sembra di capire che il progetto sia di una certa importanza e che tu stia cercando collaborazioni, perchè non espliciti la tua richiesta?
Magari aggiornando il titolo del thread (es: Cerco collaborazioni per etc etc)?

Allora pensate troppo complicato.
Se non c'é un problema che il credito deve essere cancellato o scaricato e il sistema non deve essere troppo sicuro dal punto di visto di abuso vedo 2 possibilitá:

  • tastiera e codice numerico
  • cartina con codice a barre e semplice lettore con un optocopler a riflessione. il codice deve essere fatto passare sotto il lettore.

L' abuso si puó diminuire aggiungendo un RTC codificando nel codice la data.

Comunque prevedi anche una riattivazione a a causa di reset per mancanza alimentazione.

Ciao Uwe

uwefed:
Allora pensate troppo complicato.

  • cartina con codice a barre e semplice lettore con un optocopler a riflessione. il codice deve essere fatto passare sotto il lettore.

Concordo che il sistema è più economico e semplice, ma come fai a scaricare il "credito"? questo va bene se hai una struttura centralizzata, quindi scarichi il credito dall'utenza dopo il suo riconoscimento.
Da quello che chiede Keplero mi pare più adatto invece il discorso banda magnetica-smartcard(basta una 4442) o Rifd tipo mifare o iCode. In questo modo è possibile mettere un contatore che viene mano a mano decrementato.

Io al lavoro avevo fatto partecipato ad un progetto simile per fare la gestione monetica su rfid per i villaggi turistici. ma poi mi sono licenziato :stuck_out_tongue:

Dipende tutto da quello che Keplero ha bisogno.
Ciao Uwe

Grazie a tutti per le risposte.
Provo a fornire qualche elemento in più, sperando risulti utile.

Si parte da un distributore automatico di tessere, in modo semplicistico continuo a chiamarle così, come smart card, tessere RFID, TAG, orologi, ecc ( il supporto è da definire ed il distributore automatico consente la gestione di qualunque supporto) di importo selezionabile tra 5 valori predefiniti.
Ogni utente, una volta raggiunta la propria postazione, inserendo il supporto nell’ apposito lettore, deve avere la possibilità di abilitare la fruizione dei servizi.
Per ottenere ciò è sufficiente che il lettore fornisca un contatto pulito di un relè in chiusura.
Questo contatto deve rimanere chiuso per un tempo equivalente all’ importo pagato.
Il tempo è riferito a multipli interi, non frazionabili, di giorni solari.

Il lettore deve essere completamente stand alone ed a gestione locale, non collegato a null' altro.

In relazione ai costi sarebbe interessante prevedere un display o dei led per la visualizzazione del credito residuo, che può anche non essere vincolato alla presenza fisica della scheda.

Caratteristica fondamentale deve essere il costo e le dimensioni enormemente contenute, considerati
i costi complessivi del sistema finito. Per raggiungere tale obbiettivo ci si può anche svincolare dai normali sistemi in uso e quindi si possono scegliere sia il supporto su cui memorizzare il credito sia il sistema ed i codici per leggerlo e scalarlo.
Si potrebbe anche creare un sistema proprietario, tanto è un sistema chiuso, e per questo non ci sono molti rischi di decodificazione dei codici e di clonazione delle schede.

Soluzione interessante potrebbe essere la possibilità di spostare il credito su un’ altra postazione nel caso l’ utente cambi postazione.

Al termine dell’ utilizzo, l’ utente, recandosi presso il distributore che raccoglie le schede, ottiene la restituzione della cauzione versata al momento dell’ acquisto e dell’ eventuale credito residuo non utilizzato. Per consentire ciò a mio avviso sarebbe sufficiente, al momento della emissione, registrare sulla scheda data ed ora per poi, al momento della restituzione, effettuare il raffronto.

Come quantità richiesta si parla di 250 lettori immediati.

Operativamente, appena si inserisce la scheda, viene verificata la sua validità e scalato l’ intero importo delle prime 24 ore. A questo punto si deve decidere se la scheda può essere ritirata o lasciata inserita.
Se si utilizza la medesima scheda nell’ arco delle stesse 24 ore su un’ altra postazione, dalla scheda viene scalato un importo equivalente ad altre 24 ore.
In questo modo si rende possibile la cessione del credito e lo scambio di favori tra gli utenti.
Altra opzione legata ai costi è quella che per un tempo programmabile, prima della scadenza della validità tessera, si dovrebbe azionare un buzzer, escludibile, e rendere lampeggiante il led della fascia oraria in scadenza.
Se la tessera viene lasciata sempre inserita nel lettore, o se viene reinserita prima della scadenza del tempo, il timer continua il conteggio fino alla scadenza successiva.
Codici criptati, qualunque sia la tecnologia utilizzata.

Spero di essere stato esaustivo.

A me viene in mente questo.

Un piccolo sistema di lettore di schedine di memoria SD (che si possono gestire senza problemi con un Atmega328 in standalone e pochi componenti esterni)!

Situazione:
il distributore centrale, sempre basato su Arduino o Atmega standalone, ha un sistema di interfacciamento con l'utente (da definire in seguito: LCD con tastierino) ed un lettore SD. L'utente acquista o una SD oppure programma la sua. Sulla SD verrà creato un file cifrato contenente il credito acquistato dal cliente.

Ad ogni postazione un Atmega standalone con lettore SD legge il file cifrato, decodifica le informazioni ed attiva il relé per il tempo acquistato.

La scheda SD è ovviamente riutilizzabile.

Il sistema così fatto permette di essere modificato come si vuole.

Sulla SD verrà creato un file cifrato contenente il credito acquistato dal cliente.

uhm, temo che sia di più facile violabilità, rispetto ad un tag rfid high-freq (perlomeno, a costo quasi 0), così come bar code.

L'unico modo per gestire lettura e scrittura - perchè di questo si parla - sono necessari supporti adatti e che permettano la giusta sicurezza.

Riguardo all'hw, un display lcd costa meno di 10 eur, altre soluzioni (multisegmento, per esempio) ancora meno.

Un'altra soluzione potrebbe essere l'utilizzo di SmartCard, ma sinceramente, non avendole mai utilizzate in relazione ad Arduino, lascio la parola a chi ne ha esperienza.

Se uno vuole violare un sistema, viola qualunque cosa. La volontà di un pirata è commisurata al guadagno che ottiene violando il sistema.

Ma poi bisogna calcolare il tempo che deve impiegare a violare il sistema rispetto alla validità del sistema stesso: un file cifrato anche con un semplice RC4 ma con chiave monouso a 128 bit ha una robustezza misurabile in decenni... il che si traduce nella questione: il pirata trarrà vantaggio fra 20 anni di calcolo dal sistema che vuol violare? :wink:

Per gestire una lettura/scrittura su una SD basta una circuiteria minima di pochi euro complessivi. Credo che per un lettore/scrittore di RFID e relative schede ci sia un costo molto maggiore.

Infatti non ho la pretesa di creare un sistema inviolabile ma solamente l' intenzione di renderlo non conveniente, a parte che lo sarebbe già per gli esigui importi in gioco.

Di idee te ne abbiamo date. . hai riflettuto?

Sì, penso di orientarmi su Atmega o su questo circuito che mi ha inviato un collega:

http://www.nutchip.com/progetti/card/card.htm

Di idee te ne abbiamo date. . hai riflettuto?

Sì, penso di orientarmi su Atmega o su questo circuito che mi ha inviato un collega:

:smiley:
beh, su Atmega a dire il vero lo si dava per scontato, trattandosi di forum di Arduino ..

Riguardo al circuito inviato dal tuo collega: nello specifico si tratta di un reader, non di un writer, pertanto i tuoi presupposti verrebbero meno..

Mi aggrego alla discussione, sono molto interessato.

Mi piace il link di keplero, si potrebbe far fare la funzione del nut chip a un arduino. Bisogna trovare il modo di scrivere sulla card.

Bisogna trovare il modo di scrivere sulla card.

...giusto 2 considerazioni:

  • il costo di una smart card è alto, quasi il doppio rispetto ad un tag RFID high-freq
  • un programmatore tipo smartmouse / maestro (che ho pure riesumato dagli esperimenti giovanili XD) come costo si avvicina molto -quando non lo supera- ad un reader/writer RFID high-freq

La stessa cosa si può fare un RFID, vedi tutte le installazioni su serrature elettroniche.