TPSIT – RFID – Modulazione portante

La modulazione è un’operazione mediante la quale il segnale contenente l’informazione (modulante) viene “collegato” a un secondo segnale (portante) avente le caratteristiche adatte alla trasmissione. In pratica la modulazione consiste nel far variare istante per istante una o più caratteristiche del segnale portante, in relazione al valore assunto dal segnale modulante. L’operazione inversa, che consente l’estrazione del segnale di partenza dal segnale modulato è detta demodulazione.

Classificazione delle modulazioni

Una classificazione generale delle modulazioni può essere fatta sulla base della natura del segnale modulante: in caso di un segnale analogico si parla di modulazione analogica; in caso di un segnale digitale si parla di modulazione digitale.
Una classificazione più completa si ha tenendo conto anche della natura del segnale portante. I casi di modulazione possibile sono quindi i seguenti [LEO]:

  • modulazione di portante sinusoidale (analogica) con segnale modulante analogico. Tali modulazioni sono chiaramente di tipo analogico e si dividono AM, FM e PM.
  • modulazione di portante impulsiva (digitale) con un segnale modulante analogico. Tali modulazioni sono analogiche anche se il segnale modulato potrà assumere solo due valori. Rientrano in questo caso le modulazioni PAM, PWD e PPM.
  • modulazione di portante sinusoidale (analogica) con un segnale modulante digitale. Tali modulazioni sono digitali anche se la forma d’onda del segnale modulato è quella propria di un segnale analogico. Rientrano in questo caso le modulazioni ASK, FSK, PSK, QAM.

I sistemi RFID utilizzano un segnale modulante di tipo digitale e un segnale portante di tipo analogico. La modulazione di questi sistemi ricade tra i metodi ASK, FSK e PSK [BUFb].

ASK (Amplitude Shift Keying)
Nella modulazione ASK l’ampiezza della portante sinusoidale viene fatta variare in correlazione al segnale digitale modulante. Nel caso più semplice e più comune in corrispondenza dello zero logico il segnale modulato ha ampiezza zero o prossima allo zero, mentre in corrispondenza dell’uno logico ha ampiezza pari a quella della portante non modulata (fig. 3.2).
Questo metodo ha il vantaggio di trasmettere dati ad una velocità elevata con un grande trasferimento di energia.


Modulazione ASK

FSK (Frequency Shift Keying)
Nella modulazione FSK l’ampiezza della portante sinusoidale rimane invece costante. Ciò che viene fatto variare in correlazione al segnale modulante è la frequenza.
Questo metodo permette di utilizzare un ricetrasmettitore relativamente semplice da realizzare e assicura un alto livello di immunità ai disturbi, ma non consente velocità di trasmissione molto alte.


Modulazione FSK

PSK (Phase Shift Keying)
Nella modulazione PSK ampiezza e frequenza della portante sinusoidale rimangono costanti, mentre è la fase che può subire dei cambiamenti. Il metodo più semplice consiste nello scambio di fase della portante di 180° in corrispondenza dell’uno logico del segnale modulante (fig. 3.4).
Questo metodo assicura un buon livello di immunità ai disturbi e consente delle velocità di trasmissione elevate, ma richiede un ricetrasmettitore più complesso di quello necessario per il metodo FSK. 


Modulazione PSK
Posted in Senza categoria | Leave a comment

TPSIT – RFID – Protocolli di comunicazione

La tecnologia RFID è stata ed è oggetto di consistenti attività di normazione sia a livello pubblico (internazionale e regionale), sia privato (consorzi di aziende).

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.

Le prime applicazioni, standardizzate tra il 1996 ed il 2001, sono quelle che riguardano il cosiddetto “closed loop”, ovvero i contesti in cui il medesimo TAG viene riusato per vari oggetti o, in logistica, nel caso di contenitori, in cui il TAG sia riusabile per contenuti differenti.

Gli esempi più celebri di applicazioni closed loop sono le carte senza contatto, per pagamenti e per controllo accessi, ma anche i TAG per lavanderia e quelli, già citati, per contenitori riusabili.

Per le applicazioni “closed loop” ISO ha sviluppato le famiglie di standard per carte senza contatto e per l’identificazione degli animali.

Le applicazioni cosiddette “open loop” riguardano l’uso degli RFID sui singoli oggetti nel commercio, ma anche gli RFID in contenitori “a perdere”(casse,imballaggi,pallet)eriusabili,qualii“container”,sedopo ogni viaggio, il TAG viene sostituito.

La progressiva riduzione dei costi dei TAG passivi sta rapidamente conducendo quest’ultimi dalle applicazioni “closed loop”, per le quali sononati,versonuoveapplicazioni “openloop”incuiilTAGvieneassociatononalcontenitoreriusabile,bensìalsingolooggetto,seguendoloper tutta la sua vita e spesso sopravvivendogli. Per questo tipo di applicazioni è previsto il maggior sviluppo in un prossimo futuro.

Organizzazioni pubbliche e consorzi di aziende hanno portato avanti, in questi anni, l’attività di normazione sui sistemi RFID; tra questi emergono essenzialmente EPCglobal ed ISO.

– EPC globalnato 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.

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

ISO 11784

– Radio frequency identification of animals

