UNIVERSITÀ DEGLI STUDI LA SAPIENZA DI ROMA
FACOLTÀ DI INGEGNERIA
CORSO DI LAUREA SPECIALISTICA IN INGEGNERIA DELLE TELECOMUNICAZIONI
RADIO FREQUENCY IDENTIFICATION:
PROGETTAZIONE E IMPLEMENTAZIONE DI UN
SISTEMA DI IDENTIFICAZIONE A
RADIOFREQUENZA PER IL CONTROLLO ACCESSI.
STUDENTE: ARMANDO VALLE
ENTE OSPITANTE: J-NET S.P.A
RELATORE: ROBERTO CUSANI
ANNO ACCADEMICO: 2007/2008
Indice
INDICE
CAPITOLO I ................................................................................................................ 5
INTRODUZIONE ALL’ ATTIVITÀ DI STAGE. ................................................................................................... 5
1.1 L’AZIENDA OSPITANTE. ............................................................................................................................ 6
1.2 PRESENTAZIONE DELLO STAGE: GLI OBIETTIVI...................................................................................... 7
1.3 PIANIFICAZIONE DELL’ATTIVITÀ: LINEE GUIDA E MEZZI UTILIZZATI. .............................................. 9
CAPITOLO II............................................................................................................. 11
INTRODUZIONE ALLA TECNOLOGIA RFID. ................................................................................................ 11
2.1 DEFINIZIONE DI TRANSPONDER ............................................................................................................ 12
2.2 BREVE STORIA: LO SVILUPPO DELLA TECNOLOGIA. ............................................................................ 12
2.3 COMPONENTI DI UN SISTEMA DI COMUNICAZIONE RFID ................................................................. 14
2.4 CLASSIFICAZIONE DEI SISTEMI RFID .................................................................................................... 16
2.4.1 I TAG ..................................................................................................................................................... 16
2.4.2 I READERS .............................................................................................................................................. 17
2.5 LE FREQUENZE .......................................................................................................................................... 18
2.6 LE APPLICAZIONI TIPICHE....................................................................................................................... 23
CAPITOLO III ........................................................................................................... 26
SISTEMI DI COMUNICAZIONE RFID. ........................................................................................................... 26
3.1 IL SISTEMA DI TRASMISSIONE DATI RFID ............................................................................................ 27
3.2 ACCOPPIAMENTO READER-TAG NEI SISTEMI PASSIVI......................................................................... 28
3.3 TRASONDER PASSIVI HF AD ACCOPPIAMENTO MAGNETICO ............................................................ 30
3.3.1 ELEMENTI CARATTERIZZANTI I TRANSPONDER AD ACCOPPIAMENTO INDUTTIVO ........................... 31
3.3.2 SENSIBILITÀ ALLA TENSIONE ................................................................................................................ 35
3.4 TRANSPONDER PASSIVI AD ACCOPPIAMENTO ELETTROMAGNETICO............................................... 37
3.4.1 L’EFFETTO SCATTERING ........................................................................................................................ 37
3.5 ANTENNE NEI SISTEMI RFID .................................................................................................................. 39
3.5.1 POLARIZZAZIONE DEL CAMPO EM E ORIENTAMENTO RECIPROCO ANTENNE .................................. 40
3.5.2 ANTENNA DEL READER E ANTENNA DEL TRANSPONDER PER SISTEMI AD ACCOPPIAMENTO
MAGNETICO. ................................................................................................................................................... 42
3.6 CODIFICA DEI DATI NEI SISTEMI RFID.................................................................................................. 45
3.6.1 CODIFICA MANCHESTER ....................................................................................................................... 46
3.6.2 CODIFICA PIE ........................................................................................................................................ 47
3.6.2 CODIFICA MILLER E FM0 ...................................................................................................................... 47
3.7 TECNICHE DI MODULAZIONE NEI SISTEMI PASSIVI ............................................................................. 48
3.7.1 MODULAZIONE READER TAG ......................................................................................................... 49
3.7.2 RICEZIONE NEL TRANSPONDER ............................................................................................................ 50
3.7.3 MODULAZIONE TAG READER .......................................................................................................... 51
3.8 PROTOCOLLI ANTI-COLLISIONE ............................................................................................................. 52
3.9 PARAMETRI PER LA SCELTA DI UN TAG ................................................................................................. 55
CAPITOLO IV ........................................................................................................... 57
2
Indice
STANDARD E PROTOCOLLI DI COMUNICAZIONE. ...................................................................................... 57
4.1 GLI ENTI DI NORMAZIONE...................................................................................................................... 58
4.1.1 SITUAZIONE IN EUROPA ........................................................................................................................ 59
4.1.2 SITUAZIONE IN USA .............................................................................................................................. 59
4.1.3 SITUAZIONE IN CINA ............................................................................................................................. 59
4.2 LE NORMATIVE ISO E EPCGLOBAL ....................................................................................................... 60
4.2.1 LE NORMATIVE EPCGLOBAL ................................................................................................................ 62
4.2.2 NORMATIVE ISO/IEC ........................................................................................................................... 63
4.3 LO STANDARD ISO/IEC 15693............................................................................................................... 64
4.3.1 CARATTERISTICHE FISICHE ................................................................................................................... 64
4.3.2 POTENZA A RADIO FREQUENZA E FORMA D’ONDA. ........................................................................... 66
4.3.3 UID E STATI DI UNA VICINITY CARD. ................................................................................................... 69
CAPITOLO V ............................................................................................................ 70
IL SISTEMA RFID REALIZZATO..................................................................................................................... 70
5.1 HARDWARE .............................................................................................................................................. 71
5.1.1 RFID CONTROLLERS .............................................................................................................................. 71
5.1.2 TRANSPONDER RFID ISO/IEC 15693 .................................................................................................. 74
5.1.3 PERSONAL COMPUTERS ......................................................................................................................... 78
5.2 SOFTWARE UTILIZZATO: SCELTE PROGETTUALI. ................................................................................. 78
5.2 IL MIDDLEWARE ...................................................................................................................................... 84
5.2.1 IL PARADIGMA DI COMUNICAZIONE PUBLISH/SUBSCRIBE ................................................................. 85
5.2.2 ORACLE SENSOR EDGE SERVER ............................................................................................................ 87
5.2 IL DATABASE ............................................................................................................................................ 93
5.5 AUTOMAZIONE PROCESSO CONTROLLO ACCESSI: FUNZIONE E PROCEDURE PL/SQL. ................... 95
5.6 INTERFACCIA GRAFICA ......................................................................................................................... 104
CAPITOLO VI ......................................................................................................... 107
CONCLUSIONI. ............................................................................................................................................. 107
Bibliografia .............................................................................................................. 109
Appendice: ............................................................................................................... 110
LISTATO FUNZIONI E PROCEDURE PL/SQL .............................................................................................. 110
3
Capitolo I: Introduzione all’attività di stage
4
Capitolo I: Introduzione all’attività di stage
CAPITOLO I
INTRODUZIONE ALL’ ATTIVITÀ
DI STAGE.
Il percorso di studi universitario prevede il suo
naturale compimento con la preparazione, da
parte dello studente, di un lavoro di tesi
consistente
in
un
periodo
dedito
all’approfondimento
degli
insegnamenti
affrontati, con proficuo impegno, durante
l’itinerario accademico.
Personalmente ho deciso di affrontare tale
compito presso un’azienda, certo di poter
fornire un originale contributo, consapevole di
avere l’opportunità di confrontarmi con le sfide
pratiche dell’odierno mercato tecnologico.
Questa sezione è dedicata alla presentazione
dell’attività di stage: dopo una breve
presentazione dell’azienda ospitante il tirocinio,
verranno delineati gli obiettivi del progetto
affidatomi; in seguito saranno elencate le linee
guida del lavoro svolto e verranno
sinteticamente illustrati i mezzi da me utilizzati
per il raggiungimento dei prefissati scopi.
5
Capitolo I: Introduzione all’attività di stage
1.1 L’AZIENDA OSPITANTE.
L’azienda che ha ospitato la mia attività di stage è la JNET S.P.A.. Essa nasce nell’anno 2001 ed
ormai vanta partnership con società, nazionali e internazionali, tra le più grandi ed affidabili
operanti nel mercato dell’Information & Communication Technology, quali VMware, Cluster File
System, MySQL, ubuntu, SUN microsystem, IBM, Intel ed infine Oracle, produttore dei strumenti
software di cui mi sono servito per la realizzazione del progetto assegnatomi.
Le attività svolte da JNET S.P.A vengono sviluppate attraverso cinque principali centri di
competenza, suddivisi per settore tematico:
•
Area sistemistica – Open Source.
•
Area Business Intelligence.
•
Area Database.
•
Area Networking.
•
Area Security.
Essa opera principalmente su alcuni mercati di riferimento dove ha stabilito competenze specifiche
e verticali:
•
Healthcare: progettazione e gestione di infrastrutture complesse basate su IBM WebSphere,
Oracle Real Application Cluster e il sistema operativo Linux.
•
Governament: progetti di sviluppo in ambito JAVA e PHP. Attività sistemistica in ambito
database Oracle e IBM DB2 UDB; integrazione e gestione dei flussi dati attraverso IBM
Datastage.
•
Financial: servizi di progettazione e migrazione di strutture complesse da ambienti RISC
(Reduced Instruction Set Computer) a piattaforme Open Source; progetti di sviluppo in
ambito JAVA, PHP e PL/SQL; progettazione, installazione e manutenzione di piattaforme
di High Performance computing.
•
Travel and Transportation: Servizi di assistenza sistemistica in ambito Open Source; servizi
di consolidamento server con VMware virtual infrastructure.
•
GDO (Grande Distribuzione Organizzata): Progettazione e installazione di infrastrutture di
DataWareHouse e relativi servizi di assistenza e supporto sistemistica.
•
System Integrator: servizi di consulenza sistemistico su piattaforme UNIX; installazione di
infrastrutture ad alta disponibilità in ambito IBM AIX e Sun Solaris per SAP, Siebel CRM e
Oracle Applications.
6
Capitolo I: Introduzione all’attività di stage
La missione di JNET S.P.A. è quella di supportare i propri clienti nei repentini cambiamenti e
progressi a cui oggi assistiamo soprattutto nel campo delle tecnologie riguardanti il campo
dell’informatica e delle telecomunicazioni.
Esempio di tali innovazioni è sicuramente la tecnica di Identificazione a RadioFrequenza (RFId),
oggetto della mia attività di stage.
1.2 PRESENTAZIONE DELLO STAGE: GLI OBIETTIVI.
In accordo con il clima fortemente propositivo e dinamico che si respira nella sede di Roma della
JNET, mi è stato proposto di avventurarmi nella recente realtà della tecnologia di identificazione
automatica “Radio Frequency Identification”. Tale tecnica concepita durante la seconda guerra
mondiale, sta conoscendo solo ultimamente un certo successo. E’ infatti, ormai, opinione diffusa
nella comunità tecnico-scientifica che mediante l’adozione capillare di questa tecnologia si
potranno ottenere enormi benefici poiché l’RFId consente attività basate su recupero e scrittura
automatica e a distanza dei dati che le altre tecnologie non sono in grado di offrire. Tuttavia negli
anni passati si è assistito a una crescita dell’adozione delle tecniche RFId che è stata inferiore alle
attese a causa di due fattori fondamentali: la mancanza degli standard e gli alti costi dei dispositivi
hardware. Questi fenomeni sono, fortunatamente, ad oggi in via di superamento: la produzione di
massa degli apparati sta rendendo il loro costo sempre più basso; allo stesso tempo i più grandi
fornitori mondiali stanno cooperando per seguire standard internazionalmente condivisi, definiti
dall’International Standard Organization (ISO) e dall’Electronic Product Code (EPC).
A causa di quanto appena esposto, la JNET, pur avendo inteso il valore aggiunto che può derivare
da un’integrazione tra l’identificazione automatica e i sistemi informatici di Business Intelligence
quali i DataWareHouse, prima del mio arrivo, attendeva che la tecnologia raggiungesse un discreto
grado di maturità, al fine di limitare i rischi derivanti dalla scelta di adottare e sviluppare
un’infrastruttura RFId. In effetti, al fine di raggiungere un tale scopo, si ha la necessità di risolvere
un insieme vasto di problematiche che spaziano dal settore economico-giuridico (ad esempio
problemi di privacy qualora si volesse utilizzare la tecnologia per il controllo e la sicurezza delle
persone) a quello prettamente tecnico: le capacità richieste riguardano competenze circa l’harware,
il software, la fisica, la radiofrequenza.
La RFId si presta ad essere utilizzata in innumerevoli campi applicativi, basti pensare ai numerosi
vantaggi che tale tecnologia può comportare soprattutto nella catena logistica e nella grande
7
Capitolo I: Introduzione all’attività di stage
distribuzione organizzata (GDO) in termini di ottimizzazione e semplificazione di quei processi che
richiedono il tracciamento delle merci. Essa, oltre che per gli oggetti, può essere utilizzata nel
mondo degli animali, per una loro semplice e indolore identificazione ed infine anche in quello
umano, per applicazioni quali biglietteria per trasporti, sistemi di pagamento elettronico e per
facilitare le operazioni di controllo accessi delle persone a determinati luoghi, in tal senso il telepass
risulta l’esempio più lampante. In altre parole, l’RFId rappresenta una tecnologia general purpose
con un elevatissimo grado di pervasività: si crede che nel giro di pochi anni essa entri nella vita
quotidiana di tutti noi, in particolare mediante il suo massiccio utilizzo si assisterà alla nascita di
una rete di oggetti (the Internet of thing), dotando infatti ogni bene di un chip RFId, questi saranno
in grado di scambiare autonomamente tra loro le più disparate informazioni.
Prendendo in considerazione quanto appena esposto e considerando il fatto che la JNET non aveva
ancora una persona di riferimento specializzata in tale promettente tecnologia, mi è stato proposto
di addentrarmi in tale campo con la finalità di padroneggiare la tecnica di identificazione a Radio
Frequenza per poi poter sviluppare un sistema che automatizzasse il controllo degli accessi dei
dipendenti al luogo di lavoro.
Mediante l’utilizzo di speciali tessere badge, associate ad ogni dipendente, che hanno incorporato
un chip RFId, ho avuto la possibilità di implementare un sistema che in maniera automatica e
wireless registrasse il transito degli impiegati attraverso un particolare gate, costituito da un
controller RFId.
Il sistema da me implementato, sfruttando la lettura dei dati mediante
comunicazioni radio garantisce un grado di affidabilità e sicurezza superiore ai precedenti sistemi di
badge a banda magnetica. Inoltre, non si ha la necessità di una Line Of Sight tra badge e lettore,
basta, cioè, avvicinare il tag (nella forma di carta di credito) al reader ad una distanza convenuta
per ottenere la lettura dello stesso. Si ha quindi la possibilità di avere un controllo accessi “hand
free” con l’ulteriore vantaggio, da parte dell’utente (dipendente di una società) di potere tenere il
badge anche in tasca o in borsa.
Scopo ultimo del sistema, da me implementato, è avere una associazione tra anagrafica completa
dell’utente ed Electronic Product Code memorizzato nella memoria del transponder RFId (tessera
badge). Oltre a tale preliminare associazione, il sistema è in grado di registrare orari di ingresso e
uscita di ogni singolo lavoratore, calcolare gli intervalli temporali in cui il dipendente staziona
all’interno del posto di lavoro (permettendo di quantificare le durate delle uscite,permessi, pause,
…) ed infine sommare tra loro, per ogni singolo impiegato, gli intervalli di permanenza quotidiani.
8
Capitolo I: Introduzione all’attività di stage
1.3 PIANIFICAZIONE DELL’ATTIVITÀ: LINEE GUIDA E MEZZI
UTILIZZATI.
Al fine di raggiungere gli obiettivi delineati nel paragrafo precedente, la mia attività di stage ha
necessitato di una preliminare ed articolata fase di studio della tecnologia RFId.
In tale propedeutico stadio ho, inizialmente, appreso quali siano i principi fisici e le bande di
frequenza sfruttati per permettere la comunicazione radio tra un dispositivo, chiamato controller (in
seguito per riferirmi a tale apparato userò anche i termini reader o lettore) e un transponder ( o tag,
sensore, smart label, etichetta intelligente …). Essi sono principalmente due: l’effetto backscattering
e l’accoppiamento induttivo, principio quest’ultimo dettagliatamente approfondito nel capitolo
terzo, perché alla base della comunicazione tag-reader nel mio sistema.
In seguito ho dovuto raggiungere un certo grado di familiarità con i diversi standard e protocolli di
comunicazione che permettono l’interoperabilità tra dispositivi fabbricati dai differenti costruttori
presenti oggi nel mercato. Una tale conoscenza risulta, infatti, indispensabile per poter maneggiare e
sfruttare appieno le caratteristiche tecniche dei componenti hardaware di un sistema RFId.
Dopo aver acquisito tali competenze che riguardano gli strati più bassi dell’architettura ISO/OSI di
un sistema di comunicazione, mi è apparso evidente la necessità di dover sfruttare uno strato
middleware per il collegamento tra la realtà fisica degli apparati RFId e i sistemi informativi. Infatti,
per potere trarre vantaggi da una tecnologia sensor-based quale la RFId, si deve poter avere la
capacità di osservare, memorizzare, coordinare e manipolare l’enorme mole di dati provenienti dai
sensori e di inoltrare gli eventi in maniera opportuna. E’ risultato evidente, sin dall’inizio, le
difficoltà che si sarebbero incontrate nel superare queste sfide per mezzo del classico paradigma di
comunicazione client/server, esse, invece, vedono una loro possibile risoluzione mediante
l’adozione di un’architettura publish/subscriber.
In effetti solo dopo tale preliminare fase di studio, ho concordato insieme al direttore tecnico
dell’azienda ospitante il tirocinio, di sfruttare l’identificazione automatica a radio frequenza e tutti i
vantaggi che derivano da una sua adozione per sviluppare un sistema di controllo accessi del
personale.
Una volta fissati gli obiettivi, sono passato ad un esame tecnico dell’hardware RFId a disposizione
(lettore Escort Memory System HF-0402-232-01) concludendo tale fase con la scelta di utilizzare la
banda HF, con portante pari a 13,56 MHz, potenzialmente più competitiva, perché standardizzata a
livello mondiale. Tra i vari tipi di transponder interrogabili mediante il controller utilizzato, la scelta
9
Capitolo I: Introduzione all’attività di stage
è ricaduta sulle Philips Smart Label I-CODE, per motivi di sicurezza e privacy che saranno delineati
nel capitolo quinto.
L’ultima fase del progetto ha previsto una forte attenzione su quali componenti software utilizzare
per l’implementazione del sistema. Data la partnership instaurata, ormai da anni, dalla JNET con la
Oracle, visto che quest’ultima fornisce prodotti indicati all’integrazione della tecnologia RFId con i
sistemi informatici, ho deciso di utilizzare l’Oracle Sensor Edge Server come strato middleware e
l’Oracle DataBase Server 10g come contenitore dei dati. A tali scelte è ovviamente seguita
l’esigenza di prendere familiarità con il linguaggio di programmazione PL/SQL, necessario per
l’interazione con la base di dati relazionale della Oracle e strumento da me utilizzato per realizzare
l’applicativo programmando direttamente all’interno del database, invece di utilizzarlo come
semplice archivio di eventi.
Le varie fasi dell’attività di stage su elencate, sono sinteticamente riportate nel seguente diagramma
di flusso:
Figura 1.1. Diagramma di flusso illustrante le varie fasi dello Stage
10
Capitolo II: Introduzione alla tecnologia RFId
CAPITOLO II
INTRODUZIONE ALLA
TECNOLOGIA RFID.
Questo capitolo si caratterizza come una
sezione
introduttiva
necessaria
alla
comprensione dei capitoli che seguono e, allo
stesso tempo, si presta ad una lettura
indipendente dal resto della tesi in grado di
conferire al lettore una veduta complessiva,
anche se superficiale delle tecniche di
identificazione a radio frequenza.
Inizialmente vengono illustrate le origini della
tecnologia, per poi passare al suo sviluppo. In
seguito vengono descritti i componenti di un
sistema di comunicazione RFId e la loro
classificazione. Infine verrà fornita una
panoramica generale delle applicazioni più
comuni.
11
Capitolo II: Introduzione alla tecnologia RFId
2.1 DEFINIZIONE DI TRANSPONDER
Il transponder (transponditore) è un ricetrasmettitore che invia un segnale radio in risposta a un
comando ricevuto da una stazione remota.
Il segnale di comando o di interrogazione è necessario per determinare la trasmissione del segnale
di ritorno, o risposta, dal transponditore.
I transponder tradizionalmente vengono utilizzati sugli aerei e per il controllo e l'identificazione del
traffico. Dall'utilizzo della tecnologia radio e dalla funzione di identificazione automatica nasce
l'acronimo inglese RFId, Radio Frequency Identification.
2.2 BREVE STORIA: LO SVILUPPO DELLA TECNOLOGIA.
Come spesso accade nel settore dello sviluppo tecnologico, la nascita della tecnica di
identificazione a Radio Frequenza è avvenuta in campo militare. Il suo antenato, infatti, può a tutti
gli effetti essere considerato il sistema Identification Friend or Foe (IFF: Identificazione Amico o
Nemico) sviluppato in Inghilterra nella seconda guerra mondiale (1940). L’apparato a bordo degli
aerei alleati, rispondeva, se interrogato, identificando così gli aerei alleati distinguendoli da quelli
nemici. Questa tecnologia fu estesa più tardi, sempre durante la seconda guerra mondiale, alle navi
in modo da poter identificare con la massima precisione una nave amica e la sua velocità. La
severità degli ambienti operativi e le elevate prestazioni richieste dagli standard militari hanno
permesso di sviluppare prodotti altamente affidabili ancorchè piuttosto costosi.
Durante gli anni '50 non esistevano ancora componenti integrati di piccole dimensioni e a basso
costo, quindi anche se i pricnicpi erano conosciuti e condivisi, la tecnologia elettronica non era
ancora in grado di offrire gli elementi costitutivi adeguati a un costo accettabile.
Verso la fine degli anni '60 hanno iniziato le prime attività commerciali (Sensumatic e Checkpoint)
con la commercializzazione dei primi sistemi Elettronic Article Surveillance (EAS). Questi
primordiali sistemi RFId utilizzavano generalmente un transponder che gestiva un'informazione di 1
bit per poter permettere il rilevamento della presenza/assenza del transponder. L'EAS garantiva una
elementare funzione antitaccheggio nei supermercati che si stavano affermando in tutti i paesi
sviluppati. L'EAS può quindi essere considerata il primo vero caso di effettivo utilizzo di massa
della tecnologia RFId in attività non militari.
12
Capitolo II: Introduzione alla tecnologia RFId
Gli anni '70 si caratterizzarono come il periodo della costruzione degli elementi fondamentali della
tecnologia elettronica dell'RFId. L'inizio di questo periodo vide gli inventori, i laboratori pubblici,
gli ambienti universitari lavorare attivamente alla realizzazione di tutti gli elementi di un sistema
RFId. Uno dei principali centri fu il Los Alamos Laboratory che sviluppò un sistema radio per
identificare sia materiali prodotti dalle attività nucleari sia il personale coinvolto nelle attività.
In questi anni, inoltre, diverse grandi industrie militari americane (Raytheon, RCA, Fairchild, ...)
misero a punto delle applicazioni RFId civili utilizzando la tecnologia già sviluppata per i sistemi
militari.
Un altro fronte di sviluppo fu la realizzazione di metodi per l'identificazione degli animali, sia con
transponder a bassa frequenza (principalmente in Europa) sia con transponder operanti nelle
microonde (Los Alamos).
La tecnologia è poi evoluta in sistemi per seguire la rotta dei carri ferroviari, per l’automazione di
processo nell’industria automobilistica, in agricoltura, nelle riserve naturali e, negli anni '80,
l'identificazione a Radio Frequenza si diffuse su scala mondiale. Negli Stati Uniti gli interessi
puntarono sul controllo delle merci trasportate, sui mezzi di trasporto e in minima parte per
l'identificazione degli animali. In Europa le materie più sviluppate furono l'identificazione degli
animali, le applicazioni per attività industriali e il controllo accesso alle autostrade. Tuttavia tali
sistemi non conobbero un'applicazione di massa a causa soprattutto dell'elevato costo dei singoli
dispositivi elettronici necessari.
Finalmente negli anni '90 cominciarono ad affermarsi le condizioni per lo sviluppo dell'RFId
moderno. Da un lato i circuiti si miniaturizzarono sempre di più permettendo una diminuzione
drammatica dei consumi di energia e dall'altro si cominciarono a sviluppare degli standard
internazionali condivisi che sono la base di una tecnologia che voglia veramente essere pervasiva.
Il periodo attuale è veramente molto interessante per lo sviluppo degli RFId. Molte tecnologie
elettroniche e di radio frequenza hanno recentemente generato nuovi componenti come, per
esempio, le smart label, che possono rivoluzionare il commercio attraverso l'integrazione con
telecomunicazioni, sistemi di reti wireless, Internet, nuovi metodi di pagamento e così via.
La possibilità di realizzare transponder a basso costo, da 50 centesimi a 5 centesimi di euro,
permetterà di rendere reale la possibilità, da molti considerata utopistica, di applicare ad ogni
oggetto un tag contenente le informazioni riguardanti l’oggetto stesso in modo da creare la
cosiddetta Internet Of Things. Questa visione ottimistica della diffusione del RFId nel prossimo
futuro è confermata da alcune macrotendenze in atto in tutte le economie sviluppate:
13
Capitolo II: Introduzione alla tecnologia RFId
1. Diffusione sempre più capillare di card contactless nel settore dei servizi con applicazioni
che spaziano dal ticketing multimodale dei trasporti collettivi ai micropagamenti e alle
tessere di identificazione e sanitarie.
2. Sviluppo impetuoso di progetti pilota e applicazioni RFId ai processi logistici della supplìchain dei beni di largo consumo.
3. Convergenza tra le tecnologie RFId e le tecnologie dei telefoni cellulari utilizzati come
strumento d’interfaccia tra le persone e le cose.
Queste applicazioni mostrano anche la tendenza all’affermazione di dispositivi RFId con
funzionalità che stanno andando molto al di là della semplice identificazione. La riduzione dei costi
sta permettendo l’effettiva realizzazione di numerose famiglie di oggetti intelligenti che sono adatti
alla realizzazione di missioni specifiche.
2.3 COMPONENTI DI UN SISTEMA DI COMUNICAZIONE RFID
La tecnologia RFID si compone di tre elementi fondamentali:
–
TAG; ovvero un trasponder a radiofrequenza di piccole dimensioni costituito da un circuito
integrato (chip) con funzioni di semplice logica di controllo, dotato di memoria, connesso ad
un’antenna ed inserito in un contenitore o incorporato in una etichetta di carta, una Smart
Card, una chiave o inserito in apparati elettronici (orologi, telefonini, ecc.). Il TAG permette
la trasmissione di dati a corto raggio senza contatto fisico. Fatte salve eccezioni, i dati
contenuti nella memoria del TAG sono spesso limitati ad un codice univoco (identificativo).
Nel seguito della tesi per riferirmi al tag userò indistintamente i termini: transponder, smart
label, etichetta intelligente.
Figura 2.1. Transponder passivo ad accoppiamento magnetico con chip a 13,56 MHz
14
Capitolo II: Introduzione alla tecnologia RFId
–
Reader; ovvero un ricetrasmettitore controllato da un microprocessore ed usato per
interrogare e ricevere le informazioni in risposta dai TAG. Esso manda un segnale tramite
un campo elettromagnetico generato attraverso un’antenna, il segnale permette di caricare
(nel caso si utilizzi un transponder detto passivo) i componenti interni che costituiscono il
circuito di alimentazione e ciò avviene in tempi brevissimi, dell’ordine di qualche
millisecondo. Il transponder, una volta riconosciuta la correttezza dell’operazione di
interrogazione, manda verso il lettore un segnale che contiene il suo codice di
identificazione e nonché altri dati contenuti all’interno della sua memoria.
Figura 2. 1. Reader RFId operante alla frequenza 13,56MHz
–
Sistema di gestione (Management system - Host system, ecc.); ovvero un sistema
informativo che, quando esiste, è connesso in rete con i Reader. Tale sistema consente, a
partire dai codici identificativi provenienti dai TAG, di ricavare tutte le informazioni
disponibili associate agli oggetti e di gestire tali informazioni per gli scopi dell’applicazione.
I sistemi RFId fanno parte della
tecnologia Auto-ID, o identificazione automatica, che fa
riferimento ad un sistema che consente:
–
L’acquisizione automatica di dati per l’identificazione.
–
L’introduzione automatica (senza l’ausilio di tastiera o di operazioni manuali in generale) di
questi dati di identificazione e di altri dati complementari all’interno di programmi presenti
in un computer.
15
Capitolo II: Introduzione alla tecnologia RFId
2.4 CLASSIFICAZIONE DEI SISTEMI RFID
2.4.1 I TAG
I TAG (chiamati anche trasponder) vengono distinti, in primo luogo, per la gestione delle fonti
energetiche. I TAG, infatti, possono essere:
–
Passivi: ricavano l’energia per il funzionamento dal segnale proveniente dal Reader; non
possiedono un vero e proprio trasmettitore, ma reirradiano, modulandolo, il segnale
trasmesso dal Reader e riflesso dalla propria antenna.
–
Semi-passivi: dotati di batteria utilizzata solo per alimentare il microchip o apparati ausiliari
(sensori), ma non per alimentare un trasmettitore in quanto in trasmissione si comportano
come TAG passivi.
–
Attivi: alimentati da batterie. Incorporano ricevitore e trasmettitore come i Reader.
TAG passivi sono tipicamente dei dispositivi a basso costo e di piccole dimensioni che consentono
di realizzare numerosi tipi di applicazioni. Spesso ciascuna applicazione è legata a particolari
caratteristiche dimensionali
del TAG medesimo. Essendo infatti costituiti solamente da un’antenna (tipicamente stampata) e da
un circuito integrato generalmente miniaturizzato, l’altezza dei TAG passivi può essere anche di
poche centinaia di micron. I TAG, quindi, possono essere inseriti in carte di credito, etichette
adesive, bottoni ed altri piccoli oggetti di plastica, fogli di carta, banconote e biglietti d’ingresso,
generando così veri e propri oggetti “parlanti”.
I TAG inoltre possono essere di tipo read-only o read-writable. Questi ultimi consentono, durante il
loro uso, oltre alla lettura, anche la modifica o la riscrittura dell’informazione in essi memorizzata.
In passato i TAG passivi erano principalmente di tipo read-only sia perché la fase di scrittura
richiede la disponibilità di una quantità elevata di energia che si ricava con difficoltà dal segnale
ricevuto, sia perché le memorie riscrivibili hanno un costo relativamente elevato. I TAG passivi
riscrivibili sono comunque in rapida diffusione.
Per i TAG attivi o semi passivi, oltre alla maggior quantità di memoria ed alla funzione di
riscrivibilità della stessa, l’evoluzione tecnologica ha consentito di aggiungere, in alcuni casi,
funzioni che superano di gran lunga la pura identificazione. Si ricordano, ad esempio, le funzioni di
radiolocalizzazione (RTLS - Real Time Location System - posizione dell’oggetto che contiene
l’RFID) o la misura di parametri ambientali attraverso sensori (temperatura, movimento, ecc.). La
differenza tra i due non è tanto nelle funzioni di memoria o negli eventuali sensori, quanto nel fatto
16
Capitolo II: Introduzione alla tecnologia RFId
che i TAG attivi sono dei veri e propri apparati ricetrasmittenti mentre i TAG semi passivi sfruttano
la tecnologia di trasmissione dei TAG passivi e pertanto necessitano di risorse di alimentazione
modeste.
Le informazioni che il TAG trasmette al Reader sono contenute in una certa quantità di memoria
che ogni TAG contiene al suo interno. Le informazioni d’identificazione sono relative all’oggetto
interrogato: tipicamente un numero di serie univoco, in qualche caso anche la copia dell’UPC
(Universal Product Code) contenuto nel codice a barre ed altre informazioni (date di produzione,
composizione dell’oggetto, ecc.).
Normalmente la quantità di dati contenuti in un RFID è piuttosto modesta (centinaia di byte o, al
massimo qualche Kbyte). Ciò nonostante, la pervasività dell’uso dei TAG e di opportune tecniche a
radiofrequenza che consentono di interrogare e ricevere risposte da tutti i TAG presenti in un
particolare ambiente possono portare ad una “esplosione” della quantità di dati ottenibili.
2.4.2 I READERS
Il Reader (chiamato anche “interrogator” o “controller” se distinto dalla sua antenna) è l’elemento
che, nei sistemi RFID, consente di assumere le informazioni contenute nel TAG.
Si tratta di un vero e proprio ricetrasmettitore, governato da un sistema di controllo e spesso
connesso in rete con sistemi informatici di gestione per poter ricavare informazioni
dall’identificativo trasmesso dai TAG.
Questo, infatti, specie nei TAG passivi, è un semplice codice che ha però (a differenza dei codici a
barre) la particolarità di essere univoco. Entrando quindi in un sistema informativo ed usando un
codice univoco come chiave di ricerca, si possono ricavare dettagliate informazioni (anche
aggiornate nel tempo) sul particolare oggetto a cui il TAG è associato.
I Reader per TAG attivi sono dei ricetrasmettitori controllati, che possono usare le più diverse
tecniche a radiofrequenza. I TAG attivi, ad oggi, sono solo in piccola parte coperti da standard
specifici.
I Reader per TAG passivi (e semi passivi), invece, devono emettere segnali RF di tipo particolare,
in grado di fornire al TAG anche l’energia necessaria per la risposta.
Le tecniche di comunicazione e trasferimento dati utilizzate nei sistemi RFID sono molto diverse tra
loro per applicazioni che possono andare dalla lettura, a pochi centimetri di distanza, di TAG
passivi, fino a prevedere
letture di TAG attivi a distanza di parecchie centinaia di metri. Inoltre è importante la distinzione tra
Reader fissi (montati sui portali di accesso ai magazzini, sui nastri trasportatori, negli scaffali, ecc.)
17
Capitolo II: Introduzione alla tecnologia RFId
e reader portatili (una sorta di “pistole elettroniche” esteticamente simili a quelle in uso per i codici
a barre.
Per quanto riguarda la diffusione, le installazioni di Reader fissi rappresentano (compresi quelli per
smart card), ad oggi, più dell’80% del totale a livello mondiale. Per quanto riguarda l’uso delle
frequenze, la maggior parte del mercato dei Reader, sia in termini di fatturato, sia in termini di
numero di unità è rappresentato da Reader HF. Tuttavia si prevede che il mercato dei Reader UHF
cresca molto più velocemente degli altri nel prossimo futuro.
2.5 LE FREQUENZE
Le frequenze di comunicazione tra Reader e TAG dipendono sia dalla natura del TAG, sia dalle
applicazioni previste e sono regolate (per controllare le emissioni di potenza e prevenire
interferenze) dai consueti organismi internazionali e nazionali. La regolamentazione, però, è divisa
in regioni geografiche con normazione diversa da regione a regione, che comporta spesso
incompatibilità quando gli RFID viaggiano insieme alle merci alle quali sono associati.
Le porzioni di bande di frequenze più comunemente usate nella tecnologia
RFID sono:
–
In banda LF (Low Frequencies) ed in particolare la sottobanda 120÷145 kHz. Si trova nella
parte più bassa dello spettro RF ed è storicamente la prima frequenza utilizzata per
l’identificazione automatica e rimane ancora oggi con una presenza significativa nel
mercato. L’accoppiamento Reader-TAG avviene per via induttiva, con lo stesso principio
fisico dei trasformatori elettrici. Nel caso di TAG passivi la distanza operativa è all’incirca
pari al diametro dell’antenna del lettore e varia dai 30 cm al metro, al di là di questa portata
il campo si riduce molto rapidamente, in ragione di 1/d3 e l’energia captata dal TAG di 1/d6.
Anche per questo motivo la distanza per poter eventualmente scrivere nella memoria,
operazione che richiede un maggiore consumo di energia da parte del chip che equipaggia il
TAG, è normalmente più bassa di quella di lettura; tipicamente è inferiore del 30÷50%. Va
notato che all’interno della banda LF in realtà sono due le frequenze operative più utilizzate:
o 125,5 kHz principalmente nel settore automotive
18
Capitolo II: Introduzione alla tecnologia RFId
Figura 2. 2. Esempio di tag RFId in banda LF utilizzato nel settore automative
o 134,2 kHz nella tracciabilità animale.
Figura 2. 3. Esempio di tag RFId in banda LF utilizzato nella tracciabilità animale
La frequenza di 125 kHz della portante è relativamente bassa e consente velocità massime di
trasmissione dei dati dell’ordine del migliaio di bit al secondo che possono però scendere in
alcuni casi anche a 200 bit/sec.
A questa frequenza è meno diffuso il supporto di letture multiple ovvero di più TAG
contemporaneamente presenti nel campo del lettore.
Nella tracciabilità animale (134,2 kHz), tale tecnologia ha preso piede soprattutto per la
bassissima influenza che l’acqua ed i tessuti hanno sulla trasmissione. Il TAG, protetto da un
contenitore ceramico, viene fatto ingoiare ai bovini e staziona in permanenza in uno degli
stomaci o, racchiuso in un contenitore di vetro, viene iniettato in posizione sottocutanea
negli animali di dimensioni più contenute, oppure in forma di piccolo disco viene applicato
alle orecchie.
–
In banda HF (High Frequencies) ed in particolare la sottobanda centrata su 13,56 MHz. È
considerata la banda di frequenze “universale”, usabile in tutto il mondo, questo ne ha fatto
la banda più diffusa fino ad oggi.
L’accoppiamento Reader-TAG avviene per via induttiva, come nei TAG LF.
Le forme ed il tipo di packaging disponibili sono le più disparate ed in figura è riportato un
limitato campionario. La configurazione tipica prevede un’antenna formata da un
avvolgimento normalmente in rame, ma viene utilizzato anche l’alluminio, formato su un
substrato piatto e ottenuto per incisione da un sottile foglio di metallo dello spessore di
qualche decina (60-70) di micron, oppure depositato, sul medesimo substrato con inchiostri
19
Capitolo II: Introduzione alla tecnologia RFId
conduttivi. La dimensione ed il numero di spire determinano la sensibilità e la distanza
operativa (insieme, ovviamente, alla dimensione ed alla potenza emessa dall’antenna del
Reader).
Figura 2. 4. Esempi di transponder in banda HF
I costi sono inferiori a quelli dei TAG LF ma strettamente dipendenti dal tipo di supporto e
dalla dimensione, così come i Reader che hanno già goduto di un buon livello di
maturazione del settore.
Le ultime generazioni di chip per questa tipologia di TAG indirizzati all’identificazione
automatica supportano come funzionalità quasi standard i meccanismi di anticollisione che
consentono la lettura/scrittura di più TAG contemporaneamente presenti nel campo del
Reader. A differenza di quanto avviene in UHF il campo RF a 13,56 MHz non è
particolarmente influenzato dall’acqua o dai tessuti del corpo umano. La banda HF è
attualmente la più usata per le cosiddette “etichette intelligenti” (smart label) impiegate nella
logistica e nella gestione degli oggetti, anche se, per quest’ultima applicazione si prevede
che, a lungo termine, prevarranno i sistemi in banda UHF.
In questa frequenza operano anche le “Smart Card contactless”, ovvero carte intelligenti
senza contatti che costituiscono il settore più tecnologicamente presidiato dai produttori di
chip. Le funzionalità offerte spaziano dalla capacità di memoria, che può andare dai pochi
kilobyte e toccare oggi anche il megabyte, alla disponibilità di algoritmi crittografici per
effettuare transazioni sicure. Quasi unicamente di tipo passivo sono coperte da standard ben
assestati quali l’ISO/IEC 14443 – detto anche di ‘proximity’, che copre da 10 a 30 cm – e
l’ISO/IEC 15693, o ‘vicinity’, per una distanza operativa da 30 a 90 cm. Diffuse nel settore
del ticketing, del controllo accessi del personale, della tracciabilità dei bagagli nei sistemi
aeroportuali, stanno per diventare comuni come sostitutivi intelligenti ed inviolabili delle
20
Capitolo II: Introduzione alla tecnologia RFId
schede magnetiche per le transazioni bancarie (bancomat) e come carte di credito. Diversi
stati stanno facendo le prime prove per introdurle come passaporto elettronico.
–
In banda UHF (Ultra High Frequencies) nella zona media le sottobande 865÷870 MHz in
Europa – 902÷928 MHz in USA – 950 MHz in Asia. È la “nuova banda” per gli RFID per la
logistica e la gestione dei singoli oggetti, con range di operazione decisamente più esteso di
quanto non sia consentito da LF ed HF. Purtroppo la banda non è assegnata in modo
uniforme nelle varie nazioni.
L’accoppiamento Reader-TAG avviene per via elettromagnetica, come nei tradizionali
sistemi di radiocomunicazione. Una distanza operativa di 3 metri è ormai standard, ma
sempre più spesso estendibile verso cinque e più metri. Grazie a questo l’UHF media è
destinata sicuramente a confermarsi come la banda regina della logistica e, soprattutto, della
gestione degli oggetti. Tuttavia alcune problematiche, ad oggi in via di risoluzione, ne hanno
rallentato l’introduzione (frequenze operative, standard di comunicazione, potenze in
trasmissione del reader non universalmente definite).
Come già osservato a queste frequenze si fa un uso “convenzionale” delle onde
elettromagnetiche (accoppiamento elettromagnetico). La quantità di energia che il TAG
raccoglie dal campo EM ricevuto è funzione del diagramma di radiazione dell'antenna del
TAG e della densità di potenza del campo EM presente nella posizione del TAG.
Il diagramma di radiazione dell’antenna del TAG è correlato con la lunghezza d'onda del
segnale e con le dimensioni fisiche dell’antenna medesima. La densità di potenza è correlata
con i parametri tecnici del Reader (potenza, antenna).
Se consideriamo la frequenza di 900 MHz la lunghezza d’onda è circa 33 cm e un’antenna a
1/2 onda risulta lunga 16,5 cm, mentre un’antenna ad 1/4 d’onda risulta di circa 8,3 cm.
Figura 2.5. Esempio di tag operante nella banda UHF media
Queste sono le dimensioni più probabili che ci si può aspettare per i TAG operanti in UHF
media. La velocità di trasmissione risulta superiore a quella dei sistemi operanti a frequenze
più basse. I sistemi, inoltre, sono in grado di gestire letture multiple contemporanee
(anticollisione) arrivando alla lettura di più di 100 TAG al secondo.
21
Capitolo II: Introduzione alla tecnologia RFId
–
In banda UHF alta la sottobanda centrata su 2,4 GHz. Con caratteristiche simili all’UHF
media, permette una ulteriore miniaturizzazione del TAG. Si tratta, però, di una banda molto
affollata da altre tecnologie (WiFi, Bluetooth, ZigBee), con le quali bisogna convivere.
–
Esistono anche altre frequenze utilizzabili quali 433÷435 MHz in banda UHF bassa o 5,8
GHz in banda SHF (Super High Frequencies).
Ad oggi, alcune bande di frequenza (generalmente nelle LF o HF) sono accettate in tutto il pianeta.
Un esempio per tutti è la banda dei 13,56 MHz, usata da molti TAG passivi incorporati
essenzialmente nelle smart card per controllo accessi, identificazione e pagamenti, ma anche nelle
etichette associate ad oggetti, quali controllo bagagli, lavanderie, biblioteche, ecc.
Per altre bande di frequenza, specie per quelle UHF di uso più recente, le allocazioni sono differenti
da regione a regione. La scelta della frequenza di lavoro influisce sulla distanza (range) di
operatività del sistema, sulle interferenze con altri sistemi radio, sulla velocità di trasferimento dei
dati e sulle dimensioni dell’antenna. I sistemi che usano frequenze più basse sono spesso basati su
TAG passivi e sono in grado di trasmettere dati a distanze massime dell’ordine del metro e mezzo.
Nei sistemi a frequenze più elevate, invece, oltre ai TAG passivi (con limitazioni a pochi metri delle
distanze operative) sono diffusi TAG attivi che possiedono range operativi maggiori anche se
limitati dai valori massimi di potenza irradiata stabiliti dagli organismi internazionali
che regolano l’uso dello spettro radio. Per sistemi a frequenza più alta la velocità di trasferimento
dati è generalmente maggiore mentre la dimensione delle antenne si riduce. Questo consente di
costruire TAG più piccoli.
Figura 2.6. Allocazione in frequenza della tecnologia RFId
22
Capitolo II: Introduzione alla tecnologia RFId
2.6 LE APPLICAZIONI TIPICHE.
La tecnologia RFID può essere applicata in svariati campi come:
–
Magazzini e punti vendita
Identificare ogni contenitore e ogni scaffale di magazzino con tag riduce gli errori nei
prelievi e migliora l'identificazione. Non sarà più necessario aprire gli imballaggi per
verificare il loro contenuto cercando il codice a barre, così come non sarà più necessario
effettuare il conteggio manuale per la verifica dell'inventario fisico. Con una singola
scansione sarà possibile identificare e verificare il contenuto dei resi e delle spedizioni. Il
dispositivo di lettura consente di leggere contemporaneamente più tag. L'utilizzo dell'RFID
può essere vantaggioso anche nei punti vendita. Esempio tipico ne è un magazzino
d'abbigliamento in cui è possibile conoscere le giacenze in tempo reale, riordinare i capi
esauriti (in tempo reale) aumentando la conoscenza del mercato.
–
Trasporti
In questo caso i tag vengono applicati sia sugli oggetti (scatole, pallet, ecc.) da trasportare,
sia sui mezzi di trasporto (vagoni, automobili, ecc.) In Italia, Francia e in Giappone sono già
funzionanti milioni di tessere RFID che permettono ai pendolari di utilizzare diversi tipi di
trasporto con le diverse forme di abbonamento. Un'altra applicazione della tecnologia RFID
e' in sostituzione del codice a barre come identificativo sui bagagli in aeroporto permettendo
un maggiore "tasso di lettura" ed errore lungo gli scivoli di smistamento. I sistemi RFID
migliorano gli attuali sistemi di identificazione del mezzo di trasporto (l'esempio più
comune è il telepass) sia in termini di efficienza sia di sicurezza.
–
Controllo di carico e scarico
E' possibile l'identificazione del carico di un mezzo di trasporto anche con il mezzo in
movimento. Non è necessario che i prodotti siano visibili rispetto al sistema di
identificazione usato.
–
Controllo presenze e accessi
L'RFID è una valida alternativa sia alle tecnologie di personal identification tradizionali
(badge, tesserini, ecc.), sia alle tecnologie di strong authentication basate sul riconoscimento
degli attributi biometrici di un individuo. A differenza di tali tecnologie non richiede
contatto visivo per l'identificazione e permette il riconoscimento anche a distanza.
L'identificazione tramite RFID oltre a rendere più agile l'impiego di varchi motorizzati,
distinguere gli ingressi dalle uscite e verificare automaticamente l'elenco delle presenze
all'interno di una determinata zona, permette l'avvio o l'arresto di un PC a seconda che il
23
Capitolo II: Introduzione alla tecnologia RFId
proprietario si trovi o meno nelle vicinanze. I tag possono essere stampati o inseriti in
oggetti di forma diversa, come ad esempio un badge identificativo e, quindi, personalizzati
con stampe di immagini, scritte, loghi, fotografie e codici a barre. Possono essere registrate
informazioni come: dati anagrafici, foto di riconoscimento, data e ora di transito, verso di
transito, altro.
–
Sicurezza sul lavoro
Sicurezza degli operatori di macchina (es. una pressa) Una macchina che richiede la
protezione dell'operatore può essere controllata in base alla presenza dell'operatore
autorizzato o arrestare il suo funzionamento se nell'area si avvicina un operatore estraneo o
non autorizzato.
–
Tracciamento pratiche
L'applicazione di una etichetta RFID a ogni pratica consente di automatizzare la loro ricerca
negli archivi cartacei, di effettuare automaticamente la registrazione del prelievo/restituzione
e di mantenere traccia dei vari spostamenti tra uffici e depositi.
–
Identificazione degli animali
Rispetto agli altri metodi utilizzati per l'identificazione degli animali (marca auricolare,
tatuaggio, passaporto cartaceo), con l'applicazione dei tag tutte le informazioni necessarie
sono residenti anche sui capi di bestiame e, grazie all'emissione di onde elettromagnetiche a
bassa frequenza del tutto innocue, risultano accessibili ovunque si trovi l'animale. Le
etichette possono contenere le informazioni indispensabili a garantire la qualità del capo
come ad esempio:
o Codice dell'animale;
o Dati anagrafici (passaporto) proprietario;
o Aziende presso le quali il capo è transitato;
o Controlli veterinari a cui l'animale è stato sottoposto
o Trattamenti subiti.
–
Biblioteche, rilevazione patrimonio librario e movimento libri
Applicando i tag sui beni delle biblioteche (libri, video, CD audio, ecc.) è possibile rilevare a
distanza le informazioni in esso contenute (tipo di bene, descrizione, numero inventario,
rappresentazioni fotografica, ecc.), consentendo di amministrare i libri in dotazione con
estrema facilità ed efficacia. La tecnologia RFID presenta vantaggi anche nelle operazioni di
attivazione di un prestito e restituzione dei libri alla biblioteca, grazie alla presenza di
stazioni self service estremamente facili da usare. Dopo aver prelevato dagli scaffali i libri
da prendere in prestito, l'utente deve avvicinarsi alla postazione e appoggiare i libri sul piano
24
Capitolo II: Introduzione alla tecnologia RFId
di rilevazione assieme alla tessera della biblioteca. Gli oggetti vengono rilevati e la
transazione viene automaticamente registrata. Alla restituzione dei libri, l'utente dispone i
volumi in un apposito cestello, appoggiato su una stazione di lettura. Il sistema rileva il
rientro dei libri nella biblioteca e registra tale transazione, quindi legge dal tag il codice dello
scaffale e del ripiano su cui ogni libro deve essere depositato.
–
Rilevazione dei parametri ambientali
L'ultima frontiera tecnologica in ambito RFID riguarda l'introduzione di tag equipaggiati
con sensori in grado di rilevare i parametri climatici (temperatura, pressione, umidità, ecc.)
dell'ambiente in cui sono immersi. Le grandezze rilevate dai sensori vengono memorizzate
in una apposita memoria interna, e lì permangono fino a quando un operatore, dotato di
apposito lettore, non ne esegue lo scarico su un PC palmare. Queste caratteristiche si
rivelano strategiche per il monitoraggio dei parametri operativi dei macchinari in particolari
realtà industriali, dove è necessario garantire regimi operativi controllati. I tag, grazie alle
ridottissime dimensioni, possono essere collocati in punti "scomodi", dove sarebbe difficile
portare il cavo necessario ad alimentare un apparecchio di misura, ed offrono, a costi
decisamente contenuti, una soluzione affidabile e di facile implementazione.
–
Catena del fresco
Per controllare e mantenere la temperatura adeguata dei prodotti lungo tutte le fasi della loro
distribuzione (trasporto, immagazzinamento, allocazione presso i punti vendita), fino al
momento del loro consumo, al fine di garantire la loro integrità e la loro qualità, è possibile
ricorrere alla tecnologia RFID. I tag possono incorporare un sensore di temperatura, che
serve a controllare questo importante parametro. È possibile programmare gli intervalli di
misurazione della temperatura e memorizzarne i valori, in modo da ottenere un grafico nel
tempo. Grazie all'utilizzo dei tag si potrà monitorare lo stato di conservazione di una
sostanza, oppure segnalare eventuali allarmi quando il parametro temperatura non fosse nei
range voluti, senza aprire le confezioni che proteggono la sostanza conservata in temperatura
e gestendo il dato in via informatica, magari da un sito centrale, dove poter prendere le
decisioni del caso: eliminare il prodotto, accelerare il trattamento di un processo ecc.
25
Capitolo III: Sistemi di comunicazione RFId
CAPITOLO III
SISTEMI DI COMUNICAZIONE
RFID.
Questo capitolo è dedicato ad approfondimenti
tecnici sui diversi sistemi di comunicazione
RFId, con particolare attenzione alla tecnologia
operante nella banda HF, accettata in maniera
universale in tutto il pianeta e da me utilizzata
per lo sviluppo del sistema di controllo accessi.
Verranno illustrati:
Il modello ISO-OSI generale di un sistema di
trasmissione dati RFId.
I principi fisici della comunicazione tagreader.
Problemi di polarizzazione e orientamento
reciproco tra l’antenna del reader e quella
del tag, con un’analisi specifica dei
parametri caratterizzanti l’accoppiamento
induttivo, principio su cui si basa l’RFId in
banda HF.
Codifica dei dati.
Tecniche di modulazione del segnale radio,
nei sistemi passivi e in particolare nella
configurazione HF.
Protocolli anti-collisione: Binary Decision
Tree, ALOHA e slotted ALOHA.
Infine verranno elencati parametri utili alla
scelta di un particolare sistema RFId.
26
Capitolo III: Sistemi di comunicazione RFId
3.1 IL SISTEMA DI TRASMISSIONE DATI RFID
Un sistema reader/transponder può essere rappresentato secondo un classico modello ISO-OSI a
sette livelli che permette di schematizzare le relazioni tra due dispositivi di comunicazione.
In particolare per i sistemi RFId possiamo dire che:
Gli strati 1 e 2 rappresentano il processo di modulazione e la codifica che permettono di
trasmettere tra il reader e il transponder minimizzando gli errori e massimizzando il
trasferimento di energia.
Lo starto 3 rappresenta il processo di gestione dell’anticollisione che permette di interrogare
un tag alla volta.
Gli strati 4, 5 e 6 rappresentano il protocollo di comunicazione nel quale si trovano il
comando di interrogazione, quello di risposta e i comandi che permettono successivamente
di definire le caratteristiche della comunicazione
Lo strato 7 contiene gli effettivi servizi della particolare applicazione RFId.
Strato ISO-OSI
Descrizione
7. Applicazione
Dipendente dalla particolare applicazione
6. Presentazione
Sintesi dei dati trasferiti
5. Sessione
Organizzazione delle sequenze dei dati
4. Trasporto
Qualità e natura della consegna dei dati
3. Rete
Indirizzamento
2. Link logico
Struttura dei dati
1. Link fisico
Proprietà fisiche di comunicazione
Figura 3.1. Modello ISO-OSI del sistema RFId
La realizzazione effettiva degli strati ISO-OSI in un sistema di comunicazione che utilizza le
radiofrequenze è determinato da diversi fattori specifici. Le informazione nei sistemi informativi
sono fondamentalmente codificate come una sequenza di 1 e 0, ma quando devono essere trasmesse
27
Capitolo III: Sistemi di comunicazione RFId
da un sistema ad un altro attraverso un canale di comunicazione che può introdurre disturbi, le cose
cambiano.
Nel caso di un sistema di comunicazione RFId le informazioni sono originariamente di tipo digitale,
ma vengono trasmesse prevalentemente in un canale che utilizza una forma d’onda di tipo
analogico. Le informazioni devono quindi essere trasformate in grandezze che ottimizzano l’uso del
canale di trasmissione in funzione della quantità di energia e di informazione che viene scambiata.
Perciò vengono definite le caratteristiche della rappresentazione degli stati (il processo di
modulazione della portante), della codifica dei dati (la codifica dei bit) e l’affidabilità dei dati
(probabilità, rilevamento e correzione di errore). Infine il protocollo di comunicazione tra apparati
deve identificare il singolo transponder e comunicare le caratteristiche della sessione di
comunicazione (anticollisione) garantendo la sicurezza dell’accesso.
3.2 ACCOPPIAMENTO READER-TAG NEI SISTEMI PASSIVI
La lettura di un TAG passivo (o semi-passivo) è piuttosto diversa da una comunicazione dati full
duplex a radiofrequenza. A differenza degli apparati di tipo attivo, i TAG passivi dipendono per la
loro alimentazione dall’energia a radio frequenza che ricevono. I TAG passivi, inoltre, non
generano la frequenza portante che usano per la trasmissione. Piuttosto essi re-irradiano,
modulandola, una parte dell’energia trasmessa dal Reader che li sta interrogando. Questo fa
riferimento alla possibilità di modulare un segnale generato dal Reader tramite la variazione
dell’impedenza dell’antenna del TAG che trasforma l’antenna medesima da assorbente a riflettente.
Tale processo è molto simile all’uso di uno specchio e della luce solare per segnalazioni luminose a
distanza.
Sfruttando tale principio si elimina anche la necessità di oscillatori locali per generare una portante
a radiofrequenza e si riduce pertanto la potenza necessaria per l’alimentazione del TAG.
Per ricavare energia e comunicare con il Reader, il funzionamento dei TAG passivi si basa su uno
dei due principi fisici seguenti:
–
Accoppiamento induttivo (magnetico) in condizioni di “campo vicino”: sistemi di questo
tipo si basano sul fatto che, per distanze relativamente brevi rispetto alla lunghezza
dell’onda emessa dall’antenna del Reader, nell’antenna del TAG prevalgono gli effetti della
corrente indotta dal campo magnetico che varia periodicamente nel tempo. Poiché il TAG
viene a trovarsi immerso in questo campo magnetico, il flusso magnetico variabile nel
28
Capitolo III: Sistemi di comunicazione RFId
tempo si concatena con le spire dell’antenna del TAG dando così origine, secondo la ben
nota legge fisica di Lenz, ad una corrente indotta nelle spire. L’accoppiamento induttivo tra
le antenne del TAG e del Reader avviene quindi in maniera simile ad un trasformatore.
L’energia ricavata da un siffatto trasformatore viene usata per attivare il TAG. Per ottenere
le condizioni di “campo vicino” alle distanze operative impiegate vengono generalmente
sfruttate le bande con maggiore lunghezza d’onda, ovvero LF ed HF.
–
Accoppiamento elettromagnetico in condizioni di “campo lontano” con effetto
backscatter: sistemi di questo tipo si basano sul fatto che, per distanze relativamente
lunghe, rispetto alla lunghezza dell’onda emessa dall’antenna del Reader, nell’antenna del
TAG prevalgono gli effetti del campo elettromagnetico, che varia periodicamente nel tempo.
L’antenna del TAG riflette parte della potenza elettromagnetica ricevuta. Questa può essere
rilevata dall’antenna del Reader. Il fenomeno della riflessione delle onde elettromagnetiche
è conosciuto come backscattering ed è simile a quello su cui si basa il funzionamento dei
sistemi radar. Per ottenere le condizioni di “campo lontano” alle distanze operative
impiegate vengono generalmente sfruttate le bande con minore lunghezza d’onda (UHF,
SHF).
–
Figura 3.2. Accoppiamento induttivo (campo vicino) - Accoppiamento elettromagnetico (campo lontano)
Il confine teorico tra campo vicino e campo lontano è direttamente proporzionale alla lunghezza
d’onda (l) ed è situato intorno ai 3,5 m per HF e 5 cm per UHF. In pratica altri fattori riducono
questo confine ai valori illustrati in tabella.
Banda di frequenza
Regione di “campo vicino”
Regione di “campo lontano”
LF
< 120 m
> 12000 m
HF
<1m
> 110 m
UHF
< 1,65 cm
> 1,65 m
SHF
< 0,25 cm
> 0,25 cm
Figura 3.3. Regioni di campo vicino e campo lontano per differenti frequenze
29
Capitolo III: Sistemi di comunicazione RFId
3.3 TRASONDER PASSIVI HF AD ACCOPPIAMENTO MAGNETICO
Questo paragrafo presenta un’applicazione specifica della tecnologia RFId alla frequenza di 13,56
MHz, che è particolarmente importante sia per la sua diffusione sia per la sua standardizzazione
mondiale. Tutte le numerosissime applicazioni di card contactless sono basate su questa frequenza e
anche il sistema di controllo accessi da me implementato lavora in tale banda. Inoltre, i principi di
progettazione e funzionamento di un sistema a 13,56 MHz si possono applicare anche agli altri tipi
di transponder passivi accoppiati magneticamente perché i vincoli fisici sono sostanzialmente gli
stessi.
Per i motivi su elencati, in questa sezione sarà data una descrizione dettagliata dei principi fisici di
funzionamento della tecnologia RFId nella banda HF.
Questi TAG usano l’accoppiamento induttivo tra antenne a spire accoppiate come un trasformatore
elettrico (l’antenna del Reader e quella del TAG) per rifornire il TAG di energia e trasmettere. Le
due antenne sono, dal punto di vista elettrico, un circuito accordato LC (induttanza - condensatore).
Alla frequenza di risonanza viene quindi massimizzato il trasferimento di energia tra Reader e
TAG. A parità di altri fattori, un numero di spire minore genera una frequenza di risonanza
maggiore (ad esempio per la frequenza di 13,56 MHz vengono tipicamente usate da 3 a 5 spire nelle
antenne).
La comunicazione tra Reader e TAG avviene modulando in ampiezza il campo magnetico generato
dall’antenna del Reader con il segnale digitale in banda base che deve essere trasmesso.
Il circuito di ricezione del TAG riconosce il campo modulato e decodifica, da questo,
l’informazione trasmessa dal Reader.
Ora, mentre il Reader ha potenza per modulare e trasmettere il proprio campo il TAG non ne ha.
La comunicazione all’indietro dal TAG al Reader si realizza quindi tramite accoppiamento
induttivo, come in un trasformatore in cui l’avvolgimento secondario (antenna del TAG) varia il
proprio carico (modula) ed il risultato (modulato) è visto nell’avvolgimento primario (antenna del
Reader). Il chip del TAG realizza questo effetto cambiando l’impedenza della propria antenna
coerentemente con un segnale modulante ricavato dalla lettura dei dati contenuti nella propria
memoria.
In effetti tutto ciò è più complesso in quanto se il segnale di risposta (modulato) ha la stessa
frequenza del segnale di interrogazione del Reader, sarà mascherato da questo e non facilmente
rilevato a causa del debole accoppiamento tra Reader e TAG.
30
Capitolo III: Sistemi di comunicazione RFId
Figura 3.4. Schema di principio del sistema Reader-Tag ad accoppiamento magnetico
In sintesi la sequenza di eventi nell’interrogazione del TAG da parte del Reader è la seguente:
1. La logica di controllo del Reader invia i dati (dell’interrogazione) al trasmettitore che genera
il segnale per l’antenna a spire.
2. La corrente nell’antenna del Reader induce un campo magnetico pulsante che si concatena
con l’antenna a spire del TAG.
3. La corrente indotta viene rettificata ed accumulata in un condensatore, fornendo
alimentazione alla logica di controllo del TAG.
4. La logica di controllo del TAG (alimentata) si attiva e decodifica il segnale di interrogazione
del Reader.
5. La logica di controllo del TAG legge i dati nella sua memoria e, con questi, modula
l’impedenza di antenna del TAG medesimo.
6. Il Reader percepisce (tramite il rivelatore) le variazioni d’impedenza dell’antenna del TAG
(essendo le spire del TAG e del Reader accoppiate come gli avvolgimenti di un
trasformatore) e trasmette i dati ricevuti alla sua logica di controllo.
3.3.1 ELEMENTI CARATTERIZZANTI I TRANSPONDER AD ACCOPPIAMENTO INDUTTIVO
Oggi esistono molte forme differenti di transponder ed è importante sapere che esistono notevoli
differenze di prestazioni per i diversi tipi di tag in funzione delle loro caratteristiche fisiche: area
dell’antenna, livello di induttanza, fattore di qualità dell’antenna. Le forme di transonder più diffuse
quasi sempre non sono state scelte in funzione delle loro caratteristiche intrinseche di
accoppiamento magnetico ma per garantire l’omogeneità con i sistemi esistenti. Per esempio, il
diffusissimo tag a forma di carta di credito (circa 75mm x 46mm), utilizzato nel mio sistema come
31
Capitolo III: Sistemi di comunicazione RFId
cartellino identificativo dipendente (badge), deve rispettare i criteri dimensionali delle carte di
credito tradizionale con banda magnetica per essere fisicamente compatibile con molti lettori in
grado di leggere sia carte RFId sia carte tradizionali. Purtroppo la forma è un parametro molto
importante per la definizione delle prestazioni dei transponder in funzione di campi di applicazione
diversi, infatti, nonostante con aree uguali si possa concatenare lo stesso flusso, non tutte le forme
di antenne hanno lo stesso livello di efficienza (già nei documenti di Maxwell si possono notare
considerazioni puntuali sui differenti livelli di efficienza delle forme degli induttori che presentano
la stessa area). Dunque, l’area dell’antenna del transponder è un parametro importante nella
valutazione dell’efficienza, ma non è sufficiente. Inoltre l’area dell’antenna, e quindi le relative
dimensioni, non possono essere aumentate indefinitivamente perché all’aumentare delle dimensioni
dell’antenna aumenta in una certa misura anche il livello dell’induttanza del circuito, modificando i
parametri necessari all’ottenimento della frequenza di risonanza del circuito.
Il funzionamento in risonanza del circuito deve essere assolutamente garantito, poiché permette di
ottenere la migliore modalità possibile di scambio di energia e informazioni tra reader e tag. La
frequenza di risonanza di un circuito LC (Induttanza-Capacità) deve quindi essere uguale alla
frequenza della portante, che in questo caso è 13,56 MHz. La frequenza di risonanza dipende
esclusivamente dai valori di L e di C come si può facilmente ricavare dalla seguente equazione:
f =
1
2Π LC
(3.1)
dove L: induttanza [mH] C: conduttanza [mF] f: frequenza portante [MHz].
Poiché il valore di f è fissato in modo molto preciso dalla frequenza della portante e il valore di C
ha un valore determinato dalla capacità del circuito e dalla capacità dell’antenna stessa, il valore L
non può assumere qualsiasi valore ma deve essere in un intervallo in gran parte già determinato.
La bobina dell’antenna può esserere descritta come un’induttanza Lsc in serie a una resistenza Rsc.
La capacità della bobina d’antenna Cc è in parallelo con questo circuito in serie; essa è composta
dalla capacità della stessa bobina (generata dalla vicinanza delle spire sella bobina fra loro) e da un
componente capacitivo addizionale Cext che viene calcolato per ottenere un eventuale accordo di
frequenza risonante, in pratica la presenza di un tale elemento nel circuito dipende dalla filosofia del
fabbricante del chip: Philips, ad esempio, ha incluso nel chip un componente capacitivo, mentre la
Texas Instruments pone l’elemento capacitivo all’esterno del chip.
Anche la scelta del materiale per realizzare l’antenna è importante perché determina il valore della
resistenza Rsc che rappresenta la parte di potenza attiva assorbita dal circuito, dando un’indicazione
della qualità della realizzazione del transponder. In generale, sono normalmente utilizzati tre
materiali che hanno una resistività (la resistività è una grandezza che indica la capacità di condurre
32
Capitolo III: Sistemi di comunicazione RFId
corrente di un materiale, il suo valore è indipendente dalle dimensioni del materiale) molto bassa e
quindi permettono di ottenere questo scopo:
•
Alluminio: resistività 2 [nano ohm]
•
Rame: resistività 1,72 [nano ohm]
•
Argento: resistività 1,62 [nano ohm].
Questi dati indicano che l’argento e il rame hanno dei valori quasi simili e quindi possono essere
utilizzati indistintamente indipendentemente dalle valutazione dei costi: i tag a forma di carta di
credito da me utilizzati usano bobine di rame per limitare il costo di un singolo tag.
Il valore di resistività specifica entra nelle equazioni fondamentali per il progetto dell’antenna.
L’equazione seguente permette di calcolare la resistenza R della bobina:
Rs ⋅ Let
R=
(Tt ⋅ Tw) ⋅ NT
(3.2)
CF
dove:
R s: Resistenza specifica del materiale
L et: Lunghezza totale della bobina
T t: spessore della traccia
T w: Lunghezza della traccia
NT: numero di spire della bobina
CF: fattore di correzione, che varia in confronto del tipo di bobina e delle sue dimensioni. Per un
transponder di tipo carta di credito (utilizzato nel sistema da me implementato) questo coefficiente
può essere fissato a 0,9.
Quindi, a parametri della bobina uguali, le differenze nel funzionamento derivano direttamente dal
tipo di materiale utilizzato per realizzare la bobina.
Si deve quindi calcolare la resistenza parallela equivalente del transpoder (bobina + chip):
Rpe =
Ric ⋅ Rpc
Ric + Rpc
(3.3)
dove:
R ic : Resistenza del chip
R pc: Resistenza parallela della bobina, calcolabile come:
Rpc = R +
(2ΠfLc ) =  Q
R

 serie + 1 R


