ISTITUTO D'ISTRUZIONE SUPERIORE "L. COBIANCHI” INDIRIZZO INFORMATICO Progetto domotico Tesina di maturità Candidato: Giosuè Lucio Delgado Anno scolastico 2014-2015 Domotica Sommario Project abstract ................................................................................................................................................. 3 Introduzione ...................................................................................................................................................... 4 Mappa concettuale collegamenti materie ........................................................................................................ 5 Cenni storici ....................................................................................................................................................... 6 Rivoluzione industriale .................................................................................................................................. 6 Domotica ....................................................................................................................................................... 7 Futurismo .......................................................................................................................................................... 8 Domotica nel dettaglio .................................................................................................................................... 10 Definizione ................................................................................................................................................... 10 Semplice ...................................................................................................................................................... 10 Integrata ...................................................................................................................................................... 10 Ambiti applicativi ......................................................................................................................................... 10 Vantaggi ....................................................................................................................................................... 11 Esempi di funzioni di un impianto domotico ............................................................................................... 12 Tecnologie di trasmissione .......................................................................................................................... 13 Protocolli di comunicazione ........................................................................................................................ 13 Mercato ........................................................................................................................................................... 13 Classificazione e norme ............................................................................................................................... 14 Progetto ........................................................................................................................................................... 15 Funzionalità ................................................................................................................................................. 15 Schema funzionamento progetto................................................................................................................ 15 Linguaggi di programmazione ..................................................................................................................... 16 Sito web progetto ............................................................................................................................................ 17 Interfaccia utente ........................................................................................................................................ 17 Base di dati .................................................................................................................................................. 17 Software progetto ........................................................................................................................................... 18 Socket .......................................................................................................................................................... 19 Protocollo di rete ......................................................................................................................................... 19 TCP/IP .......................................................................................................................................................... 20 Database ...................................................................................................................................................... 21 Dispositivi .................................................................................................................................................... 22 Hardware progetto .......................................................................................................................................... 24 Arduino ........................................................................................................................................................ 24 Sviluppi futuri .............................................................................................................................................. 25 Riferimenti ....................................................................................................................................................... 25 Ringraziamenti ................................................................................................................................................. 25 2 Domotica Project abstract The project called "Home Control" is the realization of a home automation system in the houses, the goal is to create a management system easy to use. It has been developed in three different parts that have been put in a relation that allows the operation of the project. The first part is the one on the web. It has been created a website where the users can download a new specific software. To use the downloaded software, the user must register himself using the site and then activate his account by the activation link that is sent to the e-mail (saved in his registration form). At that point, he can use the software and access to other services on the website. If he would need help for a possible problem, he may consult the forum on the website or send an email for explanation. From the site he can also manage his profile with all related information, for example, he can change the login settings. The second part is a software developed on a Microsoft program called "Visual Studio" in the 2013 version, that makes possible the creation of applications. By using the C # language, an object-oriented language, it has developed a program to manage the home automation system. At its start, the user must enter his username and password to access the control window. He can set up automatic login after the first access so next time he won’t need to re-enter the login information. This program needs the use of the Internet, otherwise it’s not possible to use it. In the control window the user can display various maps of the home that he has previously uploaded to his profile and display the various sensors. Each automatic object is shown on the map. It’s possible to control and see all the devices added. By double clicking on the sensor in the map users can see the history of sensor data. To start the management software, they simply have to click the button "Start" and the device will connect to the software. The last part is the design and the creation of devices. These devices are “components” that connect to the software through the network, sending and receiving specific information. They were created using an Open Source platform called Arduino. It is a low price programmable hardware platform. It is like a minicomputer with a low power but enough to manage sensors and a connection through the network. These devices have been programmed in the way that those who must install them, does not need large knowledge in programming. Independently of the number of devices to program, users just need to connect them to the software and send the code to the task requested. The strong point of the project is the easy use, the simplified installation and the low cost. Just think that a single device can connect you to at least six different sensors and manage thirteen appliances (lights, relays, etc..). The cost is about 50 euros per device and in each room can be installed only one of these. Calculating for example a house with six rooms the price would be 300 €. Are excluded in calculating complex electrical components such as security doors, electric shutters etc.. Prices that companies require to this kind of automation are certainly much higher than this. 3 Domotica Introduzione Il termine "Domotica" deriva dall’unione della parola greca "domos" e "informatique", vale a dire l’informatica applicata alla casa o “casa intelligente”. È una scienza che si occupa di migliorare e semplificare la vita negli ambienti abitati, o antropizzati (cioè ambienti modificati dall’uomo), attraverso l’uso di apparati elettrici ed elettronici centralizzati. La domotica nasce nella seconda metà del 1900, durante la terza rivoluzione industriale, con lo studio e la realizzazione dei primi progetti che consentivano la connessione di alcuni sistemi, ad esempio l’impianto di illuminazione e l’impianto di sicurezza dando, così, all'utente la possibilità di automatizzarne alcune funzionalità. Lo scopo per cui nasce è quello di studiare, inventare strumenti e teorie per: aumentare la qualità della vita, migliorare la sicurezza, risparmiare energia e ridurre i costi di gestione. Con "casa intelligente" si indica un ambiente domestico, opportunamente progettato e tecnologicamente attrezzato, il quale mette a disposizione dell'utente impianti dove apparecchiature ed elettrodomestici sono in grado di svolgere funzioni parzialmente autonome in base a situazioni che si possono verificare. La trasformazione della propria casa in una casa intelligente può avvenire anche a basso costo. Quest’ultima possiede innumerevoli vantaggi che semplificano lavori e/o azioni all’utente che non è nient’altro che la persona, o più persone, che ci abitano. Molti credono che la domotica può essere applicata solo ad un ambiente domestico ma, in realtà essa può essere estesa a molti altri campi più o meno legati all'ambito casalingo. Le potenzialità della domotica infatti sono molto elevate ed espandibili a quasi tutti i settori, essendo molto versatile ed adattabile alle esigenze dell'utilizzatore finale. Un esempio di un settore in fase di piena espansione è la building automation (automazione degli edifici) cioè la centralizzazione dei servizi di un intero edificio, per esempio un condominio, che deve gestire tanti servizi come distribuzione acqua, gas ed energia elettrica. Nel mio progetto ho cercato di semplificare al meglio la gestione degli apparecchi ed elettrodomestici. Le varie interfacce con cui l’utente andrà ad interagire sono studiate per ridurre al minimo la difficoltà di utilizzo. 4 Domotica Mappa concettuale collegamenti materie STORIA: ITALIANO: RIVOLUZIONI INDUSTRIALI FUTURISMO DOMOTICA TPS: SISTEMI: SOCKET E TCP/IP PROGETTO “HOME CONTROL” 5 Domotica Cenni storici Si può affermare che la domotica in un certo senso discende da altre discipline come l'informatica e l'elettronica. È un settore che ha una storia molto recente. Rivoluzione industriale La rivoluzione industriale fu un processo di industrializzazione della società che da un sistema prevalentemente agricolo ed artigianale divenne un sistema industriale moderno caratterizzato dall'uso generalizzato di macchine azionate da energia meccanica e dall'utilizzo di nuove fonti energetiche inanimate. Tutto questo progresso deriva dall’innovazione tecnologica e da cambiamenti socio-culturali. Nel corso della storia abbiamo avuto tre rivoluzioni industriali: La prima rivoluzione industriale iniziò in Inghilterra intorno al 1750 per svariati motivi: grande espansione demografica, evoluzione delle tecniche di agricoltura, ampliamento dei commerci ed innovazioni tecnologiche. Da qui nacque un nuovo sistema industriale che vedeva l’impiego degli operai nelle fabbriche, la sostituzione delle fonti di energia tradizionale con fonti combustibili e la nascita delle macchine a vapore. Dapprima i settori interessati dalla rivoluzione tecnologica furono quello tessile e siderurgico, ma ben presto le nuove tecniche interessarono tutti gli altri settori produttivi. Il vantaggio principale nelle industrie fu un grande incremento della produzione (accorciando i tempi ed aumentando la quantità prodotta), nel sistema dei trasporti venne utilizzata la macchina a vapore rendendo possibile percorrere spazi con una maggiore velocità, le macchine vennero impiegate in lavori per aiutare l’uomo (purtroppo in alcuni casi anche sostituendolo). 2. La seconda rivoluzione industriale viene fatta convenzionalmente partire dal 1870 con l'introduzione dell'elettricità, dei prodotti chimici e del petrolio. Dopo la prima rivoluzione industriale la tecnologia crebbe e con essa le innovazioni tecnologiche che avvennero fra 1800 e 1900. Il rinnovamento tecnologico investì tutti i settori produttivi, ma gli sviluppi più interessanti riguardarono il settori chimico, elettromeccanico e della metallurgia dell'acciaio. Dal 1870, benché carbone e ferro rimasero prodotti fondamentali, iniziò l'età dell'acciaio, della chimica, dell'elettricità e del petrolio. In questi anni l’acciaio iniziò a sostituire il ferro per le sue qualità superiori. La chimica venne vista come una scienza moderna e diventò fondamentale per lo sviluppo industriale. L’elettricità fece il suo ingresso diventando ben presto utilizzabile in moltissimi settori per le sue diverse caratteristiche: facilità di trasmissione, possibilità di immagazzinamento e distribuzione. Infine l'invenzione del motore a combustione interna, applicato prima alle automobili e poi all'aeroplano, aprì altri nuovi orizzonti. I primi motori a combustione interna funzionavano a gas e potevano essere applicati solo a macchine fisse, per il loro bisogno di una fonte di rifornimento; successivamente si utilizzerà il petrolio e i suoi derivati che bruciano bene, producono il doppio del lavoro del carbone ed occupano molto meno spazio. I costi di produzione sono più elevati ma i vantaggi ed i guadagni che ne derivano daranno l’impulso all'estrazione del petrolio che lentamente sostituirà il carbone. 1. 6 Domotica 3. La terza rivoluzione industriale è un periodo storico attuale che va dal 1950 circa (dopo la fine della Seconda Guerra Mondiale) fino ad oggi. Negli anni successivi alla Seconda Guerra Mondiale infatti Stati Uniti ed Unione Sovietica, nell'ambito della guerra, fredda si contesero per decenni sul piano tecnologico e di ricerca scientifica in vari settori: spazio, elettronica, informatica, nucleare ed energie rinnovabili; questi erano alcuni dei campi in cui gareggiavano. Mentre le due potenze cercavano di superarsi tra di loro le scoperte scientifiche crescevano sempre di più. Alcuni dei risultati delle conoscenze scientifiche e tecnologiche raggiunti a partire dal 1900 sono: la nascita del computer, dei robot, della prima navicella spaziale e dei satelliti. Un esempio è Internet: con la nascita dei computer si propagò una rete informatica creata nel 1969 per comunicare a distanza inizialmente con scopo militare, successivamente si trasformò in un servizio di massa utilizzabile sotto abbonamento. La quantità di informazioni presenti oggi su Internet è gigantesca. La domotica nasce come progresso nel campo informatico ed elettronico. Domotica Sebbene la domotica iniziasse a svilupparsi ed ufficialmente a nascere nella terza rivoluzione industriale, si può ricordare un fatto antecedente accaduto attorno al 1900. Un costruttore edile del Wisconsin, William Penn Powers, ebbe un'idea rivoluzionaria, cioè quella di creare un dispositivo molto semplice, provvisto di un liquido che rispondesse ai cambiamenti della temperatura, capace di regolare l'apporto di energia al riscaldamento. Da questa idea fondò una compagnia, la Power Regulator Company che oggi non è che la Simens Building Technology. Proprio con la nascita di quella industria la tecnologia iniziò a fare il suo ingresso in ambito domestico. Da quel momento si studiarono sempre più applicazioni di implementazione su condomini, palazzi, case, ecc.. Solo attorno agli anni '50, quando negli Stati Uniti si iniziò a pensare nell’ottica della Building Automation, un gruppo di Ingegneri Energetici produsse il primo dispositivo pratico di controllo multiplo degli edifici chiamato System 320. Questo nuovo sistema prevedeva già l'uso di display a cristalli liquidi dai quali si ricevevano tutte le informazioni in tempo reale sul funzionamento degli impianti. Successivamente nel 1966 Jim Sutherland, un ingegnere in collaborazione con la Westinghouse Corporation diede vita al primo dispositivo di automazione domestica chiamato "Electronic Computing House Operator" che implementò molte funzionalità, dalle annotazioni al controllo della temperatura. Nel 1970 un gruppo di ingegneri scozzesi diedero vita ad un’industria chiamata Pico Electronics che sarà la base del futuro sviluppo di X10, uno degli standard più utilizzati oggi in domotica che utilizza la linea elettrica per le sue trasmissioni (non è l’unico standard). Per quanto riguarda la domotica questa azienda è una delle molte aziende che si occupano di questo campo e che hanno partecipato allo sviluppo e della diffusione della domotica. Ricordiamo che senza lo sviluppo dei PC, della televisione, della rete Internet, dell'elettronica e delle reti di trasmissione dei dati, sarebbe impensabile parlare oggi di domotica. La domotica al giorno d’oggi è sempre più presente nella vita delle persone ed è un mercato in grande crescita sia in Italia che nel mondo. Per molti quando si parla di domotica intendono qualcosa di “futuristico”, che va fuori dagli schemi tradizionali. 7 Domotica Futurismo In ambito letterario, uno dei movimenti italiani è stato il Futurismo, nato nel 1909 grazie a Filippo Tommaso Marinetti e durato fino al 1945 circa. Questo nuovo movimento divenne in breve tempo il più innovativo nel panorama culturale italiano. Esso ebbe influenza su movimenti artistici che si svilupparono in altri Paesi, in particolare in Russia, Francia, Stati Uniti ed Asia. Il “Manifesto del Futurismo” scritto da Marinetti venne pubblicato proprio nel 1909 dapprima sui giornali italiani poi sul giornale “Le Figarò” in Francia. In questo manifesto emerse chiara l'intenzione di voler plasmare, cambiare completamente la concezione della vita e dell'arte tradizionale, si rivolgeva a tutte le arti, comprendendo sia poeti che pittori, scultori, musicisti, e così via. Nel manifesto vengono elencate le tematiche principali: Noi vogliamo cantare l'amor del pericolo, l'abitudine all'energia e alla temerità. Il coraggio, l'audacia, la ribellione, saranno elementi essenziali della nostra poesia. La letteratura esaltò fino ad oggi l'immobilità pensosa, l'estasi ed il sonno. Noi vogliamo esaltare il movimento aggressivo, l'insonnia febbrile, il passo di corsa, il salto mortale, lo schiaffo ed il pugno. Noi affermiamo che la magnificenza del mondo si è arricchita di una bellezza nuova; la bellezza della velocità. Un automobile da corsa col suo cofano adorno di grossi tubi simili a serpenti dall'alito esplosivo... un automobile ruggente, che sembra correre sulla mitraglia, è più bello della Vittoria di Samotracia. Noi vogliamo inneggiare all'uomo che tiene il volante, la cui asta ideale attraversa la Terra, lanciata a corsa, essa pure, sul circuito della sua orbita. Bisogna che il poeta si prodighi con ardore, sfarzo e munificenza, per aumentare l'entusiastico fervore degli elementi primordiali. Non v'è più bellezza se non nella lotta. Nessuna opera che non abbia un carattere aggressivo può essere un capolavoro. La poesia deve essere concepita come un violento assalto contro le forze ignote, per ridurle a prostrarsi davanti all'uomo. Noi siamo sul promontorio estremo dei secoli!... Perché dovremmo guardarci alle spalle, se vogliamo sfondare le misteriose porte dell'impossibile? Il Tempo e lo Spazio morirono ieri. Noi viviamo già nell'assoluto, poiché abbiamo già creata l'eterna velocità onnipresente. Noi vogliamo glorificare la guerra - sola igiene del mondo - il militarismo, il patriottismo, il gesto distruttore dei libertari, le belle idee per cui si muore e il disprezzo della donna. Noi vogliamo distruggere i musei, le biblioteche, le accademie d'ogni specie, e combattere contro il moralismo, il femminismo e contro ogni viltà opportunistica e utilitaria. Noi canteremo le grandi folle agitate dal lavoro, dal piacere o dalla sommossa: canteremo le maree multicolori e polifoniche delle rivoluzioni nelle capitali moderne; canteremo il vibrante fervore notturno degli arsenali e dei cantieri, incendiati da violente lune elettriche; le stazioni ingorde, divoratrici di serpi che fumano; le officine appese alle nuvole per i contorti fili dei loro fumi; i ponti simili a ginnasti giganti che scavalcano i fiumi, balenanti al sole con un luccichio di coltelli; i piroscafi avventurosi che fiutano l'orizzonte, e le locomotive dall'ampio petto, che scalpitano sulle rotaie, come enormi cavalli d'acciaio imbrigliati di tubi, e il volo scivolante degli aeroplani, la cui elica garrisce al vento come una bandiera e sembra applaudire come una folla entusiasta. Il Movimento del futurismo si può suddividere in due piani principali: sociale e letterario. Sul piano sociale il futurismo promosse la guerra, il militarismo, il progresso ed il nazionalismo. Successivamente appoggerò il fascismo in quanto ebbero ideologie in comune (verrà criticato successivamente proprio per questo motivo). Venne anche evidenziato da parte dei futuristi la modernità e ciò che ne derivò come un bene, come un progresso dell’umanità. Alcuni inni del futurismo furono: la macchina, l’elettricità, la velocità ed in generale ciò che la modernità ha portato. Sul piano letterario effettuarono una critica al classicismo, criticavano i vecchi stili di scrittura e ne promossero di nuovi, liberi da schemi. I temi innovativi ed originali del Futurismo, richiesero giustamente uno stile di scrittura nuovo e la sintassi tradizionale decadentista non fu di certo adeguabile alla dinamicità di questa nuova avanguardia. Marinetti pubblica nel maggio 1912 il “Manifesto Tecnico della Letteratura Futurista”, in cui 8 Domotica proclama come deve essere il nuovo stile del futurismo: verso libero, utilizzo di simboli (oggetti descritti attraverso suoni, odore, rumori), le parole dovevano essere scritte nell’ordine di come vengono in mente utilizzando una scrittura d’impulso abolendo la punteggiatura ed usando infine verbi all’infinito. Autori famosi che fecero parte del movimento futurista furono: Corrado Govoni (1884-1965), incerto tra Futurismo e Crepuscolarismo; Paolo Buzzi (1874-1956), autore milanese che scrisse “Aeroplani” (1909) e “Versi liberi“ (1913); Enrico Cavacchioli (1885-1954), poeta e drammaturgo; Omero Vecchi (1888-1966), conosciuto con lo pseudonimo di Luciano Folgore: nei versi liberi di “Il canto dei motori” (1912) celebrò la civiltà delle macchine; Francesco Cangiullo (1888-1977). Un opera famosa del movimento è “Zang Tumb Tumb” (1914): il componimento offre una rappresentazione, in parte verbale ed in parte visiva (disposizione delle parole e utilizzo del grassetto), del bombardamento subito nel 1912 da Adrianopoli (una città turca) a opera dei bulgari. Vi cito una parte del brano: ogni 5 secondi cannoni da assedio sventrare spazio con un accordo tam-tuuumb ammutinamento di 500 echi per azzannarlo sminuzzarlo sparpagliarlo all´infinito nel centro di quei tam-tuuumb spiaccicati (ampiezza 50 chilometri quadrati) balzare scoppi tagli pugni batterie tiro rapido violenza ferocia regolarita questo basso grave scandere gli strani folli agitatissimi acuti della battaglia furia affanno orecchie occhi narici aperti attenti forza che gioia vedere udire fiutare tutto tutto taratatatata delle mitragliatrici strillare a perdifiato sotto morsi shiafffffi traak-traak frustate pic-pac-pum-tumb bizzzzarrie salti altezza 200 m. della fucileria […] Ciò che maggiormente attira l’ attenzione nel componimento futurista è l’utilizzo di veri e propri "rumori" al posto delle parole ed in questo brano lo si può notare fin dall’inizio. Lo stile utilizzato contiene il vero senso di “parole in libertà” cioè scritte come vengono in mente. L’autore vuole rappresentare le sensazioni del bombardamento nella maniera più oggettiva possibile. Riassumendo, ciò che il futurismo rifiutava era il concetto di un’arte élitaria e decadente, confinata nei musei e negli spazi della cultura aulica; proponeva invece un balzo in avanti, per esplorare il mondo del futuro, fatto di parametri quali la modernità contro l’antico, la velocità contro la stasi, la violenza contro la quiete, e così via. 9 Domotica Domotica nel dettaglio Grazie alle moderne soluzioni tecnologiche, che vengono offerte, vi è la possibilità concreta per ripensare al concetto di casa mettendo in primo piano le esigenze delle persone. Definizione Per casa domotica intendiamo un’abitazione dotata di una serie di dispositivi comandabili che, attraverso una struttura di comunicazione integrata, consentono di automatizzare la maggior parte delle operazioni di gestione della casa che tradizionalmente erano eseguite manualmente. L’obiettivo della domotica è quello di sfruttare gli strumenti tecnologici più recenti per governare la casa. Per chiarire il lato pratico della domotica possiamo fare un esempio: un’auto delle ultime generazioni può essere considerato come una piccola casa domotica, infatti in questo settore interagiamo già con molti automatismi. Un elemento di questi è la centralina elettronica che gestisce temperatura, ventilazione, tergicristalli e altri meccanismi. Sono presenti anche molti sensori che hanno l’obiettivo di avvisare ed intervenire in aiuto del guidatore in caso di problemi. Possiamo distinguere due tipologie di domotica: semplice ed integrata. Semplice Per domotica semplice si prevede un numero limitato di dispositivi da comandare che generalmente non interessano l’impianto elettrico esistente. In poche parole: meno cose da comandare e possibilmente che non siano legate agli impianti tecnologici già disponibili in casa. Integrata Un impianto di domotica integrata prevede che tutte le funzioni di tutti gli impianti tecnologici di una casa siano in comunicazione tra di loro e siano tutti compresi in un unico sistema, una sorta di piccolo computer che controlla tutte le funzioni presenti all’interno della casa: riscaldamento, illuminazione, impianto di allarme, telefonia, apertura e chiusura delle porte e quant’altro la fantasia del progettista o le necessità dell’utente possono ideare. Questo caso verrà analizzato di seguito specificandone le caratteristiche, i vantaggi, ecc.. Ambiti applicativi Sebbene l’ambito a cui facciamo riferimento per definizione sia quello domestico, in realtà la domotica può essere estesa a molti altri campi. Le potenzialità infatti sono teoricamente illimitate ed espandibili a tutti i settori. Le principali qualità sono la grande versatilità e l’adattabilità alle esigenze del momento. Alcuni ambiti in cui può essere introdotta sono: In ospedali, per migliorare l’efficienza ed il monitoraggio dei pazienti; In alberghi, per migliorare la gestione alberghiera; Nelle navi, per tenere tutto sotto controllo anche quando non si è bordo; Per i disabili, per aiutarli e per semplificare le loro attività quotidiane; Nelle industrie, per ridurre i consumi e i costi ma anche per gestire i macchinari e la sicurezza. 10 Domotica Grazie ai requisiti che la domotica possiede abbiamo un innumerevole numero di ambiti applicativi. I principali requisiti sono: adattabilità, intesa come elasticità del sistema domotico ai cambiamenti dell’ambito; mobilità, intesa come la capacità di poter gestire i dispositivi singolarmente; reattività, intesa come la reazione del sistema agli eventi fisici percepibili dall’uomo; scalabilità, intesa come la possibilità di accrescere o ridurre la rete domotica ed il numero di dispositivi che sono all’interno della casa senza pregiudicare il corretto funzionamento del sistema domotico; interazione in tempo reale, l’uomo infatti è abituato ad utilizzare con gli oggetti e le funzioni della propria abitazione in tempo reale. L’eternità dei sistemi domotici e l’integrazione totale sono obiettivi ancora non disponibili sebbene la definizione di domotica li prenda in considerazione. Vantaggi La progettazione "tradizionale", è quella senza l’utilizzo di un sistema domotico, dove i vari impianti (elettrico, d’illuminazione, riscaldamento, d’allarme, ...) sono separati e bisogna gestirli manualmente. Spesso i vari impianti, gestiti separatamente, possiedono alcune limitazioni: 1. Difficoltà di gestione: esistono diverse interfacce di controllo per esempio telecomandi, centraline, ecc.. 2. Assenza di una gestione consumi, non è presente un’ottimizzazione per la gestione dei carichi. 3. Funzionalità limitate: utente non può combinare le funzionalità di impianti differenti, limitando in questo modo le potenzialità dell'intero "sistema casa". 4. Scarsa flessibilità: modificando l’impianto di un sistema importante per la casa, spesso si devono installare nuove linee elettriche. La domotica grazie alle sue caratteristiche va a sopperire a queste limitazioni. I vantaggi che derivano dalla sua istallazione in ambito casalingo sono molti, i principali sono: monitoraggio delle condizioni ambientali (temperatura, umidità, ecc..) controllo accurato in tempo reale dell'energia con l’obiettivo del risparmio energetico, inoltre è presente la gestione dei carichi elettrici; comfort: regolazione del sistema di condizionamento, dell'impianto di illuminazione, degli elettrodomestici, gestibili da interfacce di facile comprensione; cablaggi ridotti del 50%: grazie ai cavi che sono limitati a prese e attuatori, gli altri collegamenti possono essere effettuati con cavetti di piccola sezione; controllo remoto: possibilità di gestire a distanza il sistema; più sicurezza attraverso la gestione degli allarmi e dei sensori con l’obiettivo di salvaguardare la salute e la sicurezza; facilità di aggiunga di dispositivi, di istallazione e di rimozione: i passaggi di aggiunta di un dispositivo sono semplici senza bisogno di ridefinire l’impianto. Cioè è valido anche per la rimozione o la modifica di un dispositivo (per esempio: elettrodomestico). 11 Domotica I vantaggi che si avranno in altri ambiti sono per esempio la velocizzazione di processi costruttivi in ambito industriale, il monitoraggio in tempo reale con un margine di un piccolo errore in ambito ospedaliero, ecc.. Riassumendo i vantaggi che si hanno nell’utilizzo della domotica sono quelli che derivano dall’introduzione di macchine (o dispositivi) che affiancano l’uomo in lavori ripetitivi. Esempi di funzioni di un impianto domotico Di seguito elenco le funzionalità che avranno diversi settori con l’utilizzo della domotica. Esempio di funzioni di un impianto di climatizzazione intelligente: • funzionamento automatico in base al riconoscimento della presenza di persone; • spegnimento automatico del calorifero sotto una finestra aperta; • funzionamento in base alla stagione e alla temperatura interna/esterna. Esempio di funzioni di un impianto di automazione domestica intelligente: • Apertura o chiusura in modo automatico di cancelli e porte; • Chiusura o apertura in autonomia degli oscuranti (tapparelle, persiane, ecc.) e coordinamento con l'automazione della ventilazione in base a parametri di aeroilluminazione. • Controllo e gestione delle temperature; • Controllo e gestione dell'illuminazione; • Controllo e gestione degli elettrodomestici. Questi esempi sono alcuni delle varie funzionalità che si avranno con l’istallazione di un impianto domotico in ambito domestico. Ovviamente il tutto potrà essere controllato direttamente, per esempio da un tablet, da uno smartphone o da un PC: sia in locale che da remoto (a distanza). 12 Domotica Tecnologie di trasmissione La domotica si propone di migliorare le soluzioni per collegare gli apparati elettrici e gli impianti già esistenti, così da fornire maggiori servizi. Ovviamente esistono diverse tecnologie di trasmissione, le più diffuse sono: 1. le linee telefoniche: questa soluzione permette di sfruttare la linea telefonica di casa per mettere in collegamento tra loro i vari apparati, anche se non sono adatte alla trasmissioni di dati a grandi velocità. 1. le onde convogliate su linea elettrica: anche in questo caso è possibile sfruttare le linee già presenti, ma oltre a non avere la possibilità di trasferire dati velocemente, c’è anche il problema di grossi rumori che disturbano i segnali inviati. 2. la radiofrequenza: è la tecnologia che in questo momento ha il maggior sviluppo, consente di creare delle reti a basso costo molto efficaci. 3. i sistemi BUS: da questo tipo di sistemi abbiamo dei collegamenti dedicati, che oltre a trasferire i dati forniscono anche l’alimentazione. 4. Infrarossi: è un metodo di comunicazione senza fili. La sua limitazione: per funzionare ha bisogno di avere una traiettoria libera da ostacoli. Solitamente un bus è costituito da un cavo UTP e ciò consente: • semplicità: un solo cavo che collega tutti gli apparecchi; • sicurezza: i dispositivi vengono gestiti con tensioni basse; flessibilità: si può modificare in ogni istante la configurazione del sistema andando ad aggiungere o a rimuovere degli apparecchi; economicità: avendo un solo cavo la gestione e la manutenzione risulta essere meno costosa, inoltre se si opera o lavora su un apparecchio il resto del sistema resta in funzione. La domotica utilizza più tecnologie, che soddisfano le varie necessità e risolve i problemi fisici dell’ambiente che si possono incontrare. La maggior parte degli operatori ritiene vincente la scelta di un impianto nel quale l’unità centrale di controllo sia facile da programmare a da gestire, attraverso semplici interfacce utente. Protocolli di comunicazione I protocolli di comunicazione sono i linguaggi che permettono ai vari dispositivi di comunicare tra loro. Attualmente esistono numerosi standard che vengono utilizzati come protocolli di comunicazione, un esempio è il “KNX”, uno standard della building automation che supporta vari mezzi trasmissivi ed è riconosciuto efficace a livello globale. Sebbene esistano diversi standard nessuno di essi è obbligatorio da scegliere, bensì l’utilizzo di uno di questi può essere vantaggioso. Mercato Come spiegato prima la domotica è un settore in continua crescita. La domotica al giorno d’oggi è sempre più presente nella vita delle persone ed è un mercato in grande crescita sia in Italia che nel mondo. 13 Domotica Classificazione e norme Nell’ambito degli impianti elettrici e di automazione esistono norme ben definite che sono state sviluppate sulla base di direttive codificate in ambito europeo. La Norma CEI 64-8 è il principale riferimento normativo in ambito nazionale sia per coloro che operano sugli impianti elettrici di bassa tensione, sia per coloro che desiderano acquisire le nozioni di base per comprendere i principi e la metodologia alla base degli impianti domestici e della loro classificazione. Il documento CEI individua e classifica tre livelli di impianti, ciascuno dei quali è classificato in base alla dotazione impiantistica e funzionale minima che ne determina le funzionalità. Questi livelli si riferiscono solo al livello di comfort offerto. 1. Livello base: rappresenta il requisito minimo obbligatorio perché un impianto elettrico garantisca un livello minimo di sicurezza e affidabilità (le funzioni residenziali più comuni). 2. Livello standard: aggiunge alle caratteristiche del livello base le funzionalità che rendono la casa un luogo più sicuro e protetto (per esempio: allarmi e dispositivi antintrusione). 3. Livello domotico: è quello che identifica le soluzioni ideali per colore che desiderano una casa in grado di soddisfare ogni tipo di esigenza (per esempio: controllo remoto e dei carichi elettrici). Un impianto per essere considerato di livello domotico deve gestire un minimo di quattro delle seguenti funzioni: anti intrusione, controllo dei carichi, gestione comando luci e gestione temperatura, gestione scenari, controllo remoto, diffusione sonora, rivelazione incendio, sistema antiallagamento e/o rivelazione gas. Il CERP, è l’organismo che raggruppa i progetti di ricerca della Comunità Europea, sostiene che la domotica e gli edifici intelligenti tra gli ambiti di applicazione sono più promettenti. In passato le tecnologie domotiche sono state impiegate prevalentemente in abitazioni e uffici di lusso, ma l’evoluzione tecnologica e la conseguente riduzione dei costi rende ormai accessibili queste tecnologie a una crescente parte della popolazione. Le funzionalità offerte sono molteplici e in continuo sviluppo. Per quanto riguarda l’Italia, il mercato della domotica è in fase di sviluppo; si è calcolato che i trend di crescita si manterranno intorno al 30% nei prossimi anni. La tendenza è quella di realizzare impianti domotici in abitazioni nuove o ristrutturate; per avere un’idea dei numeri in considerazione, basti pensare che in Italia all’anno si costruiscono circa 300.000 abitazioni e se ne ristrutturano circa 700.000 con il completo rifacimento degli impianti. Secondo le recenti stime di Assodomotica, gli impianti domotici passarono dai 10.000 realizzati nel 2005 agli oltre 100.00 nel 2013. Il valore complessivo di tali impianti passò da 42 milioni di euro nel 2005 a 440 milioni di euro nel 2013. In queste stime sono considerati sia gli impianti “base”, normalmente in dotazione a capitolato nelle nuove costruzioni, sia impianti “avanzati”, con elevati livelli di personalizzazione. 14 Domotica Progetto Nel mio progetto mi sono prefissato di simulare al meglio il reale funzionamento della domotica in ambito domestico. Non riuscendo a gestire tutte le varie possibili funzioni, che offre, ho dovuto tralasciare alcune automazioni; il progetto è stato realizzando mirando sempre a facilitare futuri aggiornamenti quindi, non vi è alcuna limitazione in futuri aggiornamenti che completino le automazioni. Lo scopo del progetto denominato “Home Control” è quello di creare un sistema domotico che sia semplice da installare e da utilizzare. Funzionalità Il progetto è stato realizzato in tre diversi segmenti: • Web: in questo contesto è stato realizzato un sito web il cui software creato si potrà scaricare gratuitamente. Gli utenti registrati possono accedere a varie funzionalità ulteriori come: il forum per risolvere eventuali problemi e per aiutare altri utenti, la gestione delle proprie mappe e la gestione del profilo. • Hardware: una semplice dimostrazione in termini pratici dell’impianto domotico installato (in scala ridotta). • Software: è stato realizzato un software che permette la gestione completa di tutti i dispositivi collegati. Le varie funzionalità, che il progetto offre, sono rese possibili dalla comunicazione tra le varie piattaforme. Le principali sono: • Interfaccia utente: la gestione dell’intero impianto domotico è reso possibile da un software installato su un PC o su un tablet (con un sistema operativo Windows). • Supporto web: viene offerto grazie al sito web dove è possibile, previa registrazione, accedere al forum per farsi aiutare a risolvere problemi, contattare un tecnico, inviare un mail o gestire il proprio profilo. • Controllo remoto: dal sito web è possibile controllare alcune funzioni di monitoraggio della propria casa. • Monitoraggio totale: il software permette la gestione totale dell’intero impianto. • Grande adattabilità su numerosi ambienti: il progetto è stato studiato per massimizzare l’adattabilità e la scalabilità, inoltre si possono inserire quanti sensori si desidera. Schema funzionamento progetto Ecco uno schema sintetico del funzionamento del progetto: 15 Domotica Per dispositivi non si intende solamente un sensore ma può anche rappresentare un gruppo di sensori (prese di corrente, rilevatori di movimento, luce, ecc..). Il software necessita di internet per poter funzionare, per questo viene incluso nello schema di funzionamento del progetto. I collegamenti sono bidirezionali infatti non ricevono informazioni solo in un verso ma anche nella direzione opposta. Linguaggi di programmazione Grazie ai linguaggi di programmazione è stato possibile mettere in comunicazione il computer con i vari dispositivi (Arduino Uno). I linguaggi utilizzati per la realizzazione del progetto sono: HTML, PHP, C# e C++. Per realizzare il sito web è stato utilizzato il linguaggio PHP e HTML. Per quanto riguarda la parte installata sul PC, la parte software è stata sviluppata in linguaggio C#. Infine è stato usato il linguaggio C++ per gestire i vari sensori, dispositivi che regolano fisicamente (direttamente) la casa. 16 Domotica Sito web progetto Il sito web creato, come già affermato in precedenza, è stato pubblicato per rendere il software accessibile a livello globale. Dopo aver progettato la struttura della pagina si è registrato un dominio gratuito sul sito: www.altervista.org in cui è possibile gestire oltre al proprio spazio (3GB) un database MySql. L’indirizzo del sito è: www.homecontrol.altervista.org La piattaforma permette di aprire e gestire il proprio sito attraverso un pannello di controllo. Gli utenti possono eseguire determinate operazioni in base al tipo di account. Sono presenti tre tipologie di utenti: 1. Utente non registrato: l’utente può visitare il sito, il quale contiene una breve presentazione, i contatti e l’area download, all’interno della quale si può scaricare il manuale e/o il software. L’utente può registrarsi al sito con i propri dati e la propria e-mail. Il server invierà un link di attivazione dell’account e finche l’account non è attivato non si può utilizzare il software. 2. Utente registrato: un utente, dopo aver attivato il proprio account, può utilizzare le varie funzionalità a lui riservate. Avrà un proprio profilo con i propri dati (mappe, informazioni personali, ecc..) e può utilizzare il forum per dare o ricevere aiuto riguardo a qualche problema. 3. Amministratore: un utente speciale che può gestire tutti i dati presenti nel database e modificare il sito aggiungendo o modificando alcune funzionalità. L’amministratore può accedere al pannello di controllo di Altervista. Interfaccia utente Il sito web è stato realizzato in diverse fasi: progettazione, ricerca di contenuti, realizzazione e test di prova. Per il lato grafico è stato utilizzato un framework disponibile gratuitamente. Il sito è stato poi ottimizzato (oltre al framework che dava una base su cui lavorare) per essere usato sia su mobile che da desktop. Si è cercato di svilupparlo tenendo sempre come obiettivo la facilità di utilizzo. Attraverso il menu principale si può accedere alle varie pagine del sito e sul desktop il profilo viene gestito dalla voce sulla destra del menù: Base di dati Il database, offerto dalla piattaforma Altervista, è un database MySQL. Viene gestito da phpMyAdmin, un'applicazione web scritta in PHP, che consente di amministrare un database MySQL tramite un qualsiasi browser. 17 Domotica Dalla piattaforma Altervista lo spazio disponibile di archiviazione è di 3GB in totale (sia per i file archiviati che per il database). Lo spazio può essere aumentato a piacimento con un costo fisso per ogni GigaByte aggiunto. È disponibile anche la gestione dei backup che può essere effettuato automaticamente in tre diversi periodi: mensilmente, settimanalmente oppure giornalmente. Per realizzare l’intero database è possibile usufruire di tabelle dove immagazzinare e salvare i dati. È possibile creare delle relazioni tra tabelle. Ecco lo schema delle relazioni tra le tabelle nel database sul sito: Come si può notare dall’immagine gli utenti sono alla base dei dati in quanto si devono differenziare tutte le informazioni per utente. Nella tabella dei sensori le informazioni sono quelle che servono al software per creare la mappa con i sensori. Nella tabella utenti le informazioni presenti sono quelle base, successivamente si possono aggiungerne altre per funzionalità future. Software progetto La parte software è stata sviluppata per essere eseguita su un computer o su un tablet con sistema operativo Windows. Il software può essere scaricato liberamente dal sito web. Per poter utilizzare il software bisogna essere registrati sul sito web, e utilizzare le credenziali nella finestra di autenticazione: 18 Domotica Spuntando la casella “Ricorda i miei dati” al prossimo avvio dell’applicazione non chiederà più le credenziali ma inserirà automaticamente quelle salvate precedentemente. Nel caso in cui non siamo ancora registrati si può cliccare sul link “Registrati”, a quel punto si verrà reindirizzati al proprio browser alla pagina di registrazione. Dopo l’accesso si passa alla finestra di controllo. Dopo qualche secondo il software scaricherà le mappe salvate nell’account e posizionerà i sensori inseriti precedentemente. Alla fine dell’operazione l’utente può aggiungere nuovi sensori e visualizzarli nelle varie mappe (planimetrie). L’utente dopo aver inserito i vari sensori può avviarne il controllo ed il monitoraggio. A quel punto può cliccare su un dispositivo e visualizzarne lo stato ed il dettaglio. Con un doppio click può visualizzare lo storico dei valori salvati sul database locale. Socket Il collegamento tra il software ed i dispositivi è attraverso la rete. I socket sono un'astrazione software progettata per la trasmissione e la ricezione di dati attraverso una rete, sono il punto in cui il codice applicativo di un processo accede al canale di comunicazione per mezzo di una porta, ottenendo una comunicazione tra processi che lavorano su due macchine fisicamente separate. È questo un metodo molto usato dai programmatori per la comunicazione client-server. È un canale logico instaurato appunto tra un server, che si mette in attesa di qualcuno che voglia comunicare, ed un client, che attraverso un indirizzo IP ed una porta contatterà il server, instaurando un canale virtuale nella rete, questo accade perché, non potendo creare un collegamento fisico tra gli apparati, si sfruttano dei collegamenti già esistenti. Protocollo di rete Nelle telecomunicazioni, per protocollo di rete si intende un particolare tipo di protocollo di comunicazione con il compito di gestire le connessioni per la comunicazione tra due computer, smartphone o altro che comunicano su internet. In particolare, un protocollo prevede la definizione dei linguaggi costituiti dai messaggi scambiati, i quali devono potersi interpretare correttamente. I protocolli garantiscono che due software, in esecuzione su diverse macchine, possano comunicare efficacemente anche se sono stati realizzati indipendentemente tra di loro. È evidente l'importanza della standardizzazione dei protocolli di rete. L’insieme di protocolli, che permettono la completa comunicazione tra due macchine, si chiamano pila protocollare e ne esistono due modelli: ISO/OSI: presenta sette livelli, ogni livello rappresenta un’architettura di comunicazione. TCP/IP: possiede quattro livelli. I vantaggi del TCP/IP sull’OSI sono fondamentalmente due: Quando nacque OSI, TCP/IP era già presente nel mondo accademico quindi era già conosciuto e implementato nel mondo reale. Lo stack TCP/IP è enormemente più semplice. Il modello OSI è rimasto principalmente una teoria di riferimento senza avere una realizzazione pratica. 19 Domotica TCP/IP TCP/IP è una serie di protocolli. La sigla TCP/IP significa «Transmission Control Protocol/Internet Protocol». Essa proviene dai nomi dei due protocolli famosi della serie di protocolli, cioè i protocolli TCP e IP. Il sistema di protocollo TCP/IP è stato suddiviso in più moduli ciascuno con un compito preciso. Questi moduli svolgono i compiti gli uni dopo gli altri in un ordine preciso, con un sistema stratificato, ragione per cui si parla di modello a livelli. Livello Applicazione: ingloba le applicazioni standard della rete (Telnet, SMTP,FTP,...) Le applicazioni di questo livello sono di differenti tipi, ma la maggior parte sono dei servizi di rete. Livello Trasporto: assicura l'invio dei dati, nonché i meccanismi che permettono di conoscere lo stato della trasmissione. Il livello trasporto contiene due protocolli, che permettono alle due applicazioni di scambiare dei dati, indipendentemente dal tipo di rete scelta (cioè indipendentemente dai livelli inferiori...), i protocolli sono: 1. TCP, un protocollo orientato connessione che assicura il controllo degli errori (risulta più lento del protocollo UDP). Mette in coda i messaggi generati da client e dal server e li trasmette sotto forma di pacchetti su di una connessione full-duplex; il buon fine della spedizione è attestato da una ricevuta di ritorno o riscontro. 2. UDP, un protocollo senza connessione, il cui controllo d'errore non è presente. Possiede come vantaggio una velocità maggiore di trasmissione. Livello Internet: si incarica di fornire il pacchetto di dati (datagramma) Tra i vari protocolli uno dei più famosi è il Internet Protocol (IP) ed è il protocollo di InterNetworking (secondo il modello OSI è classificato nel livello rete). Esso si occupa di gestire l'indirizzamento dei nodi e l'instradamento. A ciascun nodo viene infatti assegnato un indirizzo IP, che lo identificherà in modo non ambiguo in rete. Le funzionalità di instradamento, invece, consentono di selezionare il percorso migliore per veicolare un messaggio verso un dato nodo destinatario, attraverso il suo indirizzo IP. Livello Accesso di rete: Il livello Accesso di rete è il primo livello della pila TCP/IP capace di accedere ad una qualsiasi rete fisica, cioè rappresenta i mezzi per realizzare una trasmissione di dati attraverso una rete. Inoltre contiene tutte le specifiche riguardo la trasmissione di dati su una rete fisica, che si tratti di rete locale (Token ring, Ethernet), di connessione ad una linea telefonica o a qualsiasi altro tipo di collegamento di rete. Ecco una parte di codice significativa per la creazione di un socket TCP: try { TcpListener tcpListener = new TcpListener(IPAddress.Parse(IP), Convert.ToInt32(porta)); Thread mioserver = new Thread(new ParameterizedThreadStart(serverascolto)); mioserver.Start(tcpListener); //avvio il thread che gestirà le connessione in entrata dai vari dispositivi } catch (Exception err){ logi("Errore nella creazione della connessione, errore: " + err.Message); } //la funzione logi(String); salva i messaggi su un file di log 20 Domotica Database I database presenti nel progetto sono due: il primo un database MySQL ed il secondo un database SQL in locale sul PC dell’utente. Il database in remoto sulla piattaforma Altervista è già stato spiegato precedentemente. Il database locale ha la funzione di contenere i dati salvati dai vari sensori (dispositivi). Il file si trova in locale ed ha una struttura composta da un’unica tabella contenente tutti i dati, l’utente quando vorrà visualizzare lo storico dei valori di un sensore, comanderà al software di collegarsi al database in locale ed effettuerà un filtro sui dati (utilizzando il linguaggio SQL). Ecco la connessione ad un database SQL con la relativa estrazione di un dato: SqlConnection miaconnessione; try { String conn = "Data Source=(LocalDB)\\v11.0;AttachDbFilename=\"" + System.IO.Directory.GetCurrentDirectory() + "\\database.mdf\";Integrated Security=True;Connect Timeout=30"; miaconnessione = new SqlConnection(conn); //creo nuova connessione miaconnessione.Open();//provo a connettermi logi("Connesso al db"); conn = "SELECT * FROM dbo.Datisensori WHERE idfSensore=" + idd+" ORDER BY Data DESC"; //indico la mia query che voglio eseguire, in questo caso richiamo tutti i dati di un sensore SqlCommand sqlcomando = new SqlCommand(conn, miaconnessione); logi("Invio comando: " + conn); try { SqlDataReader reader;//= new SqlDataReader(); reader = sqlcomando.ExecuteReader();//eseguo il mio commando e salvo i dati nell’oggetto reader logi("Comando eseguito!"); DataTable dt = new DataTable(); dt.Load(reader); int ic = 0; foreach (DataRow dr in dt.Rows) //ciclo per leggere tutti i dati { if (ic == 0) //se è il primo lo visualizzo ed esco { this.label3.Text = dr[2].ToString(); break; } ic++; } } catch (Exception ex1) { logi("Errore nella esecuzione! Errore: " + ex1.Message.ToString() + " \nMio comando: " + conn); } miaconnessione.Close();//chiudo la connesione } catch (Exception ex) { logi("Errore nel salvataggio su database" + ex.Message); } 21 Domotica Dispositivi I dispositivi solo la parte del progetto che andrà a gestire direttamente i vari sensori e/o elettrodomestici. Per dispositivi si intendono i singoli componenti che andranno a collegarsi attraverso la rete per comunicare con il nostro software. Dal punto di vista software i dispositivi hanno due compiti: Connettersi al software Gestire il sensore e/o l’oggetto associato Il controllore, che viene usato per la gestione, è l’Arduino. Arduino è una scheda elettronica di piccole dimensioni che può essere programmato attraverso un ambiente di sviluppo integrato. Il linguaggio di programmazione utilizzato è il C++. Il software che verrà eseguito sul microcontrollore è unico in tutti i dispositivi, cambia solo la parametrizzazione. L’utilizzo pratico consiste in due parti: 1. Installazione: il tecnico configura l’hardware collegando opportunamente i circuiti all’Arduino. Successivamente configura la parte software specificando i compiti che deve svolgere (gran parte del codice è parametrizzata). 2. Connessione: una volta configurato il dispositivo si passa all’accensione (collegamento alla corrente elettrica) e lo si aggiunge il dispositivo al software alla relativa posizione. Ecco una parte di codice significativa di dispositivo di monitoraggio: int riconessione = 60000, pinreset = 6, pinstato = 50; int intervallo = 3000;//intervallo di campionamento int FotoPin = 0; int percentuale = 20;//percentuale di tolleranza dal vecchio valore inviato String mioid = "0008";//indica l'id del sensore (numero a 4 cifre) EthernetClient client; String ricevo; int vecchioval = 0; void miolog(String mess);//funzione che salva il log del programma void setup(){//funzione chiamata all’accensione del dispositivo inizializzo(); if (tentoconnessione()) miolog("Connesso\n"); else miolog("Scollegato\n"); } void inizializzo(){ Ethernet.begin(mac, ip); //bisogna specificare gli indirizzi ip e le porte della rete Serial.begin(9600); pinMode(pinreset,OUTPUT); digitalWrite(pinreset,HIGH); //inizializzo pin per il reset pinMode(pinstato,OUTPUT); digitalWrite(pinstato,LOW); //inizializzo pin per lo stato della connessione } bool tentoconnessione(){ if (client.connect(server, 80)) return true; else return false; } void loop(){//funzione ripetuta all’infinito delay(1000); if (client.connected()) connesso(); else disconnesso(); } 22 Domotica void connesso(){ digitalWrite(pinstato, HIGH); //il led si accende ed indica che il dispositivo è conneso miolog("Connesso...\n"); if (client.available()){ char c; ricevo = ""; while (client.available()){ c = client.read(); ricevo = ricevo + c; } char op = ricevo.charAt(0); miolog("Operazione:" + op); switch (op){ case '0': //invia al programma l’id del dispositivo client.print("0-" + mioid); break; case '1': //invia al programma il suo stato client.print("1-" + mioid + "&" + analogRead(FotoPin) + "$"); //la stringa inviata ha un suo formato che il programma andrà a elaborarla per estrarre le informazioni break; } } else{//controlla se il valore è superiore alla tolleranza, in quel caso lo invia if ((vecchioval + (vecchioval / 100 * percentuale))<analogRead(FotoPin) || (vecchioval - vecchioval / 100 * percentuale)>analogRead(FotoPin)){ client.print("3-" + mioid + "&" + analogRead(FotoPin) + "$"); vecchioval = analogRead(FotoPin); } } delay(intervallo); return; } void disconnesso(){//se si disconnette entra in questa funzione digitalWrite(pinstato, LOW); miolog("Reset..\n"); delay(riconessione); //aspetta un tot di secondi e forza il reset riavviando il dispositivo pinMode(pinreset,OUTPUT); digitalWrite(pinreset,LOW); } I dispositivi saranno composti da due schede Arduino (una scheda Arduino Uno e l’altra Ethernet). Esso possiede tre ingressi: Un entrata LAN per il collegamento ad Internet; Una porta per inviargli il codice; Un entrata per l’alimentazione elettrica. 23 Domotica Hardware progetto La parte hardware, come già accennato, è composta dai dispositivi fisici e dal computer (o tablet) che esegue il software di controllo. Il circuito di prova è una simulazione, in piccolo, di un impianto domotico che può essere installato. I dispositivi sono pochi, ma il software è stato creato per facilitare l’aggiunta e la rimossione di quest’ultimi. Un dispositivo può essere collegato ad un unico sensore, oppure si possono creare dei gruppi di ricezione per smistare il traffico di dati ed alleggerire la rete. Arduino Arduino è una piattaforma hardware low-cost programmabile, con cui è possibile creare circuiti con infinite applicazioni, soprattutto in ambito di robotica ed automazione. Si basa su un Microcontrollore della ATMEL. È una piattaforma Open Source, infatti è possibile trovare sul sito ufficiale “www.arduino.cc”, i circuiti, i componenti ed addirittura le istruzioni per realizzarla da soli. Ciò che dovrebbe interessare, in realtà, sono gli schemi circuitali: essendo Open, e quindi visionabili da tutti, possono essere continuamente migliorati dalla comunità. Il programma scritto per Arduino ha un ciclo di vita infinito, è composto da due funzioni di base: Setup: funzione avviata all’accensione dell’Arduino Loop: alla fine della funzione di setup, il software passa alla funzione di loop e la ripete a ciclo infinito Quando lo colleghiamo ad una fonte di alimentazione (ad esempio la USB del PC o anche ad una comunissima batteria da 9V) si accende ed avvia il programma caricato dall'IDE a loop. Questo continua fino a quando non togliamo la batteria o stacchiamo il cavo. Arduino può ricevere dati da sensori, ma anche comandare LED, luci, motori,ecc.. Le caratteristiche dell’Arduino UNO sono: Microcontroller ATmega328 Tensione di funzionamento Tensione in ingresso (consigliato) Tensione in ingresso (limiti) Pins Digital I / O Pins di ingresso analogico Corrente di CC per Pin O / I Corrente DC per 3.3V Pin Memoria Flash SRAM EEPROM Frequenza di clock Lunghezza Larghezza Peso 5V 7-12V 6-20V 14 6 40 mA 50 mA 32 KB ( ATmega328 ) 0,5 KB utilizzato dal bootloader 2 KB ( ATmega328 ) 1 KB ( ATmega328 ) 16 MHz 68,6 millimetri 53,4 millimetri 25 g Esistono diversi modelli di Arduino con diverse caratteristiche, i più famosi sono: Uno, Leonardo, Due, Ethernet e Mega. 24 Domotica Sviluppi futuri Il progetto, riconsiderato in termini di standardizzazione, può considerarsi un prodotto possibile da lanciare sul mercato. Rispettando gli standard e le norme presenti attualmente sul mercato, per quanto riguarda la domotica, si possono realizzare dei dispositivi economici che permettono di realizzare un impianto domotico a basso costo. Riferimenti Si ringraziano i seguenti siti per il materiale fornito: http://it.wikipedia.org/ (Wikipedia, l'enciclopedia libera) http://www.treccani.it/ (Treccani) http://www.mobilita.com/ (Mobilità) http://www.slideshare.net/ (SlideShare) http://www.diee.unica.it (Dipartimento di ingegneria elettrica ed elettronica dell’Università di Cagliari) http://www.arduino.cc/ (Arduino) https://msdn.microsoft.com (MSDN) Ringraziamenti Desidero ringraziare coloro che mi hanno aiutato nella stesura della tesi con osservazioni, critiche e suggerimenti: il professor Lucio Coco, il professore Tiziano Fornara, il professor Vito Fausto Donato ed a tutti i professori che durante il mio percorso di studi mi hanno permesso di ampliare il mio bagaglio di conoscenze ed esperienze. Vorrei ringraziare infine le persone che mi sono state vicino per il loro aiuto e supporto: la mia famiglia ed i miei amici. 25