– Code structure

ISO 11785

– 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à

– ISO/IEC 10536 – Identification cards

— Contactless integrated circuit(s) cards

— ISO/IEC 14443

– Identification cards – Contactless integrated circuit(s) cards Proximity cards

– ISO/IEC 15693

– Identification cards

– Contactless integrated circuit(s) cards Vicinity cards

– 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). 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.

STANDARD EPCGLOBAL E LORO EVOLUZIONE

Vengono comunemente considerate altre tre classi di TAG, entrambe relative ad apparati attivi o semi-passivi: – Classe 3 – READ/WRITE – TAG semi-passivi – con sensori a bordo Applicazioni:

Data loggin

Questa classe, in aggiunta alle prestazioni della classe precedente, contiene, a bordo sensori e logica di controllo dei medesimi. I sensori più diffusi sono relativi alla pressione, moto o temperatura (i più diffusi in assoluto, per le esigenze logistiche della“catena del freddo”). Se la logica di controllo dei sensori lo permette, questi possono essere letti e
registrati in memoria anche senza l’intervento del Reader che, quando interrogherà il TAG si vedrà restituita anche la storia delle grandezze misurate. Naturalmente la complessità circuitale ed il relativo consumo di energia richiedono TAG attivi o almeno semi-passivi.


Classe 4 – READ/WRITE – con trasmittente a bordo – Network Capabilities – Applicazioni: Ad-Hoc Network; Active wireless sensor network Questa classe di TAG, con trasmettitore a bordo, si comporta come un sistema dotato di logica autonoma, potendo comunicare da TAG a TAG senza la presenza del Reader. In questi casi non solo si è in presenza di TAG attivi, ma l’attività, e di conseguenza l’erogazione di energia dalla batteria, permane anche in assenza di interrogazioni da parte del Reader. Per il resto sono previste tutte le prestazioni della classe 3.

– Classe 5 – READ/WRITE – con trasmittente a bordo – Network Capabilities. Oltre alla caratteristiche della classe 4 si ipotizza la possibilità di colloquio con TAG passivi, con funzionalità del tipo di quelle degli NFC

Modulazioni & Codifiche

Lo standard prevede l’impiego da parte del TAG delle modulazioni ASK e PSK in modo indifferente (non esistono comandi di selezione ed i Reader devono ricevere entrambi). La PSK è stata inclusa perché massimizza il trasferimento di energia (utile nel verso Reader=>TAG) e presenta migliori caratteristiche di robustezza al rumore (utile nel verso TAG=>Reader). Le codifiche di linea previste sono FM0 o Miller con generazione di sottoportante attraverso il parametro M. Da parte del Reader possono essere impiegate DSB-ASK opp. SSBASK oppure PR-ASK con indice di modulazione del 90% e con codifica di linea PIE.

Memoria

Lo standard prevede una capacità di memoria non troppo dissimile dai TAG di classe 1 (EPCglobal). Da 96 a 512 bit di memoria nel TAG contro i precedenti 64÷96 (comunque sufficienti a contenere l’EPC). L’aspetto più interessante consiste nella segmentazione della memoria per contenere maggiori informazioni rispetto al semplice EPC e nella protezione (per segmenti) della memoria di cui si vedrà in seguito.

Bitrate vs. identificazione dei TAG

In genere si riconosce ai TAG Gen2 una velocità superiore alle generazioni precedenti. I bitrate ammessi sono Reader =>TAG 26,7÷128 kbit/s; TAG=>Reader 5÷640 kbit/s. I bitrate vengono gestiti dal Reader nelmomento in cui il TAG viene letto/scritto per ottimizzare la velocità di riconoscimento di TAG con l’affidabilità di trasmissione. Infatti con bitrate alti si aumenta la velocità dell’algoritmo anticollisione, accelerando il riconoscimento dei TAG. Con bitrate bassi si favorisce la robustezza del segnale verso il rumore. Nel verso TAG=>Reader vengono usati 40÷640 kbit/s con codifica FM0 e 5÷320 kbit/s con codifica Miller. La velocità di lettura è funzione di diverse variabili che comprendono la potenza d’uscita, la densità dei TAG e l’ambiente operativo a radiofrequenza. Le specifiche Gen2 dovrebbero consentire ai Reader di effettuare, con circa 250 TAG nel raggio di copertura, circa 1500 letture di TAG al secondo in Nord America, e 600 letture per secondo in Europa, dove la potenza irradiata, la banda e il “Duty Cycle” hanno limiti più stretti. Queste velocità di lettura supportano la capacità di identificare oggetti su nastri trasportatori in movimento o trasportati da carrelli elevatori in transito attraverso portali di lettura con velocità anche superiori ai 10 Km/h.

Efficienza spettrale

Vengono definiti tre modi operativi per i sistemi RFID: Reader singolo, Reader multipli, Reader multipli ad elevata densità. Le specifiche per i Reader che operano in ciascuno di tali ambienti sono state concepite per fornire prestazioni maggiori rispetto a quelli esistenti. I TAG Gen2 possono essere letti e scritti da Reader di ognuna delle categorie precedentemente elencate. La modalità operativa di Reader multipli ad elevata densità è la scelta più affidabile ma di maggior complessità; consente un uso efficiente della banda, ottimizza le prestazioni e protegge dalle interferenze.