2
(3.4)
dove:
L c: induttanza della bobina
33
Capitolo III: Sistemi di comunicazione RFId
R : Resistenza della serie derivata dall’equazione (3.2).
La resisenza parallela della bobina dipende quindi dal fattore di qualità Q, che diventa un elemento
cruciale nella progettazione.
Poiché il fattore Q è estremamente importante per il calcolo della resistenza parallela, è quindi
altrettanto importante per la determinazione del consumo di potenza attiva del transponder passivo.
L’importanza del fattore di qualità Q
Evidentemente Q deve essere calcolato alla frequenza operativa di funzionamento che dovrebbe
essere la frequenza di risonanza f, come si può notare dalla seguente equazione:
2πfL
Q
pc
=
R
pc
(3.5)
pc
Le misure di Q in funzione della frequenza e della tensione d’ingresso sono i parametri più
significativi per caratterizzare ogni transponder. Infatti in funzione della frequenza di ingresso, la
resistenza d’ingresso del chip può variare fino a 4 volte il valore in condizione normale a bassa
tensione.
Nello stesso modo, in condizioni di tensione dei morsetti del circuito di raddrizzamento inferiori al
livello operativo, la capacità del chip è molto più alta che nel caso di tensione superiore al livello
minimo operativo. Il fattore QUL, unloaded qualità factor, descrive in modo complessivo e
conservativo le perdite che sono presenti nella bobina, nonché nelle connessioni fra chip e bobina
d’antenna.
Da questo momento il valore di Qul può essere considerato il corretto valore Q da considerare, esso
può esprimere:
•
il rapporto che esiste fra energia che viene conservata nel circuito in un ciclo di energia ed
energia che viene dissipata nello stesso tempo;
•
il rapporto che esiste fra la reattanza e la resistenza.
Questo valore ha anche un altro significato molto importante per i circuiti di radio frequenza. In
effetti, il Q esprime il rapporto che esiste fra la frequenza di risonanza del circuito e la banda
passante del circuito. In un circuito selettivo, la banda passante è la banda di frequenza per la quale
l’attenuazione è inferiore a un determinato valore che viene fissato di solito in 3 dB (decibel); a tale
valore di attenuazione corrisponde metà della potenza che si ha alla frequenza di guadagno
massimo.
f
Q
UL
=
− UL
⇔ B=
B
f
− UL
Q
(3.6)
34
Capitolo III: Sistemi di comunicazione RFId
Si possono quindi calcolare i valori dell’intervallo di frequenza che definiscono la banda passante:


