2007_08_5AT_domotica GSM Carraretto

Transcript

2007_08_5AT_domotica GSM Carraretto
TITOLO: SISTEMA DÌ CONTROLLO DOMOTICO GESTITO DA GSM Il progetto è stato ideato come un sistema per il controllo automatico di vari processi effettuati in ambito domestico e il loro controllo a distanza. I sistemi volti a un miglioramento della qualità della vita nella casa sono definiti sistemi domotici, dove per “domotica” s’intende la contrazione della parola latina Domus (casa, abitazione) unita al sostantivo automatica, quindi un sistema di controllo per l’automazione delle abitazioni. In altre parole, la domotica tende a rendere intelligenti apparecchiature, impianti, ecc., della casa al fine di rendere più agevoli le attività all’interno dell’abitazione (quali accensioni delle luci, gestione del riscaldamento interno, …), di aumentarne la sicurezza (controlli anti‐intrusione) e permetterne il monitoraggio a distanza. Il mio progetto consiste in una simulazione di un semplice sistema domotico implementante un sistema di monitoraggio e di controllo utilizzante la tecnologia GSM (Global System for Mobile communication) e l’utilizzo di un Personal Computer. COMPOSIZIONE •
Come è stato appena detto, il progetto utilizza la tecnologia GSM quindi deve disporre di alcuni dispositivi necessari affinché una comunicazione di questo tipo possa avvenire, nel nostro caso sono necessari 2 elementi: un Mobile Equipment e una SIM card. ƒ
ƒ
Il Mobile Equipment è l’apparato mobile vero e proprio (comunemente un telefonino) comprendente tutto l’hardware ed il software necessario per garantire la trasmissione e la ricezione delle informazioni. Una SIM card (Subscriber Identity Module) tipicamente è un chip dotato di un microprocessore ed una memoria, in cui sono contenuti i dati di abbonamento dell’utilizzatore e gli algoritmi che consentono alla rete di riconoscere l’utente. Nel nostro caso abbiamo utilizzato un modem GSM collegato tramite la porta seriale al nostro PC come riportato in figura. Questa tipo di collegamento è detto prolunga o pin‐to‐pin in quanto ogni pin della porta seriale del PC è collegato fisicamente al corrispettivo pin del modem. È evidente che il modem non può trasmettere i propri dati utilizzando il pin TX perché andrebbe in conflitto con i dati trasmessi dal PC. Per evitare ciò il modem trasmetterà i propri dati al PC utilizzando il pin RX e riceverà nel pin TX. •
Il Personal Computer è stato collegato, attraverso la porta parallela, ad un hardware appositamente progettato. Il nostro hardware adatterà i segnali che il PC invierà attraverso la porta parallela alle specifiche elettriche necessarie per i collegamenti alla nostra casa. Il PC, però, non può fornire la potenza necessaria e quindi si limiterà a comandare un transistor che, a sua volta, comanderà un relè che collegherà opportunamente l’uscita alla tensione di alimentazione proveniente dall’esterno. •
A questi segnali di uscita •
•
è stato collegato un diodo led con lo scopo di indicazione e quindi favorire il controllo dello stato di esse. Il nostro hardware, che avrà anche la funzione di proteggere da eventuali sovratensioni che potrebbero danneggiare il PC, riceverà in ingresso anche i segnali provenienti da diversi sensori posizionati nella casa (ad esempio da una porta per rilevarne la chiusura) e li trasmetterà al PC che li elaborerà. Ovviamente i dispositivi utilizzati in questo hardware dovranno essere alimentati. Per fare ciò è stato utilizzato un opportuno alimentatore da circuito stampato che verrà collegato ad una presa elettrica dell’abitazione. Abbiamo utilizzato un dispositivo (7805) che regolerà e stabilizzerà l’alimentazione proveniente dalla presa ad una tensione adatta per il nostro hardware (circa 5 volt). FUNZIONAMENTO Il progetto, come detto prima, consiste nella simulazione di un sistema domotico. Per permettere di visualizzare agevolmente il funzionamento del progetto senza agire direttamente sull’impianto di casa è stato sviluppato un software che permette di visualizzare su un monitor lo stato della casa e, opzionalmente, anche di modificarne lo stato attraverso dei semplici pulsanti, simulando un azione che potrebbe essere stata effettuata realmente nella casa. Con questo progetto è possibile rilevare ed eventualmente modificare lo stato della casa utilizzando un telefonino cellulare con tecnologia GSM. Infatti per poter modificare lo stato della casa è sufficiente scrivere un SMS (Short Message Service) utilizzando una semplice sintassi; basterà scrivere la funzione da svolgere (ON per attivare e OFF per disattivare l’uscita) preceduta dal numero dell’uscita su cui verrà effettuata la funzione richiesta. Una volta compilato il messaggio è necessario inviarlo al numero di telefono corrispondente alla SIM installata nel modem GSM e in breve tempo si potrà notare sullo schermo e nell’hardware, attraverso i diodi led di indicazione, l’effettiva variazione dello stato delle uscite. Nel caso l’SMS sia stato compilato in modo incorretto, oppure esso sia stato inviato senza alcuna riga di testo, il PC invierà un SMS indicante l’effettivo stato della casa. Una linea di uscita è stata dedicata alla segnalazione di uno stato anomalo della casa facendo scattare gli allarmi, se essi sono stati attivati. Per segnalare lo stato dei sensori che rilevano l’apertura o la chiusura di porte e finestre, il nostro hardware mette a disposizione delle linee di ingresso che forniranno all’elaboratore la possibilità di controllare lo stato ed, eventualmente, far scattare gli allarmi. SOFTWARE L’utilizzo del PC per la gestione del sistema inevitabilmente richiede l’utilizzo di un opportuno software. Esso, principalmente, dovrà inizializzare il sistema, gestire la comunicazione GSM, gestire lo stato della casa e, in fase di simulazione, rappresentare tale stato su un monitor. La fase di inizializzazione dovrà controllare che la porta seriale, alla quale è stato collegato il modem GSM, sia disponibile e funzionante, successivamente attraverso i comandi AT dovrà inizializzare anche il modem GSM. Una volta che esso sarà pronto il software eseguirà il codice che gestirà la ricezione e l’invio degli SMS. Infatti come si può vedere dal diagramma di flusso, dopo aver inizializzato la porta seriale il software controllerà se la scheda SIM richiede codici PIN o PUK e, se non ci sono errori, procederà con la sua registrazione in rete. Dopodiché verrà gestita la ricezione degli SMS. Questa parte di software controllerà i dati inviati dal modem e, in particolare, controllerà se il modem GSM invia un comando specifico che indica la ricezione di un messaggio di testo. Infatti il modem GSM è stato configurato di fabbrica per la segnalazione automatica circa l’arrivo di un messaggio di testo. Una volta ricevuto questo comando si dovrà comunicare al modem il formato con cui si desidera ricevere l’SMS e attendere l’invio di questo tramite la porta seriale. Completata questa operazione tale messaggio verrà controllato completamente per cercare in esso i comandi per la modifica dello stato della casa. Quando i comandi verranno trovati il software modificherà lo stato della casa, facendo variare lo stato dell’array dei segnali delle uscite (DATA) e quindi non agirà direttamente sulla casa. Se non verrà trovato alcun comando o nessun comando è dato in maniera corretta il software provvederà a creare un messaggio di testo contenente lo stato della casa e lo invierà al numero di telefono dell’utente che aveva inviato l’SMS. In parallelo ad essa verrà eseguito un altro software che gestirà la visualizzazione su schermo dello stato della casa e, attraverso la porta parallela, potrà gestirla opportunamente. Esso controllerà lo stato dell’array “DATA” e lo mostrerà sullo schermo. Successivamente controllerà se è stato premuto uno dei pulsanti mostrati nello schermo utilizzati per simularne alcuni che potrebbero esserci nella casa, ed eventualmente ne varierà lo stato. Al termine di questi controlli il software semplicemente scriverà il valore di questo array in modo che la casa assuma proprio lo stato previsto dalla simulazione. Infine il software controllerà lo stato dei sensori per identificare eventuali anomalie e, se l’allarme anti‐intrusione è attivo provvederà a far scattare l’allarme e quindi la sirena. MIGLIORAMENTI •
•
Microprocessore: nelle applicazioni domestiche è necessario l’utilizzo di un microprocessore o di un microcontrollore perché l’utilizzo di un personal computer risulterebbe uno spreco di spazio, soldi e potenza elettrica. Inoltre nella casa non sarà necessario l’utilizzo del monitor utilizzato in fase di simulazione. Variazione personalizzata della sintassi degli SMS: talvolta la composizione dell’SMS per la modifica dello stato della casa può risultare complicato in quanto la sintassi richiede di •
•
scrivere un numero identificante un determinato dispositivo. Per ovviare a questo problema si può ricorrere all’assegnazione di alcune parole chiavi sostitutive ai numeri. Sicurezza: sarà necessario attivare e disattivare l’allarme attraverso dei codici di sicurezza. Per disattivare la sirena è sufficiente portare la casa allo stato in cui era prima, quindi se la sirena è stata attivata a causa dell’apertura di una porta, al momento, è sufficiente chiudere la porta per spegnere la sirena. Dovranno essere implementati codici particolari, oppure la disattivazione dell’allarme, per spegnere la sirena. Per una maggiore sicurezza si dovrà registrare i numeri di telefono di coloro che possono cambiare lo stato della casa attraverso gli SMS. Il software dovrà controllare se il numero di telefono del SMS ricevuto comparirà in questa lista e modificherà lo stato della casa, o lo lascerà invariato, a seconda della presenza o meno di esso. Con i numeri di telefono salvati in una lista sarà possibile inviare un messaggio che segnalerà l’attivazione dell’allarme. Resoconto più dettagliato: al momento non è stato possibile inviare un resoconto completo e dettagliato dello stato della casa in quanto il numero di caratteri necessari supererebbe il limite di un solo SMS (solamente 160 caratteri). FORMATTAZIONE SMS L’SMS che dovrà essere compilato per la modifica dello stato della casa dovrà essere scritto seguendo questo formato: numeroUscitaON/OFF Numero Uscita Dispositivo nella Casa 0 1 2 3 5 6 7 Irrigazione giardino Tubatura gas Luci casa Cancello Accensione antifurto Caldaia Luci giardino APPENDICE A: TELEFONIA GSM Il Global System for Mobile Communication (GSM) è uno degli standard di telefonia mobile più diffuso del mondo. Più di 200 paesi, con un totale di utenti superiore ai 3 miliardi, utilizzano i telefoni cellulari GSM. Questa grande diffusione ha permesso la stipulazione di accordi tra la maggior parte degli operatori telefonici internazionali in modo che si potesse effettuare la commutazione automatica fra diverse reti (roaming). La sua tecnologia è significativamente diversa dalle precedenti in quanto sia il canale di identificazione che quello di conversazione sono digitali anziché analogici. Per questo motivo questa tecnologia viene anche definita come sistema di telefonia mobile di seconda generazione (2G). Esso ha permesso agli utenti non solo di effettuare conversazioni, ma anche l’accesso a tutta una serie di nuovi servizi quali lo scambio di messaggi testuali e lo scambio dati. Esso è risultato a favore anche degli operatori per la possibilità di acquistare attrezzature ed infrastrutture a costi resi bassi dalla concorrenza fra i produttori. Il GSM è uno standard aperto ed è in costante evoluzione. In particolare, una novità significativa è stata introdotta con la versione 97 introducendo il GPRS e la pacchettizzazione dei dati fornendo la possibilità di utilizzare ulteriori servizi come l’utilizzo del cellulare come modem per la navigazione su internet. Successivamente è stata introdotta anche la modulazione di tipo EDGE che ha permesso di aumentare la velocità di trasmissione. Negli ultimi anni è stato introdotto il protocollo di comunicazione ASCI permettendo l’utilizzo dei cellulari come walkie‐talkie. ARCHITETTURA DELLA RETE Da questo punto di vista il sistema è da considerare come un sistema costituito da sottoinsiemi che cooperano. Ogni sottoinsieme è costituito da unità funzionali (sia hardware che software) ed ognuna di loro ha la possibilità di comunicare tramite delle interfacce standardizzate. Tipicamente nella struttura della rete GSM ci sono 3 sottoinsiemi con funzioni nettamente separate: •
Switching and Management SubSystem: esso si occupa della gestione del controllo delle chiamate. Inoltre esso si occupa della gestione della mobilità dell’utente, del trattamento dei dati relativi agli abbonamenti sottoscritti, della sicurezza, interconnessione con altre reti e l’amministrazione degli utenti. •
•
Base Station Subsystem: esso si occupa della gestione della parte radio del sistema quindi dell’assegnazione delle frequenze e dei timeslot per la comunicazione. Più precisamente il Base Transceiver Station è l’unità funzionale con il compito di realizzare i canali di comunicazione, di traffico e di segnalazione verso la stazione mobile via radio. In altre parole si occupa di fornire la copertura alla stazione mobile. all’interno del BSS fa parte anche la Base Station Controller che si occupa di controllare la parte radio della rete. Quindi essa è l’unità che gestisce la parte radio e si interfaccia al sottoinsieme SMSS. Operation and Maintenance SubSystem: esso, generalmente, si occupa della manutenzione della rete GSM. TECNICA DI ACCESSO MULTIPLO Il metodo di accesso che utilizza la tecnologia GSM è sia a divisione di banda che a divisione di tempo (TDMA‐FDMA). Utilizzando la divisione in frequenza è stata suddivisa la banda disponibile in 124 canali da 200KHz (B=25MHz) di uplink ed altrettanti di downlink permettendo una comunicazione di tipo full duplex. All’interno di ogni canale viene utilizzata la tecnica a divisione di tempo dividendola in 8 intervalli (timeslot) i quali complessivamente costituiscono un frame della comunicazione. Ogni stazione mobile può trasmettere solamente nel timeslot a lui assegnato quindi, contemporaneamente possono trasmettere 8 utenti per ogni canale per un totale di 992 utenti. Ogni utente non utilizza sempre lo stesso canale, infatti viene utilizzate la tecnica del frequency hopping. Tale tecnica prevede di trasmettere l’informazione su diverse frequenza seguendo opportune sequenze di salti in frequenza. Queste sequenze di salti devono essere note al ricevitore altrimenti la ricezione della comunicazione non avviene correttamente e queste consentono di recuperare parte dell’informazione attraverso particolari codici a correzione d’errore. Queste sequenze di salti vengono trasmesse all’apparato ricevente durante il time slot 0 di ogni frame su un particolare canale di controllo. SICUREZZA Inizialmente la tecnologia GSM prevedeva un livello di sicurezza basso, utilizzando un sistema di crittografia parzialmente condiviso per autenticare l’utente. La comunicazione tra utente e la stazione base può essere cifrata utilizzando ulteriori algoritmi ma la comunicazione fra la stazione base e il resto della rete risulterà comunque non protetta. Infatti è stato dimostrato che è possibile intercettare le chiamate in questo tratto violando l’algoritmo di cifratura in meno di 30 minuti utilizzando un normale PC. La cifratura dei dati è una fase onerosa per le risorse di un telefonino cellulare e può causare il rallentamento della comunicazione. Al fine di evitare questo problema gran parte dei dati trasmessi, ovviamente non legati alla comunicazione dell’utente, non vengono cifrati. In Europa viene utilizzato per la cifratura l’algoritmo A5/1 che fornisce più protezione rispetto al suo successore A5/2 adottato in molti altri paesi. Nei telefoni GSM sono previsti meccanismi di cambio del codice di cifratura in caso di necessità soprattutto verso la versione del 2002 di questo codice (A5/3) che ad oggi non sembra essere stato violato. Dal 2004 l’algoritmo A5/2 non è stato più utilizzato perché forniva una protezione di livello troppo basso APPENDICE B: COMANDI AT Nei DCE di vecchia generazione la programmazione, cioè la sua configurazione per le caratteristiche desiderate, era effettuata in modo hardware in quanto si agiva direttamente su deviatori esterni o su ponticelli interni. I DCE attuali comprendono al loro interno un microprocessore e quindi è possibile programmare il DCE inviando degli opportuni comandi che il microprocessore interpreterà ed agirà di conseguenza. Una programmazione di questo tipo è detta in modo Software. Come linguaggio per la definizione dei comandi si è affermato come standard un linguaggio introdotto dalla Hayes Microcomputer Product. Con tale linguaggio i comandi sono costituiti da stringhe di caratteri ASCII che iniziano tutte, tranne 2, con AT (abbreviazione di attention); per questo motivo questi comandi sono noti anche come comandi AT. Tipicamente questi comandi AT vengono divisi in 3 categorie: •
•
•
Comandi non preceduti da AT Comandi AT di base: sono i comandi di base, per lo più comuni tra tutti i DCE, e consentono di controllare lo stato dei circuiti di interfaccia e la modalità con cui avviene il colloquio tra DTE e DCE, di selezionare a un modem un numero di telefono (per la chiamata automatica) o per impostare la risposta automatica Comandi AT estesi: sono comandi che permettono di impostare particolari funzioni di quel DCE (per esempio la compressione) e variano da costruttore a costruttore Un DCE può trovarsi nello stato di comando offline, di test, dati online e comando online. All’accensione il DCE si porta nello stato di comando offline e attraverso degli opportuni comandi inviati dal DTE può effettuare dei test (loop test), per controllare il corretto funzionamento della rete oppure del DTE stesso, impostare valori della trasmissione (come la velocità di trasmissione), oppure portarsi nella modalità dati. Quando il DCE si porta in modalità dati ogni dato che si invia ad esso viene interpretato come dato, quindi non come comando, e viene inviato. Fa eccezione solamente 1 comando non precedutoda AT: la sequenza di escape. Essa è utilizzata per portarsi dalla modalità dati alla modalità comandi online. La modalità di comando online è utilizzata per sospendere momentaneamente la trasmissione senza abbattere la connessione.