Affidabilità

Sono previsti miglioramenti essenziali rispetto ai precedenti. Le nuove caratteristiche mirano all’eliminazione di falsi positivi in lettura e in generale all’ottenimento di maggiore affidabilità nella lettura medesima. Vi è anche la possibilità di introdurre meccanismi per incrementare le prestazioni in termini di integrità dei dati. Ad esempio è possibile la verifica, dopo scrittura, dei dati in memoria del TAG (opzionale da parte del Reader).

Raggio di copertura

Lo standard Gen2 consente ma non obbliga l’uso di tecniche di Frequency Hopping prevedendo canali di 500 kHz nella banda assegnata negli USA (da 902,5 a 927,5 MHz). Tecniche alternative (Listen Before Talk – LBT) in uso in Europa possono prevedere un “Duty Cycle” più breve e operare con meno potenza, il che può comportare maggiore lentezza di lettura e un raggio di copertura ridotto. Bisogna comunque ricordare che il massimo raggio di copertura è principalmente funzione della potenza irradiata. Poiché i limiti per tale potenzasonodifferentipergliUSA,l’EuropaeilGiappone,cisidovrà aspettare valori differenti tra queste aree (in particolare i valori massimi in USA sono maggiori rispetto a quelli in Europa e Giappone)

Sicurezza

I TAG conformi allo standard Gen2 sono protetti da manomissioni. Il cosiddetto “cloaking”, infatti, consente di configurare i TAG in modo tale che prima di rispondere a qualunque interrogazione necessitano di ricevere una password dal Reader. Password possono essere anche richieste per scrivere i TAG o disabilitarli. Altro requisito di sicurezza supportato dallo standard e particolarmente richiesto è la possibilità di disabilitare definitivamente (“killing”) i TAG in modo tale che i loro dati non possano più essere accessibili. Questo è un requisito essenziale nell’ambito della vendita al dettaglio al fine di dissipare i timori dei consumatori riguardo la loro privacy. Sono definite password separate (a 32 bit) per il killing, per il cloaking, o per accedere alle diverse sezioni della memoria dei TAG.

Posted in Senza categoria | Leave a comment

TPSIT – RFID – Bande di frequenza

In Europa la normativa vigente per gli apparati / reader RFID mette a disposizione un totale 15 canali di ampiezza di 200 Khz ciascuno allocati nell’intervallo frequenze che vanno da 865.0 Mhz fino a 868.0 Mhz. Queste frequenze sono così suddivise:

Intervallo frequenze da 865.0 Mhz fino a 865.6 Mhz sono disponibili 3 canali di ampiezza di 200 Khz ciascuno, nei quali è possibile utilizzare una potenza massima E.R.P.  di 100 mWatt.

Intervallo frequenze da 865.6 Mhz fino a 867.6 Mhz sono disponibili 10 canali di ampiezza di 200 Khz ciascuno, nei quali è possibile utilizzare una potenza massima E.R.P. di 2 Watt

Intervallo frequenze da 867.6 Mhz fino a 868.0 Mhz sono disponibili 2 canali di ampiezza di 200 Khz ciascuno,  nei quali è possibile utilizzare una potenza massima E.R.P. di 500 mWatt.

E.R.P. / E.I.R.P.- Effective Radiated Power / Effective Isotropically Radiated Power

Nelle sistemi di trasmissione e radiofrequenza specialmente nel campo delle telecomunicazioni, la E.R.P. – Effective Radiated Power or Equivalent Radiated Power rappresenta la misura dell’ energia di radio  frequenza misurata nel S.I. in Watts. Questa è determinata sottraendo le perdite del sistema ad aggiungendo il guadagno.

E.R.P. tiene in considerazione la potenza trasmessa in uscita dal trasmettitore, l’ attenuazione della linea di trasmissione (cavo), l’attenuazione dovuta alle connessioni, la direttività dell’antenna, ecc… Questa misura si applica in genere ai sistemi con antenna.

In ambito RFID UHF la E.R.P. è la potenza irradiata dal sistema all’antenna. Questa è molto importante in quanto nella normativa vigente i limiti imposti sono espressi in termini di E.R.P. in Watts. E’ importante notare che la E.R.P. non è semplicemente la potenza in Watt erogata dal reader RFID alla usa uscita d’antenna bensì, è la potenza irradiata dall’antenna nell’ambiente il cui valore dipende dai fattori espressi dalla seguente formula:

Potenza E.R.P. = Potenza in uscita dal reader RFID – attenuazione  dovuta al cavo – attenuazione dovuta ai connettori + guadagno dell’antenna

Per verificare se il sistema RFID UHF stia rispettando le normative si dovrà effettuare il calcolo della potenza E.R.P. irradiata dall’antenna tenendo conto dei cavi, dei connettori e della tipologia di antenna ed accertarsi che questa sia all’interno dei limiti imposti. Per esempio, in Italia se si stanno utilizzando i canali ad alta potenza la E.R.P. massima ammissibile è di 2 Watt: si dovrà costruire quindi il proprio sistema RFID UHF in modo che all’antenna la potenza E.R.P. non superi mai questo limite.