B
−  f − 3dB  = f
− 
UL 
UL  2 



B
+  f − 3dB  = f
+ 
UL 
UL  2 

(3.7)
3.3.2 SENSIBILITÀ ALLA TENSIONE
La tensione presente nella bobina dipende largamente dalla mutua induttanza che esiste fra la stessa
bobina e la bobina che è l’antenna del ricetrasmettitore. La mutua induttanza è una funzione della
geometria delle bobine e dalla distanza r che intercorre fra loro. Il voltaggio indotto nella bobina del
transponder diminuisce con 1/r ³, quindi la distanza operativa diminuisce nello stesso modo. Esiste
un’equazione che permette di calcolare la tensione indotta Vo all’interno di una bobina sintonizzata,
qual è il transponder, rispetto a molti parametri già individuati:
Vo = 2 ⋅ π ⋅ f ⋅ NT ⋅ A ⋅ Q ⋅ Bo ⋅ cos α
(3.7)
dove:
f: frequenza del segnale in arrivo
A: area nella bobina del transponder
Q: fattore di qualità della bobina
Bo: intensità del campo magnetico in arrivo nella bobina, espressa in [ µ ⋅ wb ⋅ m −2 ]. Per risalire al
campo magnetico si utilizza la relazione B=mH
α : angolo di arrivo del segnale.
Questa equazione evidenzia che la tensione indotta attraverso la bombina del transponder è una
funzione dell’angolo di incidenza del segnale. In un sistema classico di transponder a 13,56 MHz il
livello di tensione è al massimo quando la bobina del tag è messa in parallelo con il segnale in
arrivo.
Il transponder entra nelle condizioni operative unicamente quando Vo= V
LA − LB
, ossia quando la
tensione di picco ai capi della bobina diventa uguale a quella necessaria al suo funzionamento, per
esempio fissando Vo a 2,55 Vrms con 3,60 Vpp:
Vo = 2 ⋅ π ⋅ f ⋅ NT ⋅ A ⋅ Q ⋅ Bo ⋅ cos α = 3,60Vpp
(3.8)
Gli altri parametri necessari per il calcolo sono i seguenti:
1. Lunghezza della bobina = 0.075 m
2. Larghezza della bobina = 0.046 m
3. Area della bobina (A) = 0.00345 m²
35
Capitolo III: Sistemi di comunicazione RFId
4. Numero di spire nella bobina (NT) = 6
5. Fattore Q = 45
6. Cos ( α ) = 1
Dall’equazione precedente possiamo ricavare il flusso magnetico minimo di funzionamento del
transponder:
3,60
Bo =
2
= 0,032 µwbm
2 ⋅ π ⋅ f ⋅ NT ⋅ A ⋅ Q ⋅ cos α
(3.9)
Bo qualifica il flusso magnetico necessario per indurre il livello di tensione adatto a garantire il
funzionamento con tensione picco picco definita e in questo caso uguale a 3,60Vpp.
Rmax è la distanza massima fra antenna del ricetrasmettitore e la bobina del transponder che
permette al segnale di essere rilevato e quindi al transponder passivo di essere operativo. A questa
distanza, il livello del flusso magnetico è uguale a Bo.
Calcolo del fattore di qualità Q ottimale
In questo paragrafo, verrà illustrata una metodologia per poter ottenere il fattore di qualità Q che
permetta di minimizzare il fabbisogno di campo magnetico e quindi massimizzare le prestazioni del
transponder.
La portante a 13,56 MHz è modulata con il segnale generato per trasmettere dati dal
ricetrasmettitore verso il transponder. Si può affermare che il prodotto tra la banda passante B e la
durata della modulazione T deve essere uguale a 1. Allo stesso modo si è già posto che:
B=
f
Q
(3.10)
Il valore di T può essere facilmente determinato esaminando le caratteristiche della trasmissione
dati:
•
un ‘1’ logico è trasmesso con una portante modulata in un periodo di 9,44 µs
•
uno ‘0’ logico è trasmesso in un periodo di 4 volte 9,44 µs, ossia 37,76 µs.
Quindi:
•
T = 9,44 µs
•
Q = Tmax * f = 128
•
B = 13560000/128 = 105938Hz
36
Capitolo III: Sistemi di comunicazione RFId
3.4 TRANSPONDER PASSIVI AD ACCOPPIAMENTO
ELETTROMAGNETICO
3.4.1 L’EFFETTO SCATTERING
Quando un’onda elettromagnetica incide su irregolarità nel mezzo in cui si propaga, viene dispersa
in modo casuale. Questo fenomeno è chiamato scattering. In sistemi come il radar o gli RFID
passivi, un trasmettitore invia un’onda elettromagnetica ed un ricevitore rileva lo scattering
generato da un oggetto sul quale l’onda incide. Quando il ricevitore è co-locato con il trasmettitore
il fenomeno è chiamato scatter monostatico o backscatter (nel seguito, per semplicità il backscatter
verrà anche chiamato riflessione, pur nella relativa improprietà del termine). L’IEEE definisce lo
scattering nella propagazione di un’onda radio come “un processo nel quale l’energia di un’onda
viaggiante viene dispersa rispetto alla direzione di propagazione, a causa dell’interazione con le
non omogeneità del mezzo”. Questo avviene quando un’onda elettromagnetica incide su un oggetto
ed induce cariche oscillanti e correnti nell’oggetto e sulla sua superficie e, di conseguenza, si genera
un nuovo campo elettromagnetico.
I sistemi RFID modulano il Backscatter attraverso la variazione dell’impedenza della propria
antenna, ciò consente la comunicazione con il Reader.
Modalità operativa
I TAG passivi che operano in UHF o a frequenze maggiori, usano tecniche a modulazione di
ampiezza simili a quelle dei TAG che operano a frequenza più bassa e ricevono ugualmente la loro
potenza dal campo del Reader. La differenza consiste nel modo in cui l’energia è trasferita e
nell’antenna. Come si è detto, il trasferimento di energia avviene in regime di “campo lontano”. In
questa regione, nella teoria elettromagnetica, le componenti elettrica e magnetica del campo in un
conduttore (antenna) si irradiano e si propagano nella spazio libero come un’onda combinata (onda
elettromagnetica).
A queste frequenze, si opera sempre in “campo lontano” ovvero a distanze a cui l’accoppiamento
induttivo non è più l’effetto prevalente, si opera quindi con antenne a dipolo che catturano il campo
EM come nei tradizionali sistemi di radiocomunicazione.
Quando l’onda EM emessa dal Reader incide sull’antenna del TAG una parte dell’energia è
assorbita per fornire potenza al TAG (attraverso un ordinario circuito rettificatore da tensione
alternata a continua), una piccola parte, invece, è riflessa all’indietro verso il Reader come
backscatter.
37
Capitolo III: Sistemi di comunicazione RFId
Come per i TAG a frequenza più bassa ad accoppiamento induttivo, i TAG passivi UHF non
hanno fonti proprie di energia per trasmettere.
L’energia ricavata dal campo EM assorbito dall’antenna del TAG è dell’ordine di 200 microwatt,
sicuramente troppo bassa per alimentare un trasmettitore. Per la comunicazione tra TAG e Reader,
quindi, si sfrutta la modulazione dell’effetto backscatter.
Anche in questo caso la modulazione del backscatter è ottenuta tramite variazione d’impedenza
dell’antenna del TAG durante la trasmissione del segnale da parte del Reader.
Il compito del Reader è quello di captare le conseguenti variazioni nel segnale riflesso.
L’uso della tecnica della modulazione del backscatter in campo lontano, introduce problemi
differenti da quelli che si manifestano nei sistemi a frequenza più bassa.
Uno dei maggori problemi è dovuto al fatto che il campo emesso dal Reader, non è riflesso solo
dall’antenna del TAG ma anche da tutti gli oggetti circostanti con dimensioni paragonabili alla
lunghezza d’onda adoperata. Questi campi riflessi (cammini multipli o multipath) si sovrappongono
al campo principale emesso dal Reader e possono provocarne lo smorzamento o perfino la
cancellazione. Inoltre anche in questo caso si potrebbero verificare problemi derivati dal segnale di
risposta (modulato) sulla stessa frequenza del segnale di interrogazione del Reader.
I TAG passivi a frequenze elevate (UHF, SHF) inoltre, operano a distanze maggiori di quelli ad
accoppiamento induttivo, con antenne più semplici e di dimensioni ridotte, da qui la previsione
della larga diffusione di questa tecnologia.
Figura 3.5. Schema di principio del sistema Tag-Reader ad accoppiamento elettromagnetico
In conclusione, la sequenza di eventi nell’interrogazione in Backscatter del TAG da parte del
Reader è la seguente:
1. La logica di controllo del Reader invia i dati (dell’interrogazione) al trasmettitore che genera
il segnale RF per l’antenna a dipolo.
38
Capitolo III: Sistemi di comunicazione RFId
2. Il segnale si propaga nello spazio (campo lontano) e viene ricevuto dall’antenna a dipolo del
TAG.
3. L’energia del segnale ricevuto viene rettificata ed accumulata in un condensatore, fornendo
alimentazione alla logica di controllo del TAG.
4. La logica di controllo del TAG (alimentata) si attiva e decodifica il segnale di interrogazione
del Reader.
5. La logica di controllo del TAG legge i dati nella sua memoria e, con questi, modula
l’impedenza di antenna del TAG medesimo e, di conseguenza, modula il Backscatter.
6. Il Reader riceve il segnale di Backscatter, lo decodifica tramite il ricevitore e trasmette i dati
ricevuti alla logica di controllo.
3.5 ANTENNE NEI SISTEMI RFID
Come si è accennato in precedenza, un ruolo di grande rilevanza nei sistemi RFID passivi è giocato
dalle antenne del TAG e del Reader. Le antenne infatti sono la fonte primaria di energia per i TAG
ed i problemi di orientamento e polarizzazione influiscono significativamente sulle prestazioni.
Orientamento e polarizzazione del segnale
Il collocamento del TAG senza rispetto della polarizzazione del campo generato dal Reader provoca
significative riduzioni nella distanza operativa, fino al caso di non riuscire a leggere un TAG
orientato ortogonalmente rispetto al campo generato dal Reader.
Gli apparati con accoppiamento EM, sia passivi che attivi, devono tener conto di due caratteristiche
principali delle antenne (sia del Reader che del TAG):
–
diagramma di radiazione
–
polarizzazione del campo EM
Il diagramma di radiazione è la rappresentazione tridimensionale del guadagno d’antenna, questo
ultimo misurato (in unità logaritmiche–dB) per confronto tra l'antenna considerata e un'antenna di
riferimento isotropa (cioè che irradia egualmente in tutte le direzioni). Solitamente si preferisce
considerare le sezioni orizzontali e verticali del diagramma (tridimensionale) di radiazione.
L’intensità del campo generato da un’antenna è funzione del diagramma di radiazione dell’antenna
medesima. Per il trasferimento ottimale di potenza tra Reader e TAG, i vettori di massima intensità
dei diagrammi di radiazione delle due antenne devono essere allineati.
39
Capitolo III: Sistemi di comunicazione RFId
Figura 3.6. Diagramma di radiazione di un'antenna a forma di dipolo
3.5.1 POLARIZZAZIONE DEL CAMPO EM E ORIENTAMENTO RECIPROCO ANTENNE
Il campo EM è rappresentabile con due vettori campo elettrico E e magnetico H ortogonali tra loro
e rispetto all’asse (X) di propagazione del segnale.
Se la direzione dei due vettori rimane inalterata e solo l’intensità ed il verso variano in modo
sinusoidale, il segnale si dice polarizzato linearmente. Se i vettori del campo elettrico E e magnetico
H ruotano attorno all’asse X (direzione di propagazione del segnale), il segnale è detto a
polarizzazione circolare.
Una direzione parallela dei due vettori di campo elettrico (e necessariamente anche i due di campo
magnetico) delle antenne del TAG e del Reader provoca il massimo trasferimento di energia.
In altri termini, se le antenne sono a polarizzazione lineare è necessario che i relativi dipoli siano
paralleli. Se almeno una della antenne è a polarizzazione circolare, quest’ultima condizione non è
necessaria ed è sufficiente che coincidano gli assi di massima propagazione del segnale.
Per quanto riguarda gli apparati con accoppiamento induttivo, essi sono particolarmente sensibili
soprattutto all’orientamento delle antenne che, si ricorda, sono assimilabili agli avvolgimenti
primario e secondario di un trasformatore elettrico. L’orientamento ottimale per le spire delle due
antenne di TAG e Reader è quello parallelo tra loro.
Il problema della polarizzazione può essere risolto con vari accorgimenti nella realizzazione della/e
antenna/e del reader come illustrato nella seguente tabella:
40
Capitolo III: Sistemi di comunicazione RFId
Bande di frequenza Antenna/e del Reader
HF
Antenne in diverse locazione con diversi orientamenti
UHF
Antenna con polarizzazione circolare
Qualsiasi
Due antenne a 90° fuori fase l’una con l’altra
Tabella 3.7. Tecniche per superare il problema della polarizzazione
Nella progettazione è necessario specializzare l’antenna per le varie applicazioni ed ambienti di
collocazione. Il progetto delle antenne è radicalmente differente per le bande UHF o superiori e per
quelle LF ed HF a causa del funzionamento ad accoppiamento induttivo in quest’ultime.
La maggior parte delle antenne per RFID devono essere accordate sulla risonanza alla frequenza
operativa. Questo espone il sistema all’influenza di molti fattori esterni che possono de-sintonizzare
l’antenna dalla frequenza di risonanza, riducendo la distanza operativa. Le cause sono varie e
dipendenti anche dalla frequenza operativa. Se ne elencano alcune:
•
effetto pelle,
•
perdite dovute a prossimità di masse metalliche,
•
disadattamento con il cavo d’antenna,
•
fading del segnale,
•
prossimità con altre antenne di Reader,
•
variazioni ambientali,
•
effetti armonici,
•
interferenze con altre sorgenti RF,
•
riflessioni del segnale,
•
intermodulazioni (cross talk),
•
effetti generati dal movimento di una delle due antenne nel campo magnetico generato
dall’altra, che genera correnti indotte (di Foucault o Eddy current) come in un generatore
elettrico. Queste correnti interferiscono con quelle prodotte dall’accoppiamento induttivo tra
TAG e Reader.
I problemi di de-sintonizzazione causati dai fattori elencati possono essere minimizzati ricorrendo a
circuiti di auto sintonia dinamica che lavorano sui parametri di sintonia come sistemi in
controreazione. Una tecnica adoperata di frequente nelle applicazioni di carico e scarico delle merci
è quella delle antenne a “Portale”. Un portale prevede una configurazione di antenne in grado di
leggere i TAG sugli oggetti che transitano attraverso di esso. I portali sono spesso previsti per il
transito di pallet (pedane) o per nastri trasportatori; un’altra applicazione molto diffusa li vede
41
Capitolo III: Sistemi di comunicazione RFId
operare all’uscita dei punti vendita come punto di transito obbligato per i clienti che portano merci
acquistate fuori dal locale. Alcune caratteristiche dei portali sono elencate nel seguito.
Spesso nei portali vengono usate antenne a polarizzazione circolare per minimizzare gli effetti
dell’orientamento degli oggetti.
•
La tecnica dei portali riduce sia la probabilità di leggere TAG indesiderati sia le interferenze
tra porte vicine.
•
Con configurazione a portale è possibile leggere il 98,5% dei cartoni dotati di TAG sulle
pedane che passano attraverso le porte.
•
Equipaggiando i portali con sensori di moto si può distinguere automaticamente tra il carico
(in entrata) e lo scarico (in uscita) delle merci.
Figura 3.8. Esempi di antenne HF a "portale" per uscita pubblico nei punti vendita
3.5.2 ANTENNA
DEL READER E ANTENNA DEL TRANSPONDER PER SISTEMI AD
ACCOPPIAMENTO MAGNETICO.
Come visto nel paragrafo -_- , i parametri che permettono di valutare l’intensità del campo
magnetico necessaria per poter fornire energia sufficiente al chip del transponder per poter
funzionare sono riassunti nella seguente equazione:
Vo = 2 ⋅ π ⋅ f ⋅ NT ⋅ A ⋅ Q ⋅ Bo ⋅ cos α = 2 ⋅ π ⋅ f ⋅ NT ⋅ A ⋅ Q ⋅ H ⋅ µo ⋅ cos α
(3.11)
dove:
f: frequenza di risonanza
NT: numero spire bobine
42
Capitolo III: Sistemi di comunicazione RFId
A: area bobina
Q: fattore di qualità
Bo: flusso magnetico minimo di funzionamento
α : angolo di incidenza del segnale in arrivo
H: campo magnetico
µo : permeabilità magnetica nello spazio vuoto
Conoscendo il livello di Vo necessario per far funzionare il transponder, l’equazione può essere
riproposta in funzione al flusso magnetico:
Bo =
Vo
2 ⋅ π ⋅ f ⋅ NT ⋅ A ⋅ Q ⋅ cos α
(3.12)
Descrizione dei principi fisici
Un segnale a RF può essere radiato se la dimensione linerare dell’antenna è paragonabile alla
lunghezza d’onda λ della frequenza operativa f (espressa in Hz):
3 ⋅ 10
λ=
8
f
(3.13)
Poiché la lunghezza d’onda di 13,56 MHz è uguale a 22,12 metri, diventa difficile realizzare un
antenna lineare con tali dimensioni. In alternativa, viene adoperata un’antenna di tipo loop
accordata alla frequenza operativa. Una corrente piccola che circola all’interno di questa bobina
genera un campo magnetico di tipo “campo vicino” ( o “near field”) che decresce con r −3 . Questo
tipo di radiatore (termine più esatto che antenna,in questo caso) è un dipolo magnetico. I
componenti necessari alla realizzazione di questo circuito risonante possono essere un’induttanza di
pochi microhenry e una capacità di pochi picofarad. Il trasferimento di tensione fra l’antenna del
reader (ricetrasmettitore) e le antenne dei transponder è realizzato attraverso l’accoppiamento
induttivo fra le antenne. Come succede all’interno di un trasformatore, dove una tensione nel
circuito primario viene trasferita nel circuito secondario, la tensione nell’antenna del
ricetrasmettitore viene trasferita nella bobina del transponder e viceversa. L’efficienza del
trasferimento del voltaggio viene incrementata notevolmente quando i circuiti hanno elevati fattori
di qualità Q.
Definizioni teoriche importanti
Il modello del trasformatore può essere applicato a una antenna circolare del tipo loop (bobina), da
cui si ricava l’equazione del flusso magnetico:
B=
µo ⋅ I ⋅ NT ⋅ a 2
(
2 ⋅ a2 + r 2
)
3/ 2
⇒ r 2 >> a 2 ⇒ B =
µo ⋅ I ⋅ NT ⋅ a 2  1 
2
 3
