Candidato - · PDF fileCandidato: Giosuè Lucio Delgado Anno scolastico 2014-2015....

25
ISTITUTO D'ISTRUZIONE SUPERIORE "L. COBIANCHI” INDIRIZZO INFORMATICO Progetto domotico Tesina di maturità Candidato: Giosuè Lucio Delgado Anno scolastico 2014-2015

Transcript of Candidato - · PDF fileCandidato: Giosuè Lucio Delgado Anno scolastico 2014-2015....

Page 1: Candidato -  · PDF fileCandidato: Giosuè Lucio Delgado Anno scolastico 2014-2015. Domotica 2 Sommario ... They were created using an Open Source platform called Arduino

ISTITUTO D'ISTRUZIONE SUPERIORE "L. COBIANCHI” INDIRIZZO INFORMATICO

Progetto domotico Tesina di maturità

Candidato:

Giosuè Lucio Delgado

Anno scolastico 2014-2015

Page 2: Candidato -  · PDF fileCandidato: Giosuè Lucio Delgado Anno scolastico 2014-2015. Domotica 2 Sommario ... They were created using an Open Source platform called Arduino

Domotica

2

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

Page 3: Candidato -  · PDF fileCandidato: Giosuè Lucio Delgado Anno scolastico 2014-2015. Domotica 2 Sommario ... They were created using an Open Source platform called Arduino

Domotica

3

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.

Page 4: Candidato -  · PDF fileCandidato: Giosuè Lucio Delgado Anno scolastico 2014-2015. Domotica 2 Sommario ... They were created using an Open Source platform called Arduino

Domotica

4

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.

Page 5: Candidato -  · PDF fileCandidato: Giosuè Lucio Delgado Anno scolastico 2014-2015. Domotica 2 Sommario ... They were created using an Open Source platform called Arduino

Domotica

5

Mappa concettuale collegamenti materie

DOMOTICA

STORIA:

RIVOLUZIONI

INDUSTRIALI

ITALIANO:

FUTURISMO

TPS:

SOCKET E TCP/IP

SISTEMI:

PROGETTO

“HOME CONTROL”

Page 6: Candidato -  · PDF fileCandidato: Giosuè Lucio Delgado Anno scolastico 2014-2015. Domotica 2 Sommario ... They were created using an Open Source platform called Arduino

Domotica

6

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:

1. 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.

Page 7: Candidato -  · PDF fileCandidato: Giosuè Lucio Delgado Anno scolastico 2014-2015. Domotica 2 Sommario ... They were created using an Open Source platform called Arduino

Domotica

7

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.

Page 8: Candidato -  · PDF fileCandidato: Giosuè Lucio Delgado Anno scolastico 2014-2015. Domotica 2 Sommario ... They were created using an Open Source platform called Arduino

Domotica

8

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

Page 9: Candidato -  · PDF fileCandidato: Giosuè Lucio Delgado Anno scolastico 2014-2015. Domotica 2 Sommario ... They were created using an Open Source platform called Arduino

Domotica

9

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 agita-

tissimi 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.

Page 10: Candidato -  · PDF fileCandidato: Giosuè Lucio Delgado Anno scolastico 2014-2015. Domotica 2 Sommario ... They were created using an Open Source platform called Arduino

Domotica

10

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.

Page 11: Candidato -  · PDF fileCandidato: Giosuè Lucio Delgado Anno scolastico 2014-2015. Domotica 2 Sommario ... They were created using an Open Source platform called Arduino

Domotica

11

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

Page 12: Candidato -  · PDF fileCandidato: Giosuè Lucio Delgado Anno scolastico 2014-2015. Domotica 2 Sommario ... They were created using an Open Source platform called Arduino

Domotica

12

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 aero-

illuminazione.

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

Page 13: Candidato -  · PDF fileCandidato: Giosuè Lucio Delgado Anno scolastico 2014-2015. Domotica 2 Sommario ... They were created using an Open Source platform called Arduino

Domotica

13

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.

Page 14: Candidato -  · PDF fileCandidato: Giosuè Lucio Delgado Anno scolastico 2014-2015. Domotica 2 Sommario ... They were created using an Open Source platform called Arduino

Domotica

14

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.

Page 15: Candidato -  · PDF fileCandidato: Giosuè Lucio Delgado Anno scolastico 2014-2015. Domotica 2 Sommario ... They were created using an Open Source platform called Arduino

Domotica

15

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:

Page 16: Candidato -  · PDF fileCandidato: Giosuè Lucio Delgado Anno scolastico 2014-2015. Domotica 2 Sommario ... They were created using an Open Source platform called Arduino

Domotica

16

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.

Page 17: Candidato -  · PDF fileCandidato: Giosuè Lucio Delgado Anno scolastico 2014-2015. Domotica 2 Sommario ... They were created using an Open Source platform called Arduino

Domotica

17

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.

Page 18: Candidato -  · PDF fileCandidato: Giosuè Lucio Delgado Anno scolastico 2014-2015. Domotica 2 Sommario ... They were created using an Open Source platform called Arduino

Domotica

18

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:

Page 19: Candidato -  · PDF fileCandidato: Giosuè Lucio Delgado Anno scolastico 2014-2015. Domotica 2 Sommario ... They were created using an Open Source platform called Arduino

Domotica

19

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.

Page 20: Candidato -  · PDF fileCandidato: Giosuè Lucio Delgado Anno scolastico 2014-2015. Domotica 2 Sommario ... They were created using an Open Source platform called Arduino

Domotica

20

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

Page 21: Candidato -  · PDF fileCandidato: Giosuè Lucio Delgado Anno scolastico 2014-2015. Domotica 2 Sommario ... They were created using an Open Source platform called Arduino

Domotica

21

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); }

Page 22: Candidato -  · PDF fileCandidato: Giosuè Lucio Delgado Anno scolastico 2014-2015. Domotica 2 Sommario ... They were created using an Open Source platform called Arduino

Domotica

22

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(); }

Page 23: Candidato -  · PDF fileCandidato: Giosuè Lucio Delgado Anno scolastico 2014-2015. Domotica 2 Sommario ... They were created using an Open Source platform called Arduino

Domotica

23

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.

Page 24: Candidato -  · PDF fileCandidato: Giosuè Lucio Delgado Anno scolastico 2014-2015. Domotica 2 Sommario ... They were created using an Open Source platform called Arduino

Domotica

24

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 5V

Tensione in ingresso (consigliato) 7-12V

Tensione in ingresso (limiti) 6-20V

Pins Digital I / O 14

Pins di ingresso analogico 6

Corrente di CC per Pin O / I 40 mA

Corrente DC per 3.3V Pin 50 mA

Memoria Flash 32 KB ( ATmega328 )

0,5 KB utilizzato dal bootloader

SRAM 2 KB ( ATmega328 )

EEPROM 1 KB ( ATmega328 )

Frequenza di clock 16 MHz

Lunghezza 68,6 millimetri

Larghezza 53,4 millimetri

Peso 25 g

Esistono diversi modelli di Arduino con diverse caratteristiche, i più famosi sono: Uno, Leonardo,

Due, Ethernet e Mega.

Page 25: Candidato -  · PDF fileCandidato: Giosuè Lucio Delgado Anno scolastico 2014-2015. Domotica 2 Sommario ... They were created using an Open Source platform called Arduino

Domotica

25

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.