E’ chiaro che aumentando il guadagno d’antenna si ottiene un incremento della potenza irradiata; di contro, aumentando la lunghezza del cavo si ottiene una diminuzione della potenza irradiata. In un sistema in cui sono richieste lunghezze elevate di cavo (sconsigliato), si potrà compensare la perdita aumentando la potenza all’uscita d’antenna del reader RFID.

Posted in Senza categoria | Leave a comment

TPSIT – RFID – Induzione elettromagnetica

Il fenomeno dell’induzione elettromagnetica è la base fisica del funzionamento e dell’alimentazione del circuito RFID.

La legge di Farady-Neumann afferma:

f=-\cfrac{\delta \vartheta (B)}{\delta t}

Ossia la variazione del flusso induzione magnetica nel tempo causa una tensione elettrica ai capi del circuito.

In concetto di flusso è esprimibile come il prodotto tra la quantità e la superficie. Nel caso specifico, la variazione di un campo magnetico nel tempo a parità di sezione causa una tensione elettrica, oppure una variazione della superficie soggetta ad un campo magnetico, causa a sua volta una tensione elettrica.

Quindi un campo magnetico che varia nel tempo causa un passaggio di corrente in un circuito ad esso vicino.

Nel caso di RFID (Radio-Frequency IDentification) essi soo presenti ad esempio in una tessera, al cui interno vi è un circuito con un chip e la relativa antenna. Essi si avvicinano ad un’antenna emittente con un campo magnetico che varia nel tempo (sinusoidale) che permette un passaggio di corrente all’interno della tessera.

La corrente alimenta il chip, al cui interno sono memorizzate alcune informazioni e che vengono trasmesse tramite l’antenna all’emettitore.

Posted in Senza categoria | Leave a comment

TPSIT – Simulazione II prova a.s. 2018/2019 – RFID – Radio-Frequency IDentification

Ecco la simulazione di seconda prova.

Analizzo la seguente parte:

Ogni bicicletta è dotata di un proprio tag a radiofrequenza (RFID) che ne riporta il codice univoco: questo tag viene letto da un apposito dispositivo su ogni slot (RFID reader) sia in ingresso che in uscita della bicicletta. L’utente potrà successivamente riconsegnare la bicicletta presso una qualsiasi stazione cittadina (quella di noleggio o un’altra) che abbia slot liberi. In questo modo, per ogni stazione è sempre possibile sapere quali biciclette sono bloccate negli slot e disponibili per il noleggio, quali sono state noleggiate e quali vengono riconsegnate.

Il candidato analizzi la realtà di riferimento e, fatte le opportune ipotesi aggiuntive, individui una soluzione che a suo motivato giudizio sia la più idonea per sviluppare i seguenti punti: 1. il progetto, anche mediante rappresentazioni grafiche, dell’infrastruttura tecnologica ed informatica necessaria a gestire il servizio nel suo complesso, dettagliando: a) l’infrastruttura di comunicazione, in termini di caratteristiche dei canali, degli apparati e dei protocolli, che permette di trasmettere le informazioni di ciascuna stazione al sistema centrale; b) le caratteristiche generali dei componenti hardware e software del sistema sia a livello centrale che nelle stazioni; c) le misure e gli apparati per assicurare la continuità del servizio.

Introduzione alla Radio Frequency Identification

si intende una tecnologia per l’identificazione e/o memorizzazione automatica di informazioni inerenti ad oggetti, animali o persone (automatic identifying and data capture, AIDC) basata sulla capacità di memorizzazione di dati da parte di particolari etichette elettroniche, chiamate tag (o anche transponder o chiavi elettroniche e di prossimità), e sulla capacità di queste di rispondere all’interrogazione a distanza da parte di appositi apparati fissi o portatili, chiamati reader (o anche interrogatori).

Questa identificazione avviene mediante radiofrequenza, grazie alla quale un reader è in grado di comunicare e/o aggiornare le informazioni contenute nei tag che sta interrogando; infatti, nonostante il suo nome, un reader (ovvero: “lettore“) non è solo in grado di leggere, ma anche di scrivere informazioni.

Caratteristiche

Nello specifico un sistema RFID è costituito da tre elementi fondamentali:

  1. uno o più etichette RFID (o tag o transponder);
  2. un apparecchio di lettura e/o scrittura (lettore);
  3. un sistema informativo di gestione dei dati per il trasferimento dei dati da e verso i lettori.

L’elemento principale che caratterizza un sistema RFID è l’etichetta RFID o transponder o tag, che è costituito da:

  • un microchip che contiene dati in una memoria (tra cui un numero univoco universale scritto nel silicio),
  • una antenna,
  • un supporto fisico che tiene insieme il chip e l’antenna chiamato “substrato” e che può essere in Mylar, film plastico (PET, PVC, ecc), carta o altri materiali.

L’etichetta RFID può essere attiva, passiva, semi-passiva o semi-attiva.

Etichetta RFID passiva