r 
(3.14)
43
Capitolo III: Sistemi di comunicazione RFId
dove:
I = corrente, in ampere
a = raggio del loop
r = distanza dal centro del conduttore
µo : permeabilità magnetica nello spazio vuoto
Si ricordi che la legge di Faraday stabilisce che quando una corrente variabile (ad esempio
alternata) fluisce in un conduttore, nei conduttori vicini si manifesta un movimento di elettrodi che
hanno la stessa frequenza, anche se tra i conduttori non esiste collegamento elettrico. Quando le
bobine (o antenne) del ricetrasmettitore e del transponder sono in vicinanza tra loro, il campo
magnetico H prodotto dalla bobina del ricetrasmettitore induce una tensione (forza elettromotrice)
nella bobina del transponder. La tensione indotta nella bobina del transponder è uguale a:
V = − NT ⋅
dφ
dt
(3.15)
dove:
NT: numero di spire nella bobina del transponder
φ : flusso magnetico presente in ogni spira.
Il fisico Lentz scoprì che la corrente indotta ha un verso tale da opporsi alla variazione di campo
magnetico che l’ha causata, ciò è espresso nella precedente equazione dal segno meno.
Il flusso magnetico φ è pari al campo magnetico H che attraversa l’intera superficie della bobina
dell’antenna:
→
→
φ = ∫ Hd A
(3.16)
dove:
H = campo magnetico
A = superficie dell’antenna
Da tale equazione risulta evidente che l’intero flusso magnetico φ che attraversa la bobina
dell’antenna sia influenzato dall’orientamento delle due bobine fra di loro. Il prodotto vettoriale e
quindi il flusso magnetico viene portato al massimo quando le due bobine sono parallele tra loro,
questa condizione permette di ottenere la tensione massima nella bobina del transponder e quindi la
distanza massima di funzionamento.
L’induttanza mutua tre le due antenne (bobine) – del reader e del tag – è definita dalla seguente
equazione:
M =
µo ⋅ π ⋅ NT1 ⋅ NT2 ⋅ (a1 ⋅ a 2 )2
(
2 ⋅ a12 + r 2
)
3/ 2
(3.17)
44
Capitolo III: Sistemi di comunicazione RFId
dove:
NT1 ⋅ NT2 = prodotto tra il numero di spire delle due bobine
a1 = raggio della bobina del ricetrasmettitore (reader)
a2 = raggio della bobina del transponder (tag)
r = distanza fra le due bobine
In altre parole, la mutua induttanza è una funzione che deriva sia dalle geometrie delle rispettive
antenne (bobine) sia dalla distanza esistente tra di loro.
Avendo introdotto il coefficiente di induttanza mutua M, l’equazione che quantifica la tensione
indotta nella bobina del transponder può essere riformulata nel seguente modo:
V = − NT ⋅
dφ
di
= −M
dt
dt
(3.18)
dove:
i = corrente della bobina del ricetrasmettitore (reader).
3.6 CODIFICA DEI DATI NEI SISTEMI RFID
Nel TAG e nel Reader, i dati da trasmettere devono essere codificati in modo da generare un
segnale unipolare binario che verrà usato per la modulazione. Esistono numerosissime tecniche di
codifica, ognuna con caratteristiche differenti relativamente all’occupazione spettrale in banda base,
alla complessità di co-decodifica, alla difficoltà di ricostruire la temporizzazione in ricezione, alla
sensibilità ai disturbi (che determinano errori di trasmissione) e all’energia trasferita. Questi
costituiscono infatti i parametri chiave nella selezione delle tecniche più convenienti per l’uso
nei sistemi RFID.
In particolare, i sistemi basati su TAG passivi impongono vincoli piuttosto stringenti sulla scelta
della metodologia di codifica. La indisponibilità di sorgenti di temporizzazione ad elevata
precisione a bordo del TAG, i vincoli sulla larghezza di banda e, soprattutto, la necessità di
massimizzare il trasferimento di potenza per l’alimentazione del TAG, rendono la codifica dei dati
un’operazione critica per molte applicazioni RFID. Nella trasmissione Reader=>TAG deve essere
massimizzata l’energia nel segnale, per fornire la maggior energia possibile al TAG.
Nella trasmissione TAG=>Reader deve essere minimizzata l’energia nel segnale, per la scarsità di
energia disponibile. D’altro canto l’ampiezza del segnale deve essere tale da consentirne la
rilevazione da parte del Reader.
45
Capitolo III: Sistemi di comunicazione RFId
In genere si utilizzano codifiche basate sulla durata degli impulsi (PIE - Pulse Interval Encoding)
oppure basate sulle transizioni (Manchester, Miller, FM0).
Una caratteristica importante di questi metodi di codifica è che, essendo basati sulle transizioni,
forniscono una sequenza codificata “auto-temporizzata”.
Tale caratteristica consente di ridurre drasticamente, nei TAG passivi, la circuiteria necessaria per la
sincronizzazione.
I metodi denominati Miller ed FM0 invece risultano più idonei all’impiego nella comunicazione dai
TAG passivi verso i Reader, minimizzando l’energia del segnale, soprattutto per la loro proprietà di
possedere la componente spettrale a frequenza zero nulla.
Nei metodi di codifica è definita la durata temporale minima dell’impulso. Tale intervallo temporale
è denominato TARI.
Figura 3.9. Tecniche di codifica
3.6.1 CODIFICA MANCHESTER
Nella codifica Manchester ogni bit viene segnalato da una transizione come illustrato nella Figura
3.6. Proprio per tale caratteristica la codifica Manchester è considerata una codifica autotemporizzata, in quanto la struttura del segnale codificato consente un’accurata sincronizzazione del
flusso dati in ricezione.
46
Capitolo III: Sistemi di comunicazione RFId
La codifica Manchester fornisce un modo semplice per codificare sequenze binarie arbitrarie senza
mai avere lunghi periodi di tempo privi di transizioni di segnale, il che permette di prevenire la
perdita della sincronizzazione del clock, oppure errori di bit causati da derive del livello di base del
segnale ricevuto. Assicura infatti che la componente a frequenza zero del segnale codificato sia
zero. La codifica di ogni bit occupa un intervallo di tempo predefinito “time slot”. Questo time slot
è diviso in due metà, chiamate mezzo bit. Nella codifica Manchester uno zero è codificato con una
assenza di modulazione nel primo mezzo bit ed una modulazione nel secondo mezzo bit. Viceversa
un bit uno è codificato con una modulazione nel primo mezzo bit ed una non modulazione nel
secondo mezzo bit.
3.6.2 CODIFICA PIE
La codifica di tipo PIE (Pulse Interval Encoding) è basata su un TARI predefinito. I bit zero ed uno
così come simboli speciali quali Start Of Frame (SOF) ed End Of Frame (EOF) sono composti da
un numero differente di periodi TARI. Conseguentemente, a parità del numero di simboli da
codificare, la lunghezza della sequenza codificata risulta variabile, tuttavia questa caratteristica
risulta di scarsa importanza poiché la sequenza codificata risulta auto-temporizzata. Il valore TARI
rappresenta anche l’ampiezza d’impulso minima presente nel segnale modulato, fattore importante
per determinare la larghezza di banda del segnale trasmesso. In particolare, più basso è il valore
TARI, più elevata sarà l’occupazione di banda del segnale.
3.6.2 CODIFICA MILLER E FM0
Un’altra caratteristica fondamentale nella scelta delle codifiche più adatte all’implementazione nei
TAG passivi è costituita dalla loro componente spettrale a frequenza zero. Infatti i TAG passivi
modulano, tramite backscattering, una portante ricevuta. Nel Reader il segnale è filtrato per
eliminare la componente a frequenza zero, preservando solo le molto più deboli componenti
modulate dal TAG. Nella comunicazione TAG=>Reader sono richieste pertanto codifiche con una
componente spettrale a frequenza zero nulla o con energia molto bassa tale da non interferire con il
segnale ricevuto e da minimizzare l’emissione di energia da parte del TAG. Le codifiche di tipo
Miller e FM0 godono di tale proprietà.
47
Capitolo III: Sistemi di comunicazione RFId
Come illustrato nella Figura 3.6, anche nel caso della codifica di Miller la codifica di ogni bit
occupa un intervallo di tempo predefinito “time slot”. Questo time slot è diviso in due metà,
chiamate mezzo bit.
Un uno è codificato con una transizione da assenza di modulazione a presenza di modulazione o
viceversa tra i due mezzi bit del simbolo. Un bit zero è codificato invece continuando la presenza o
l’assenza di modulazione come nel precedente mezzo bit oppure invertendo tale stato.
In altri termini si può affermare che nella codifica di Miller si ha un’inversione di fase in banda base
nel caso di due zero consecutivi.
Nella codifica Miller modificata ogni transizione è rimpiazzata da un impulso negativo con durata
molto inferiore al periodo di durata del bit.
Nella codifica FM0 (Figura 3.6) invece si ha un’inversione di fase in banda base ad ogni inizio di
simbolo ed inoltre la codifica del simbolo zero ha un’inversione tra il primo mezzo bit ed il
secondo.
3.7 TECNICHE DI MODULAZIONE NEI SISTEMI PASSIVI
Nella comunicazione tra Reader e TAG e viceversa, vengono usate tecniche di modulazione
semplici che richiedono bassa complessità circuitale e in cui l’ampiezza, la fase o la frequenza,
vengono variate in accordo con l’informazione trasportata da un segnale unipolare binario. I tre tipi
di modulazione più comuni sono:
–
ASK – (Amplitude Shift Keying), la ben nota modulazione d’ampiezza binaria, il segnale
modulante (binario) causa la variazione tra due ampiezze della portante. Se la minore delle
due ampiezze è 0, la modulazione è chiamata On-Off Keying (OOK). La modulazione ASK
può inoltre essere di tipo Double Side Band-Amplitude Shift Keying (DSB-ASK) oppure
Single Side Band-ASK (SSB-ASK) che saranno descritte nei paragrafi seguenti.
–
Phase Reversal-ASK (PR-ASK) nella quale il segnale modulante (binario) causa lo
spostamento di fase di 180° della portante. Simile alla cosiddetta BPSK (Binary Phase Shift
Keying) prevede che la rivelazione avvenga sulla base dell’ampiezza del segnale ricevuto, e
non della fase, così da ottenere un segnale in banda base simile a quello ricavato ad una
modulazione ASK.
–
FSK – (Frequency Shift Keying), il segnale modulante (binario) causa lo spostamento della
portante tra due frequenze.
48
Capitolo III: Sistemi di comunicazione RFId
Un parametro di grande importanza è l’indice di modulazione, (espresso possibilmente in
percentuale) definito negli standard come (a – b)/(a + b) dove a e b sono il valore massimo e quello
minimo dell’ampiezza del segnale modulato. Sebbene la tecnologia a modulazione d’ampiezza sia
ormai superata da tecniche più moderne e più efficienti, essa presenta ancora il fondamentale
vantaggio costituito dalla semplicità circuitale e di conseguenza la ridotta potenza di alimentazione
che favorisce l’implementazione nei TAG passivi. Le tecniche di modulazione più moderne invece,
data la maggiore complicazione circuitale necessaria per ottenere elevate prestazioni non sono
ancora implementabili (con poche eccezioni nelle bande di frequenza più basse) avendo a
disposizione potenze estremamente limitate.
Poiché le caratteristiche di propagazione del segnale dipendono in maniera essenziale dalla
frequenza operativa, i sistemi RFID che operano sulle bande LF, HF e UHF utilizzano codifiche e
modulazioni differenti.
Inoltre dato che le condizioni operative dei Reader e dei TAG sono molto diverse, anche nella
trasmissione TAG =>Reader e Reader =>TAG vengono usate tecniche di codifica e modulazione
differenti.
3.7.1 MODULAZIONE READER TAG
La modulazione Reader =>TAG deve assicurare che il TAG riceva energia sufficiente, che possa
facilmente effettuare la rivelazione e che il segnale del Reader rispetti le regolamentazioni sulla
potenza massima e sull’ampiezza di banda.
Se lo schema di codifica e modulazione non consente al segnale di trasportare abbastanza energia, il
TAG passivo non è in grado di funzionare.
Inoltre il ricevitore del TAG deve essere semplice e deve essere in grado di sincronizzare il segnale.
Per ottenere ciò lo schema di codifica (del Reader) deve consentire (al TAG) il recupero della
sincronizzazione, questo può avvenire dal bordo d’uscita dei simboli di un codice PIE
oppure dalle transizioni di un codice di Manchester.
Infine la probabilità di errore nei dati deve essere bassa, pena il fallimento della comunicazione.
Per quanto riguarda il problema della normativa sulle emissioni a radiofrequenza si devono
considerare anche le forme d’onda ed il filtraggio, oltre all’ottimizzazione dello schema di codifica.
Inoltre tutti i suddetti requisiti devono essere soddisfatti in sistemi a basso costo.
Sistemi LF
Il Reader utilizza prevalentemente la modulazione FSK, per esempio con variazioni tra i due valori
di 125 e 134kHz per rappresentare i dati binari trasmessi al TAG.
49
Capitolo III: Sistemi di comunicazione RFId
Sistemi HF e UHF
Il Reader usa prevalentemente la modulazione ASK caratterizzata dalla semplicità di rivelazione.
3.7.2 RICEZIONE NEL TRANSPONDER
A bordo della maggior parte dei TAG passivi sono realizzati ricevitori molto semplici con l’utilizzo
di una potenza di alimentazione estremamente bassa.
Ad esempio, la semplicità ed economicità di un ricevitore ASK è garantita dalla possibilità di
realizzare rivelatori non coerenti (cioè senza rivelazione della fase del segnale) che estraggono
l’inviluppo dell’ampiezza del segnale modulato. Un tipico circuito di questo tipo, spesso realizzato
nei TAG, è il ben noto “rivelatore ad inviluppo” rappresentato nella Figura III.6.
Figura 3.10. Rivelatore a inviluppo
Dopo la demodulazione, i TAG passivi sono in grado di decodificare segnali codificati Manchester
(Bi-Phase-L) e Pulse Interval Encoding (PIE) maggiormente utilizzati nelle comunicazioni dai
Reader verso i TAG.
Tali tecniche tuttavia presentano un duplice svantaggio: l’occupazione di banda risulta piuttosto
elevata mentre l’efficienza spettrale (bit/Hz) risulta relativamente basso.
Queste due caratteristiche tendono generalmente ad essere antagoniste.
Ad esempio gli enti regolatori richiedono che lo spettro emesso sia ben confinato nell’ambito della
banda assegnata. Usando la modulazione d’ampiezza (ASK) l’estensione dello spettro del segnale
emesso limita fortemente il bitrate, a meno dell’impiego di codifiche più complesse.
L’estensione dello spettro del segnale, infatti, dipende dal metodo di codifica. Nella figura è
riportato un confronto tra gli spettri ottenuti dalle codifiche Manchester ed NRZ, quest’ultima
utilizzata dal lettore “Escort Memory System HF-0405” da me utilizzato.
50
Capitolo III: Sistemi di comunicazione RFId
Figura 3.11. Confronto tra spettri di segnali con codifiche Manchester e NRZ
Le applicazioni, dal canto loro, richiedono velocità di lettura dei TAG elevate che implicano un
maggior bitrate e conseguentemente una banda maggiore.
3.7.3 MODULAZIONE TAG READER
Ricordando che il TAG non è equipaggiato con un trasmettitore ma si limita a modulare il carico
(nell’accoppiamento induttivo) o il backscatter, va rilevato che entrambe queste tecniche
permettono la variazione in ampiezza o in fase della portante re-irradiata, in dipendenza della loro
implementazione.
Come conseguenza del livello estremamente basso del segnale modulato dal TAG relativamente a
quello emesso dal Reader, si verificano difficoltà nella ricezione del segnale da parte di
quest’ultimo. I due segnali infatti, quello del Reader e quello del TAG, avrebbero la stessa
frequenza.
Per consentire al Reader di rilevare più agevolmente il segnale del TAG viene spesso usata, nel
processo di modulazione del TAG, una sottoportante che sposta lo spettro del segnale modulato dal
TAG lontano dalla frequenza della portante (generata dal Reader). Questa sottoportante è rilevabile
con maggior facilità dal Reader medesimo attraverso opportuno filtraggio.
Ricordando che le tecniche di codifica dei dati adottate dal TAG determinano anche lo spettro di
frequenza del segnale di risposta, per creare una sottoportante, la modulazione (tramite variazione
del carico o back- scattering) viene operata ad una frequenza più elevata del data rate nominale
derivante dalla codifica di linea.
L’informazione viene quindi modulata nella banda laterale di una sottoportante a frequenza più alta
di quella della portante d’interrogazione del Reader.
51
Capitolo III: Sistemi di comunicazione RFId
Figura 3.12. Spettri dei segnali di un sistema HF a 13,56 MHz
La Figura 3.9 illustra un tipica situazione spesso utilizzata nei sistemi HF che operano a 13,56 MHz
ed usano una sottoportante distante 212 KHz. Questo accorgimento sposta le bande laterali
associate alla modulazione operata dal TAG di 212 KHz sopra e sotto la frequenza portante di
13,56 MHz consentendo così una più agevole ricezione da parte del Reader.
Poiché però la maggior parte dei segnali di backscatter sono a livello relativamente basso ciò
obbliga il Reader ad emettere un tono molto pulito in modo da non interferire con le risposte del
TAG. Inoltre, per generare la sottoportante, il TAG deve essere dotato di un oscillatore locale o
comunque di una temporizzazione più veloce di quella ricavabile dal segnale ricevuto.
Per quanto riguarda invece la banda occupata dal segnale di risposta dal TAG verso il Reader è da
notare che il backscatter non si mantiene confinato nell’ampiezza di banda del segnale emesso dal
Reader. Le emissioni del TAG tuttavia non costituiscono un parametro critico, in quanto
il livello del segnale è così basso da essere considerato (non incorrere) nelle prescrizioni normative
per la larghezza di banda ai fini delle interferenze dei segnali radio.
3.8 PROTOCOLLI ANTI-COLLISIONE
Quando si opera in ambienti con molteplicità di TAG o Reader che operano nello stesso tempo,
sorgono i classici problemi di conflitti tra apparati nelle comunicazioni wireless. Il problema
presenta due aspetti speculari:
1. Tutti i TAG (in mancanza di apposite procedure) risponderebbero contemporaneamente ad
una interrogazione di Reader ricevuta correttamente.
2. I TAG dovrebbero rispondere a tutti i Reader che li interrogassero contemporaneamente.
52
Capitolo III: Sistemi di comunicazione RFId
Naturalmente in queste condizioni la comunicazione non può avvenire con successo, pertanto vanno
presi provvedimenti affinché nessuno di questi due casi si verifichi.
La possibilità di risposte multiple e contemporanee da parte di più TAG che ricevano la stessa
interrogazione corrisponde alla circostanza di diversi TAG presenti nel raggio di azione di uno
stesso Reader. In questo caso essi replicherebbero alle interrogazioni tutti nello stesso momento.
Questo provocherebbe inevitabilmente collisioni e perdite di dati. È quindi necessario implementare
nei TAG algoritmi anti collisione, in modo che le loro risposte possano essere ordinate
temporalmente e riconosciute individualmente.
Il numero di TAG che può essere identificato (nell’unità di tempo) all’interno della distanza
operativa di un Reader dipende dal bitrate dei TAG (che dipende anche dalla frequenza operativa) e
dal protocollo anticollisione, tipicamente si va da 50 TAG/s per frequenze HF a 200 TAG/s per
frequenze UHF.
Esistono due classi fondamentali di protocolli anti-collisione, derivati direttamente dalle tecnologie
delle wirwless LAN, la classe dei protocolli deterministici e quella dei protocolli probabilistici.
Nell’ambito dei protocolli che gestiscono le “collisioni” tra trasmissioni simultanee da una
molteplicità di TAG, il cosiddetto “Binary Decision Tree” appartiene alla classe dei protocolli
deterministici mentre i cosiddetti “ALOHA” e “slotted ALOHA” appartengono alla classe dei
protocolli probabilistici.
Mentre il protocollo “Binary Decision Tree” è realizzato dal Reader attraverso interrogazioni
ripetute dei TAG, i protocolli “ALOHA” e “slotted ALOHA” sono realizzati dai TAG per
rispondere ad una interrogazione da parte del Reader.
Supponendo che il Reader effettui chiamate selettive, il protocollo “Binary Decision Tree” ha come
obiettivo di identificare i TAG aventi identificatori uguali ad un prefissato numero binario. Ad
esempio, tutti i TAG aventi identificatore con la prima cifra uguale ad 1 rispondono ad una prima
interrogazione, poi tutti quelli con seconda cifra uguale a 0 e così via fino a che ogni TAG abbia
risposto per la prima volta.
A questo punto il Reader avrà registrato tutti i TAG e compatibilmente con le capacità dei TAG il
Reader potrà indirizzarli singolarmente. Nel caso si verifichino collisioni, cifre addizionali vengono
utilizzate nell’interrogazione relativa a quella particolare porzione dell’albero di decisione. Ad
esempio se la chiamata con prima cifra “0” dà collisione si passerà a due chiamate con cifre “00” e
“01”, se anche la chiamata con cifre “01” dà collisione si passerà a due chiamate con cifre “010” e
“011” e via discorrendo fino alla risoluzione di tutti i conflitti. Dalla figura 3.10 appare evidente
l’esplosione delle dimensioni dell’albero e quindi del numero delle chiamate all’aumentare del
53
Capitolo III: Sistemi di comunicazione RFId
numero dei TAG, conseguentemente i protocolli di questo tipo presentano delle prestazioni limitate
per quanto riguarda la velocità di ricerca degli identificatori dei TAG nell’intero albero.
Figura 3.13. Protocollo anti-collisione deterministico: Binary Decision Tree
Il protocollo di tipo probabilistico ALOHA prevede che il TAG trasmetta il proprio messaggio e se
il messaggio non va a buon fine il TAG effettua un nuovo tentativo di trasmissione, autonomamente
(dopo avere atteso un certo periodo di tempo) o a seguito di una nuova interrogazione da parte del
Reader. I tentativi di trasmissione proseguono fino a che la trasmissione del messaggio va a buon
fine.
Il protocollo “slotted ALOHA” prevede invece una sorta di discretizzazione degli istanti in cui i
TAG possono iniziare a trasmettere un pacchetto di dati. Questo comporta che se non vi è collisione
nell’istante iniziale, il pacchetto sicuramente non subirà collisione durante la sua trasmissione.
Il protocollo “slotted ALOHA” possiede un’efficienza in termini di sfruttamento della banda
disponibile di circa il 30% rispetto a circa il 18% dell’ALOHA. I protocolli ALOHA sono
relativamente veloci nell’identificazione di un particolare TAG nell’ambito di un insieme
numeroso. Inoltre una maggiore efficienza può essere raggiunta con l’impiego aggiuntivo di
tecniche di tipo Listen Before Talk (LBT). Queste prevedono che il Reader verifichi che il canale di
trasmissione sia libero prima di effettuare un’interrogazione, evitando così di interrompere una
trasmissione in corso.
Figura 3.14. Protocolli anticollisione stocastici ALOHA e slotted ALOHA
54
Capitolo III: Sistemi di comunicazione RFId
3.9 PARAMETRI PER LA SCELTA DI UN TAG
Si riporta qui di seguito un elenco delle caratteristiche principali da tenere in conto per la scelta di
un TAG nell’ambito di un particolare sistema RFID:
•
dimensioni e forma (in relazione alla collocazione del TAG);
•
distanze reciproche dei TAG;
•
durata (eventuale necessità di avere una protezione esterna robusta contro usura e rotture);
•
riutilizzabilità;
•
resistenza in ambienti critici (corrosivi, ad alta pressione, ecc.);
•
polarizzazione (orientazione del TAG rispetto al campo del Reader);
•
intervalli di temperatura in cui è previsto il funzionamento;
•
distanza di comunicazione tra TAG e Reader;
•
influenza da parte di eventuali materiali metallici e liquidi;
•
ambiente operativo (presenza di rumore elettrico, presenza di altri apparati radio, ecc);
•
frequenze operative (LF, HF o UHF);
•
standard e protocolli di comunicazioni supportati (ISO, EPC);
•
soddisfacimento di regolamentazioni regionali (USA, Europa, Asia);
•
ammontare dei dati da memorizzare nel TAG (eventualmente più di un unico identificativo
di prodotto EPC);
•
caratteristiche anticollisione (numero massimo di TAG nel range di operabilità e velocità di
identificazione);
•
velocità dei TAG all’interno del campo del Reader;
•
supporto di Reader (quali prodotti Reader sono in grado di leggere i TAG);
•
necessità di protezione dei dati del TAG (eventuale necessità di cifratura).
I TAG sono costruiti in una grande varietà di contenitori, progettati per ambienti ed applicazioni
differenti.
Nel tipico TAG etichetta, chip ed antenna sono generalmente inseriti tra un substrato di materiale
plastico ed una copertura di carta, ma sono possibili molte altre soluzioni, dal bullone al bottone,
fino al tappo (in plastica) per bottiglie di vino.
Vengono usati vari processi di assemblaggio che consentono realizzazioni miniaturizzate, il più
comune, usato nei TAG incorporati in etichette e smart card, prevede:
•
un substrato di materiale elettricamente isolante e permeabile alle onde EM (carta, PVC,
PET, ecc.)
55
Capitolo III: Sistemi di comunicazione RFId
•
sul substrato viene depositata l’antenna realizzata con inchiostri conduttori o metalli vari
(argento, alluminio, rame)
•
successivamente il chip con l’elettronica del TAG viene connesso all’antenna con l’uso di
tecnologie tipiche dei circuiti ibridi (wire bonding, flip chip, ecc.)
•
infine viene sovrapposto uno strato di materiale protettivo (laminazione in PVC, resina
epossilica, carta adesiva, ecc.) per proteggere controabrasioni, corrosioni ed urti.
Figura 3.15. Processo assemblaggio tag
Tra i formati di assemblaggio più comuni, si ricordano:
•
Tessere (tipo carta di credito);
•
Etichette flessibili adesive;
•
TAG su carta;
•
Contenitori tipo gettoni e monete;
•
TAG iniettati o modellati in contenitori e prodotti di plastica;
•
TAG su cinturini da polso (usi ospedalieri);
•
TAG ad alta robustezza in contenitore epossidico sigillato;
•
TAG su chiavi;
•
TAG per grandi contenitori (pallet, container, ecc.).
56
Capitolo IV: Standard e protocolli di comunicazione
CAPITOLO IV
STANDARD E PROTOCOLLI DI
COMUNICAZIONE.
Questa parte è dedicata agli standard di
comunicazione, problema fondamentale per
tutte quelle tecnologie che richiedono
interoperabilità tra dispositivi di diversi
costruttori.
Ad un introduzione riguardante i principali
organismi dediti alla regolamentazione specifica
nei sistemi RFId (ISO, EPCglobal), seguirà una
descrizione breve e schematica degli standard,
dei protocolli e delle normative che
regolamentano
il
mercato
odierno
dell’identificazione a Radio Frequenza.
Particolare approfondimento sarà, invece,
concesso allo standard ISO/IEC 15693, che
regolamenta
l’interfaccia
radio
di
comunicazione tra reader e transponder
utilizzati nel sistema di controllo accessi da me
implementato.
57
Capitolo IV: Standard e protocolli di comunicazione
4.1 GLI ENTI DI NORMAZIONE
Il mondo della standirdazione del campo elettromagnetico è oltremodo ampio e variegato, lo spettro
radio è una risorsa limitata e può essere usata, allocata e assegnata a utilizzi e utilizzatori (lincensed
spectrum) o può essere allocata per utilizzi indipendenti dal conseguimento di un’assegnazione
(unlicensed spectrum). I costi di aggiudicazione di un’assegnazione danno garanzie di controllo
sull’uso dello spettro assegnato, come nel caso della telefonia cellulare. D’altra parte, nel caso di
spettri unlicensed l’uso promiscuo non provede tutele sostanziali, come nel caso della
comunicazione Bluetooth.
La tecnologia RFID è stata ed è oggetto di consistenti attività di normazione sia a livello pubblico
(internazionale e regionale), sia privato (consorzi di aziende).
Nei primi anni di vita la standardizzazione non è stata un processo ordinato. La storia degli standard
RFID negli ultimi 10 anni, infatti, non ha seguito uno sviluppo ideale, venendo governata da
particolari interessi industriali. Questo anche perché le opinioni sulla necessità di standard unici e
pubblici non sono unanimi. Per la maggior parte degli esperti la proliferazione di specifiche di
consorzi privati, i cosiddetti “standard de facto”, comporta incrementi nei costi sia per lo sviluppo
tecnologico sia per i prodotti finali e comporta, inoltre, una significativa barriera al commercio.
Da un altro punto di vista, però, una “libera” competizione (che quindi veda la competizione di
specifiche tecniche di consorzi privati senza grande necessità di standard ufficiali emessi dalle
organizzazioni di normativa), potrebbe essere vista come uno stimolo a sviluppare tecnologie
antagoniste il cui successo sarebbe garantito dalle prestazioni e dal mercato invece che da accordi
all’interno delle commissioni.
La linea che si sta affermando vede prevalere gli standard “pubblici”, solo però per quanto riguarda
la razionalizzazione del processo produttivo dei TAG e le conseguenti economie di scala. L’azione
dei produttori negli organismi di normativa è infatti tale da far strutturare gli standard con una
quantità di opzioni spesso ingiustificata sul piano dell’utilizzo. Questo non ostacola la
razionalizzazione dei processi produttivi, ma rende troppo agevole differenziare i prodotti in modo
da rendere ardua la cosa che maggiormente interessa l’utilizzatore, ovvero l’intercambiabilità tra
fornitori. Si potrebbe quindi concludere che l’affermazione degli standard “pubblici”, oggi prodotti
dalle organizzazioni internazionali di normativa, va vista come un processo decisamente positivo,
ma le contingenze nelle quali si consolida tutelano meglio gli interessi dei produttori, rispetto a
quelli degli utilizzatori.
Tra Organizzazioni pubbliche e consorzi di aziende hanno portato avanti, in questi anni, l’attività di
normazione sui sistemi RFID, emergono essenzialmente EPCglobal ed ISO.
58
Capitolo IV: Standard e protocolli di comunicazione
•
EPCglobal nato ed operante come una associazione privata
•
ISO (ed organismi ad esso collegati) che costituisce l’ente mondiale di normativa in quasi
tutti i campi della tecnologia.
Iniziato con specifiche esclusivamente proprietarie, il processo di standardizzazione vede ora la
competizione tra i due organismi i cui elaborati stanno convergendo. Ad esempio, gli standard per
l’interfaccia radio sono, ad oggi, proposti sia da ISO che da EPCglobal (probabilmente l’uno
orientato su tutti i campi inerenti la gestione degli oggetti, l’altro polarizzato sulle esigenze
specifiche della catena di distribuzione). A questo proposito andrebbe sottolineata l’esistenza di
punti di vista differenti relativamente all’approccio normativo di EPCglobal sui temi della proprietà
intellettuale.
Il processo di armonizzazione della normativa comunque è in corso e porterà ad una famiglia di
standard globali, che garantirà adozione universale. Questo sarà un fattore chiave per la definitiva
affermazione della tecnologia RFID. Nel seguito si accenna al quadro dell’articolazione, nelle
varie regioni, delle organizzazioni che fanno capo all’ISO.
4.1.1 SITUAZIONE IN EUROPA
La normativa ISO viene recepita, a livello europeo, dal Comitato Europeo di Standardizzazione
(CEN), per quanto riguarda la parte fisica (hardware) e procedurale (protocolli di comunicazione),
mentre l’Istituto Europeo di Standardizzazione nelle Telecomunicazioni (ETSI) emette normativa
nelle materie omonime (essenzialmente compatibilità elettromagnetica).
4.1.2 SITUAZIONE IN USA
L’ANSI (American National Standard Institute) costituisce negli USA l’equivalente del CEN
europeo. Il NIST (National Institute of Standards and Technology), invece, è una agenzia del
Dipartimento del Commercio Americano che emette standard obbligatori per gli acquisti fatti dal
governo degli USA escluso il DoD (Dipartimento della Difesa) che ha standard propri.
4.1.3 SITUAZIONE IN CINA
Anche in Cina esiste l’organismo che recepisce gli standard ISO, ovvero il Dipartimento per la
Standardizzazione della Cina SAC (Standardization Administration of the People's Republic of
59
Capitolo IV: Standard e protocolli di comunicazione
China) che agisce su autorizzazione governativa (State Council) e sotto il controllo dell’AQSIQ
(General Administration of Quality Supervision, Inspection and Quarantine of the People's
Republic of China).
La Cina, che si avvia a costituire uno dei maggiori mercati mondiali, sta iniziando in modo
indipendente un lavoro di standardizzazione sugli RFID. Questo può generare criticità
nell’etichettatura di beni cinesi destinati oltreoceano, in quanto la Cina che esporta un grande
volume di beni, è uno dei maggiori mercati potenziali della tecnologia RFID. Attualmente il
“Ministry of Science and Technology (MOST)” cinese ed altri 13 dipartimenti governativi, inclusi i
“Ministry of Information Industry (MII)” ed il già citato SAC, hanno prodotto un “white paper” che
traccia le linee guida per lo sviluppo degli RFID nel paese.
L’amministrazione cinese ha incaricato il “National RFID Tags Standards Working Group” di
definire quale tecnologia debba essere adottata in Cina. Molto probabilmente verrà deciso di
adottare qualcosa di compatibile con gli standard EPCglobal ed ISO, purché vengano adoperati
propri diritti sulla proprietà intellettuale in modo da ottenere standard liberi da royalty.
4.2 LE NORMATIVE ISO E EPCGLOBAL
I primi standard RFID sono stati realizzati in ISO, per TAG passivi a bassa frequenza e
comprendono:
•
Gli standard sui TAG per identificazione degli animali:
o ISO 11784
o Radio frequency identification of animals - Code structure
o ISO 11785
o Radio frequency identification of animals - Technical concept
•
Protocolli per l’interfaccia radio per TAG RFID usati nei sistemi di pagamento, smart cards
senza contatti e carte di prossimità:
o ISO/IEC 10536
o Identification cards, Contactless integrated circuit(s) cards, proximity/vicinity cards
ISO/IEC 14443
ISO/IEC 15693
•
Metodi per il test e la conformità di TAG e Reader RFID ad uno standard (ISO/IEC 18047);
•
Metodi per il test delle prestazioni di TAG e Reader RFID (ISO/IEC 18046).
60
Capitolo IV: Standard e protocolli di comunicazione
Successivamente EPCglobal ha prodotto normative orientate all’uso dei TAG nella logistica,
ovvero:
•
una tassonomia di classi di TAG;
•
standard per protocolli di comunicazione a radio frequenza tra TAG e Reader;
•
formato per la memorizzazione delle informazioni di identificazione nei TAG.
Inoltre EPCglobal ha creato standard e specifiche per l’interconnessione di sistemi informatici
(server) che consentono di accedere ad informazioni complete su oggetti identificati tramite codici
EPC, tramite i codici EPC medesimi ottenuti dai TAG.
Il tutto sulla falsariga dei sistemi per la risoluzione dei nomi simbolici in Internet (DNS - Domain
Nane Server). I sistemi informativi, detti “EPC Information Services” o EPCIS sono accessibili via
Internet con servizi di rete per autorizzazione e sicurezza.
Nel dicembre 2004, EPCglobal ha emesso uno standard lungamente atteso per TAG operanti nelle
banda UHF media, che promette la diffusione massiva di TAG passivi a basso costo ed alte
prestazioni. Si tratta dei cosiddetti Class 1 Generation 2 (EPC Gen2) RFID. Lo standard copre i
protocolli di comunicazione per l’interfaccia a radio frequenza e sta stimolando lo sviluppo di
nuove applicazioni. Il nuovo standard EPC Gen2, recentemente recepito dall’ISO (ISO/IEC 180006 Type C), è destinato a superare le preoccupazioni dell’utenza connesse ai diversi standard relativi
a TAG per veicolare identificativi EPC ed operanti nelle bande UHF. Si posiziona tra gli standard
con carico lieve di diritti per brevetti (è comunque necessario, per ottenere la conformità allo
standard di associarsi ad EPCGlobal).
61
Capitolo IV: Standard e protocolli di comunicazione
4.2.1 LE NORMATIVE EPCGLOBAL
Frequenza
Classe
Standard
Alimentazione
Descrizione - Applicazioni
Memoria
Class0
Gen1
- 900 MHz Class 0
RadioFrequency
Identification Tag
Specification
UHF
Passivi
Solo lettura
Sono i tipi più semplici, ove I dati,
generalmente il solo identificatore (EPC),
sono scritti durante il processo di produzione e
non sono possibili modifiche. La classe 0
definisce anche una categoria di TAG
chiamati EAS (anti-theft), questi non hanno
identificatore completo ma annunciano solo la
loro presenza quando transitano nel campo
generato dall’antenna del Reader.
- 13,56 MHz RFId Tag
HF – UHF
Specification
Passivi
- 860 MHz – 930 MHz
Class1
Scrivibili una sola
Class1 RFId Tag &
Gen1
volta (WORM:
Logical
write once, read
Communication
many)
Interface Specification
Sono costruiti senza dati scritti in memeoria. I
dati possono essere scritti una sola volta
dall’utente o in fabbrica, successivamente è
possibile la sola lettura. Questo tipo di tag
viene principalmente usato come semplice
identificatore
- EPCglobal Tag Data
Standard Version 1.3
Class1Gen2 UHF
Interface Protocol
Class1
Standard Version 1.0.9
Gen2
- Class1Gen2 UHF
RFId Conformance
Requirements
Specification v. 1.0.2
Comunicano a 860 MHz-960MHz, di uso
globale, comprendono: la classe 0, la classe 1
e caratteristiche di ISO/IEC 18000-6, utilizzati
per le applicazioni di identificazione
UHF
Passivi
WORM
Aggiunge caratteristiche addizionali ai Gen2
in UHF: encryption, read locking, recycle
features, sensor support, structured user
memory. Dovrebbe anche introdurre algoritmi
di autenticazone simili a quelli usati nelle
carte senza contatto. Almeno una parte della
UHF
memoria è di tipo riscrivibile. I tags
- EPCglobal Hardware
Passivi, semisoddisfano la necessità di scrivere “on line” i
Class2 Action Group (HAG:
passivi, attivi
dati nella memoria tramite la procedura di
proposta di standard) Riscrivibili (readinterrogazione del Reader, ciò consente di
write)
tenere traccia della storia della merce.
Contiene più memoria dei tag delle classi
precedenti: la parte read/write della memoria
si affianca alla sezione non volatile EEPROM
che continua a contenere l’identficativo o
l’EPC.
Figura 4.1. Classi e standards defniti dall'EPCglobal
62
Capitolo IV: Standard e protocolli di comunicazione
4.2.2 NORMATIVE ISO/IEC
Identificazione di animali
117984/5
Concetti tecnici
14223
Interfaccia radio
Tessere con circuiti integrati
7816
Integrated circuit(s) cards with contacts
10536
Close-coupled cards
14443
Proximity Cards – Contactless SmartCard
15693
Vicinity Card – Smart Label – RFId tags
Gestione oggetti
18000
Standard ISO/IEC 18000: Interfaccia radio.
18000-1
Part1: Architettura di riferimento e definizione dei parametri da standardizzare
18000-2
Part2: Definisce i parametri per l’interfaccia radio per dispositivi RFId operanti sotto i
135 KHz utilizzati per l’identificazione di oggetti. Definisce i parametri per l’Uplink
ed il Downlink, tra i quali:
• la frequenza operativa,
• la canalizzazione,
• le emissione spurie,
• la modulazione,
• il duty cycle,
• la codifica dei dati,
• il bit rate
• l’ordine di trasmissione dei dati
18000-3
Part3: Definisce lo strato fisico, i metodi anti collisione ed il protocollo per dispositivi
RFId utilizzati per l’identificazione di oggetti, si riferisce solo ai sistemi operanti a
13,56 MHz.
18000-4
Part4: Definisce i parametri dell’interfaccia radio per dispositivi RFId operanti a 2,45
GHz in banda ISM per applicazioni di identificazione di oggetti.
Definisce i parametri (vedi part2) per l’Uplink ed il Downlink e i protocolli di
comunicazione usati nell’interfaccia Radio.
18000-6
Part6: Definisce i parametri dell’interfaccia radio per dispositivi RFId operanti a 860
MHz e a 960 MHz.
Definisce i parametri (vedi part2) per l’Uplink ed il Downlink e i protocolli di
comunicazione usati nell’interfaccia Radio. Inoltre specifica i parametri per attuare la
tecnica del “frequency hopping”.
18000-7
Part7: Definisce i parametri dell’interfaccia radio per dispositivi RFId con Tag attivi
operanti nella banda dei 433 MHz.
Definisce i parametri (vedi part2) per l’Uplink ed il Downlink e i protocolli di
comunicazione usati nell’interfaccia Radio. Inoltre specifica i parametri per attuare la
tecnica del “frequency hopping”.
Figura 4.2. Standards definiti dall'ISO/IEC
63
Capitolo IV: Standard e protocolli di comunicazione
4.3 LO STANDARD ISO/IEC 15693
ISO 15693 è uno standard internazionale della International Organization for Standardization per le
carte di vicinità, ovvero le smart card che possono essere lette e scritte a distanza maggiore rispetto
alle contactless smartcard (regolate invece dallo standard ISO 14443). Le carte di vicinità (VICinity
Card – VICC) e le contactless smartcard appartengono alla famiglia delle "carte di prossimità".
Il sistema ISO 15693 opera sulla frequenza13.56MHz, e offre una distanza di lettura di 1–1.5 metri.
Lo standard è organizzato in quattro parti:
1. Caratteristiche fisiche.
2. Potenza emessa a Radio Frequenza, forma d’onda, inizializzazione, anticollisione.
3. Protocollo di trasmissione
4.3.1 CARATTERISTICHE FISICHE
Caratteristiche e dimensioni
La VICC deve avere caratteristiche e dimensioni tali da rispettare i requisiti specificati per le cards
conformi allo standard ISO/IEC 7810 ID-1.
Figura 4.3. Dimensioni VICinity Card
Luce ultra-violetta
Questa parte della normativa ISO/IEC 15693 esclude esigenze di tutela delle VICC contro gli effetti
della radiazione ultravioletta, quando questa supera i livelli nominali di luce ordinaria del giorno al
livello del mare. Una maggiore protezione può essere garantita da ogni singolo produttore che deve
comunque specificare il livello massimo tollerabile.
Raggi X
64
Capitolo IV: Standard e protocolli di comunicazione
La VICC deve continuare a funzionare in maniera regolare anche dopo essere stata esposta ai raggi
X con energia pari a 100 KeV.
Campo magnetico alternato
•
La VICC deve continuare a funzionare in maniera regolare anche dopo essere stata esposta
ad un campo magnetico di livello medio dato dalla seguente tabella:
Range di frequenza
Campo magnetico medio
Intervallo temporale medio
[MHz]
[A/m]
[minuti]
0.3 – 3.0
1.63
6
3.0 – 30
4.98/f
6
30 – 300
0.163
6
Figura 4.4. Tolleranze al campo magnetico
•
La VICC deve continuare a funzionare in maniera regolare dopo l’esposizione ad un campo
magnetico di 12 A/m alla frequenza f = 13,56 MHz.
Campo elettrico alternato
•
La VICC deve continuare a funzionare in maniera regolare anche dopo essere stata esposta
ad un campo elettrico di livello medio dato dalla seguente tabella:
Range di frequenza
Campo magnetico medio
Intervallo temporale medio
[MHz]
[A/m]
[minuti]
0.3 – 3.0
0.614
6
3.0 – 30
1842/f
6
30 – 300
61.4
6
Figura 4.5. Tolleranze al campo elettrico
•
Il livello di picco del campo elettrico è limitato a 30 volte il livello medio
Campo elettrico statico
La VICC deve continuare a funzionare in maniera regolare anche dopo essere stata esposta al test di
conformità ISO/IEC 10373 (IEC 1000-4-2:1995) in cui il voltaggio di test è di 6 KV.
Campo magnetico statico
La VICC deve continuare a funzionare in maniera regolare anche dopo l’esposizione ad un campo
magnetico statico di 640 KA/m.
Temperatura operativa
La VICC deve continuare a funzionare in maniera regolare in un intervallo di temperatura compreso
tra 0° C e 50° C.
65
Capitolo IV: Standard e protocolli di comunicazione
4.3.2 POTENZA A RADIO FREQUENZA E FORMA D’ONDA.
Il dialogo iniziale tra il Vicinity Coupling Device e la VICC (una o più VICCs possono essere
presenti allo stesso tempo) avviene osservando i seguenti passi consecutivi:
1. Attivazione VICC tramite campo a Radio Frequenza generato dal VCD.
2. Attesa da parte della VICC di un comando proveniente dal VCD.
3. Trasmissione di un comando da parte del VCD.
4. Trasmissione di una risposta da parte della VICC.
Tali operazioni sfruttano il trasferimento di potenza mediante segnale a Radio Frequenza il cui
pattern è specificato nella prossima sezione.
Trasferimento di potenza
Il trasferimento di potenza si realizza attraverso l’accopiamento magnetico tra l’antenna del VCD e
quella del VICC alla frequenza operativa di 13.56 MHz ± 7 kHz.
L’intensità minima del campo magnetico necessaria ad attivare una VICC è pari a H min = 150
mA/m (valore efficace: rms). La massima norma del vettore campo magnetico che non
compromette il funzionamento di una VICC è H max = 5 A/m (valore efficace: rms). Quindi una
VCD deve generare un campo magnetico compreso nell’intervallo [ H min , H max ]
Modulazione
La comunicazione tra il VCD e la VICC avviene usando la modulazione Amplitude Shift Keying
(ASK). Due indici di modulazione possono essere usati: 10% e 100%; la VICC deve essere in
grado di interpretare entrambe. Quale particolare indice è usato in una determinata comunicazione
è stabilito dal VCD.
Nella seguente figura è rappresentata la forma d’onda quando viene usato l’indice 100%.
Figura 4.6. Forma d'onda con indice di modulazione pari al 100%
66
Capitolo IV: Standard e protocolli di comunicazione
Codifica dei dati e data rare
La codifica dei dati è implementata usando la modulazione a posizionamento di impulso, seguendo
una delle due possibilità elencate di seguito:
1. Posizionamento 1 di 256: il valore di un singolo byte è rappresentato dalla posizione di una
pausa. La posizione della pausa tra 1 dei 256 periodi successivi di durata pari a 18,86 microsecondi (256/f) determina il valore di un byte. In questo caso la trasmissione di un byte
avviene in 4.833 milli-secondi e il risultante data-rate è di 1,65 kbits/s (f/8192).
Figura 4.7. Modalità di codifica dati 1 di 256
2. Modulazione a posizionamento di impulso, modalità 1 di 4: in questo caso la posizione
dell’impulso determina due bits alla volta, quattro paia di bits formano un byte e i bits meno
significativi sono inviati per primi. Il risultante data-rate è di 26,48 kbits/s (f/512).
Figura 4.8. Modalità di codifica dati 1 di 4
67
Capitolo IV: Standard e protocolli di comunicazione
La sequenza che indica il termine della comunicazione (End-Of-File) per entrambe le strategie di
codifica è illustrata nella seguente figura:
Figura 4.9. Sequenza End-Of-File
Codifica del singolo bit utilizzando una sola sottoportante
Un bit pari a 0 è formato da 8 impulsi alla frequenza di 423,75 kHz seguito da un intervallo
temporale non-modulato di 18,88 micro-secondi:
Figura 4.10. Codifica del bit 0
Un bit pari a 1 inizia con un periodo di 18,88 micro-secondi non modulato seguito da 8 impulsi alla
frequenza di 423,75 kHz:
Figura 4.11. Codifica del bit 1
68
Capitolo IV: Standard e protocolli di comunicazione
4.3.3 UID E STATI DI UNA VICINITY CARD.
Identificatore univoco
Ogni VICC è identificata univocamente da un identificatore a 64 bits univoco UID. Questo viene
usato nell’algoritmo di anticollisione ed è definito dal produttore, seguendo lo schema riportato in
figura:
Figura 4.12. Unique IDentificator
•
Gli otto bits più signifativi (Most Significant Bits) devono rappresentare l’informazione
‘E0’;
•
IC Mfg code: 8 bits che in accordo allo standard ISO/IEC 7816-6/AM1, rappresentano
l’identificativo del produttore
•
I rimanenti 48 bits (Least Significant Bits) indicano l’identificativo del particolare tag,
apposto dal produttore.
Stati possibili per una VICC
Una VICC può essere in uno dei seguenti quattro stati:
1
Power-Off: la VICC non può essere attivata dal VCD.
2
Ready: la VICC è in questo stato quando viene attivata dal VCD
3
Quiet: in questo stato la VICC può processare ogni richiesta inviatale dal VCD
4
Selected: la richiesta del VCD può essere svolta solo dalla VICC in questo stato
Figura 4.13. Possibili transazioni di stato per una VICC
69
Capitolo V: Il sistema RFId realizzato
CAPITOLO V
IL SISTEMA RFID REALIZZATO.
Questa sezione descrive le fasi progettuali e
l’implementazione
del
sistema
di
identificazione a Radio Frequenza, da me
realizzato per il controllo accesso wireless dei
dipendenti al luogo di lavoro.
Sarà
data
una
descrizione
dettagliata
riguardante:
componente
l’infrastruttura
l’hardware
RFId, da me utilizzato e le decisioni prese;
le scelte software con relative motivazioni e
setting iniziali;
la configurazione del middleware (Oracle
SensorEdge),
strato
necessario
all’integrazione tra i componenti attivi del
sistema RFId e i sistemi informativi;
l’impiego e la messa a punto del database
(Oracle), contenitore dei dati provenienti
dalla
tecnologia
RFId
e
motore
dell’applicazione informatica;
funzioni e procedure da me scritte in
linguaggio
PL/SQL
che
permettono
l’automazione del processo (registrazione
dipendente,
orario
ingresso/uscita,
intervallo temporale di permanenza, …);
l’interfaccia web, da me implementata, per la
visualizzazione e il controllo dei dati.
70
Capitolo V: Il sistema RFId realizzato
5.1 HARDWARE
L’infrastruttura RFId, da me utilizzata per l’implementazione del sistema di controllo accessi, è
composta dai seguenti quattro elementi fondamentali:
1. Transponders: tags (o etichette), formate da un chip, un’antenna e una memoria. Esse
contengono un identificativo e trasmettono dati in modalità wireless, mediante il principio
dell’accopiamento induttivo (vedi capitolo 2).
2. RFId controllers: comunica via onde radio con il transponder e passa i dati ad un computer
mediante interfaccia seriale.
3. Computer ospitante il middleware, Oracle Sensor Edge Server che raccoglie, filtra,
discrimina le informazioni lette dal ricetrasmettitore (reader) RFId per poi memorizzarle
all’interno di un database.
4. Computer ospitante il database relazionale, Oracle DataBase Server 10g.
PC1
1. Smart label
2. RFId controller
3. Middleware
PC2
4. Database e applicativi
Figura 5.1. Infrastruttura RFId
5.1.1 RFID CONTROLLERS
Elemento principe dell’intero sistema è il lettore RFId: esso permette di interrogare le vicinity cards
(smart labels), dettagliatamente descritte nella prossima sezione, e leggere le informazioni
memorizzate nella loro memoria EEPROM (in particolare l’UID).
Per il mio sistema, ho utilizzato il lettore, fornitomi dalla J-NET S.p.A., HF-0405-232-1, fabbricato
dall’Escort Memory System, una delle principali aziende produttrici di dispositivi RFId. Esso
lavora ad accoppiamento magnetico nella banda HF con frequenza portante pari a 13,56MHz. Le
sue principali caratteristiche sono le seguenti:
•
Elevate performance, basso costo.
•
Dimensioni controller: approssimativamente 40mm x 50mm, con antenna integrata di
dimensioni 36mm x 36mm.
71
Capitolo V: Il sistema RFId realizzato
•
Supporto per molteplici protocolli di comunicazione che sfruttano l’interfaccia radio e
l’interfaccia cablata seriale.
•
Memoria flash per update del firmware.
•
Programmabile a livello software
•
Possiede otto LED che indicano: lo stato dell’alimentazione, l’attività della porta di
comunicazione seriale, l’attività a Radio Frequenza, lo stato del controller, diagnosi dei
malfunzionamenti con relativi codici di errore.
•
Scrive/legge transponder RFId passivi compatibili con gli standard ISO 14443 A/B e ISO
15693, la distanza di lettura varia dai 90mm per i tag ISO 15693 e i 50mm per i tag ISO
15693.
•
Scrive/legge tag delle serie LRP e HMS prodotte dalla Escort Memory System.
•
Possiede un connettore esterno a 8-pin seriale RS232, massima lunghezza cavo 15m.
Figura 5.2. HF passive RFId controller: Escort Memory System HF-0405-232-01
Figura 5.3. Dimensioni controller
72
Capitolo V: Il sistema RFId realizzato
Come precedentemente detto, l’antenna usata per comunicare con i tags RFId è integrata e la
presenza di materiali conduttivi (metallo) degrada di molto le sue performance, per questo motivo il
lettore deve essere installato in maniera tale che ognuna delle sue facce sia ad una distanza minima
da interfacce metalliche pari a 45mm, problema questo che deve essere tenuto in conto se si vuole
usare il controller per il tracciamento degli oggetti in fase di produzione e trasporto.
Le distanze di lettura dell’antenna sono illustrate nelle seguenti immagini:
Tipico range di lettura: vista frontale
Tipico range di lettura: vista laterale
Figura 5.4. Range di lettura HF-0405-232-01
Per poter funzionare, il controller RFId richiede la seguente alimentazione: 10~30VDC, 3.6W
(150mA @ 24VDC) e prima di poter inviare comandi RFId deve essere collegato ad un computer
(detto, in questo caso, host) attraverso un’interfaccia seriale che permetta lo scambio
dell’informazione host/reader.
Figura 5.5. Connessione Seriale
73
Capitolo V: Il sistema RFId realizzato
Parametri porta COM
Baud
Data bits
Stop bit
Parity
Handshaking
Setting di default
9600
8
1
Nessuna
Nessuna
Figura 5.6. Parametri porta di comunicazione host/reader
5.1.2 TRANSPONDER RFID ISO/IEC 15693
Tra la moltitudine di transponder compatibili con il controller RFId descritto nella precedente
sezione, per la realizzazione delle tessere badge da fornire ad ogni impiegato, ho utilizzato le
“Philips Semiconductors Smart Labels ISO 15693”.
Figura 5.7. Philips Semiconductor Smart Label ISO 15693
Le caratteristiche tecniche di tali tag sono le seguenti:
•
I CODE SLI ISO 15693:
o trasmissione dati senza contatto e senza batteria (transponder passivo);
o distanza operativa massima: 1,5 metri;
o velocità di trasferimento dati massima: 53 kbits/s;
o integrità dati: 16 bit Cyclic Redundance Code (CRC);
o distanza di scrittura pari a quella di lettura;
o possibilità di lettura simultanea di più tags (anticollisione).
•
Memoria (EEPROM):
o 896 bits per i dati utenti, organizzati in 28 blocchi da 4 byte ognuno;
74
Capitolo V: Il sistema RFId realizzato
o tempo di retenzione dati: 10 anni;
o resistenza alle scritture: 10000 cicli.
•
Sicurezza:
o identificatore univoco per ogni dispositivo, che non può essere alterato. Esso è
strutturato nel seguente modo:
Figura 5.8. UID Philips Semiconductors Smart Label
o protezione dalla scrittura per ogni singolo blocco di memoria.
Per la realizzazione delle tessere badge si sarebbero potute usare le proximity card che seguono lo
standard ISO/IEC 14443.
Figura 5.9. Proximity Card ISO 14443
Queste, essendo pensate per applicazioni quali borsellino elettronico, biglietteria per trasporti,
sistemi di pagamento, ecc…, presentano caratteristiche di sicurezza elevate relativamente
all’hardware in esse presenti. Esse, infatti, permettono di utilizzare meccanismi di autenticazione
per l’attivazione del chip interno e di crittografare i dati scambiati tra transponder e controller,
tuttavia il loro costo è di pressappoco dieci volte superiore rispetto a quello delle vicinity cards su
descritte, il cui comune utilizzo è quello di identificazione oggetti (in gergo, Item Level Tagging).
Le caratteristiche principali delle Vicinity Card (ISO 15693), che mi hanno persuaso a preferirle
alle Proximity Card per la realizzazione del sistema da me realizzato, sono le seguenti:
1. costo di gran lunga inferiore.
75
Capitolo V: Il sistema RFId realizzato
2. Distanza di lettura maggiore: tale peculiarità
risulta indispensabile per un sistema di
controllo accessi (persone, ma anche oggetti) su larga scala, in cui si deve poter avere la
possibilità di effettuare letture simultanee. In effetti, la capacità di implementare tale
caratteristica è direttamente legata alla distanza di lettura: maggiore è il range operativo, più
numerosi sono i tags che possono comunicare con il reader contemporaneamente.
3. Maggiore velocità di trasferimento dati a parità di distanza reader – tag.
4. Possibilità di utilizzare i badge senza doverli estrarre dalla tasca, dal portafogli o dalla
borsa.
Per quanto riguarda le problematiche legate alla sicurezza e soprattutto alla privacy di ogni
dipendente, ho deciso di lasciare vuoti gli 868 bits di memoria EEPROM riscrivibile dedicati ai
dati utenti, invece di memorizzarvi le informazioni di ogni impiegato perché queste sono trasferite
in chiaro nella comunicazione reader – tag. In questo modo l’unico dato intercettabile da un mal
intenzionato è l’identificatore univoco (UID) che in effetti, nel mio sistema, rappresenta l’unica
informazione che la smart label ritorna, sfruttando il link a Radio Frequenza, ad un interrogazione
del controller. L’associazione tra UID e dati anagrafici del dipendente possessore della tessera
badge è svolta all’interno del database (come sarà illustrato nelle sezioni che seguono), in cui
possono essere implementati i più svariati metodi di autenticazione e crittografia.
Grazie a tale strategia, inoltre, la ri-utilizzabilità della singola tessera ne trae beneficio: qualora si
volesse infatti concedere un badge associato ad un vecchio impiegato ad uno nuovo, basta
modificare all’interno del database l’associazione UID – anagrafica dipendente; operazione, questa,
facilmente conseguibile mediante l’interfaccia grafica web da me implementata (descritta
nell’ultimo paragrafo di questo capitolo). Utilizzando invece le carte conformi allo standard ISO
14443, una tale procedura richiede la sovrascrizione fisica dei dati utenti nella memoria EEPROM
del transponder, intervento che richiede una certa capacità tecnica e realizzabile soltanto mediante
l’utilizzo di hardware e software opportuni.
Pur considerando i vantaggi su esposti, l’utilizzo delle “Philips Semiconductors Smart Labels ISO
15693” come tessere badge potrebbe risultare ostacolato dal materiale e dalla relativa robustezza
con cui tali etichette sono fabbricate. Infatti, essendo pensate per l’identificazione degli oggetti esse
sono realizzate su semplice carta adesiva in maniera da facilitarne l’apposizione sulle confezioni dei
prodotti e per limitarne il costo.
Al fine, quindi, di “trasformare” tali etichette intelligenti in tessere a forma di carta di credito, ho
pensato di applicare uno strato di cartoncino inferiore e uno superiore alla smart label e poi
racchiudere il tutto in un involucro di plastica.
76
Capitolo V: Il sistema RFId realizzato
Gli strati in cartoncino permettono di stampare qualsiasi cosa sulle tessere, in maniera tale da
personalizzare le cards, di apporvi sopra un logo e le informazioni riguardanti l’etichetta e l’azienda
(datrice di lavoro).
L’involucro di plastica conferisce maggiore robustezza fisica al badge contrastando gli effetti di
deterioramento causabili dal fatto che tali tessere devono essere maneggiate più volte al giorno,
invece di essere apposte su una confezione rigida una volta per tutte (utilizzo per il quale sono
realmente progettate).
Figura 5.10. Tramutare la smart label in smart card
L’operazione di adattare l’etichetta per formare la tessera badge è stata svolta in una comune
copisteria e la card risultante è illustrata nella seguente figura:
Figura 5.11. Tessera badge
Infine è da precisare che il processo di plastificazione, avvenuto a caldo, non ha influenzato il
comportamento della label, visto che la Philips Semiconductors garantisce che il transponder
continui a funzionare in maniera nominale anche se sottoposto ad temperature maggiori di 50 °C.
77
Capitolo V: Il sistema RFId realizzato
5.1.3 PERSONAL COMPUTERS
Data la necessità (v. parte seguente) di utilizzare due programmi della Oracle, che richiedono
elevate prestazioni computazionali, ho deciso, di utilizzare due computer dalle caratteristiche
identiche:
•
Processore: Pentium D 2.66 GHz
•
Ram: 1024 MByte
•
Hardisk: 150 GByte
In definitiva l’infrastruttura hardware completa, necessaria per l’implementazione del mio sistema
di controllo accessi, mediante tecnologia RFId, è illustrata nella seguente figura:
Figura 5.12. Infrastruttura hardware
5.2 SOFTWARE UTILIZZATO: SCELTE PROGETTUALI.
I sistemi RFID permettono l’automatizzazione dei processi di identificazione e di trasmissione dati.
I vantaggi derivanti dall’adozione di una tecnologia sensor based, come l’RFId, in un qualsiasi
processo di gestione automatica, possono divenire enormi a patto che si abbia la capacità di
osservare, memorizzare, coordinare e manipolare i dati provenienti dai sensori.
Per soddisfare tali necessità ho usato il middle tier component Oracle Sensor Edge Server. Esso è
un componente del software Oracle Application Server, per questo motivo richiede, per essere
78
Capitolo V: Il sistema RFId realizzato
installato su un PC, almeno il software di gestione dell’Application Server e in particolare
dell’OC4J (Oracle Container for Java). Inoltre l’Oracle Application Server contiene il componente
Oracle HTTP Server necessario per raggiungere l’Oracle Database Server 10g via HTTP. Tale
tipologia di collegamento al database è indispensabile per poter utilizzare l’Oracle Application
Express, mediante il quale ho realizzato una semplice ed intuitiva interfaccia grafica per permettere
ad un utente privilegiato di gestire semplicemente il sistema mediante Web Browser e quindi da un
qualsiasi PC, a condizione che abbia le credenziali necessarie per farlo.
In particolare, mediante l’interfaccia grafica attuale:
•
si può, ovviamente, osservare e modificare i dati anagrafici di ogni dipendente;
•
si è in grado di esaminare lo stato di un impiegato:
o
assente/presente,
o orari ingresso/uscita,
o intervalli temporali di permanenza,
o numero di ore lavorative quotidiane;
•
nel caso in cui si debba associare un badge ad un nuovo dipendente o ad un visitatore, si ha
la possibilità di registrare i relativi nuovi dati anagrafici,
•
si può rimuovere l’associazione UID – dati anagrafici e collegare l’UID a nuovi dati
anagrafici.
L’esigenza di archiviare in maniera affidabile i dati provenienti dal lettore RFId è rispettata dal
database di decima generazione della Oracle, società leader nel mercato dell’ Information and
Communication Technology.
Ho scelto di usare un computer dedicato (PC1) per tale software con sistema operativo Linux
(CentOS 4.6, open source che nasce dai sorgenti della distribuzione licenziata Red Hat 4) in
maniera tale da migliorare la robustezza del sistema e per poter amministrare il database (e la
macchina su cui risiede), componente critico dell’intera infrastruttura, anche in modalità remota, in
piena sicurezza (in realtà, sicurezza demandata al Secure Shell Protocol). Inoltre in questo modo si
ottengono buone performances in termini di velocità di esecuzione.
Il database può, quindi, risiedere anche in una sede dislocata. La connessione ad esso è
implementabile grazie al layer di sessione Oracle Net Fundation Layer.
79
Capitolo V: Il sistema RFId realizzato
Figura 5.13. Oracle Net Foundation Layer
Il processo che permette al database server di essere raggiunto è detto listener:
Figura 5.14. Oracle DataBase Listener
In particolare, per le esigenze del mio progetto ho deciso di implementare un listener che fornisse
un servizio dedicato (e non condiviso) di collegamento al database, per cercare di raggiungere un
certo grado di trasparenza, sia a livello concettuale che implementativo.
Figura 5.15. Procedura collegamento al database
In particolare il file di configurazione che realizza la configurazione su esposta è il seguente:
80
Capitolo V: Il sistema RFId realizzato
Figura 5.16. LISTENER.ORA
Affinché si abbia la comunicazione client/server è necessario che anche la macchina client abbia i
requisiti necessari e che si sia stabilito a priori un metodo per la risoluzione del nome del database
(più precisamente del servizio di database, specificato nel listener) .
Oracle Net Fundation Layer supporta vari metodi di “naming”:
•
Easy Connect Naming
•
Local Naming
•
Directory Naming
•
External Naming
Nel caso particolare del mio progetto, ho scelto il Local Naming: esso richiede che la macchina
client abbia opportunamente configurato il Trasparent Network Substarte (componente
l’ONFLayer), ciò è facilmente implementabile specificando in un file di configurazione il nome e la
locazione (“ip_address:port”) del database server all’interno della rete.
81
Capitolo V: Il sistema RFId realizzato
Figura 5.17. TNSNAMES.ORA
Il compito di collegare il mondo RFId a quello informatico e più precisamente ad un database è
svolto dall’Oracle Sensor Edge Server: esso svolge, cioè, il ruolo principale di collegamento readerhost.
Per il link al database, sfrutta, il driver java JDBC.
Figura 5.18. JDBC Driver: pila protocollare
Per interfacciarsi, dall’altra parte, con la tecnologia RFId utilizza estensioni (drivers) scritte nel
linguaggio Java. La Oracle distribuisce drivers per vari hardware RFId e barcode di diversi vendor,
ma non per la Electronic Memory System, produttore del reader da me utilizzato. Dunque, per la
comunicazione reader-host, che fisicamente sfrutta un collegamento seriale, ho utilizzato un driver
scritto da terzi. A causa della presenza di una Dynamic Link Library necessaria al funzionamento
del driver, ho installato l’Oracle Sensor Edge Server (PC2) su sistema operativo Microsoft
Windows XP.
82
Capitolo V: Il sistema RFId realizzato
Infine, come precedentemente descritto, per la realizzazione dell’applicazione grafica ho usato un
altro software della Oracle, l’Application Express.
Esso si collega al database mediante il protocollo di livello di presentazione HTTP e richiede la
configurazione dell’Oracle XML database server, svolta fortunatamente in automatico, in fase di
installazione del software server del database. Esso, per inviare comandi al database mediante web
browser sfrutta un modulo dell’ Oracle HTTP Server (licenza Apache) detto mod_plsql. Tale
modulo è configurabile mediante un file di testo.
Figura 5.19. Oracle XML database
L’Oracle Application Express, grazie ad una interfaccia user-friendly, si è rivelato subito una valida
alternativa all’utilizzo di un linguaggio di scripting quale il PHP.
In definitiva l’architettura software da me interamente dispiegata, necessaria alla raccolta dei dati
provenienti dal lettore RFId, al loro processamento e alla relativa pubblicazione su Web browser, è
descritta nel seguente schema a blocchi:
Figura 5.20. Infrastruttura software
83
Capitolo V: Il sistema RFId realizzato
5.2 IL MIDDLEWARE
I sistemi RFId automatizzano i processi di identificazione degli oggetti, degli animali, delle
persone; questa caratteristica è estremamente utile per poter migliorare le prestazioni dei processi
gestiti. Tuttavia, nell’adottare tale tecnologia, si presentano alcuni problemi, quali ad esempio:
•
necessità di coordinare le informazioni acquisite in maniera automatica;
•
il passaggio multiplo di un transponder attraverso un varco controllato da un’antenna o da
un reader può aggiungere contenuto informativo al processo gestito oppure può essere
ridondante, inutile o complicato da gestire;
•
le singole transazione non sono gestibili da un sistema Enterprise Resource Planning (ERP)
perché non sono definite regole di distribuzione (dispatching) dei dati ai moduli applicativi
che devono utilizzarli;
•
interoperabilità, gestione e interconnessione di diversi dispositivi RFId attivi.
Per queste ragioni è necessario utilizzare un’applicazione software che permetta di interfacciare il
mondo fisico dell’RFId e il mondo dei processi ERP con facilità e flessibilità. Il software che
rappresenta lo strato di integrazione tra i componenti attivi del sistema RFId (transponder, lettori
mobili, varchi, lettori fissi, stampanti, …) e i sistemi informativi, viene comunemente definito
middleware RFId.
Figura 5.21. Architettura funzionale sistema RFId
L’adozione di un’infrastruttura RFId consistente comporta la generazione di una grossa mole di dati
ed è compito del middleware RFId costituire il primo e fondamentale filtro nei confronti degli
applicativi del sistema informativo. Conseguentemente, il middleware deve essere scalabile secondo
le esigenze di espansione dell’infrastruttura permettendo il bilanciamento del carico.
84
Capitolo V: Il sistema RFId realizzato
Compito del middleware è anche quello di monitorare e gestire i diversi componenti tecnologici e le
strutture architetturali utilizzate nella realizzazione di un’infrastrutture RFId, allo scopo di garantire
l’affidabilità complessiva del sistema complessivo.
In generale un’implementazione del middleware deve garantire:
•
il supporto dello standard dell’interfaccia di comunicazione con il reader;
•
la possibilità di richiamare tutti i comandi definiti nel protocollo di comunicazione del
reader;
•
l’eventualità di utilizzare estensioni di diversi vendor di controller RFId;
•
il supporto di quanti più messaggi possibili.
5.2.1 IL PARADIGMA DI COMUNICAZIONE PUBLISH/SUBSCRIBE
Nel comune paradigma Server/Client, la comunicazione avviene seguendo il modello di interazione
Request/Replay (Pull) .
Figura 5.22. Paradigma di comunicazione Server/Client
Tale modalità di comunicazione sconvenientemente si presta alla gestione della grande mole di dati
generata da un sistema RFId poiché:
•
l’interazione è limitata a due entità (one-to-one);
•
la comunicazione avviene in modalità pull-based;
•
le due entità devono essere in grado di riconoscersi l’un l’altra;
•
la comunicazione è intrinsecamente sincrona.
Il paradigma di comunicazione publish/subscrive prevede:
•
più publishers (produttori di informazione) che producono dati in forma di events;
•
più subscribers (consumatori di informazione) che dichiarano i loro intersse a ricevere solo
particolari dati, mediante le subscriptions;
•
ogni subscription è un filtro sull’insieme degli events pubblicati;
•
un mediator (Event Notification Service ENS) notifica ad ogni subscriber tutti gli eventi
che combaciano con almeno una delle sue subscriptions.
85
Capitolo V: Il sistema RFId realizzato
Figura 5.23. Paradigma Publish/Subscriber
•
Ogni event rappresenta informazione definita da una struttura: l’event schema.
•
L’event schema, fisso e definito a priori, stabilisce un insieme di attributi ognuno
costituito da un nome e un tipo.
Nome
attributo
Facoltà
Corso
Accademico
Durata
Tipo di
valore
Stringa
Ingegneria delle telecomunicazioni
Stringa
Qualsiasi
Numero
Intero
Tra 0 e 100 ore
Orientamento
Stringa
Docente
Stringa
Valori permessi
Aerospazio, Economico-Organizzativo, Elaborazione del Segnale e
Multimedialità, Infrastrutture di rete, Ingegneria del suono,
Tecnologie Elettromagnetiche, Telematica, Telerilevamento,
Trasmissione dell’Informazione
Qualsiasi
Figura 7 Esempio di Event Schema
•
Dato un event schema, un event è una collezione di valori, uno per ogni attributo
stabilito dallo schema.
Nome attributo
Valore
Facoltà
Ingegneria delle Telecomunicazioni
Corso Accademico
Comunicazioni mobili II
Durata
50 ore
Orientamento
Trasmissione dell’Informazione
Docente
Roberto Cusani
Figura 5.25. Esempio di Event
•
Le subscriptions possono essere definite, in maniera generica, come vincoli espressi
sull’event schema.
86
Capitolo V: Il sistema RFId realizzato
Nome attributo
Valore
Facoltà
Ingegneria delle Telecomunicazioni
Corso Accademico
Qualsiasi
Durata
Qualsiasi
Orientamento
Qualsiasi
Docente
Roberto Cusani
Figura 5.26. Esempio di Subscription
Nell’esempio mostrato nelle tre figure, il mediator notificherà la presenza del corso “Comunicazioni
mobili II” al subscriber che ha manifestato il suo interesse a ricevere informazioni riguardanti
qualsiasi corso tenuto dal professore Roberto Cubani nella facoltà di
Ingegneria delle
Telecomunicazioni (attraverso la subscription illustrata nella figura 2).
Il paradigma di comunicazione publish/subscriver, fondamento di ogni sistema middleware, risulta
essere in grado di superare tutte le sfide proposte dal mondo fisico dei sistemi RFId e più in
generale di un qualsiasi sistema distribuito.
Esso, infatti, permette:
•
Comunicazione many to many: le interazioni possono avvenire in un ambiente in cui
vari
produttori
e
consumatori
di
informazione
possono
comunicare
contemporaneamente.
•
Space decoupling: le parti che devono interagire tra loro non hanno la necessità di
conoscersi reciprocamente, poiché l’instradamento dell’informazione si basa sul
contenuto dell’informazione stessa.
•
Time decoupling: le parti che comunicano tra loro non sono costrette ad essere attive
nello stesso tempo poiché lo scambio di informazioni avviene attraverso l’intervento di
un mediatore. In altre parole non vi è alcun vincolo di sincronizzazione tra le due parti.
•
Push/Pull interactions: sono permessi e implementabili entrambi i metodi.
5.2.2 ORACLE SENSOR EDGE SERVER
L’Oracle Sensor Edge Server permette la raccolta di eventi generati da un qualsiasi sistema sensorbased quali lettori e stampanti RFId. Il suo compito principale è quello di collezionare i dati e
inserirli in event message normalizzati, per poi spedirli al database o ad una qualsiasi applicazione.
Esso inoltre permette di controllare dispositivi quali light stack, sound system e message boards.
Sfruttando il paradigma di comunicazione publish/subscriber, gestisce i flussi di dati provenienti da
uno o più dispositivi, li raggruppa logicamente, permettendo di associare più apparati ad un certo
gruppo e di filtrare i dati ridondanti o non necessari.
87
Capitolo V: Il sistema RFId realizzato
Figura 5.27. Architettura Oracle Application Server
In dettaglio, le caratteristiche che rendono l’Oracle Sensor Edge lo strato software indispensabile ad
un’infrastruttura RFId per la realizzazione del collegamento tra il mondo fisico dello scambio dati a
radiofrequenza con quello informatico della gestione delle informazioni sono le seguenti:
1. Sensor data collection: architettura driver estensibile, scritta e personalizzabile in
linguaggio Java, che permette l’integrazione e la collezione dei dati provenienti da qualsiasi
sorgente a radiofrequenza che rispetti uno dei standard descritti nel Capitolo 4.
Figura 5.28. Oracle Sensor Edge: Architettura Java
88
Capitolo V: Il sistema RFId realizzato
2. Sensor data filtering: il flusso dei dati proveniente dai dispositvi RFId è caratterizzato da
un vasto insieme di diversi formati e solitamente contiene dati inutili; prima che i dati siano
passati alle applicazioni informatiche, il Sensor Edge svolge funzioni di pulizia e filtraggio
dei dati provenienti da un singolo dispositivo, da un gruppo di diversi dispositivi riuniti
logicamente o da diversi gruppi, ognuno composto da più apparati.
3. Sensor data dispatching: i dispatchers sono gli elementi software componenti il Sensor
Edge Server che permettono la bi-direzionalità della comunicazione tra controllers e
applicazioni. Come per i driver, l’Oracle Sensor Edge permette di implementare, nel
linguaggio Java, dispatcher personalizzati (vedi figura), esso inoltre ne fornisce diversi tipi:
o Strems: rappresenta il più robusto e flessibile metodo per l’inoltro dei dati, inoltre
permette di definire subscriptions personalizzate in maniera tale da attuare un
metodo di instradamento dei dati basto sull’informazione che essi trasportano e non
su indirizzi fisici dei nodi componenti l’infrastruttura.
o Java Messaging Services (JMS): è un insieme di Application Programming Interface
(API) che consente alle applicazioni Java residenti in diverse macchine presenti in
una rete di scambiarsi messaggi tra loro.
o Web services: sistema software progettato per supportare l'interoperabilità tra
diversi elaboratori su di una medesima rete; esso sfruttando il classico paradigma di
comunicazione Client/Server, che, come si è visto nella precedente sezione, non
risulta efficacemente adeguato nella gestione dell’enorme mole di dati generata da
un controller RFId;
o HTTP post: protocollo usato come principale sistema per la trasmissione di
informazioni sul web, basato anche esso sul modello di comunicazione
richiesta/risposta (Pull).
o EPC Phisical Markup Language: è un linguaggio di markup basato su XML
utilizzato per descrivere oggetti fisici nelle reti. In particolare, questo linguaggio è
utilizzato dagli standard RFId, definiti dall’EPCglobal, ma non dallo standard
ISO/IEC 15693 di cui si avvale il controller e i transponder da me utilizzati per la
realizzazione del sistema di controllo accessi.
4. Sensor data archiving: Oracle Sensor Edge Server sfrutta l’Oracle Database 10g per
l’archiviazione dei dati.
Quindi, come si può dedurre dalla descrizione su fatta delle caratteristiche specifiche dello strato
middleware di cui mi sono servito, il processamento dell’informazione avviene in quattro fasi
conseguenti.
89
Capitolo V: Il sistema RFId realizzato
Il driver è il primo responsabile della normalizzazione dei dati in una struttura ben definita (event
schema, vedi sezione precedente). Purtroppo il driver da me utilizzato, non certificato dalla Oracle,
non eccelle in tale compito, infatti l’unica informazione che passa al Sensor Edge Server è il
numero identificativo (UID) letto dal reader RFID impresso nella memoria del transponder, quando
invece dovrebbe completare quella informazione con campi quali: tipo di dato (evento di sistema,
osservazione RFid, scrittura…), nome dispositivo e tra gli altri la temporizzazione. Questa ultima
informazione risulta indispensabile, in prima analisi, per l’eliminazione dei dati ridondanti ricevuti
dalla lettura da parte del reader di un unico tag. Infatti la comunicazione tra il reader EMS-HF0402-232-1 e una Philips Smart Label (dispositivi descritti nel paragrafo 5.1), in condizioni
ottimali, avviene con un bit rate pari a 53 kbits/s. In altre parole, il controller è in grado di leggere
l’UID memorizzato nella memoria di un transponder circa 828 volte in un secondo (53 kbits/s / 64
bits).
Avvicinando, quindi, il tag al lettore per pochi secondi si riceve la stessa informazione per un
numero troppo elevato di volte. Per superare tale inconveniente, la strategia più ovvia è quella di
configurare il controller in maniera tale che esso emetta il campo a radiofrequenza per un intervallo
temporale pari al solo tempo necessario a leggere un’unica volta l’UID della tessera che interroga.
Tuttavia, per evidenti motivi di automatizzazione, il reader deve operare in modalità “lettura
continua”, in effetti non si possono conoscere a priori gli istanti in cui i dipendenti hanno bisogno di
registrare il loro orario di ingresso o di uscita.
Dunque, partendo dal presupposto che il controller deve essere configurato in maniera tale da
emettere il campo a radiofrequenze continuamente, la problematica delle letture in esubero potrebbe
essere risolta nel secondo stadio di processamento dati: sensor data filtering. In effetti l’Oracle
Sensor Edge mette a disposizione diversi filtri a livello di dispositivo tra i quali il cosiddetto “Pass
Filter”. Esso permette di definire il periodo di lettura del reader, in modo da modificare il reader
cycle in funzione delle necessità dell’applicazione che si vuole realizzare. Per poter adempiere a
tale compito, però, il filtro necessita di un meccanismo di temporizzazione dell’informazione,
ancora non presente in tale fase di trattamento dati della mia infrastruttura a causa del non ideale
funzionamento del driver.
Risulta a questo punto evidente la necessità di utilizzare lo strems dispatcher nella terza fase di
elaborazione dati. Esso, infatti, oltre ad essere il più robusto e flessibile metodo, permette la
creazione di un flusso (stream) dati tra il middleware e il database; esso, inoltre, rappresenta l’unica
alternativa per definire ulteriori regole di filtraggio per i dati provenienti dal controller RFId. Per
poter usufruire a pieno di tutti i vantaggi forniti dallo stream dispatcher è necessario configurare
opportunamente l’Oracle Sensor Edge e in particolare è indispensabile creare una connessione dati
90
Capitolo V: Il sistema RFId realizzato
tra esso e lo schema Edge: ciò può essere realizzato mediante lo script fornito dalla Oracle insieme
al Sensor Edge Server “edg_create_stream.sql” e configurando i parametri necessari alla
connessione, in particolare di devono inserire le informazioni necessarie al driver Java DataBase
Connector (JDBC):
Parametro
Descrizione
JDBC URL
Stringa di connesione al database in cui risiede la staging area.
USER
Nome utente da usare per connettersi allo schema di database
Password
Password associata al nome utente
Java Naming &
API servizio di directory che consente ai clients di trovare dati e oggetti
Directory Interface
attraverso un nome, indipendentemente dal sistema operativo.
La locazione all’interno della macchina middleware delle classi Java
Data Source Class
necessarie alla gestione del flusso
Figura 5.29. Paramtri per la creazione del flusso dati
Mediante l’adozione dello stream dispatcher, contrariamente a quanto avviene con gli altri tipi di
dispatcher, i dati non vengono inoltrati direttamente ad un end-point, ma viene creato un flusso di
dati che vengono depositati in una staging area (o coda interna) all’interno del database. In questo
modo è l’Event layer del database a definire cosa un evento è e quando esso è stato generato; in
poche parole, è un processo risiedente nel database a normalizzare i dati e a conferire ad essi una
struttura ben definita (event schema) formata da un insieme di attributi e completa delle
informazioni necessarie, sopperendo, in parte, alle inadeguatezze di un qualsiasi driver.
EDG_EVENT
Nome attributo
Tipo di valore
TYPE
Varchar
SUBTYPE
ID
SITENAME
DEVICENAME
DATA
TIME
CORRELATIONID
SOURCENAME
Varchar
Timestamp
Varchar
Varchar
Varchar
Timestamp
Varchar
Varchar
Valore permesso
0 - 99: messaggi di di stema
100 - 199: generiche istruzioni per i dispositivi
200 - 299: osservazioni dei dispositivi
500 – 599: messaggi personalizzabili
1 – 10
Any
Any
Any
Timestamp
Timestamp
Varchar
Any
Figura 5.30. Event schema dell'evento: osservazione RFId
91
Capitolo V: Il sistema RFId realizzato
E’ comunque necessario tenere in mente che tale operazione, anche se svolta all’interno della
macchina su cui risiede il database, è possibile grazie all’utilizzo dell’Oracle Sensor Edge che mette
a disposizione tutti gli strumenti software necessari alla creazione e gestione del flusso dati.
Inoltre, come precedentemente accennato, utilizzando tale tipologia di inoltro dei dati, si possono
definire regole supplementari per il loro instradamento: ogni regola ha una precisa conseguente
azione che viene svolta solo se la condizione è soddisfatta. In pratica, la regola può essere espressa
mediante un vincolo su di un attributo dell’evento oppure sul risultato di una funzione (PL/SQL)
applicata allo stesso. L’azione conseguente è, invece, la chiamata di una specifica procedura
(PL/SQL) mediante la quale si definiscono le operazioni da intraprendere per l’evento (che soddisfa
la condizione), con lo scopo della consegna dello stesso ad un end-point, che può ovviamente essere
anche un archivio all’interno del database.
Lo Stream Dispatcher è stato lo strumento software indispensabile all’implementazione della mia
applicazione. Esso, infatti permette, in pratica, di programmare direttamente all’interno del
database, sfruttando il potente e flessibile linguaggio Procedural Language / Structured Query
Language, invece di utilizzare il database semplicemente come archivio di dati su cui poi realizzare
l’applicazione sfruttando, ad esempio il linguaggio Java.
In linea di principio, i compiti svolti dallo Stream Dispatcher sono: prelevare i messaggi dalla
staging area, conferire loro una determinata struttura (event schema) e controllare se essi soddisfano
una delle condizioni definite a priori (sottoscrizioni: vincoli definiti sugli attributi dell’event
schema).
Figura 5.31. Stream Dispatcher: normalizzazione event.
92
Capitolo V: Il sistema RFId realizzato
5.2 IL DATABASE
Al fine di consentire l’archiviazione, il recupero, la gestione, la manipolazione degli eventi generati
dal controller RFId, ho utilizzato il database di decima generazione prodotto dalla Oracle.
Più precisamente l’Oracle Database 10g costituisce un DataBase Managment System (DBMS), esso
racchiude un insieme assai vasto e complesso di componenti software che controllano
l'organizzazione, la memorizzazione e il reperimento di collezioni di dati. In genere le basi di dati
gestite da un DBMS devono poter essere:
•
Grandi : cioè di dimensioni molto maggiori della memoria centrale dei sistemi di calcolo
utilizzati.
•
Persistenti : con un periodo di vita indipendente dalle singole esecuzioni dei programmi che
le utilizzano.
•
Condivise : utilizzate da applicazioni diverse.
Figura 5.32. DataBase Managment System
Il DBMS è l’unico responsabile della gestione e dell’accesso alla base di dati, le sue caratteristiche
principali sono:
•
Condivisione:
o gestione centralizzata della base di dati;
o condivisione dei dati da parte di applicazioni e utenti;
o coordinamento opportuno degli accessi;
o controllo della concorrenza;
o riduzione della ridondanza;
o elusione dai fenomeni di inconsistenza.
•
Persistenza:
93
Capitolo V: Il sistema RFId realizzato
o l’organizzazione dei dati ed il loro ciclo di vita sono indipendenti da quelli delle
applicazioni;
o i valori assunti dei dati sono preservati anche oltre il termine dell’esecuzione delle
applicazioni;
o memorizzazione su dispositivi di memoria permanente (memoria secondaria).
•
Affidabilità:
o la memorizzazione dei dati è garantita anche in presenza di guasti di dispositivo e di
sistema.
•
Sicurezza:
o controllo degli accessi e garanzia della riservatezza delle informazioni.
•
Efficienza:
o capacità di utilizzare al meglio le risorse del sistema e di ottimizzare i tempi di
risposta.
Nel DBMS della Oracle da me utilizzato, la rappresentazione logica dei dati, indipendente dalla
memorizzazione fisica, è basata sul modello relazionale: in questo modello i dati sono organizzati
nella classica struttura a tabella. L'elemento costitutivo di una tabella è il record, un insieme di dati
riguardanti un oggetto particolare, trattati come una singola entità. Ciascun record è definito poi da
una serie di attributi: nella struttura dei database essi sono i cosiddetti campi.
Uno dei grandi vantaggi del modello relazionale è che esso definisce un’ algebra, chiamata appunto
"algebra relazionale". Tutte le manipolazioni possibili sulle relazioni sono ottenibili grazie alla
combinazione di cinque soli operatori: RESTRICT, PROJECT, TIMES, UNION e MINUS. Per
comodità sono stati definiti anche tre operatori addizionali che comunque possono essere ottenuti
applicando i soli cinque operatori fondamentali: JOIN, INTERSECT e DIVIDE.
Altra caratteristica fondamentale dei database relazionali è quella che essi possono essere gestiti e
interrogati tramite un linguaggio che, pur presentando varianti da caso a caso, è divenuto pressocchè
uno standard: l’SQL. Esso prevede una distinzione precisa tra la definizione di schemi, relazioni,
attributi (Data Definition Language DDL) e l’aggiornamento, l’interrogazione dei dati (Data
Manipulation Language).
In un database relazionale, qualsiasi operazione sui dati può essere elaborata mediante una
istruzione SQL. La Oracle ha esteso tale linguaggio per combinarne la sua facilità e flessibilità con
le funzionalità procedurali tipiche di un linguaggio di programmazione strutturato (costrutti IFTHEN, WHILE, FOR, …). Esso supporta la dichiarazione di variabili, la definizione di particolari
condizioni e la gestione delle eccezioni all’interno di cosidette units. Queste ultime possono essere
94
Capitolo V: Il sistema RFId realizzato
funzioni o procedure che raggruppano un insieme di istruzioni SQL e sono memorizzate in maniera
compilata all’interno di packages nel database.
Come accennato nel paragrafo precedente, gli eventi prodotti dal controller RFId, dopo la fase
preliminare di normalizzazione (illustrata nella figura 39), possono essere processati in diverse
modalità e in maniera indipendente dallo stesso Oracle Sensor Edge Server (strato software che
permette il collegamento reader-pc) e dai particolari dispositivi hardware. Lo strems dispatcher
preleva gli events dalla staging area (residente all’interno del database) e controlla se tra le regole (o
subscriptions) definite nel “Rules Evaluation Job ruleset” del middleware, ve ne sia una soddisfatta
dall’event appena catturato. Ad ogni regola si può associare una particolare azione da intraprendere,
essa può essere definita mediante una procedura scritta nel linguaggio PL/SQL. In condizioni
operative normali, le subscriptions possono essere specificate solo come vincoli su uno o più
attributi della struttura dell’evento: ad esempio, l’evento rappresenta un’osservazione RFId
(event.type = 200, v. fig. 39)? Tuttavia, in questo modo, si possono definire solo condizioni
elementari non sufficienti alla realizzazione di un applicativo complesso. Per questo motivo, ho
scritto una funzione nel linguaggio PL/SQL che prende in input gli eventi strutturati e restituisce un
valore numerico sul quale, poi, ho definito un insieme di subscriptions. A seconda di quale di
queste venga soddisfatta, lo strem dispatcher instraderà l’evento all’ingresso di una specifica
procedura.
5.5 AUTOMAZIONE PROCESSO CONTROLLO ACCESSI: FUNZIONE E
PROCEDURE PL/SQL.
Ricapitolando, quando una tessera badge contactless associata ad uno dei dipendenti e realizzata
mediante una Philips Smart Label I-CODE (vedi sezione 5.1.2) è avvicinata al lettore RFId in
maniera tale da entrare nel campo a radiofrequenza da esso emesso, il controller trasferisce alla
tessera, mediante il principio dell’accoppiamento induttivo, l’energia necessaria alla sua attivazione.
Inizia, così, la comunicazione tag-reader: in pratica la tessera risponde all’interrogazione del
controller con il suo UID, l’unico dato effettivamente memorizzato (impresso in fase di
fabbricazione e non modificabile) nella sua memoria. Tale operazione avviene con un rate massimo
di 828 volte al secondo (vedi sezione …). Questa enorme mole di dati segue una preliminare fase di
processamento all’interno della macchina ospitante il middleware (Oracle Sensor Edge Server), con
cui il lettore è collegato fisicamente mediante interfaccia seriale RS-232. A questo punto gli eventi
ancora non presentano una struttura ben definita (event schema); come precedentemente esposto,
95
Capitolo V: Il sistema RFId realizzato
utilizzando come metodologia per l’instradamento dei dati lo stream dispatcher, il flusso di eventi,
prima di essere consegnato ad un end-point, è trasferito in una coda interna al database. In questo
modo è un processo residente nel database, chiamato Oracle stream capture, a catturare ad uno ad
uno i singoli eventi e conferire loro una struttura definita a priori dall’Oracle Sensor Edge. In
seguito gli eventi, finalmente normalizzati, vengono presi in consegna dal processo Oracle stream
apply: esso passa l’evento in ingresso alla funzione ACCESS_CTL, da me scritta nel linguaggio
PL/SQL, controlla l’output e verifica se quest’ultimo soddisfa una delle sottoscrizioni definite
mediante l’utilizzo del package fornito dal Sensor Edge “EDG_UTL” (in particolare mediante la
procedura “edg_utl.add_rule”) e a seconda di quale di queste venga soddisfatta inoltra l’evento in
input ad una delle procedure PL/SQL da me implementate.
A tale punto della trattazione dovrebbe risultare evidente il compito svolto da ogni singolo
componente software da me utilizzato per la realizzazione della applicazione informatica per il
controllo accessi e della relativa interfaccia grafica, illustrati nel seguente diagramma a blocchi:
Figura 5.33. Infrastruttura software completa.
E’ necessario evidenziare che i processi stream capture e stream apply sono presenti all’interno
dello schema EDGE nel database perché ho scelto di utilizzare lo stream dispatcher, altrimenti il
database si sarebbe comportato come semplice archivio di dati, in altre parole l’unico componente
dello schema EDGE sarebbe stato il Sensor Data Archive.
96
Capitolo V: Il sistema RFId realizzato
Come precedentemente esposto, il processo stream apply, passa ogni singolo evento, normalizzato
dal processo stream capture, alla funzione PL/SQL ACCESS_CTL da me scritta:
Figura 5.34. Funzione PL/SQL input/output
La funzione si serve di una tabella, chiamata IMPIEGATI, memorizzata nel Sensor Data Archive
(vedi figura …) che contiene l’associazione tra l’UID memorizzato nella tessere badge e le
informazioni
anagrafiche
riguardanti
l’impiegato
possessore
della
tessera
e
lo
stato
(presente/assente) dello stesso dipendente.
Attributo
Descrizione
Imp_key
Nome
Cognome
Chiave
Nome
Cognome
primaria
impiegato
impiegato
UID
Identificativo
tessera associata al
dipendente
Settore
Stato
Settore
Presente /
lavorativo
Assente
Figura 5.35. Tabella IMPIEGATI
La mansione della funzione è quello di classificare l’evento di osservazione RFId, in particolare
essa ha il compito di capire se l’UID letto dal controller sia:
1. associato ad un impiegato, il cui stato è impostato su “assente” cioè che sta entrando nel
luogo di lavoro, in tal caso essa ritorna il valore 1;
2. associato ad un impiegato, il cui stato è impostato su “presente” cioè che sta uscendo dal
luogo di lavoro, in tal caso essa ritorna il valore 0;
3. corrispondente ad una tessera badge ancora non associata ad alcun dipendente, in questo
caso essa ritorna il valore 2;
Il diagramma a blocchi di questa funzione è il seguente:
97
Capitolo V: Il sistema RFId realizzato
Figura 5.36. Funzione ACCESS_CTL
In base all’output di tale funzione, mediante lo stream dispatcher, l’evento verrà inoltrato in
ingresso ad una delle procedure PL/SQL come definito dalle seguenti subscriptions, definite a priori
mediante opportuna configurazione dell’Oracle Sensor Edge Server (vedi sezione …):
Sensor Data Stream Rules
Name
Condition
Action
Parameter
INGRESSO
edg_utl.access_ctl(:event.id) = ‘0’
call
edg_utl.uscita
USCITA
edg_utl.access_ctl(:event.id) = ‘1’
call
edg_utl.ingresso
NEW_TAG_ID edg_utl.access_ctl(:event.id) = ‘2’
call
edg_utl.tag_unknown
QUOTIDIANO
Call
edg_utl.daybyday
:event.id = ‘E00401000664c89b’
Figura 5.37. Subscriptions per l'inoltro degli eventi
Le procedure INGRESSO e USCITA si servono, per archiviare l’orario di ingresso e di uscita di
ogni
singolo
dipendente,
oltre
che
della
tabella
IMPIEGATI
anche
della
seguente
INGRESSI/USCITE:
P_KEY ID Orario ingresso Orario uscita Intervallo temporale di permanenza
Figura 1.38. Tabella INGRESSI/USCITA
98
Capitolo V: Il sistema RFId realizzato
In particolare se la funzione ACCESS_CTL classifica l’evento come un ingresso, cioè ritorna il
valore 1, allora il processo stream apply chiamerà la procedura INGRESSO. Le operazioni svolte da
quest’ultima sono le seguenti:
1. aggiornare lo stato dell’impiegato a cui è associato l’event.UID letto su “presente”, nella
tabella IMPIEGATI;
2. inserisce l’event.UID e l’event.TIME rispettivamente nei campi UID e “orario di ingresso”
della tabella INGRESSI/USCITE ;
3. calcola l’intervallo temporale tra l’event.TIME corrispondente all’orario di ingresso del
particolare dipendente e l’orario di uscita dello stesso dipendente:
a. se tale intervallo risulta essere inferiore ai dieci secondi, ri-aggiorna lo stato
dell’impiegato su “assente” ed elimina il record appena scritto dalla tabella
INGRESSI/USCITE.
Il passo 3 è necessario, come sarà giustificato dopo la descrizione della procedura USCITA, per
eliminare i dati ridondanti dovuti al fatto che un’unica azione di badge, in pratica può generare fino
ad un massimo di 828 eventi al secondo (vedi sezione …).
Lo schema a blocchi della procedura INGRESSO è il seguente:
Figura 5.39. Procedura INGRESSO
Se, d’altra parte, la funzione ACCESS_CTL ritorna il valore 0, cioè classifica l’evento come un
uscita, allora il processo stream apply chiamerà la procedura USCITA. Le operazioni svolte da
quest’ultima sono le seguenti:
1. aggiornare lo stato dell’impiegato a cui è associato l’event.UID letto su “assente”, nella
tabella IMPIEGATI;
99
Capitolo V: Il sistema RFId realizzato
2. memorizzare l’event.TIME nel campo orario di uscita della tabella INGRESSI/USCITE nel
record corrispondente all’impiegato a cui è associato l’event.UID;
3. calcolare l’intervallo temporale (orario uscita – orario ingresso) di permanenza
dell’impiegato nel luogo lavorativo;
4. se tale intervallo risulta:
a. maggiore di 10 secondi, allora la procedura memorizza quest’ultima informazione
nel campo intervallo temporale della tabella INGRESSI/USCITE;
b. minore di 10 secondi, allora la procedura ri-aggiorna lo stato dell’impiegato su
“presente” e rimuove dalla tabella INGRSSI/USCITE l’orario di uscita.
Il diagramma a blocchi di questa procedura è il seguente:
Figura 5.40. Procedura USCITA
Operazione molto importante che le due procedure svolgono è quella di eliminare i dati ridondanti
dovute alla modalità operativa di funzionamento continuo e al reader cycle del controller RFId (vedi
sezione …). Al fine di dare una spiegazione esaustiva della strategia di cui mi sono servito per
riuscire a superare il problema delle letture in esubero mi servirò di un esempio.
Consideriamo il caso in cui un impiegato stia entrando nel luogo di lavoro. Il suo stato memorizzato
nella tabella IMPIEGATO (insieme alle sue informazioni anagrafiche e all’UID ad esso associato) è
impostato su “assente”. Quando l’impiegato, al fine di registrare il suo orario di ingresso nel luogo
di lavoro, immette la sua tessera badge nel campo a radio frequenza generato dal controller RFId,
100
Capitolo V: Il sistema RFId realizzato
quest’ultimo interroga la smart label conferendole l’energia necessaria per rispondergli con l’UID
impresso nella sua memoria. Visto che tale operazione può avvenire in un tempo minimo di circa
1,2 millisecondi è impensabile imporre al dipendente di tenere la tessera vicina al lettore RFId
soltanto per un intervallo temporale così breve. Dunque all’atto di “badgiare” una sola volta
consegue che il lettore passi al middleware un certo numero di eventi RFId tutti trasportanti lo
stesso UID. Quando lo stream dispatcher (in particolare il processo stream capture) cattura il primo
evento, lo stato dell’impiegato è impostato su “assente”, quindi quando il processo stream apply
passa tale osservazione RFId alla funzione ACCESS_CTL, questa classifica l’evento come un
ingresso; a ciò segue, dunque, la chiamata della procedura INGRESSO. Quest’ultima, come
precedentemente descritto, aggiorna lo stato dell’impiegato impostandolo su “presente” e poi
registra l’orario di ingresso e l’UID nella tabella IMPIEGATI. A questo punto l’evento seguente,
generato però dalla stessa operazione da parte del dipendente che sta entrando, viene erroneamente
classificato come un’uscita, perché lo stato è impostato su “presente” a causa della precedente
osservazione RFId; quindi lo stream apply chiama la procedura USCITA che aggiorna lo stato
dell’impiegato (su “assente”), memorizza il falso orario di uscita, calcola l’intervallo temporale di
permanenza e svolge il seguente fondamentale controllo:
•
se l’intervallo di permanenza è minore di 10 secondi cancella il falso orario di uscita
associato allo stesso UID dalla tabella INGRESSI/USCITE e modifica nuovamente lo stato
dell’impiegato riportandolo su “presente”. In effetti in questo caso, l’impiegato sta entrando
nel luogo di lavoro.
•
Se invece l’intervallo di permanenza supera i 10 secondi, vuol dire che i due eventi
conseguenti non possono essere stati generati dalla stessa azione di “badge” dell’impiegato
(a meno che il dipendente non tenga appositamente la tessera nel campo a radiofrequenza
del lettore per più di dieci secondi, casualità facilmente evitabile). In questo caso, quindi, la
procedura lascia invariato il campo “orario di uscita” dalla tabella INGRESSI/USCITE ed
inoltre memorizza in questa l’intervallo temporale di permanenza precedentemente
calcolato.
D’altra parte quando un impiegato vuole registrare il suo orario di uscita dal luogo lavorativo,
avvicinando il suo badge al lettore, lo stato ad esso associato, memorizzato nella tabella
IMPIEGATI è impostato su “presente”. Dunque il primo evento di osservazione RFId, dovuto
all’azione di badge da parte del dipendente, viene legittimamente classificato dalla funzione
ACCESS_CTL come un’uscita, quindi la procedura USCITA chiamata dallo stream apply, va a
modificare lo stato dell’impiegato su “assente” (oltre a svolgere le altre operazioni prima descritte).
L’evento susseguente, generato però dalla stessa operazione dell’impiegato, viene classificato
101
Capitolo V: Il sistema RFId realizzato
erroneamente come un ingresso, quindi esso viene passato alla procedura INGRESSO che modifica
lo stato dell’impiegato (“presente”) e registra il falso orario di ingresso in un nuovo record della
tabella INGRESSI/USCITA, a questo punto la procedura INGRESSO, in maniera analoga a quanto
avviene nella procedura USCITA, elabora il seguente fondamentale controllo (passo 3 della su
esposta descrizione):
•
Calcola l’intervallo temporale tra l’orario di ingresso appena registrato e l’ultimo orario di
uscita associato allo stesso dipendente precedentemente memorizzato;
o Se tale intervallo risulta essere minore di dieci secondi, vuol dire che la chiamata
della procedura INGRESSO non è dovuta ad un reale ingresso del dipendente, ma
dal fatto che la stessa operazione che l’impiegato svolge per registrare l’orario di
uscita genera in realtà molteplici eventi RFId, i cui effetti devono essere ignorati dal
sistema di controllo accessi. Per questo motivo, in tal caso, la procedura cancella
dalla tabella INGRESSI/USCITE il record appena memorizzato e re-imposta lo stato
dell’impiegato su “assente”.
o Se d’altronde tale intervallo risulta superiore ai dieci secondi vuol dire che
l’impiegato sta effettivamente rientrando nel luogo lavorativo dopo averlo lasciato,
quindi la procedura INGRESSO lascia inalterato il nuovo record registrato.
Il sistema da me realizzato oltre a consentire le operazioni prima descritte, è in grado anche di
gestire la consegna di una tessera badge ad un nuovo impiegato o ad un visitatore. Quando si vuole
fare ciò, basta far leggere la nuova tessera al controller RFId.
Ulteriore compito della funzione ACCESS_CTL è, infatti, quello di capire se l’evento RFId
trasporta un UID ancora non associato ad alcun dipendente. In questo caso, essa ritorna il valore 2,
che soddisfa la subscription NEW_TAG_ID (vedi figura …). Ad essa consegue la chiamata della
procedura TAG_UNKNOWN, il cui unico compito è quello di registrare in un nuovo record della
tabella IMPIEGATI, l’UID della tessera letta. Sarà, poi compito, dell’amministratore del sistema di
controllo accessi, associare a tale identificativo le informazioni anagrafiche riguardanti la nuova
persona. Tale operazione è facilmente conseguibile mediante l’intuitiva interfaccia grafica da me
sviluppata, grazie alla quale si può anche eliminare e/o modificare l’associazione tra l’UID e
l’angrafica di un dipendente. Inoltre è da precisare che in questo caso gli eventi ridondanti non
causano alcuna conseguenza visto che dopo il primo evento che trasporta l’UID ancora sconosciuto
al sistema, gli altri trasportano tutti lo stesso UID ormai noto, ma ancora non associato ad alcun
dipendente (la funzione ACCESS_CTL non può classificare infatti gli eventi né come ingressi né
come uscite visto che lo stato come l’anagrafica associata all’UID non è ancora memorizzata nella
tabella IMPIEGATI).
102
Capitolo V: Il sistema RFId realizzato
Tra le subscriptions illustrate in figura …, ve ne è una (QUOTIDIANO) che non si serve della
funzione ACCESS_CTL, perché è definita direttamente sull’attributo event.UID: alla fine di ogni
giornata colui che ha il compito di chiudere la sede ha anche il possesso di una speciale tessera
badge il cui UID è “E00401000664c89b”. Analogamente a quanto avviene con la chiave per la
chiusura dell’ufficio, utilizzata, ovviamente, quando ormai tutti i dipendenti sono usciti dal luogo di
lavoro, tale smart label ha il compito di notificare al sistema informatico di controllo accessi che la
sede è stata chiusa e che quindi nessun dipendente è ancora all’interno e non rientrerà prima della
giornata successiva. Quando, quindi, il controller RFId, passerà al middleware l’osservazione di
questa speciale tessera, il processo stream apply passerà tale evento alla procedura DAYBYDAY, la
cui mansione principale è quella di sommare tra di loro tutti gli intervalli temporali di permanenza
all’interno del luogo lavorativo per ciascun dipendente nella giornata attuale. In effetti ogni
impiegato ha la possibilità di fare un certo numero di pause quotidianamente ed il mio sistema è in
grado di gestire anche tale diritto, calcolando le ore lavorative effettive.
Tale procedura memorizza le informazione nella seguente tabella GIORNALIERO:
KEY_giorno Giorno imp_UID TOT_Quotidiano
Figura 5.41. Tabella GIORNALIERO
Il diagramma a blocchi della procedura DAYBYDAY è il seguente:
Figura 5.42. Procedura DAYBYDAY
103
Capitolo V: Il sistema RFId realizzato
5.6 INTERFACCIA GRAFICA
Mediante l’utilizzo dell’Oracle Application Express, ho sviluppato un’interfaccia grafica molto
semplice ed intuitiva, mediante la quale un utente privilegiato può:
•
esaminare i dati anagrafici di ogni dipendente, l’UID della tessera badge ad esso associata e
il suo stato attuale, in maniera tale che quando arriva una commessa si sa a quale impiegato
affidare la mansione:
Figura 5.43. GUI: Stato impiegati
•
osservare gli orari di ingresso e di uscita di ogni impiegato e gli intervalli di permanenza:
Figura 5.44. GUI: Intervalli di permanenza
104
Capitolo V: Il sistema RFId realizzato
•
nel caso in cui si debba associare un badge ad un nuovo dipendente o ad un visitatore, si ha
la possibilità di registrare i relativi dati anagrafici:
Figura 5.45. GUI: Registrazione nuovo dipendente
•
verificare quante ore lavorative ha effettuato ogni dipendente, giorno per giorno:
Figura 5.46. GUI: Riepilogo quotidiano
•
infine qualora un dipendente dimentichi la sua tessera badge, si ha la possibilità di registrare
manualmente le informazioni di ingresso e di uscita mediante il completamento del seguente
report, ultima pagina dell’interfaccia WEB:
105
Capitolo V: Il sistema RFId realizzato
Figura 5.47. GUI: Inserimento manuale informazioni
Oltre alle cinque pagine i cui screen shoot sono visibili nelle figure precedentemente riportate, per
rendere più piacevole il lavoro di chi ha il compito di monitorare lo stato delle presenze quotidiane,
al fine di conoscere quale tra i dipendenti dell’azienda è disponibile ad effettuare un determinato
lavoro, ho anche inserito, oltre alla home page, due simpatici calendari: uno riportante gli orari di
ingresso e l’altro quelli di uscita. Per ovvi motivi di spazio e chiarezza non posso riportare i screen
shot di queste pagine.
Infine è da precisare che l’interfaccia permette in ogni pagina di fare una ricerca mirata: infatti
come si vede dalle figure si può ricercare un impiegato inserendo valori chiave quali: nome o
cognome, settore, giorno.
106
Capitolo VI: Conclusioni
CAPITOLO VI
CONCLUSIONI.
107
Capitolo VI: Conclusioni
108
Bibliografia
BIBLIOGRAFIA
109
Appendice: Listato funzioni e procedure PL/SQL
APPENDICE:
LISTATO FUNZIONI E
PROCEDURE PL/SQL
In questa appendice riporto per intero il codice
da me scritto nel linguaggio PL/SQL.
Alla funzione ACCESS_CTL, necessaria, come
precedentemente, visto per la classificazione
degli eventi inviati al middleware dal controller
RFId, seguiranno le procedure INGRESSO e
USCITA il cui rispettivo compito è quello di
registrare orario di ingresso e di uscita di ogni
singolo dipendente e di eliminare gli effetti dei
dati ridondanti. In seguito sarà scritto il codice
della
procedura
TAG_UNKNOWN
fondamentale
per registrare una nuova
associazione tra informazioni anagrafiche e UID
memorizzata nella tessera badge ed infine il
codice della procedura DAYBYDAY, che
quotidianamente somma tra loro gli intervalli
temporali di permanenza all’interno del luogo
lavorativo per ciascun distinto dipendente.
110
Appendice: Listato funzioni e procedure PL/SQL
FUNCTION
access_ctl ( transit_id IN VARCHAR2 ) RETURN VARCHAR2 IS
TYPE num_tab
states
TABLE OF VARCHAR2(1024);
num_tab;
BEGIN
SELECT count(*) INTO numero_righe FROM impiegati
WHERE id = transit_id;
IF numero_righe > 0
THEN
SELECT id BULK COLLECT INTO states FROM impiegati
WHERE id = transit_id AND stato <> '0';
IF SQL%ROWCOUNT > 0
THEN
RETURN '1';
ELSE
RETURN '0';
END IF;
ELSE IF transit_id LIKE 'e00%'
AND transit_id <> 'e00401000664c89b'
THEN
RETURN '2';
ELSE
RETURN '3';
END IF;
END IF;
END;
-----------------------------------------------------------------PROCEDURE ingresso ( event IN event_table ) IS
ev edg_event;
oggi date;
ora_prec timestamp;
ora_entrata timestamp;
intervallo interval day to second;
BEGIN
DBMS_OUTPUT.PUT_LINE( 'Got Event!' );
ev := event(1);
UPDATE impiegati SET stato=0 WHERE id=ev.id;
SELECT (MAX(pkey) + 1) INTO IN_OUT_PRIMARY_KEY
FROM ingressi_uscite;
IF IN_OUT_PRIMARY_KEY IS NULL
THEN
111
Appendice: Listato funzioni e procedure PL/SQL
IN_OUT_PRIMARY_KEY := 1;
END IF;
SELECT to_date(sysdate) INTO oggi FROM dual;
INSERT INTO ingressi_uscite
VALUES ( IN_OUT_PRIMARY_KEY, ev.id, ev.time, NULL, NULL,
NULL, NULL, oggi);
SELECT ora_ing INTO ora_entrata FROM ingressi_uscite
WHERE pkey = IN_OUT_PRIMARY_KEY;
SELECT ora_usc INTO ora_prec FROM ingressi_uscite
WHERE pkey = (IN_OUT_PRIMARY_KEY-1);
intervallo := ora_entrata - ora_prec;
IF ( extract(second from intervallo) < 10 )
AND ( extract(minute from intervallo) < 1 )
AND ( extract(hour from intervallo) < 1 )
THEN
UPDATE impiegati SET stato=1 WHERE id=ev.id;
DELETE ingressi_uscite
WHERE pkey = IN_OUT_PRIMARY_KEY;
END IF;
END;
-----------------------------------------------------------------PROCEDURE uscita ( event IN event_table )
IS
ev edg_event;
ultimo_ingresso number;
int_in interval day to second;
int_in_char varchar2(128);
int_sec number;
int_min_in_sec number;
int_ore_in_sec number;
int_tot_in_sec number;
timer number;
BEGIN
DBMS_OUTPUT.PUT_LINE( 'Got Event!' );
ev := event(1);
UPDATE impiegati SET stato=1 WHERE id=ev.id;
SELECT max(pkey) INTO ultimo_ingresso
FROM ingressi_uscite WHERE impiegato_id = ev.id;
UPDATE ingressi_uscite SET ora_usc = ev.time
WHERE pkey=ultimo_ingresso;
112
Appendice: Listato funzioni e procedure PL/SQL
SELECT ora_usc - ora_ing INTO int_in
FROM ingressi_uscite WHERE pkey = ultimo_ingresso;
UPDATE ingressi_uscite SET intervallo_in = int_in
WHERE pkey = ultimo_ingresso;
SELECT TO_CHAR(intervallo_in) INTO int_in_char
FROM ingressi_uscite WHERE pkey = ultimo_ingresso;
UPDATE ingressi_uscite
SET intervallo_in_char = int_in_char
WHERE pkey = ultimo_ingresso;
SELECT EXTRACT(SECOND from intervallo_in) INTO int_sec
FROM ingressi_uscite WHERE pkey = ultimo_ingresso;
SELECT EXTRACT(MINUTE from intervallo_in)*60 INTO
int_min_in_sec FROM ingressi_uscite
WHERE pkey = ultimo_ingresso;
SELECT EXTRACT(HOUR from intervallo_in)*3600 INTO
int_ore_in_sec FROM ingressi_uscite
WHERE pkey = ultimo_ingresso;
int_tot_in_sec :=
int_sec + int_min_in_sec + int_ore_in_sec;
UPDATE ingressi_uscite SET intervallo_tot_in_sec =
int_tot_in_sec WHERE pkey = ultimo_ingresso;
IF int_tot_in_sec < 10
THEN
UPDATE impiegati SET stato=0 WHERE id=ev.id;
UPDATE ingressi_uscite SET ora_usc = NULL,
intervallo_in = NULL, intervallo_tot_in_sec = NULL,
intervallo_in_char = NULL
WHERE pkey = ultimo_ingresso;
END IF;
END;
-----------------------------------------------------------------PROCEDURE tag_unknown(event IN event_table) IS
ev edg_event;
BEGIN
DBMS_OUTPUT.PUT_LINE( 'Tag non conosciuto!' );
ev := event(1);
SELECT (MAX(imp_key) + 1) INTO UNK_PRIMARY_KEY FROM
impiegati;
113
Appendice: Listato funzioni e procedure PL/SQL
INSERT INTO impiegati VALUES (UNK_PRIMARY_KEY, NULL,
NULL, ev.id, NULL, 1);
END;
-----------------------------------------------------------------PROCEDURE daybyday (event IN event_table) IS
ev edg_event;
day_key NUMBER;
today date;
TYPE sums IS TABLE OF NUMBER;
somme sums;
somma_in_char VARCHAR2(128);
TYPE identificativo IS TABLE OF VARCHAR2(1024);
imp_ids identificativo;
i NUMBER := 0;
n_imp NUMBER :=0;
BEGIN
SELECT to_date(sysdate) INTO today FROM dual;
select SUM(intervallo_tot_in_sec) BULK COLLECT INTO somme
FROM ingressi_uscite
WHERE oggi = today
GROUPBY impiegato_id;
SELECT DISTINCT impiegato_id BULK COLLECT INTO imp_ids
FROM ingressi_uscite WHERE oggi = today;
SELECT COUNT(DISTINCT impiegato_id) INTO n_imp FROM
ingressi_uscite WHERE oggi = today;
WHILE (i < ( n_imp) ) LOOP
i := i + 1;
SELECT MAX(key_giorno) + 1 INTO day_key
FROM giornaliero;
IF day_key IS NULL
THEN
day_key := 1;
END IF;
SELECT TO_CHAR(numtodsinterval(somme(i), 'second'))
INTO somma_in_char FROM dual;
INSERT INTO giornaliero VALUES (day_key, today,
imp_ids(i), somme(i), somma_in_char);
END LOOP;
END;
END edg_utl;
114