L’etichetta contiene semplicemente un microchip (con identificativo univoco ed eventuale memoria) privo di alimentazione elettrica, un’antenna ed un materiale che fa da supporto fisico chiamato “substrato”. Al passaggio di un lettore che emette un segnale radio a frequenze basse o medie o di alcuni gigahertz (sotto le diverse bande usate), la radiofrequenza attiva il microchip e gli fornisce l’energia necessaria a rispondere al lettore, ritrasmettendogli un segnale contenente le informazioni memorizzate nel chip, ma che può anche scrivere dati sul tag.

Etichetta RFID attiva

L’etichetta dispone di una o più antenne per inviare il segnale di lettura e ricevere le risposte anche su frequenze diverse, una batteria di alimentazione e uno o più transponder/tag RFID. L’etichetta può anche contenere sensori. In genere le etichette attive hanno distanze operative maggiori di quelle passive che arrivano fino a 200 m.

Etichetta RFID semi-passiva

L’etichetta semi-passiva è dotata di batteria, che è usata solo per alimentare il microchip o apparati ausiliari (sensori) ma non per alimentare un trasmettitore, in quanto in trasmissione si comporta come un’etichetta RFID passiva.

Etichetta RFID semi-attiva

L’etichetta semi-attiva è dotata di batteria che alimenta il chip ed il trasmettitore in cui per risparmiare energia l’etichetta RFID è disattivata e viene attivata tramite un ricevitore con tecnologia dei tag passivi e quindi in assenza di interrogazioni il tag può operare per tempi lunghi.

Lettore RFID

Il lettore emette un campo elettromagnetico/elettrico che tramite il processo della induzione genera nell’antenna del tag una corrente che alimenta il chip. Il chip così alimentato comunica tutte le sue informazioni che vengono irradiate tramite l’antenna verso il Lettore ed il Lettore, come più volte detto, può anche scrivere i dati sul tag.

L’antenna riceve un segnale, che tramite il principio della induzione trasforma in energia elettrica, che alimenta il microchip. Il chip così attivato trasmette i dati in esso contenuti tramite l’antenna (circuito di trasmissione del segnale) all’apparato che riceve i dati. In sintesi, un tag RFID è in grado di ricevere e di trasmettere via radiofrequenza le informazioni contenute nel chip ad un transceiver RFID.

Posted in Senza categoria | Leave a comment

Verifica C++ Vettori

Dato un numero intero, fornire la sua rappresentazione in base 2 o in base tre o in base 4 o in base 5 o in base 6 o in base 7 e viceversa.

Per sviluppare il programma si richiede l’uso l’utilizzo del % per il calcolo del modulo di un numero, l’uso di un vettore in cui appoggiare il resto della divisione.

Nel caso in cui si richieda invece il numero nell’opportuna base, appoggiarlo in un opportuno vettore.

Utilizzare la funzione prototipo per la gestione dei vettori.

Sufficienza: gestione del vettore e del ciclo per il cambiamento di base.

Posted in Senza categoria | Leave a comment

HTML – Codice per la gestione dei cookies

Si cerca la riga </body> e, subito sopra, si incolla :

<!– Codice per accettazione cookie – Inizio –>
<script type=’text/javascript’>
//<![CDATA[
(function(window) {
  if (!!window.cookieChoices) {
    return window.cookieChoices;
  }
  var document = window.document;
  var supportsTextContent = ‘textContent’ in document.body;
  var cookieChoices = (function() {
    var cookieName = ‘displayCookieConsent’;
    var cookieConsentId = ‘cookieChoiceInfo’;
    var dismissLinkId = ‘cookieChoiceDismiss’;
    function _createHeaderElement(cookieText, dismissText, linkText, linkHref) {
      var butterBarStyles = ‘position:absolute;width:100%;background-color:#eee;’ +
          ‘margin:0; left:0; top:0;padding:4px;z-index:1000;text-align:center;’;
      var cookieConsentElement = document.createElement(‘div’);
      cookieConsentElement.id = cookieConsentId;
      cookieConsentElement.style.cssText = butterBarStyles;
      cookieConsentElement.appendChild(_createConsentText(cookieText));
      if (!!linkText && !!linkHref) {
        cookieConsentElement.appendChild(_createInformationLink(linkText, linkHref));
      }
      cookieConsentElement.appendChild(_createDismissLink(dismissText));
      return cookieConsentElement;
    }
    function _createDialogElement(cookieText, dismissText, linkText, linkHref) {
      var glassStyle = ‘position:absolute;width:100%;height:100%;z-index:999;’ +
          ‘top:0;left:0;opacity:0.5;filter:alpha(opacity=50);’ +
          ‘background-color:#ccc;’;
      var dialogStyle = ‘z-index:1000;position:absolute;left:50%;top:50%’;
      var contentStyle = ‘position:relative;left:-50%;margin-top:-25%;’ +
          ‘background-color:#fff;padding:20px;box-shadow:4px 4px 25px #888;’;
      var cookieConsentElement = document.createElement(‘div’);
      cookieConsentElement.id = cookieConsentId;
      var glassPanel = document.createElement(‘div’);
      glassPanel.style.cssText = glassStyle;
      var content = document.createElement(‘div’);
      content.style.cssText = contentStyle;
      var dialog = document.createElement(‘div’);
      dialog.style.cssText = dialogStyle;
      var dismissLink = _createDismissLink(dismissText);
      dismissLink.style.display = ‘block’;
      dismissLink.style.textAlign = ‘right’;
      dismissLink.style.marginTop = ‘8px’;
      content.appendChild(_createConsentText(cookieText));
      if (!!linkText && !!linkHref) {
        content.appendChild(_createInformationLink(linkText, linkHref));
      }
      content.appendChild(dismissLink);
      dialog.appendChild(content);
      cookieConsentElement.appendChild(glassPanel);
      cookieConsentElement.appendChild(dialog);
      return cookieConsentElement;
    }
    function _setElementText(element, text) {
      if (supportsTextContent) {
        element.textContent = text;
      } else {
        element.innerText = text;
      }
    }
    function _createConsentText(cookieText) {
      var consentText = document.createElement(‘span’);
      _setElementText(consentText, cookieText);
      return consentText;
    }
    function _createDismissLink(dismissText) {
      var dismissLink = document.createElement(‘a’);
      _setElementText(dismissLink, dismissText);
      dismissLink.id = dismissLinkId;
      dismissLink.href = ‘#’;
      dismissLink.style.marginLeft = ’24px’;
      return dismissLink;
    }
    function _createInformationLink(linkText, linkHref) {
      var infoLink = document.createElement(‘a’);
      _setElementText(infoLink, linkText);
      infoLink.href = linkHref;
      infoLink.target = ‘_blank’;
      infoLink.style.marginLeft = ‘8px’;
      return infoLink;
    }
    function _dismissLinkClick() {
      _saveUserPreference();
      _removeCookieConsent();
      return false;
    }
    function _showCookieConsent(cookieText, dismissText, linkText, linkHref, isDialog) {
      if (_shouldDisplayConsent()) {
        _removeCookieConsent();
        var consentElement = (isDialog) ?
            _createDialogElement(cookieText, dismissText, linkText, linkHref) :
            _createHeaderElement(cookieText, dismissText, linkText, linkHref);
        var fragment = document.createDocumentFragment();
        fragment.appendChild(consentElement);
        document.body.appendChild(fragment.cloneNode(true));
        document.getElementById(dismissLinkId).onclick = _dismissLinkClick;
      }
    }
    function showCookieConsentBar(cookieText, dismissText, linkText, linkHref) {
      _showCookieConsent(cookieText, dismissText, linkText, linkHref, false);
    }
    function showCookieConsentDialog(cookieText, dismissText, linkText, linkHref) {
      _showCookieConsent(cookieText, dismissText, linkText, linkHref, true);
    }
    function _removeCookieConsent() {
      var cookieChoiceElement = document.getElementById(cookieConsentId);
      if (cookieChoiceElement != null) {
        cookieChoiceElement.parentNode.removeChild(cookieChoiceElement);
      }
    }
    function _saveUserPreference() {
// Durata del cookie di un anno
      var expiryDate = new Date();
      expiryDate.setFullYear(expiryDate.getFullYear() + 1);
      document.cookie = cookieName + ‘=y; expires=’ + expiryDate.toGMTString();
    }
    function _shouldDisplayConsent() {
      // Per mostrare il banner solo in mancanza del cookie
      return !document.cookie.match(new RegExp(cookieName + ‘=([^;]+)’));
    }
    var exports = {};
    exports.showCookieConsentBar = showCookieConsentBar;
    exports.showCookieConsentDialog = showCookieConsentDialog;
    return exports;
  })();
  window.cookieChoices = cookieChoices;
  return cookieChoices;
})(this);
document.addEventListener(‘DOMContentLoaded’, function(event) {
    cookieChoices.showCookieConsentBar(‘Questo sito utilizza i cookie per migliorare servizi ed esperienza dei lettori. Se decidi di continuare la navigazione consideriamo che accetti il loro uso.’,
        ‘OK’, ‘+Info’, ‘http://www.ilmiosito.com/p/politica-dei-cookie.html’);
  });
//]]>
</script>
<!– Codice per accettazione cookie – Fine –>

Posted in Senza categoria | Leave a comment

HTML – Gestione Privacy e cookies

Jacek Yerka

La normativa di riferimento è presente sul sito del garante ed afferma che:

1. Ambito di applicazione

Resta fermo che i siti che non consentono l´archiviazione delle informazioni nel PC o cellulare dell´utente o l´accesso a informazioni già archiviate, e che quindi non utilizzano cookie, non sono soggetti agli obblighi previsti dalla normativa.

2. Utilizzo di cookie analitici di terze parti

Nell´ottica della semplificazione che l´Autorità sta perseguendo, è stato già chiarito nel provvedimento come i cookie analitici – che servono a monitorare l´uso del sito da parte degli utenti per finalità di ottimizzazione dello stesso – possano essere assimilati ai cookie tecnici laddove siano realizzati e utilizzati direttamente dal sito prima parte (senza, dunque, l´intervento di soggetti terzi).

I cookie tecnici sono quelli utilizzati al solo fine di “effettuare la trasmissione di una comunicazione su una rete di comunicazione elettronica, o nella misura strettamente necessaria al fornitore di un servizio della società dell’informazione esplicitamente richiesto dall’abbonato o dall’utente a erogare tale servizio”.

I cookie di profilazione sono volti a creare profili relativi all’utente e vengono utilizzati al fine di inviare messaggi pubblicitari in linea con le preferenze manifestate dallo stesso nell’ambito della navigazione in rete.

Google Analytics è un caso particolare di cookie tecnico che però va ugualmente considerato come cookie di terze parti. A differenza dei classici software di analisi del traffico interno, come il famoso Piwick, i cookie di Google Analytics vengono installati da Google e quindi sono da considerarsi di terze parti.

Ricordiamo che l’utilizzo del banner con informativa breve non basta per essere a regola con la legge, occorre infatti impedire l’installazione di qualsiasi cookie non tecnico previo consenso da parte dell’utente e disporre di una corretta cookie policy.

3. Soggetti tenuti a realizzare il banner: il ruolo dei siti prima parte

Con riferimento al tema della responsabilità dei gestori dei siti prima parte in merito all´installazione dei cookie di profilazione provenienti da domini “terze parti”, si conferma che tali soggetti rispetto all´installazione di tali cookie svolgono un ruolo di mero intermediario tecnico.

È bene precisare, tuttavia, che per la natura “distribuita” di tale trattamento, che vede il sito prima parte comunque coinvolto nel processo, il consenso all´uso dei cookie terze parti si sostanzia nella composizione di due elementi entrambi necessari: da un lato la presenza del banner, che genera l´evento idoneo a rendere il consenso documentabile (a carico della prima parte) e, dall´altro, la presenza dei link aggiornati ai siti gestiti dalle terze parti in cui l´utente potrà effettuare le proprie scelte in merito alle categorie e ai soggetti da cui ricevere cookie di profilazione.

Si chiarisce inoltre che se sul sito i banner pubblicitari o i collegamenti con i social network sono semplici link a siti terze parti che non installano cookie di profilazione non c´è bisogno di informativa e consenso.

Al riguardo, si coglie l´occasione per ribadire che le richieste di consenso presenti all´interno dell´informativa estesa del sito prima parte ovvero nei siti predisposti dalle terze parti, non dovranno necessariamente fare riferimento ai singoli cookie installati, ma potranno riguardare categorie più ampie o specifici produttori o mediatori con cui il sito prima parte ha stabilito rapporti commerciali.

Preme sottolineare che l´obbligo di rendere l´informativa e acquisire il consenso nasce dalla scelta del sito di ospitare pubblicità mirata basata sulla profilazione degli utenti tramite i cookie, in luogo di quella generalista offerta indistintamente a tutti.

4. Modalità di acquisizione del consenso

Come noto, nel Provvedimento è stato stabilito che “la prosecuzione della navigazione mediante accesso ad altra area del sito o selezione di un elemento dello stesso (ad esempio, di un´immagine o di un link) comporta la prestazione del consenso all´uso dei cookie” (cfr. punto 1, lett. e), del dispositivo).

Al riguardo, si rappresenta che soluzioni per l´acquisizione del consenso basate su “scroll”, ovvero sulla prosecuzione della navigazione all´interno della medesima pagina web, da molti prospettate e in effetti particolarmente rilevanti nel caso di dispositivi mobili, sono considerate in linea con i requisiti di legge, qualora queste siano chiaramente indicate nell´informativa e siano in grado di generare un evento, registrabile e documentabile presso il server del gestore del sito (prima parte), che possa essere qualificato come azione positiva dell´utente.

5. Applicazione della normativa italiana anche a siti che hanno sede in Paesi extra EU

In merito ai chiarimenti richiesti sull´ambito di applicazione della normativa in materia di cookie, si evidenzia che la stessa riguarda tutti i siti che, a prescindere dalla presenza di una sede nel territorio dello Stato, installano cookie sui terminali degli utenti, utilizzando quindi per il trattamento “strumenti situati sul territorio dello Stato” (cfr. art. 5, comma 2, del Codice privacy).

6. Notificazione in caso di realizzazione di più siti web

Si ritiene condivisibile la richiesta presentata da alcuni editori titolari in merito alla possibilità di effettuare una sola notificazione per tutti i diversi siti web che gli stessi gestiscono, in linea con le previsioni normative. In tal caso nella notificazione del trattamento andranno indicati tutti i domini nei quali il trattamento effettuato attraverso i cookie si realizza mantenendone aggiornato – attraverso eventuali modifiche della notificazione – il relativo elenco.

IN PARTICOLARE EVIDENZA

• I siti che non utilizzano cookie non sono soggetti ad alcun obbligo

• Per l´utilizzo di cookie tecnici è richiesta la sola informativa (ad esempio nella privacy policy del sito). Non è necessario realizzare specifici banner.

• I cookie analitici sono assimilati a quelli tecnici solo quando realizzati e utilizzati direttamente dal sito prima parte per migliorarne la fruibilità.

• Se i cookie analitici sono messi a disposizione da terze parti i titolari non sono soggetti ad obblighi (notificazione al Garante in primis) qualora:

A) siano adottati strumenti che riducono il potere identificativo dei cookie (ad esempio tramite il mascheramento di porzioni significative dell´IP);

B) la terza parte si impegna a non incrociare  le informazioni contenute nei cookies con altre di cui già dispone.

• Se sul sito ci sono link a siti terze parti (es. banner pubblicitari; collegamenti a social network) che non richiedono l´installazione di cookie di profilazione non c´è bisogno di informativa e consenso.

• Nell´informativa estesa il consenso all´uso di cookie di profilazione potrà essere richiesto per categorie (es. viaggi, sport).

• È possibile effettuare una sola notificazione per tutti i diversi siti web che vengono gestiti nell´ambito dello stesso dominio.

• Gli obblighi si applicano a tutti i siti che installano cookie sui terminali degli utenti, a prescindere dalla presenza di una sede in Italia.

Posted in Senza categoria | Leave a comment

TPSIT – Flashare firmware su Android

Il firmware è un programma, in pratica il sistema operativo presente sui cellulari. In realtà il firmware è un programma non proprio un vero sistema operativo ma ormai è consuetudine chiamare in tale maniera il software caricato sui vari tablet o cellulari.

Flashare significa caricare il firmware sui cellulari. Il termine deriva dall’uso dei chip EEPROM chiamate flash memory da cui il termine flashare.

Nel caso di un Tablet SAMSUNG Tab2 10.1 per caricare nuovamente il sistema operativo si deve:

  • scaricarsi il software Odin sul proprio PC e metterlo nella stessa cartella in cui si caricherà il sistema operativo (odin).
  • scaricarsi il sistema operativo, che normalmente è di estensione .rar
  • scaricarsi i driver per comunicare tramite la porta USB con il tablet
  • fare il boot del tablet schiacciando il pulsante di ON/OFF e volume –
  • far partire il sofware Odin, flag su AP e caricamento del sistema operativo (firmware)
  • collegare il tablet
  • comparirà una schermata con la richiesta del download, pulsante volume +, a questo punto comparirà la presenza della comunicazione tra USB e porta del tablet (COM1)
  • selezionare start
  • aspettare che si carichi il sistema operativo
  • a questo punto il tablet è pronto.
Posted in Senza categoria | Leave a comment

Python – Liste dinamiche

Jacek Yerka

La gestione di una lista richiede in primis la sua definizione, come sempre deve avvenire:

lista[0]=b

quindi si usa il semplice comando:

lista.append(b)

L’usa delle liste dinamiche è utile se non si conoscono le dimensioni della lista che si vuole gestire ma ha lo svantaggio che se non usata in maniera oculata essa potrebbe portare al riempimento della memoria.

E’ una struttura dati da sconsigliare oppure da usare mettendo sempre e comunque un limite.

Con il seguente comando conosco la lunghezza della lista:

n=len(lista)

Per vedere a video la lista posso usare questo semplice metodo:

print(lista)

oppure posso stampare in orizzontale i suoi elementi:

for i in range(0,n):
print(lista[i],” “,end=’ ‘)

Con il seguente comando verifico che si siano immessi dei valori numerici:

if(g>47 and g<58):

b=int(b)
lista[0]=b

da notare che controllo il tipo di dato nella sua rappresentazione interna.

Con il comando:

b=b.upper()

faccio diventare maiuscolo la lettera immessa.

Il seguente programma effettua la somma dei numeri immessi in una lista dinamica finchè l’utente non inserisce la lettera S maiuscola.

#

Python 3.6.2

#Autore: Francesco Bragadin

#Data creazione: 28/12/2018

#Ultima modifica: 28/12/2018

#

#Nome file: listadinamica.py

#

#Commenti:

#lista di dimensione infinita e somma dei suoi elementi

#solo in python ho liste dinamiche con allocazione infinita

#da sconsigliare in quanto occupa dimensione infinita di memoria

#

#definisco l’oggetto lista

lista=[0]
b=0

g=0

#inserisco il primo valore della lista

b=input(“Inserisco il valore finchè non scrivi S: “)

#controllo che il valore sia un intero per effettuarbi la somma

g=ord(b)
if(g>47 and g<58):

#quindi posso fare la conversione da stringa ad intero senza mai sbagliare

b=int(b)
lista[0]=b

else:
b=b.upper()

#uso del ciclo while finisco il ciclo finchè non inserisco il valore S

while b!=’S’:
b=input(“Inserisco il valore finchè non scrivi S: “)
g=ord(b)
if(g>47 and g<58):

#quindi posso fare la conversione da stringa ad intero senza mai sbagliare

    b=int(b)
    lista.append(b)

#il comando append inserisce un elemento in fondo alla lista

else:
    b=b.upper()

#voglio sapere quanti sono i valori che ho inserito

n=len(lista)
print(“Lunghezza della lista: “, n)

print(“Lista primo metodo”)
print(lista)

#oppure la stampo elemento per elemento in orizzontale – terzo metodo –

print(“Terzo metodo di stampa della lista”)
for i in range(0,n):
print(lista[i],” “,end=’ ‘)

#mi serve solo per andare a capo

print(‘ ‘)

s=0

#Sommo gli elementi della lista

#Da notare che la prima volta del ciclo s=0

#le volte successiva s memorizza il valore precedente e lo somma al nuovo

#valore del vettore

for i in range(0,n):
s=s+lista[i]

#la somma dei suoi elementi

print(“La somma degli elementi risulta: “,s)

b=int(b)
lista[0]=b

Posted in Senza categoria | Leave a comment