UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI...UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI FACOLTÀ DI...

128
UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI FACOLTÀ DI SCIENZE E TECNOLOGIE APPLICATE CORSO DI LAUREA IN INGEGNERIA INFORMATICA TECNOLOGIE ABILITANTI DELL’INDUSTRY 4.0: CASO STUDIO SULL’AGRICOLTURA DI PRECISIONE Relatore: Candidato: Chiar. ma Prof.ssa Alessandra Pieroni Francesco Serafini Matr. N°: STA06211 - LM32 ANNO ACCADEMICO 2016/2017

Transcript of UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI...UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI FACOLTÀ DI...

Page 1: UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI...UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI FACOLTÀ DI SCIENZE E TECNOLOGIE APPLICATE CORSO DI LAUREA IN INGEGNERIA INFORMATICA TECNOLOGIE

UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI

FACOLTÀ DI SCIENZE E TECNOLOGIE APPLICATE

CORSO DI LAUREA IN INGEGNERIA INFORMATICA

TECNOLOGIE ABILITANTI DELL’INDUSTRY 4.0: CASO STUDIO

SULL’AGRICOLTURA DI PRECISIONE

Relatore: Candidato: Chiar.ma Prof.ssa Alessandra Pieroni Francesco Serafini Matr. N°: STA06211 - LM32

ANNO ACCADEMICO

2016/2017

Page 2: UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI...UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI FACOLTÀ DI SCIENZE E TECNOLOGIE APPLICATE CORSO DI LAUREA IN INGEGNERIA INFORMATICA TECNOLOGIE
Page 3: UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI...UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI FACOLTÀ DI SCIENZE E TECNOLOGIE APPLICATE CORSO DI LAUREA IN INGEGNERIA INFORMATICA TECNOLOGIE

A mia moglie, ai miei genitori e ai miei colleghi e amici che mi hanno sostenuto e incoraggiato durante i miei studi

Page 4: UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI...UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI FACOLTÀ DI SCIENZE E TECNOLOGIE APPLICATE CORSO DI LAUREA IN INGEGNERIA INFORMATICA TECNOLOGIE

I

Indice

Capitolo 1 - Automazione nel mondo dell’industria ...................................... 11.1 Cenni storici ............................................................................................ 1

1.2 La prima rivoluzione industriale ............................................................... 3

1.2.1 Macchina a vapore .............................................................................. 4

1.2.2 Innovazioni tecnologiche .................................................................... 5

1.2.3 Il sistema di fabbrica e l’impatto demografico ..................................... 6

1.2.4 Urbanizzazione ................................................................................... 7

1.2.5 Verso la seconda rivoluzione industriale .............................................. 7

1.3 La seconda rivoluzione industriale ............................................................ 8

1.3.1 Le innovazioni tecnologiche ............................................................... 9

1.3.2 L’acciaio .............................................................................................. 9

1.3.3 La chimica ......................................................................................... 11

1.3.4 L’elettricità ........................................................................................ 11

1.3.5 Il petrolio e il motore a scoppio ......................................................... 12

1.3.6 Medicina ........................................................................................... 13

1.3.7 Trasporti ........................................................................................... 14

1.3.8 Comunicazioni .................................................................................. 15

1.3.9 Il mutamento del rapporto tra agricoltura e industria ....................... 15

1.3.10 L'estensione della città ...................................................................... 16

1.4 La terza rivoluzione industriale ............................................................... 17

1.4.1 La corsa allo spazio ........................................................................... 18

Page 5: UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI...UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI FACOLTÀ DI SCIENZE E TECNOLOGIE APPLICATE CORSO DI LAUREA IN INGEGNERIA INFORMATICA TECNOLOGIE

II

1.4.2 L’era dell’elettronica e dell’informatica .............................................. 20

1.4.3 Il calcolatore elettronico o computer ................................................. 20

1.4.4 L’informatica ..................................................................................... 21

1.4.5 Internet e Il Word Wide Web .......................................................... 21

1.4.6 Altre innovazioni .............................................................................. 22

Capitolo 2 - Industry 4.0 ............................................................................. 232.1 Introduzione ......................................................................................... 23

2.2 Tecnologie abilitanti .............................................................................. 26

2.2.1 Ambiti applicativi .............................................................................. 26

2.2.2 Additive manufacturing .................................................................... 27

2.2.3 Augmented reality ............................................................................. 29

2.2.4 Simulation ......................................................................................... 30

2.4.5 Cloud computing .............................................................................. 31

2.4.6 Big Data Analytics ............................................................................ 34

Capitolo 3 - Internet of Things ................................................................... 363.1 Introduzione e descrizione ..................................................................... 36

3.2 Aree applicative ...................................................................................... 38

3.2.1 Domotica .......................................................................................... 39

3.2.2 Medicina ........................................................................................... 40

3.2.3 Industria automobilistica ................................................................... 41

3.2.4 Produzione industriale ...................................................................... 42

3.2.5 Avionica ............................................................................................ 43

3.2.6 Agricoltura ........................................................................................ 43

3.3 Tecnologie abilitanti di IoT .................................................................... 45

3.3.1 Progresso tecnologico nella connettività e nelle reti .......................... 45

3.3.2 Progresso nei sensori e nei microprocessori ....................................... 47

3.4 Tipologie di dispositivi in ambito IOT .................................................... 48

3.4.1 Schede elettroniche ........................................................................... 49

3.4.2 RFID ................................................................................................ 50

3.4.3 Sensori e attuatori ............................................................................. 51

3.5 Sicurezza 52

Capitolo 4 - Caso pratico – agricoltura di precisione .................................... 56

Page 6: UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI...UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI FACOLTÀ DI SCIENZE E TECNOLOGIE APPLICATE CORSO DI LAUREA IN INGEGNERIA INFORMATICA TECNOLOGIE

III

4.1 Descrizione ........................................................................................... 56

4.1.1 Agricoltura automatizzata ................................................................. 56

4.1.2 Rilevazione parametri di produzione ................................................. 57

4.1.3 Rilevazioni del terreno ...................................................................... 57

4.2 Studi effettuati a livello europeo .............................................................. 59

Capitolo 5 - Descrizione del progetto .......................................................... 615.1 Descrizione ........................................................................................... 61

5.2 Funzionalità ........................................................................................... 61

5.3 Requisiti per utilizzo IoT ........................................................................ 62

5.4 Descrizione dei componenti hardware utilizzati ...................................... 63

5.4.1 Raspberry Pi ...................................................................................... 64

5.4.2 Arduino ............................................................................................. 66

5.4.3 Sensore di umidità del terreno .......................................................... 68

5.4.4 Localizzatore gps ............................................................................... 69

5.4.5 Relè per attivazione sistema irrigazione ............................................ 70

5.5 Descrizione dei componenti software ...................................................... 72

5.5.1 Protocolli per la comunicazione ........................................................ 73

5.5.2 Linguaggi di programmazione .......................................................... 76

5.5.3 Piattaforme software utilizzate ................................................................. 79

Capitolo 6 - Progettazione architetturale del sistema ................................... 856.1 Arduino e sensore di umidità .................................................................. 85

6.2 Arduino e GPS ...................................................................................... 86

6.3 Arduino e Relè ....................................................................................... 87

6.4 Arduino e Raspberry Pi .......................................................................... 88

6.5 Schema completo di collegamento .......................................................... 89

Capitolo 7 - Analisi di dettaglio e implementazione ..................................... 927.1 Sottosistemi in esecuzione su Arduino .................................................... 92

7.1.1 Rilevazione umidità del terreno ........................................................ 93

7.1.2 Rilevazione della posizione GPS ....................................................... 94

7.1.3 Accensione e spegnimento del relè .................................................... 96

7.2 Sottosistemi in esecuzione su Raspberry Pi .............................................. 98

7.2.1 Richiesta valore dell’umidità del terreno ......................................... 100

Page 7: UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI...UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI FACOLTÀ DI SCIENZE E TECNOLOGIE APPLICATE CORSO DI LAUREA IN INGEGNERIA INFORMATICA TECNOLOGIE

IV

7.2.2 Richiesta coordinate GPS ............................................................... 100

7.2.3 Attivazione e disattivazione del sistema di irrigazione .................... 101

7.2.4 Comunicazione con la piattaforma ................................................. 102

7.3 Sottosistemi in esecuzione sulla piattaforma IoT ................................... 106

7.3.1 Rilevazione dati GPS e meteorologici ............................................. 107

7.3.2 Rilevazione misurazioni umidità del terreno ................................... 109

Capitolo 8 - Test di esecuzione ................................................................. 1128.1 Correlazione con dati meteorologici ...................................................... 114

Capitolo 9 - Conclusioni e sviluppi futuri .................................................. 116

Bibliografia .............................................................................................. 118

Page 8: UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI...UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI FACOLTÀ DI SCIENZE E TECNOLOGIE APPLICATE CORSO DI LAUREA IN INGEGNERIA INFORMATICA TECNOLOGIE

V

Elenco delle figure

Figura 1 - La torre Eiffel ................................................................................. 10Figura 2 - Il primo sbarco sulla luna ................................................................ 19Figura 3 - Cronologia delle rivoluzioni industriali .......................................... 24Figura 4 - Crescita dei dispositivi connessi ad Internet ................................... 37Figura 5 - Rapporto tra velocità e portata delle tecnologie senza fili ............... 46Figura 6 - Raspberry Pi versione 3 .................................................................. 64Figura 7 - Sensore di umidità del terreno YL-69 ............................................ 68Figura 8 - Trimmer YL-39 collegato al sensore di umidità ............................. 68Figura 9 - Sensore GPS ................................................................................... 70Figura 10 - Descrizione dei componenti interni di un relè .............................. 71Figura 11 - Schema di collegamento di un relè con Arduino .......................... 72Figura 12 - Esempio di comunicazione tra broker e subscriber ....................... 75Figura 13 - Schema dei pin di un Raspberry Pi ............................................... 77Figura 14 - Schema di comunicazione tra nodi su NodeRed .......................... 84Figura 15 - Collegamento tra Arduino e sensore di umidità ........................... 86Figura 16 - Connessione tra Arduino e sensore GPS ...................................... 87Figura 17 - Collegamento tra Arduino e relè .................................................. 88Figura 18 - Schema di collegamento I2C tra Arduino e Raspberry ................ 89Figura 19 - Schema di collegamento completo tra device e piattaforma ........ 90Figura 20 - Registrazione di un dispositivo sulla piattaforma ........................ 103Figura 21 - Parametri di autenticazione di un device verso la piattaforma .... 103Figura 22 - Lista dei dispositivi registrati ...................................................... 104Figura 23 - Workflow NodeRed per gestione GPS e meteo ......................... 107

Page 9: UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI...UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI FACOLTÀ DI SCIENZE E TECNOLOGIE APPLICATE CORSO DI LAUREA IN INGEGNERIA INFORMATICA TECNOLOGIE

VI

Figura 24 - Filtro messaggi GPS ................................................................... 108Figura 25 - Esempio di output delle previioni per i prossimi 5 giorni ........... 109Figura 26 - Workflow per la gestione del valore dell'umidità ........................ 110

Page 10: UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI...UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI FACOLTÀ DI SCIENZE E TECNOLOGIE APPLICATE CORSO DI LAUREA IN INGEGNERIA INFORMATICA TECNOLOGIE

1

Capitolo 1 Automazione nel mondo dell’industria

1.1 Cenni storici

Nel corso della storia le industrie hanno sempre cercato di ottimizzare i propri processi produttivi attraverso l’innovazione tecnologica, al fine di aumentare la propria produttività. Questa esigenza di crescita ha stimolato la continua la ricerca di soluzioni innovative, che andasse di pari passo con le evoluzioni tecnologiche allora disponibili delle altre scienze di tipo ingegneristico.

L’elettronica e l’informatica sono alla base delle evoluzioni soprattutto degli ultimi anni. L’automazione di macchine, come ad esempio macchine da stampa, laminatoi e macchine utensili, è stata realizzata con ottimi risultati quando la tecnica digitale era inesistente, tuttavia il recente sviluppo delle tecnologie informatiche e dei controlli automatici ha consentito un netto progresso, particolarmente per gli aspetti della programmazione e della parametrizzazione. Sin dalla prima rivoluzione industriale e dalle macchine a vapore, la necessità principale era quella di avere macchine sempre più veloci e precise. Si resero perciò necessari meccanismi in grado di correggere automaticamente i fattori di disturbo che alteravano il funzionamento delle macchine.

Page 11: UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI...UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI FACOLTÀ DI SCIENZE E TECNOLOGIE APPLICATE CORSO DI LAUREA IN INGEGNERIA INFORMATICA TECNOLOGIE

2

Il precursore dei sistemi di automazione può essere considerato il regolatore di velocità di James Watt (fine del Settecento) per le locomotive a vapore, il cui scopo iniziale era di mantenerne la velocità costante, indipendentemente dal peso trainato o dalle pendenze della strada ferrata. Il regolatore, basandosi sulla velocità reale e confrontandola in modo meccanico con quella prestabilita, riusciva ad ottenere la potenza necessaria per variare la velocità.

In generale quando si parla di prima rivoluzione industriale, la si identifica spesso con le macchine a vapore. Tuttavia la rivoluzione coinvolse un po’ tutti i settori industriali, dall’agricoltura ai trasporti, dal settore tessile a quello metallurgico e a tutti quei settori in cui fosse possibile applicare i concetti dell’automazione e delle varie ingegnerie al fine di ottimizzare i processi produttivi o di funzionamento.

Un fattore altrettanto importante che ha caratterizzato questo processo, oltre alle nuove tecnologie, è l’utilizzo di nuove fonti energetiche. Si pensi al passaggio dalla legna ai combustibili inanimati (combustibili fossili) come carbon coke, utilizzato fonte di alimentazione delle macchine. Questo non solo permetteva una migliore resa delle macchine, ma anche di migliorare i metodi e le condizioni di lavoro nelle miniere.

Come già accennato, l’uomo è stato protagonista di un’evoluzione continua dei processi, che è possibile definire con il concetto di rivoluzione industriale, un processo che è possibile identificare in 4 fasi distinte, dalla prima rivoluzione industriale in Inghilterra della fine del diciottesimo secolo, fino ai giorni nostri e a seguire.

Dopo l’Inghilterra, il decollo industriale avviene prima in Francia e in Belgio, poi in Germania, poi in Russia e quindi in Italia. L’industrializzazione è partita da alcune regioni di questi stati che hanno caratteristiche simili a quelle dell’Inghilterra, come la presenza di miniere di carbone e vie di comunicazione efficienti. Hanno inoltre il vantaggio di essere le più vicine all’Inghilterra, ed hanno meno problemi ad importare le nuove macchine.

Page 12: UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI...UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI FACOLTÀ DI SCIENZE E TECNOLOGIE APPLICATE CORSO DI LAUREA IN INGEGNERIA INFORMATICA TECNOLOGIE

3

Seguono nei prossimi capitoli i dettagli di ciascuna fase e gli elementi che hanno caratterizzato l’esigenza di un’evoluzione, basata anche sugli strumenti e le tecnologie disponibili al tempo.

1.2 La prima rivoluzione industriale La rivoluzione industriale fu un processo di evoluzione economica

o industrializzazione della società che, da sistema agricolo-artigianale e commerciale, divenne un sistema industriale moderno caratterizzato dall'uso generalizzato di macchine azionate da energia meccanica e dall'utilizzo di nuove fonti energetiche inanimate (come ad esempio i combustibili fossili), il tutto favorito da una forte componente di innovazione tecnologica e accompagnato da fenomeni di crescita, sviluppo economico e profonde modificazioni socio-culturali e anche politiche.

In seguito a questa trasformazione, l’industria assume notevole importanza e il lavoro in fabbrica sostituisce sempre più quello nella campagna ed è il principale produttore di ricchezza.

Secondo il materialismo dialettico, è attraverso la rivoluzione industriale che è avvenuta l'affermazione del capitalismo negli aspetti economici, a discapito della struttura sociale preesistente e, attraverso le rivoluzioni francese ed americana, politicamente con l'affermazione della borghesia come classe dominante a discapito del predominio di quella nobiliare.

Gli inizi della rivoluzione industriale sono collocabili in Inghilterra tra gli ultimi decenni del diciottesimo e la prima metà del diciannovesimo secolo. Il suo sviluppo fu reso possibile dalla combinazione di una serie di precondizioni:

• istituzioni che favorivano l'iniziativa individuale • una ricerca scientifica avanzata che stimolava le scoperte

tecnologiche

Page 13: UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI...UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI FACOLTÀ DI SCIENZE E TECNOLOGIE APPLICATE CORSO DI LAUREA IN INGEGNERIA INFORMATICA TECNOLOGIE

4

• un vasto settore di agricoltura capitalistica nelle mani di grandi e medi proprietari aperti all'innovazione e dotati di elevate capacità di investimento

• un'industria manifatturiera ed estrattiva dinamica e in grado di liberare capitali

• un'eccellente rete di trasporti • un tasso di urbanizzazione che non aveva riscontro in alcun altro

paese • un prospero commercio interno e internazionale all'interno di un

impero coloniale, come quello britannico, ricco di risorse. Tutti fattori che nel loro insieme davano vita a un mercato pronto ad assorbire sempre nuovi prodotti.

La prima rivoluzione industriale interessò prevalentemente il settore tessile-metallurgico con l'introduzione della spoletta volante (un congegno inventato nel 1733 da John Kay per consentire la tessitura automatica) e della macchina a vapore nella seconda metà del '700. In particolare la macchina a vapore non fu un’invenzione del diciottesimo secolo, ma fu fondamentale il suo perfezionamento da parte di James Watt, il quale aveva ideato il meccanismo biella-manovella che trasformava il movimento a stantuffo in un moto rotatorio, molto più vantaggioso. 1.2.1 Macchina a vapore L'energia abbondantemente offerta dalla macchina a vapore viene applicata alle lavorazioni tessili, rendendo possibile una più efficiente organizzazione della produzione grazie alla divisione del lavoro e allo spostamento delle lavorazioni all'interno di fabbriche appositamente costruite, nonché alle estrazioni minerarie e ai trasporti. Le attività minerarie beneficiano della forza della macchina a vapore nella fase di estrazione dell'acqua dalle miniere, permettendo di scavare a maggiore

Page 14: UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI...UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI FACOLTÀ DI SCIENZE E TECNOLOGIE APPLICATE CORSO DI LAUREA IN INGEGNERIA INFORMATICA TECNOLOGIE

5

profondità, come anche nel trasporto del minerale estratto. I primi vagoni su rotaia servono a portar fuori dalle miniere il minerale, poi a portarlo a destinazione. Solo in un secondo tempo il trasporto su rotaia si converte nel trasporto di passeggeri.

La rivoluzione industriale ha prodotto effetti non solo in campo economico e tecnologico, ma anche un aumento dei consumi e della quota del reddito, dei rapporti di classe, della cultura, della politica, delle condizioni generali di vita, con effetti espansivi sul livello demografico. 1.2.2 Innovazioni tecnologiche La meccanizzazione investì massicciamente le aziende a conduzione capitalistica: le prime furono quelle tessili, quindi quelle minerarie, siderurgiche e meccaniche. Nel 1787 Edmund Cartwright inventò il telaio meccanico, che fu perfezionato e adottato nei decenni successivi: intorno al 1825, un solo operaio, sorvegliando due telai meccanici, poteva sbrigare un lavoro che con i telai a mano avrebbe richiesto l'opera di una quindicina di persone.

Si verificava contemporaneamente un radicale cambiamento nel settore dei trasporti. Nel 1807 l'americano R. Fulton (1765-1815) costruì un vaporetto e nel 1819 si ebbe la prima traversata dell'Atlantico di una nave a vapore. Nel 1814 l'inglese G. Stephenson (1781-1848) costruì una locomotiva, i cui successivi miglioramenti consentirono di inaugurare in Inghilterra nel 1825 la prima linea ferroviaria.

Anche il settore della siderurgia fu investito da tali innovazioni. Nelle fasi di lavorazione dei minerali ferrosi, infatti, dall’inizio del diciottesimo secolo si iniziò a sostituire l’utilizzo del carbone di legna con il carbon coke, ossia l'antracite distillata a secco per eliminarne le sostanze che avrebbero inquinato i processi di fusione. Questo ha evitato anche la distruzione delle foreste, che sarebbe stata inevitabile considerando l’utilizzo massivo del carbone nell’industria. Altra fondamentale invenzione fu il telegrafo.

Page 15: UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI...UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI FACOLTÀ DI SCIENZE E TECNOLOGIE APPLICATE CORSO DI LAUREA IN INGEGNERIA INFORMATICA TECNOLOGIE

6

1.2.3 Il sistema di fabbrica e l’impatto demografico Se la macchina a vapore costituì il più importante fondamento tecnologico della rivoluzione industriale, la sua maggiore espressione in termini di organizzazione fu il sistema di fabbrica.

Questo riguardava i modi di produzione: da un lato i padroni - proprietari del capitale necessario agli investimenti in macchine e al pagamento dei salari degli addetti al loro funzionamento - e dall'altro gli operai che vendevano la loro forza lavoro. L'utilizzazione delle macchine per la produzione su vasta scala portò sempre più a concentrare masse di lavoratori in fabbriche organizzate secondo criteri razionali con funzioni, orari, ritmi definiti in base alle esigenze della divisione del lavoro.

Da un punto di vista socio-economico si verificò un impressionante aumento complessivo della ricchezza, che andò principalmente a favore delle classi alte, anzitutto della borghesia capitalistica. Si poté osservare nelle aree coinvolte un rapido e considerevole accrescimento della popolazione a livello demografico. Infatti l'innalzamento delle rese agricole consentì un notevole incremento nella disponibilità delle risorse naturali; inoltre i progressi nel campo igienico e sanitario abbatterono i tassi di mortalità e innalzarono l'età media della popolazione, nonché ridussero le ricorrenti calamità che da secoli colpivano le aree più popolate. Questi fattori hanno in qualche modo contribuito a far accrescere le aspettative di vita della popolazione.

Ovviamente si è descritto un quadro generale che riguarda l’intera popolazione, ma occorre considerare anche l’altro lato della medaglia, dal punto di vista puramente sociale.

Come detto, ci fu un aumento complessivo della ricchezza, ma tendenzialmente ad arricchirsi furono soltanto le classi alte. Gli operai dal canto loro ricevevano salari molto bassi, e le donne e i bambini - impiegati su vasta scala - retribuzioni ancora inferiori; i lavoratori in generale non potevano fare affidamento su un impiego stabile poiché ogni fase sfavorevole del ciclo produttivo causava ondate di disoccupazione senza

Page 16: UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI...UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI FACOLTÀ DI SCIENZE E TECNOLOGIE APPLICATE CORSO DI LAUREA IN INGEGNERIA INFORMATICA TECNOLOGIE

7

che essi potessero contare su alcuna forma di protezione sociale. Gli orari di lavoro erano mediamente da 13 a 15 ore giornaliere. I ragazzi con più di 6 anni erano impiegati in larga misura in fabbrica; e con essi persino bambini di 5 o addirittura di 4 anni. 1.2.4 Urbanizzazione Anche le città subirono mutamenti significativi alla struttura dei propri centri urbani. Venivano eseguite demolizioni di mura e case, per far spazio alla nascita di nuovi quartieri residenziali, uffici e negozi.

Anche le periferie subirono dei cambiamenti, in quanto è lì che venivano create le nuove fabbriche e di conseguenza le case popolari dove risiedevano gli operai.

Inoltre con l’avvento dei mezzi di locomozione a vapore, le ferrovie divennero delle infrastrutture di fondamentale importanza. 1.2.5 Verso la seconda rivoluzione industriale Per circa un secolo la rivoluzione industriale rimase circoscritta all'Inghilterra, al Belgio, a parte della Francia e a zone ristrette della Germania.

Tra gli anni Sessanta e Settanta dell'Ottocento e il primo decennio del Novecento l'industrializzazione non solo si estese e intensificò in Germania, nell'Italia settentrionale, in regioni dell'Impero austro-ungarico e di quello russo, in Giappone e negli Stati Uniti, ma rinnovò profondamente le sue basi energetiche e tecnologiche in un quadro che vide l'Inghilterra cedere progressivamente il primato.

Negli anni Ottanta del diciannovesimo secolo l'applicazione dell'elettricità avviò un processo destinato a creare una nuova generazione di macchine, appunto le macchine elettriche, che servivano sia per la

Page 17: UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI...UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI FACOLTÀ DI SCIENZE E TECNOLOGIE APPLICATE CORSO DI LAUREA IN INGEGNERIA INFORMATICA TECNOLOGIE

8

locomozione sia per la fabbricazione di nuove macchine e di una varietà di altri prodotti.

Nel decennio seguente, l'invenzione del motore a combustione interna aprì altri enormi orizzonti con in primo piano la creazione delle automobili, per il trasporto di persone e di merci. Questi due nuove fonti di energia, elettricità e petrolio, ci portano a quella che viene definita seconda rivoluzione industriale.

1.3 La seconda rivoluzione industriale Fra il diciannovesimo e il ventesimo secolo, l'industrializzazione

si impone come via necessaria e imprescindibile per lo sviluppo economico degli stati. Il sistema di fabbrica continua a espandersi in Europa e fuori d'Europa, cambiando radicalmente volto.

L'economia dei paesi industrializzati, uscita dalla crisi degli anni della Grande depressione, conosce una stagione di forte crescita produttiva su nuove basi energetiche e tecnologiche, in un quadro che vede completarsi la spartizione coloniale del globo e l'Inghilterra cedere progressivamente il suo primato – fino ad allora indiscusso – a favore di nuove potenze economiche in Europa (Germania) e fuori d'Europa (Stati Uniti D’America).

Le conquiste coloniali, soprattutto in Africa, erano spinte dal desiderio di procurarsi nuovi mercati di vendita per i prodotti nazionali e di accaparrarsi materie prime e risorse energetiche a basso costo.

Il concetto di industrializzazione si trasforma fra gli anni Settanta del diciannovesimo secolo e la Prima guerra mondiale. S’instaura uno strettissimo rapporto tra scienza, tecnologia e industria; si rivoluziona la tecnologia produttiva, delle comunicazioni e dei trasporti; cambiano i settori trainanti lo sviluppo; si utilizzano nuove fonti energetiche; si intensificano i processi di concentrazione e ristrutturazione industriale;

Page 18: UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI...UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI FACOLTÀ DI SCIENZE E TECNOLOGIE APPLICATE CORSO DI LAUREA IN INGEGNERIA INFORMATICA TECNOLOGIE

9

crescono le dimensioni delle aziende; mutano i rapporti tra l'industria e gli istituti bancari e finanziari.

L’entità di tutti questi importanti cambiamenti, che contribuirono a consolidare la posizione di supremazia dell’Europa (e in generale il mondo occidentale) in tutti i campi di carattere scientifico e tecnologico, diedero vita a quella che oggi viene definita la seconda rivoluzione industriale.

La caratteristica che differenzia maggiormente la seconda rivoluzione industriale dalla precedente sta nel fatto che le innovazioni tecnologiche non sono frutto di scoperte occasionali ed individuali, bensì di ricerche specializzate in laboratori scientifici e nelle università finanziate dagli imprenditori e dai governi nazionali per il miglioramento dell'apparato produttivo. Gli inventori hanno per lo più solidi studi scientifici (sono matematici, ingegneri, biologi, chimici, fisici) e quelle di scienziato, tecnico, ricercatore diventano professioni altamente specializzate. Molti fra loro (Siemens, Edison, Bayer, Solvay, Dunlop, Bell) diventano capitani d'industria e personificano lo strettissimo legame fra scienza e industria. 1.3.1 Le innovazioni tecnologiche Il rinnovamento tecnologico investe tutti i settori produttivi, ma gli sviluppi più interessanti riguardano i settori chimico, elettromeccanico e della metallurgia dell'acciaio. Dopo il 1870, benché carbone e ferro rimangano prodotti fondamentali, inizia l'età dell'acciaio, della chimica, dell'elettricità e del petrolio.

1.3.2 L’acciaio La sostituzione dell'acciaio al ferro è uno dei tratti principali della

tecnologia degli ultimi decenni del diciannovesimo secolo. L'acciaio è

Page 19: UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI...UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI FACOLTÀ DI SCIENZE E TECNOLOGIE APPLICATE CORSO DI LAUREA IN INGEGNERIA INFORMATICA TECNOLOGIE

10

duro, plastico, resistente alle percussioni e al logoramento, compatto e robusto; è una varietà superiore del ferro. I suoi pregi sono noti da tempo ma, fino alla metà del diciannovesimo secolo, i costi di produzione sono troppo elevati e ne limitano l'uso alle lame, alle armi e agli strumenti di precisione.

Figura 1 - La torre Eiffel

Dagli ultimi decenni del diciannovesimo secolo, nuove tecniche di

fabbricazione (metodo Bessemer e poi Gilchrist-Thomas) rendono possibile produrne grandi quantità a un prezzo relativamente modesto. Da allora, la produzione cresce rapidamente (dalle ottantamila tonnellate del 1850, ai 28 milioni del 1900) e l'acciaio viene utilizzato in modo crescente nei più svariati campi al posto del ferro (rotaie, navi, caldaie, automobili, aerei, cannoni, macchine industriali più leggere, precise, potenti che favoriscono processi di meccanizzazione, utensili domestici e di lavoro come martelli e chiodi), rendendo possibile la costruzione di grandi edifici, di grandi ponti, del simbolo forse più famoso di quegli anni, la Torre Eiffel

Page 20: UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI...UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI FACOLTÀ DI SCIENZE E TECNOLOGIE APPLICATE CORSO DI LAUREA IN INGEGNERIA INFORMATICA TECNOLOGIE

11

(fig.1), alta 300 metri e pesante 8000 tonnellate, costruita nel 1889 in occasione dell'Esposizione universale di Parigi.

1.3.3 La chimica I progressi della chimica, che come scienza moderna di solito si fa

risalire al diciassettesimo e diciottesimo secolo, sono una componente fondamentale del nuovo sviluppo industriale.

Anche per la chimica, i campi di applicazione sono i più vari: procedimenti chimici sono, infatti, alla base della produzione di carta, vetro, saponi, coloranti e fibre artificiali, cemento, esplosivi, gomma, ceramica, profumi, medicinali, concimi artificiali, reagenti chimici per svariate lavorazioni, metalli come l'alluminio.

All'inizio del XX secolo, l'industria chimica è una presenza centrale nel panorama industriale, destinata a sviluppi sempre più vasti e complessi, tanto positivi (farmaci capaci di agire sui processi fisiologici) quanto terribili (i gas tossici utilizzati durante la Prima guerra mondiale, in Etiopia nel 1936, nei campi di sterminio nazisti e durante il conflitto Iran-Iraq del 1980-1988).

1.3.4 L’elettricità

L'elettricità è una forma di distribuzione dell'energia prodotta da altre fonti come il vapore o l'acqua. È al centro della ricerca scientifica e ha un'eccezionale e veloce influenza sulle altre industrie.

Solo dagli anni Ottanta dell'Ottocento, grazie ai contributi di numerosi scienziati e tecnici, diviene possibile immagazzinarla, trasmetterla a grandi distanze, distribuirla e utilizzarla per illuminare (la lampadina a filamento incandescente di Edison è del 1879), per riscaldare, per la locomozione, per costruire nuove macchine e una gran varietà di cose.

Page 21: UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI...UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI FACOLTÀ DI SCIENZE E TECNOLOGIE APPLICATE CORSO DI LAUREA IN INGEGNERIA INFORMATICA TECNOLOGIE

12

La luce elettrica, in particolare, cambiò anche i ritmi di lavoro nelle fabbriche dove prima la produzione cessava con il venir meno della luce diurna: ora gli operai potevano lavorare in turni ininterrotti nelle 24 ore.

Un'ulteriore spinta al processo di diffusione dell'elettricità fu l'invenzione della corrente alternata da parte di Nikola Tesla (dal 1882 in poi) che permise il trasporto dell'energia elettrica su lunghe distanze al contrario della corrente continua che non poteva essere trasmessa per più di 3 km. Prodotta in quantità nelle grandi centrali (termoelettriche a vapore e poi idroelettriche) costruite negli ultimi decenni del diciannovesimo secolo, l'elettricità avvia profondi processi di trasformazione nell'industria e nella vita quotidiana.

Dagli studi sull'elettricità nascono ad esempio il telefono, il fonografo, il telegrafo senza fili, la radio, il cinematografo.

1.3.5 Il petrolio e il motore a scoppio

L'invenzione del motore a combustione interna, applicato prima alle automobili e poi all'aeroplano, apre altri nuovi orizzonti. I primi motori a combustione interna funzionavano a gas e potevano essere applicati solo a macchine fisse, immobilizzate dalla necessaria vicinanza alla fonte di rifornimento.

Solo negli anni Novanta, dopo molte sperimentazioni, questo ostacolo viene superato grazie all'impiego di combustibili liquidi.

Il petrolio e i suoi derivati bruciano bene, producono il doppio del lavoro del carbone e occupano molto meno spazio, ma hanno costi di produzione assai più elevati.

Gli esordi dell'automobile e, in generale, dei nuovi mezzi di trasporto sono lenti, ma sufficienti a dare impulso all'estrazione del petrolio (è del 1870 la fondazione della Standard Oil Company a opera di Rockefeller) che lentamente ma inesorabilmente nel corso del Novecento

Page 22: UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI...UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI FACOLTÀ DI SCIENZE E TECNOLOGIE APPLICATE CORSO DI LAUREA IN INGEGNERIA INFORMATICA TECNOLOGIE

13

soppianterà il carbone, il combustibile protagonista della prima industrializzazione. 1.3.6 Medicina

Fu soprattutto nel periodo della seconda rivoluzione industriale,

più che nella prima, che vennero fatte numerose e importantissime scoperte in campo medico e scientifico. Gli studi di Charles Darwin e Gregor Mendel stimolarono l'approfondimento di anatomia comparata, fisiologia, genetica, mentre le fondamentali scoperte di Louis Pasteur, Gerhard Henrik Hansen, Robert Koch, e altri, in campo epidemiologico portarono nel corso del XIX secolo a trovare una difesa contro antichi flagelli come la tubercolosi, la difterite, l'antrace, la peste, la lebbra, la rabbia, la malaria.

Numerose altre scoperte e invenzioni (come ad esempio lo stetoscopio) consentirono enormi progressi nel campo della chirurgia e in generale delle condizioni igienico-sanitarie negli ospedali e nella vita quotidiana delle famiglie. Furono ad esempio gli studi del medico ungherese Ignác Fülöp Semmelweis (1818 – 1865) a dimostrare che l'alto tasso di mortalità delle donne dopo il parto era in buona misura dovuto a infezioni trasmesse dai medici stessi durante il parto.

Un'altra decisiva scoperta nel settore medico-sanitario fu l'adozione dell'anestesia a base di etere e cloroformio durante gli interventi chirurgici e l'applicazione dei raggi x per le diagnosi interne.

Questo complesso di scoperte e invenzioni, unitamente alla maggiore disponibilità di risorse, condusse nel giro di alcuni decenni ad un incremento esponenziale della popolazione, tanto che, fra la fine del XVIII secolo e il XX secolo la popolazione europea si è accresciuta di quasi quattro volte, la speranza di vita è passata da valori compresi tra i 25 e i 35 anni a valori che superano i 75 anni.

Page 23: UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI...UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI FACOLTÀ DI SCIENZE E TECNOLOGIE APPLICATE CORSO DI LAUREA IN INGEGNERIA INFORMATICA TECNOLOGIE

14

1.3.7 Trasporti I trasporti nella seconda metà dell'Ottocento divennero molto più

sviluppati e complessi. Il sistema ferroviario, uscito dalla fase pionieristica, ebbe un accrescimento senza precedenti; in alcuni paesi le ferrovie ebbero un incremento del 900%: negli Stati Uniti si passò da 15.000 km di linee ferroviarie a più di 150.000 km.

L'enorme sviluppo del trasporto ferroviario rivoluzionò in breve tempo i commerci e la possibilità di movimento delle popolazioni interessate, divenendo a sua volta un potente elemento di accelerazione e moltiplicazione dello sviluppo economico delle aree raggiunte dal servizio.

La costruzione di ferrovie a raggio transcontinentale - la ferrovia New York-San Francisco (1862-1869), la transandina tra il Cile e l'Argentina (1910), la transiberiana (1891-1904) Mosca-Vladivostok sul Pacifico e successivamente sino a Port Arthur sul Mar Giallo - ebbe un'enorme influenza nello scambio delle merci poiché si ridussero notevolmente i costi sino ad allora molto alti per il trasporto via terra.

Inoltre in alcune delle più importanti città europee ed americane, si ebbe la costruzione delle prime metropolitane, fra le quali quelle di Londra e Parigi, che permetteva di spostarsi facilmente all'interno delle aree urbane, enormemente accresciutesi già dopo la prima rivoluzione industriale.

Nel 1883 l'ingegnere tedesco Gottlieb Daimler brevettò un motore a benzina efficiente. Pochi anni dopo, apparve la prima vettura a combustione interna.

L'invenzione dell'automobile si rivelerà di straordinaria importanza, con effetti rivoluzionari sulle abitudini e lo stile di vita dei paesi industrializzati; tali conseguenze, tuttavia, si avvertiranno in modo significativo solo a partire dalla diffusione di massa dell'automobile, che inizierà successivamente, nei primi decenni del XX secolo.

Page 24: UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI...UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI FACOLTÀ DI SCIENZE E TECNOLOGIE APPLICATE CORSO DI LAUREA IN INGEGNERIA INFORMATICA TECNOLOGIE

15

1.3.8 Comunicazioni Parallelamente ai trasporti, anche le comunicazioni si fecero più

veloci e intense. La scoperta dell'elettromagnetismo con l'invenzione del telegrafo prima e del telefono poi, permisero le prime comunicazioni intercontinentali.

Attorno agli anni quaranta del XIX secolo si svilupperà rapidamente in tutto il mondo il telegrafo elettrico Morse, che per la prima volta nella storia permetterà la comunicazione istantanea a distanza, e che darà luogo a notevoli sviluppi, fra cui la creazione delle prime agenzie di stampa, che raccoglievano e distribuivano notizie in tempi molto più rapidi che in passato.

Sarà soprattutto la successiva invenzione del telefono (1860) e la sua diffusione su larga scala che porteranno ad una vera rivoluzione nel campo delle comunicazioni, imprimendo in poco tempo uno sviluppo totalmente nuovo nelle interrelazioni sociali e commerciali tra gruppi e individui.

Nei primi anni del Novecento, quindi, l'avvento della radio avvierà una nuova era nel campo della informazione che porterà notevoli conseguenze anche in campo sociale.

1.3.9 Il mutamento del rapporto tra agricoltura e industria

Gli aspetti più rilevanti della grande trasformazione si ebbero in Inghilterra, già protagonista della prima rivoluzione, dove masse di popolazione si spostarono nelle città.

Nel 1871 in Inghilterra il 35% della popolazione lavorava nel settore agricolo, nel 1910 la manodopera agricola era scesa al 25%. In Francia, dove l'industrializzazione aveva riguardato solo delle zone limitate, lo spostamento della popolazione dalla campagna alla città fu più lento mentre in Germania, come nei paesi scandinavi, fu imponente la riduzione della manodopera occupata nell'agricoltura.

Page 25: UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI...UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI FACOLTÀ DI SCIENZE E TECNOLOGIE APPLICATE CORSO DI LAUREA IN INGEGNERIA INFORMATICA TECNOLOGIE

16

Se la produzione agricola europea non subì un vistoso calo questo fu dovuto alla meccanizzazione dell'agricoltura che divenne "scientifica", anch'essa di tipo capitalistico ed industriale. Nell'allevamento si cominciò a selezionare il bestiame e dove possibile si sostituì alla cerealicoltura la coltivazione intensiva di frutta e ortaggi.

Nel Nord Europa, nei Paesi Bassi, in Danimarca, compaiono nuove forme di produzione associata come il modello cooperativistico con i suoi ideali di mutualità, solidarietà, premessa dei nuovi regimi democratici. 1.3.10 L'estensione della città

Alla fine del XIX secolo l'industria aveva quasi sostituito l'agricoltura, che fino ad allora era stata la principale risorsa economica di molte nazioni.

Milioni di persone si trovarono a vivere e lavorare in enormi centri industriali dove le condizioni di vita erano discutibili, la maggior parte degli stabilimenti era male aerata e male illuminata, il lavoro era spesso pericoloso, gli orari gravosi ed i salari molto scarsi. Peggio di tutti stavano le donne ed i bambini, costretti a lavorare in condizioni pressoché di schiavitù.

Per andare incontro alle necessità dell'industria furono introdotte delle innovazioni tecniche che permisero la nascita di grosse fabbriche che trasformarono in pochi decenni i borghi di campagna in fumanti centri industriali. I contadini e gli artigiani cercarono lavoro nel nuovo mondo industriale, divenuto ormai il carro trainante dell'economia.

Le città industriali vennero in pochi anni circondate da enormi periferie sub-urbane, tetre e malsane, specialmente nel periodo anteriore alle scoperte medico-scientifiche. La rapida diffusione di questi centri ne rese impossibile la pianificazione, l'igiene era pressoché sconosciuta e la sovrappopolazione favoriva sempre più la criminalità e le malattie.

Page 26: UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI...UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI FACOLTÀ DI SCIENZE E TECNOLOGIE APPLICATE CORSO DI LAUREA IN INGEGNERIA INFORMATICA TECNOLOGIE

17

Solo negli ultimi decenni del XIX secolo le amministrazioni delle grandi città iniziarono a pianificare interventi di ristrutturazione urbanistica su larga scala, come ad esempio la grande trasformazione operata a Parigi durante il Secondo Impero, che prevedevano talvolta anche l'abbattimento di interi quartieri fra i più vecchi e fatiscenti, per far posto a zone ricostruite secondo schemi urbanistici più razionali, rispondenti a canoni più moderni e funzionali.

Fu proprio per la necessità di mettere ordine e poter controllare queste enormi caotiche aree urbane che si iniziò in tutti i paesi industrializzati ad introdurre sistematicamente i numeri civici nelle abitazioni e a regolamentare in modo più rigoroso lo sviluppo delle reti stradali, fognarie e dei servizi pubblici in generale.

1.4 La terza rivoluzione industriale Negli anni successivi alla seconda guerra mondiale iniziò un periodo che venne definito come terza rivoluzione industriale. Lo scenario mondiale si stava incamminando verso una fase di cambiamento radicale.

Da un lato c’erano gli Stati Uniti d’America che, non essendo stati sconvolti dallo scontro degli eserciti, avevano conosciuto un periodo di benessere già durante la guerra, favoriti anche dall'intensa produzione bellica avviata dal governo americano.

Nel versante europeo, invece, si dovettero affrontare seri problemi di ricostruzione e si vennero a creare organismi associativi comunitari, come le Comunità Europee, antesignani dell'Unione Europea.

La CEE realizzò avviò apposite politiche regionali per il sostegno delle regioni economicamente più deboli.

In questo scenario post bellico si percepiva la volontà di una forte spinta verso il progresso e l’innovazione tecnologica, e del conseguente sviluppo, sia sociale che economico, della società. La maggiore stabilità nei paesi occidentali, rispetto alla prima metà del ventesimo secolo, favorì

Page 27: UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI...UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI FACOLTÀ DI SCIENZE E TECNOLOGIE APPLICATE CORSO DI LAUREA IN INGEGNERIA INFORMATICA TECNOLOGIE

18

inoltre la crescita economica e permise la diffusione progressiva verso il ceto medio del modello socio-economico occidentale.

Come per le precedenti rivoluzioni, questa nuova fase industriale fu caratterizzata dall’utilizzo di nuove fonti energetiche. Si può far riferimento all’energia atomica, all’energia solare, allo sfruttamento del vento, prendendo spunto dai mulini, all’aumento del consumo del petrolio e all’invenzione della plastica da parte di Moplen.

Questi grandi progressi portarono all’apertura di nuovi orizzonti di studio, che segnarono la svolta tecnologica e aprirono la strada all’era dell’elettronica e dell’informatica.

Se nelle precedenti fasi evolutive la macchina a vapore e l’utilizzo dell’elettricità e del petrolio furono gli elementi distintivi rispettivamente della prima e della seconda rivoluzione industriale, la terza rivoluzione industriale fu segnata dall’invenzione del calcolatore elettronico.

Grande risalto ebbe anche il costante sviluppo dei trasporti terrestri, aerei e marittimi favorito dallo sviluppo tecnologico nei rispettivi settori industriali, nonché dalla realizzazione di sistemi stradali sempre più evoluti e capillari.

Questa complessa rete di trasporti finirà per favorire sempre più il commercio internazionale alimentando il fenomeno della globalizzazione.

Le tecnologie ad alta intensità di capitale, concentrare nei settori dell'informatica e della telematica, avviarono un nuovo sistema di produzione, che determinò il brusco declino di tutte le lavorazioni basate su grandi concentrazioni di manodopera; la presenza umana cominciò allora ad affievolirsi sia nella produzione sia nell'erogazione di servizi.

1.4.1 La corsa allo spazio

Negli anni successivi alla seconda guerra mondiale, Stati Uniti e Unione Sovietica nell'ambito della guerra fredda si contesero per decenni il primato dell'esplorazione spaziale.

Page 28: UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI...UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI FACOLTÀ DI SCIENZE E TECNOLOGIE APPLICATE CORSO DI LAUREA IN INGEGNERIA INFORMATICA TECNOLOGIE

19

Inizialmente i russi ebbero la meglio, lanciando in orbita il satellite artificiale Sputnik I (1957). Nello stesso anno, inoltre, mandarono nello spazio il primo essere vivente, Lajka, una cagnetta.

Un anno dopo, anche gli americani lanciarono in orbita un loro satellite, ma poco tempo dopo i sovietici inviarono nello spazio il primo essere umano: Yuri Gagarin (1961).

Nel 1969 anche gli statunitensi riuscirono ad avere un proprio primato nella storia dell'industria aerospaziale, mandando sulla Luna l'Apollo 11, che con il suo equipaggio atterrò sul suolo lunare.

Figura 2 - Il primo sbarco sulla luna

Negli anni successivi vi sono state enormi innovazioni nel campo aerospaziale. Per esempio nel 1981 fu costruito il cosiddetto Space Shuttle, un vettore riutilizzabile più volte che rivoluzionò la conquista dello spazio.

Dagli anni settanta in poi vi è stato un forte aumento di lanci di satelliti, del quale Stati Uniti ed Europa detengono il primato. Uno degli scopi principali del loro utilizzo è il campo delle telecomunicazioni. Questi vengono inoltre utilizzati per rilevamenti meteorologici e geologici.

Page 29: UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI...UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI FACOLTÀ DI SCIENZE E TECNOLOGIE APPLICATE CORSO DI LAUREA IN INGEGNERIA INFORMATICA TECNOLOGIE

20

1.4.2 L’era dell’elettronica e dell’informatica L’era moderna dell’elettronica inizia nel 1948, con un’invenzione

veramente rivoluzionaria, il transistor, creato da tre scienziati americani. Fino allora radio e televisioni erano apparecchi molto ingombranti

che funzionavano per mezzo di valvole di grandi dimensioni, capaci di amplificare i segnali. Il transistor, invece, era piccolissimo, ma molto più potente delle valvole.

I transistors – e poi i circuiti integrati (1959), e infine i microprocessori (1971), che in pochi millimetri quadrati possono contenere addirittura milioni di transistor – hanno permesso di miniaturizzare, cioè di ridurre a dimensioni minime radio, televisori, radar, altoparlanti, ed ogni altro strumento basato sull’elettronica. 1.4.3 Il calcolatore elettronico o computer

Il primo calcolatore elettronico, costruito negli Stati Uniti nel 1946, funzionava per mezzo di 19 mila valvole collegate fra loro da mezzo milione di contatti saldati a mano ed era grande come una sala da ballo.

L’uso di circuiti integrati e poi di microprocessori ha permesso di ridurre le dimensioni, di aumentare la potenza, la velocità di calcolo e il numero di funzioni di queste macchine.

Nel 1977 vengono messi in commercio i primi personal computer, apparecchi di piccole dimensioni, economici, per uso privato, che hanno subito una vasta diffusione.

Insieme con il computer si sviluppano le due nuove tecnologie dell’informazione: quella informatica (per l’elaborazione elettronica dei dati) e quella telematica (per trasmissione dei dati a distanza).

Page 30: UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI...UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI FACOLTÀ DI SCIENZE E TECNOLOGIE APPLICATE CORSO DI LAUREA IN INGEGNERIA INFORMATICA TECNOLOGIE

21

1.4.4 L’informatica

L'informatica è la disciplina nella quale si affronta lo studio dell'informazione nei suoi principi generali (automa, calcolabilità, cibernetica, teoria dell'informazione) e nei suoi aspetti particolari, legati all'elaborazione automatica (hardware, software, nonché alle sue applicazioni in vari sistemi fisici, economici e biologici (intelligenza artificiale, robotica).

In questa disciplina hanno trovato adeguata sistematizzazione concetti sviluppati in altri settori come quelli legati ai principi formali del calcolo (algoritmo, funzione ricorsiva) e alle metodologie per la risoluzione dei problemi tecnici e organizzativi sorti con l'avvento degli elaboratori elettronici, alias computer (modi di utilizzazione, problemi di codifica e di affidabilità, trasmissione di dati), oltre ai problemi legati alla interazione uomo macchina. 1.4.5 Internet e Il Word Wide Web

Con la nascita dei computer si propagò internet, una rete

informatica ideata nel 1969 da un gruppo di scienziati e ricercatori americani i quali, su iniziativa del Ministero della Difesa degli Stati Uniti, elaborarono un circuito di comunicazione per fini militari in grado di resistere agli effetti di un bombardamento atomico.

Esso collegava quattro università: Stanford, Los Angeles, Santa Barbara e Utah. Nel 1985 Internet si trasformò in un servizio di massa.

In seguito, negli anni Novanta, uno scienziato inglese che lavorava come ricercatore al CERN di Ginevra, Tim Berners-Lee, inventò e mise gratuitamente a disposizione del mondo il Word Wide Web (cioè la grande ragnatela mondiale, sigla www), un sistema destinato alla pubblicazione di contenuti multimediali per renderli disponibili agli utenti connessi ad internet, nonché uno strumento per implementare particolari servizi come ad esempio il download di software.

Page 31: UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI...UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI FACOLTÀ DI SCIENZE E TECNOLOGIE APPLICATE CORSO DI LAUREA IN INGEGNERIA INFORMATICA TECNOLOGIE

22

1.4.6 Altre innovazioni

Parallelamente allo sviluppo di nuove tecnologie di cui sopra si assiste a un forte sviluppo del settore terziario ovvero dei servizi, specie legati al settore dei trasporti, della comunicazione/informazione e della pubblica amministrazione accompagnato da un lento, ma progressivo processo di deindustrializzazione sui settori industriali che più avevano trainato le precedenti rivoluzioni industriali, com'è tipico dei sistemi economici avanzati.

La terza rivoluzione industriale porta con sé anche la nascita e il parziale sviluppo delle tecnologie relative a fonti energetiche alternative e rinnovabili come soluzione al problema energetico globale quali l'energia idroelettrica, l'energia solare, l'energia eolica, molte delle quali non hanno però ancora raggiunto la diffusione e/o la capacità di sostituire i combustibili fossili.

Di grande rilevanza nel nostro tempo è la materia dalle telecomunicazioni, che sempre con più facilità mettono in contatto miliardi di persone ogni giorno.

Se da una parte negli ultimi decenni si sono affermati i satelliti artificiali per le rispettive moderne telecomunicazioni satellitari, nell'ultimo decennio è accresciuto enormemente l'uso dei telefoni cellulari; basti pensare che nelle zone sviluppate del globo, vi è un telefonino per ogni abitante.

La terza rivoluzione industriale ha contribuito a creare un nuovo forte clima di fiducia intorno alla scienza e alla tecnica, dopo la cruda parentesi delle guerre mondiali nella prima metà del Novecento, alimentando nuove forme di positivismo, ma anche aspre critiche da parte di pensatori di stampo esistenzialista e riflessioni di tipo etico.

Page 32: UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI...UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI FACOLTÀ DI SCIENZE E TECNOLOGIE APPLICATE CORSO DI LAUREA IN INGEGNERIA INFORMATICA TECNOLOGIE

23

Capitolo 2 Industry 4.0

2.1 Introduzione Le varie evoluzioni tecnologiche che hanno avuto luogo nel corso degli ultimi 4 secoli, hanno segnato in maniera decisiva il mondo dell’industria, definendo in maniera abbastanza precisa delle fasi che prendono il nome di “rivoluzioni industriali”.

L’invenzione e l’utilizzo del motore a vapore ha segnato la prima rivoluzione industriale. Ha delineato una svolta nel mondo industriale, mettendo in evidenza l’importanza della tecnologia. Si è iniziato a dare valore al fatto di poter sfruttare una fonte di energia (forza del vapore), mettendo a disposizione dell’uomo degli strumenti che fossero in grado di ottimizzare la sua produttività industriale.

L’elettricità e il petrolio sono le principali fonti di energia che hanno dato vita alla seconda rivoluzione industriale, aprendo un mondo a possibili sviluppi futuri nel campo dell’elettronica e nella comunicazione nel primo caso, e soprattutto nel trasporto nella seconda.

La terza rivoluzione fu caratterizzata dall’utilizzo dell’energia atomica e solare, ma soprattutto dall’invenzione del calcolatore elettronico, che ha segnato la nascita di altre scienze, tra cui l’informatica, che permetteva l’elaborazione elettronica dei dati, e la loro trasmissione a distanza, grazie all’avvento di internet.

Page 33: UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI...UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI FACOLTÀ DI SCIENZE E TECNOLOGIE APPLICATE CORSO DI LAUREA IN INGEGNERIA INFORMATICA TECNOLOGIE

24

Figura 3 - Cronologia delle rivoluzioni industriali

Proprio da Internet è ripartita - o per meglio dire proseguita - la

corsa all’evoluzione tecnologica che ci ha portato di fatto in un’era che possiamo definire come quarta rivoluzione industriale.

Page 34: UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI...UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI FACOLTÀ DI SCIENZE E TECNOLOGIE APPLICATE CORSO DI LAUREA IN INGEGNERIA INFORMATICA TECNOLOGIE

25

La data esatta dell’inizio di questa fase non è ancora ben definita, probabilmente perché è tuttora in corso e solo a posteriori sarà possibile indicarne l’atto fondante.

Possiamo però prendere in considerazione l’anno 2011, quando per la prima volta è stata utilizzata l’espressione “Industria 4.0”.

L’espressione venne coniata alla Fiera di Hannover nel 2011 in Germania e fu ispirata ad un progetto del governo tedesco. Nello specifico la paternità del termine tedesco Industrie 4.0 viene attribuita a Henning Kagermann, Wolf-Dieter Lukas e Wolfgang Wahlster che lo impiegarono per la prima volta in una comunicazione, tenuta alla Fiera di Hannover del 2011, in cui preannunciarono lo Zukunftsprojekt Industrie 4.0.

In generale il termine Industry 4.0 indica una tendenza dell’automazione industriale che integra alcune nuove tecnologie produttive per migliorare le condizioni di lavoro e aumentare la produttività e la qualità produttiva degli impianti.

Concretizzato alla fine del 2013, il progetto per l'industria del futuro Industrie 4.0 prevedeva investimenti su infrastrutture, scuole, sistemi energetici, enti di ricerca e aziende per ammodernare il sistema produttivo tedesco e riportare la manifattura tedesca ai vertici mondiali rendendola competitiva a livello globale.

Per competere con l'evoluzione tecnologica che si sta delineando, il mondo industriale/manifatturiero dovrà riuscire ad evolversi tecnologicamente con una crescente integrazione di "sistemi cyber-fisici" (cyber-physical systems o CPS) nei processi industriali.

Con l’acronimo CPS si intende infatti l’inserimento - nei lavori svolti dagli esseri umani - di macchine intelligenti e connesse a Internet, creando un vero e proprio network di macchine capaci di produrre di più e con meno errori e al tempo stesso di modificare autonomamente gli schemi di produzione a seconda degli input esterni che ricevono. Il tutto mantenendo livelli elevati di efficienza.

Gli osservatori stanno cercando di cambiare come cambierà il lavoro, quali nuove professionalità saranno necessarie e quali invece presto potrebbero scomparire. Dalla ricerca “The Future of the Jobs” presentata

Page 35: UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI...UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI FACOLTÀ DI SCIENZE E TECNOLOGIE APPLICATE CORSO DI LAUREA IN INGEGNERIA INFORMATICA TECNOLOGIE

26

al World Economic Forum è emerso che, nei prossimi anni, fattori tecnologici e demografici influenzeranno profondamente l’evoluzione del lavoro. Alcuni (come la tecnologia del cloud e la flessibilizzazione del lavoro) stanno influenzando le dinamiche già adesso e lo faranno ancora di più nei prossimi 2-3 anni.

Sicuramente uno degli effetti sarà la creazione di nuovi posti di lavoro, ma possiamo dire con verosimile certezza che ne spariranno diversi, e molto probabilmente il saldo occupazionale netto sarà negativo.

Secondo la stessa ricerca compenseranno parzialmente queste perdite di posti di lavoro l’area finanziaria, il management, l’informatica e l’ingegneria.

Cambiano di conseguenza le competenze e abilità ricercate: nel 2020 il problem solving rimarrà la soft skill più ricercata, ma diventeranno più importanti il pensiero critico e la creatività. Proprio perché lo scenario è in rapida evoluzione, è necessario attrezzarsi per cogliere i benefici dello Smart Manufacturing, l’innovazione digitale nei processi dell’industria.

2.2 Tecnologie abilitanti 2.2.1 Ambiti applicativi

Da uno studio di Boston Consulting emerge che la quarta

rivoluzione industriale si centra sull’adozione di alcune tecnologie definite abilitanti; alcune di queste sono “vecchie” conoscenze, concetti già presenti ma che non hanno mai sfondato il muro della divisione tra ricerca applicata e sistemi di produzione veri e propri; oggi, invece, grazie all’interconnessione e alla collaborazione tra sistemi, il panorama del mercato globale sta cambiando portando alla personalizzazione di massa, ovvero la strategia di produzione di beni e servizi orientata a soddisfare i bisogni individuali dei clienti, preservando l'efficienza della produzione di

Page 36: UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI...UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI FACOLTÀ DI SCIENZE E TECNOLOGIE APPLICATE CORSO DI LAUREA IN INGEGNERIA INFORMATICA TECNOLOGIE

27

massa, in termini di bassi costi di produzione e quindi prezzi di vendita contenuti.

Una tecnologia abilitante è una tecnologia che consente all’uomo di fare cose che prima non era in grado di fare creando una nuova serie di opportunità.

Le tecnologie abilitanti sono sempre esistite, come ci dimostrano l’invenzione della ruota o del ferro, ma la novità di questi ultimi anni è che ci sono sempre più tecnologie abilitanti ed il loro rilascio è sempre più frequente.

Seguono le specifiche delle maggiori tecnologie che hanno una particolare rilevanza.

2.2.2 Additive manufacturing

Si tratta di una serie di processi di fabbricazione additiva che consentono di realizzare oggetti tridimensionali a partire da un modello digitale, depositando progressivamente materiale strato su strato. Si contrappone alle tradizionali tecniche di produzione sottrattiva e rappresenta una vera e propria integrazione tra mondo reale e mondo virtuale.

Un esempio di questo tipo di produzione è la stampante 3D. Attraverso un software dedicato, che gestisce la modellizzazione digitale di un oggetto, è possibile effettuare una riproduzione tridimensionale dell’oggetto, strato dopo strato.

Dal 1986 la stampa 3D si è evoluta e differenziata, con l'introduzione di nuove tecniche di stampa e di innumerevoli materiali con diverse caratteristiche meccaniche, stampabili sia da soli che in combinazione, permettendo la diffusione di questa tecnica di produzione in molti ambiti, che spaziano dall'industria all'ambito medico e domestico.

Allo stato attuale i prezzi risultano ancora poco accessibili per giustificarne l’acquisto da parte del pubblico domestico. Infatti il target principale è finalizzato alla produzione industriale.

Page 37: UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI...UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI FACOLTÀ DI SCIENZE E TECNOLOGIE APPLICATE CORSO DI LAUREA IN INGEGNERIA INFORMATICA TECNOLOGIE

28

Ci sono molte aziende del settore alimentare che stanno sperimentando e investendo sulla stampante 3D, per la preparazione di cibo “stampato”. Si pensi alla stampa di cioccolato, biscotti o pasta.

Anche la Barilla ha avviato la sperimentazione, portando a termine un concorso al quale hanno partecipato oltre 500 designer che hanno creato 216 modelli di pasta unici.

Si intende utilizzare le stampanti 3D anche per uso spaziale. Nel

2013 nasce il progetto AMAZE (Additive Manufacturing Aiming Towards Zero Waste and Efficient Production of High-Tech Metal Products che significa: Produzione efficiente di prodotti di Metallo ad alta tecnologia con Manifattura additiva attraverso "Spazzatura Zero"), un consorzio di 28 aziende per portare la stampa 3D nello spazio e poter stampare autonomamente pezzi di ricambio metallici, contenendo i costi e minimizzando gli sprechi. Attualmente ci sono ancora alcuni problemi tecnici affinché si possa arrivare alla produzione di metalli di qualità industriale.

È attualmente in fase di test, da parte dell'ESA (Agenzia Spaziale Europea), la costruzione di componenti satellitari ad uso spaziale mediante l'utilizzo della tecnologia della Stampa 3D. In particolare, si stanno effettuando dei controlli su antenne radio 3D ad uso satellitare.

Anche il settore dell’edilizia sta investendo in questa tecnologia. Sono degni di nota gli esperimenti dell'italiano Enrico Dini e della sua azienda D-Shape, il quale è riuscito a stampare la pietra. WASP, altra azienda italiana, è riuscita a stampare oggetti in argilla.

Anche al di fuori dell’Italia si stanno facendo progressi su questo campo. In Cina si è riusciti a costruire 10 case in calcestruzzo in 24 ore. In California si riesce a “stampare” una casa completa di 100m2.

Molti progressi si stanno facendo anche in campo medico. Si pensi

ad una stampante che, a valle di una scansione di un paziente tramite tecniche già esistenti di imaging 3D (come la TAC), con una stampante 3D fossimo in grado di modellare una protesi al PC e stamparla.

Page 38: UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI...UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI FACOLTÀ DI SCIENZE E TECNOLOGIE APPLICATE CORSO DI LAUREA IN INGEGNERIA INFORMATICA TECNOLOGIE

29

Ad Utrecht è stato effettuato il primo trapianto di cranio stampato in 3D ad un paziente. La calotta cranica è stata realizzata con una resina speciale tramite l'utilizzo di una stampante 3D.

Uno degli aspetti cruciali dell’adottare tale tecnologia in campo medico riguarda soprattutto il lato economico. La produzione tramite stampante 3D infatti risulterebbero molto meno costosa, rispetto ai metodi utilizzati oggi, in quanto si ridurrebbero le dispendiose opere di lavorazione meccanica finalizzata alla personalizzazione del prodotto.

2.2.3 Augmented reality

Insieme di fenomeni di arricchimento della percezione sensoriale umana spesso prodotti attraverso elettronica e tecnologie digitali. La persona coinvolta resta a contatto con la realtà fisica, che viene però integrata con informazioni e input aggiuntivi manipolati elettronicamente, che non sarebbero percepibili con i cinque sensi.

L’aggiunta di questi elementi alla realtà normalmente percepita, può essere effettuata attraverso dispositivi mobili (es. smartphone), dal cruscotto dell’automobile, da dispositivi di visione o di ascolto. Con l’aggiunta di elementi percettivi, potrebbe verificarsi anche una leggera diminuzione della percezione sensoriale originale, ma resteremmo comunque nell’ambito della realtà aumentata.

Differente invece è la definizione della realtà virtuale. In questo caso, infatti, le persone si trovano immerse in una situazione nella quale le percezioni naturali di molti dei cinque sensi non sembrano neppure essere più presenti e sono sostituite da altre.

Nella realtà aumentata (AR), invece, la persona continua a vivere la comune realtà fisica, ma usufruisce di informazioni aggiuntive o manipolate della realtà stessa.

Page 39: UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI...UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI FACOLTÀ DI SCIENZE E TECNOLOGIE APPLICATE CORSO DI LAUREA IN INGEGNERIA INFORMATICA TECNOLOGIE

30

2.2.4 Simulation

Consente di definire la geometria del prodotto e simularne il comportamento nei più svariati modi, senza bisogno di costruire e utilizzare prototipi fisici.

Simulare un sistema significa costruire un modello e usarlo per studiarne il comportamento e le reazioni alle cause esterne. Attraverso la realizzazione di copie digitali del prodotto un'ampia gamma di varianti possono essere confrontate, testate e valutate. Tutto in modo virtuale.

Un simulatore di volo, ad esempio, consente di prevedere il comportamento dell'aeromobile a fronte delle sue caratteristiche e dei comandi del pilota.

Nell'ambito delle simulazioni, acquisisce notevole importanza la simulazione del funzionamento dei processi produttivi e logistici. In questa fase viene studiata l’interrelazione tra i diversi processi del sistema. Inoltre viene prevista l’attuazione di possibili soluzioni al verificarsi di guasti che renderebbero indisponibili le varie componenti.

Gli elementi che costituiscono un generico sistema di simulazione sono i seguenti:

• Entità: gli elementi che sono oggetto di studio in una simulazione. Sono rappresentati tipicamente da oggetti che subiscono la trasformazione in un processo produttivo. Nel caso pratico di un sistema di produzione potrebbero essere le materie prime.

• Macchina: sono gli elementi fissi del sistema, ovvero i “nodi” i cui stati definiscono la situazione generale del sistema.

• Stati: sono delle variabili che descrivono lo stato del sistema e delle sue componenti

• Eventi: sono quelle occorrenze che modificano lo stato del sistema • Code: è l’insieme delle entità che sono in attesa, e che non possono

entrare nel “nodo” macchina perché quest’ultimo risulta occupato. • Orologio (o clock): rappresenta il tempo di simulazione

Page 40: UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI...UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI FACOLTÀ DI SCIENZE E TECNOLOGIE APPLICATE CORSO DI LAUREA IN INGEGNERIA INFORMATICA TECNOLOGIE

31

I simulatori possono essere orientati agli eventi, ai processi o alle attività.

2.4.5 Cloud computing

Insieme delle tecnologie che permettono di elaborare, archiviare e memorizzare dati grazie all’utilizzo di risorse hardware e software distribuite nella rete.

Attraverso il loro utilizzo si ottiene una riduzione di costi oltre che un miglioramento dei servizi associati al prodotto. Nel cloud sono contemplate anche le tecniche di gestione di grandissime quantità di dati attraverso sistemi aperti.

Quando si parla di cloud computing è necessario fare una distinzione tra il cloud privato e quello pubblico. In particolare con il termine di cloud privato si intende una infrastruttura informatica appartenente ad una specifica azienda e dedicata alle esigenze di quella sola organizzazione.

L'infrastruttura fisica, ossia l'insieme di tutto l'hardware, può essere ubicata direttamente nei locali dell'azienda, o data in gestione ad un terzo.

Con il termine cloud pubblico, invece, si intende l'erogazione di servizi che si basano su una infrastruttura informatica appartenete al fornitore del servizio. Quest'ultima tipologia di cloud computing prevede il trasferimento di tutti i dati aziendali dai propri server a quelli del provider.

Esiste una soluzione intermedia che prende il nome di cloud ibrido e prevede la concomitanza di servizi basati sulla propria infrastruttura aziendale con servizi forniti dal provider cloud.

Page 41: UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI...UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI FACOLTÀ DI SCIENZE E TECNOLOGIE APPLICATE CORSO DI LAUREA IN INGEGNERIA INFORMATICA TECNOLOGIE

32

Tre differenti infrastrutture per il cloud computing I servizi offerti dal cloud computing generalmente vengono

suddivisi in tre categorie principali: Infrastructure-as-a-Service (IaaS), Platform-as-a-Service (PaaS) e Software-as-a-Service (SaaS). IaaS è un tipo di cloud computing in cui un provider di terze parti ospita delle risorse di calcolo virtualizzate su Internet.

Oltre a fornire hardware, software, server, storage e così via, i provider IaaS ospitano anche le applicazioni degli utenti e aiutano quest'ultimi a gestire l'attività di manutenzione del sistema, tra cui operazioni di backup e pianificazione della resilienza.

Le risorse offerte sono altamente scalabili e possono essere regolate su richiesta. PaaS è il modello di cloud computing che offre agli utenti le applicazioni che stanno al di sopra di una infrastruttura. In particolare un provider PaaS fornisce gli strumenti dediti allo sviluppo di applicazioni.

I servizi PaaS in linea di massima sono ospitati su hardware e software appartenenti all'infrastruttura del provider, esonerando gli utenti finali dalle operazioni di manutenzione dei server.

Generalmente le aziende ricorrono ai PaaS non per sostituire l'intera infrastruttura aziendale, ma solo per usufruire del servizio che gli consente di sviluppare applicazioni senza dover acquistare e installare ulteriore hardware in locale. SaaS è un modello di cloud computing in cui i software sono ospitati da fornitori di terze parti e vengono resi disponibili attraverso Internet.

Si tratta di una tipologia di cloud che sta diventando sempre più diffusa, in quanto consente ai clienti di non preoccuparsi di eventuali aggiornamenti, compatibilità, accessibilità del software e così via.

Page 42: UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI...UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI FACOLTÀ DI SCIENZE E TECNOLOGIE APPLICATE CORSO DI LAUREA IN INGEGNERIA INFORMATICA TECNOLOGIE

33

I vantaggi del cloud computing Scalabilità globale: I vantaggi dei servizi di cloud computing includono la possibilità di usufruire di una scalabilità elastica. In materia di cloud questo significa fornire la giusta quantità di risorse IT, ad esempio una quantità maggiore o minore di potenza di calcolo, risorse di archiviazione e larghezza di banda, proprio quando è necessario e dalla posizione geografica appropriata. Costo: Il cloud computing elimina le spese di capitale associate all'acquisto di hardware e software e alla configurazione e alla gestione di data center locali, che richiedono rack di server, elettricità 24 ore su 24 per alimentazione e raffreddamento ed esperti IT per la gestione dell'infrastruttura. Inoltre molte aziende applicano la formula pay per use, con la quale le risorse informatiche sono valutate a livello granulare e gli utenti si trovano a dover pagare solo ed esclusivamente in funzione del proprio carico di lavoro Velocità: La maggior parte dei servizi di cloud computing viene fornita in modalità self-service e on demand, e questo rende possibile fornire anche di grandi quantità di risorse di calcolo. Il tempo necessario per rendere disponibili tali risorse agli sviluppatori è infatti notevolmente ridotto, da settimane a solo pochi minuti. Questo ha un effetto molto positivo sull'agilità dell'organizzazione poiché i tempi e i costi necessari per le attività di sperimentazione e sviluppo diminuiscono significativamente.

Affidabilità: Il cloud computing aumenta la semplicità e riduce i costi di backup dei dati, ripristino di emergenza e continuità aziendale, grazie alla possibilità di eseguire il mirroring dei dati in più siti ridondanti nella rete del provider di servizi cloud.

Page 43: UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI...UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI FACOLTÀ DI SCIENZE E TECNOLOGIE APPLICATE CORSO DI LAUREA IN INGEGNERIA INFORMATICA TECNOLOGIE

34

2.4.6 Big Data Analytics

È il processo di raccolta e analisi di grandi volumi di dati per estrarre informazioni. Una raccolta molto estesa in termini di volume, velocità e varietà, che comprende dati strutturati e non, è molto difficile da navigare e analizzare. L’estrazione di informazioni richiede metodi analitici e tecnologie sempre più sofisticate.

La sfida attuale consiste nel trasformare i big data in smart data, ovvero informazioni intelligenti, nuove e utili, che diano vantaggio competitivo e siano perfettamente fruibili.

Big data analytics è un processo di Business Intelligence adattato ai Big Data, dove è sempre più necessario l’utilizzo di strumenti automatici che possano aiutare i manager ed i responsabili dell'azienda a prendere le decisioni giuste per massimizzare i profitti ed evitare gli sprechi dovuti a scelte sbagliate.

Nell’ambito della Business Intelligence viene utilizzato un modello di statistica descrittivo, applicato a dati puliti, con alta densità di informazioni ma dataset limitati; lo scopo generare della BI è avere una reportistica chiara che permetta all’utente di effettuare misurazioni, rilevare tendenze e capire l’evoluzione delle cose e le modalità con cui si è verificata.

Nel mondo dei Big Data, invece, si utilizza la statistica inferenziale e concetti di identificazione di sistemi non lineari per dedurre leggi (regressioni, relazioni non lineari ed effetti causali) da grandi insiemi di dati e per rivelare rapporti e dipendenze ed effettuare previsioni di risultati e comportamenti. Il tipo di dati utilizzato e analizzato è di tipo raw (non pulito) e soprattutto eterogenei e i modelli predittivi sono complessi. I principali obiettivi della Big Data analytics sono:

• Ridurre i costi: sono introdotte nuove tecnologie per ridurre i costi di gestione e analisi di grandi volumi di dati.

Page 44: UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI...UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI FACOLTÀ DI SCIENZE E TECNOLOGIE APPLICATE CORSO DI LAUREA IN INGEGNERIA INFORMATICA TECNOLOGIE

35

• Velocità: le analisi condotte devono essere capaci di produrre un risultato in breve tempo, oggi si fa sempre più riferimento an analisi real-time.

• Precisione: potendo disporre di grosse quantità di dati possono essere condotte analisi più accurate.

Attraverso questi obiettivi è possibile anticipare il futuro con la conoscenza dei dati raccolti nel passato ed individuare nuove opportunità di guadagno.

Page 45: UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI...UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI FACOLTÀ DI SCIENZE E TECNOLOGIE APPLICATE CORSO DI LAUREA IN INGEGNERIA INFORMATICA TECNOLOGIE

36

Capitolo 3 Internet of Things

3.1 Introduzione e descrizione

L’evoluzione delle tecnologie di rete ha permesso di estendere

l’accesso ad Internet anche ad oggetti e a luoghi reali, che ora possono interagire con la rete e trasferire dati ed informazioni.

Internet of Things (IoT), o Internet delle cose, è un concetto che si riferisce alla capacità di collegarsi ad Internet da parte di qualsiasi tipo di apparato (oggetto o dispositivo) che troviamo nella vita quotidiana.

Gli oggetti sono in grado di interagire con il mondo circostante, in quanto sono dotati di “intelligenza”, ovvero possono reperire e trasferire informazioni tra rete internet e mondo reale.

Gli oggetti (o cose), che sono spesso denominati smart device (dispositivi intelligenti), sono dotati di elettronica, software, sensori e attuatori, e soprattutto di un’interfaccia di rete, che permette loro di collezionare e scambiare dati.

In generale l’Internet of Things permette ai dispositivi di essere monitorati e controllati in maniera remota attraverso apposite infrastrutture di rete, creando una diretta interazione tra il mondo reale e sistemi basati su computer.

In questo modo può essere data un’identità elettronica a tutto ciò che forma il mondo che ci circonda, attraverso, ad esempio, RFID

Page 46: UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI...UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI FACOLTÀ DI SCIENZE E TECNOLOGIE APPLICATE CORSO DI LAUREA IN INGEGNERIA INFORMATICA TECNOLOGIE

37

(Identificazione a radio frequenza) o altre tecnologie (come il più noto il QR code).

L’applicazione di questi concetti al mondo dell’industria fa in modo di migliorare l’efficienza e l’accuratezza dei processi, nonché si ottengono benefici economici, grazie anche al fatto che vengono ridotti i casi in cui è necessario l’intervento umano.

Osservando la storia a partire dalla seconda metà del ventesimo secolo, si può notare quanto sia insistente il crescere delle cose che sono connesse ad Internet.

Figura 4 - Crescita dei dispositivi connessi ad Internet

Se consideriamo gli ultimi 15 anni, nel 2003 la maggior parte delle

connessioni erano caratterizzate da computer connessi in maniera cablata, e il numero di dispositivi in grado di navigare era di circa 500 milioni.

Nel 2009, con la diffusione dei tablet e degli smartphone, il numero di dispositivi connessi è salito fino a 2.5 miliardi, e si stima che ce ne saranno almeno 100 miliardi nel 2050.

Ma non sarà necessario spostarsi così in là nel tempo per vedere numeri così elevati. Infatti nel 2020 si stima ci saranno circa 30 miliardi di dispositivi connessi ad Internet.

Questi numeri indicano che siamo esattamente nel periodo di maggiore crescita e stiamo vivendo l’esplosione del fenomeno.

Page 47: UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI...UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI FACOLTÀ DI SCIENZE E TECNOLOGIE APPLICATE CORSO DI LAUREA IN INGEGNERIA INFORMATICA TECNOLOGIE

38

L’Internet of Things sta di fatto rivoluzionando il mercato e si stanno creando numerose opportunità di crescita e sviluppo. Il 75% delle aziende sta esplorando il mondo IoT per utilizzarne i concetti nei propri processi.

Inoltre i maggiori gruppi di osservatori hanno evidenziato che le aziende restie all’utilizzo di IoT, o che comunque si adatteranno troppo lentamente a IoT, saranno svantaggiate nella competizione con altre aziende che invece ne sposeranno i concetti.

3.2 Aree applicative L’evoluzione tecnologica degli ultimi anni ha permesso a ciascun

dispositivo di essere connesso ad internet. Allo stesso tempo, la velocità e l’affidabilità della connessione Internet raggiunta in questi anni, permette un accesso capillare anche a livello domestico.

Il fatto di avere dei dispositivi a basso costo, con capacità di connessione, limitate risorse della CPU e della memoria e soprattutto a basso consumo, sono un indicatore del fatto che IoT trova e troverà sempre di più possibilità di applicazione in ogni settore.

Questi sistemi sono in grado di raccogliere informazioni in ambienti che vanno dagli ecosistemi naturali, agli edifici, alle fabbriche, trovando applicazione anche in ambiti di rilevamento ambientale e urbanistico.

D’altro canto i sistemi di IoT sono anche responsabili di eseguire azioni, non solo di rilevare valori.

Sistemi di acquisto “smart”, ad esempio, potrebbero monitorare le abitudini specifiche dei clienti attraverso il tracciamento dei loro telefoni cellulari. A questi utenti potrebbe poi essere fornita una lista di offerte relative ai prodotti preferiti.

Page 48: UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI...UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI FACOLTÀ DI SCIENZE E TECNOLOGIE APPLICATE CORSO DI LAUREA IN INGEGNERIA INFORMATICA TECNOLOGIE

39

Altri tipi di esempio possono far riferimento all’azionamento di attuatori in base a sensori che riguardano calore, acqua, elettricità o in generale la gestione dell’energia.

Ulteriori applicazioni possono concentrarsi sull’automazione domestica, anche orientata alla sicurezza. In campo medico si potrebbe disporre di sensori biologici che, attraverso analisi basate su cloud, permetterebbero agli utenti di studiare il DNA o altre molecole.

Tuttavia l’applicazione dell’IoT non è soltanto limitata a queste aree, ma può essere estesa in altri campi specifici.

Si può prevedere una classificazione di prodotti IoT in cinque categorie: smart wearable (oggetti indossabili), smart home (casa intelligente), smart city (città intelligente), smart environment (ambiente intelligente) e smart enterprise (impresa intelligente).

Andremo ad analizzare i principali domini applicativi e gli ambiti operativi interessati dallo sviluppo dell’IoT.

3.2.1 Domotica L’ambito con il maggior numero di applicazioni di soluzioni IoT

è sicuramente la domotica. L’ambiente domestico è un terreno fertile soprattutto per implementazioni di tipo amatoriale e comunque è lì dove iniziano le prime sperimentazioni di collegamento di semplici dispositivi che vengono comandati da remoto.

Qualsiasi oggetto che troviamo in casa e che usiamo comunemente, come una lampada da tavolo, il termostato che comanda i termosifoni, la lavastoviglie o il forno, è un possibile candidato ad essere utilizzato in ambito IoT.

Collegare un termostato ad Internet significa non solo poter monitorare la temperatura da remoto, ma ci permette di accendere i termosifoni qualche minuto prima di uscire dall’ufficio, in modo di trovare casa calda al nostro arrivo a casa.

Page 49: UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI...UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI FACOLTÀ DI SCIENZE E TECNOLOGIE APPLICATE CORSO DI LAUREA IN INGEGNERIA INFORMATICA TECNOLOGIE

40

Possiamo inoltre automatizzare l’accensione dei termosifoni sviluppando una semplice applicazione, attraverso la quale diamo delle regole di accensione/spegnimento in base alla temperatura di una stanza.

In presenza di pannelli fotovoltaici, ad esempio, possiamo decidere di accendere un elettrodomestico con alto assorbimento (forno, lavastoviglie) soltanto durante una sufficiente produzione di elettricità.

Ovviamente quado si parla di casa, si può considerare anche l’ambito della sicurezza, sviluppando un sistema di rilevazione di movimento tramite telecamere che, caricando informazioni in cloud, ci permette di eseguire controlli da remoto e avvertirci in caso di spiacevoli intrusioni.

3.2.2 Medicina La crescita di utilizzo di sensori biometrici ha permesso il

monitoraggio della salute di un paziente da remoto da parte del medico. Il dottore che somministra una cura, ad esempio per stabilizzare

la pressione di un paziente, può tenere sotto controllo i parametri vitali del paziente attraverso misurazioni cadenzate, eseguite da dispositivi di tipo wearable, che invia i dati del paziente in cloud.

Questo tipo di approccio permette al medico, oltre di osservare tali parametri, di fare una diagnosi in tempo reali da remoto.

Dispositivi di questo tipo possono essere utilizzati per molte patologie che richiedono un controllo continuo, come ad esempio il diabete o l’ipertensione.

La rete di sensori, attuatori e altri dispositivi applicati alla medicina prende il nome di Internet of Things for Medical Devices (IoT–MD).

I vantaggi dell’applicazione dell’IoT in campo medico sono principalmente:

• Miglioramento del decorso clinico del paziente

Page 50: UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI...UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI FACOLTÀ DI SCIENZE E TECNOLOGIE APPLICATE CORSO DI LAUREA IN INGEGNERIA INFORMATICA TECNOLOGIE

41

• Possibilità di seguire una cura somministrata da remoto, laddove il paziente è impossibilitato a muoversi

• La diagnosi viene effettuata in real-time • Migliora la qualità della vita sia del medico che del paziente

3.2.3 Industria automobilistica

Uno dei settori in cui si punta molto all’utilizzo dell’IoT è l’industria automobilistica. Sono infatti numerosi i campi di applicazione in questo settore, sia dal punto di vista della sicurezza che quello del comfort del guidatore e dei passeggeri.

L’automobile, inizialmente creata e pensata come mezzo di trasporto familiare, sta subendo una vera e propria rivoluzione in termini tecnologici.

Si stima che entro il 2025 ogni autovettura sarà connessa ad Internet e si avrà la possibilità di accedere ai parametri del veicolo da remoto, ad esempio, tramite il proprio smartphone o il proprio PC.

Si potranno analizzare i dati di diagnostica prodotti dalla centralina, sarà possibile essere avvisati per tempo quando ci sarà bisogno della prossima revisione, oppure il prossimo tagliando.

Potranno essere comunicati attivamente i malfunzionamenti alla casa madre per proporre all’utente le possibili soluzioni, o il centro di assistenza più vicino.

Considerando il lato della sicurezza, si potrà monitorare in

qualsiasi momento la posizione della propria auto, oppure salvare su cloud lo stream della telecamera quando si parcheggia il veicolo.

Immaginando anche di utilizzare servizi online di IoT (come ad esempio IBM-Watson IoT), i veicoli connessi saranno in grado di analizzare informazioni in tempo reale per fornire agli utenti una migliore esperienza di guida.

Page 51: UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI...UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI FACOLTÀ DI SCIENZE E TECNOLOGIE APPLICATE CORSO DI LAUREA IN INGEGNERIA INFORMATICA TECNOLOGIE

42

Inoltre il servizio potrà analizzare lo stile di guida del guidatore, modificando l’assetto dell’auto per un maggior controllo e sicurezza, nonché un risparmio di carburante.

Molto interessante sarà anche la possibilità di eseguire delle applicazioni nel sistema di intrattenimento del veicolo, mettendo a disposizione al guidatore e ai passeggeri una vera e propria smart car.

3.2.4 Produzione industriale

Come anticipato le più grandi aziende stanno facendo la corsa all’applicazione di tecnologie Internet of Things. Si stima infatti che le fabbriche e gli impianti che sfruttano la connessione ad Internet sono molto più efficienti e produttivi rispetto alla concorrenza che invece non è ancora connessa, o sta procedendo a rilento nell’applicazione di IoT.

Il fatto di fornire ai clienti degli strumenti per comunicare il proprio feedback e le proprie preferenze risulta una scelta vincente. I clienti (customers) possono ad esempio utilizzare il sito web, lasciare recensioni sui prodotti e sul servizio di impacchettamento e spedizione.

In caso sorgessero problemi su un prodotto, si può agire immediatamente sulla linea di produzione, apportando le dovute correzioni, anticipando il fatto che si diffondano le vendite di un eventuale prodotto fallato, e si crei dunque malcontento tra tutti gli altri clienti.

Oppure, considerando la connessione dei singoli macchinari nella catena di produzione ad Internet, è possibile fare analisi real-time del funzionamento di ciascun apparato produttivo.

Controllando i parametri e i valori delle macchine costantemente, si possono creare sistemi di allarmistica per ciascun impianto, in modo che, se un valore scende sotto la soglia ottimale, viene notificato (su PC o su smartphone) la necessità di intervento al responsabile dell’impianto.

In questo modo si riuscirebbe ad intervenire sui guasti meccanici ancor prima che questi avvengano, mettendo a repentaglio l’intera produzione.

Page 52: UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI...UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI FACOLTÀ DI SCIENZE E TECNOLOGIE APPLICATE CORSO DI LAUREA IN INGEGNERIA INFORMATICA TECNOLOGIE

43

3.2.5 Avionica

Con il termine avionica si indicano tutti gli equipaggiamenti elettronici installati a bordo degli aeromobili e preposti al pilotaggio.

L'avionica include i sistemi di navigazione e comunicazione, autopiloti e sistemi di condotta di volo.

Anche in questo campo Internet of Things aiuta a collezionare una grande quantità di dati al fine di estrapolare informazioni che saranno poi utili alla determinazione dello stato e delle performance dei componenti elettronici dell’aereo.

Un aeromobile, come noto, dispone di tantissimi sensori che permettono al pilota di monitorare i parametri necessari al corretto andamento dell’intero volo, e di intervenire laddove viene segnalato un guasto o un malfunzionamento di uno dei componenti.

Con l’introduzione dell’IoT tutti questi parametri possono essere comunicati a terra per un’analisi più approfondita. In questo modo si sarebbe in grado di prevedere la necessità di interventi, da parte dello staff di terra, alle componenti che hanno maggiore bisogno di un’accurata manutenzione.

3.2.6 Agricoltura L'agricoltura moderna si basa sempre più sull'immissione di

energia esterna al sistema sotto forma di fitofarmaci, meccanizzazione, fertilizzanti, ingegneria genetica, tecnologia; si parla quindi di agricoltura intensiva, in contrapposizione all'agricoltura estensiva.

La continua crescita dei fabbisogni alimentari mondiali, la necessità di mantenere bassi i prezzi degli alimenti, la riduzione della superficie coltivabile, l'esigenza di coltivare anche in zone nettamente sfavorevoli (talvolta anche per inquinamento) e di poter ottenere prodotti di qualità nutrizionale elevata, spinge i coltivatori a trovare nuove soluzioni

Page 53: UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI...UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI FACOLTÀ DI SCIENZE E TECNOLOGIE APPLICATE CORSO DI LAUREA IN INGEGNERIA INFORMATICA TECNOLOGIE

44

che siano compatibili con la buona riuscita del prodotto finale (in termini sia economici che di qualità), ma anche con il basso inquinamento.

D'altra parte l'agricoltura intensiva presenta evidenti problemi di sostenibilità e per questo di anno in anno cresce l'esigenza di tecnologia di settore sempre più attenta alle problematiche ambientali.

Da una parte si utilizzano coltivazioni biologiche al fine di contrastare l’utilizzo estremo di antiparassitari e altri prodotti di sintesi.

Questo approccio promuove la biodiversità delle specie coltivate e riduce l’inquinamento. Tuttavia il costo di produzione, in virtù dell’effort necessario per mantenere un regime biologico, i costi sono molto più alti rispetto a prodotti derivanti da un’agricoltura moderna.

Al fine di ottimizzare i processi produttivi, anche in questo settore

l’utilizzo della tecnologia viene incontro all’abbassamento dei costi di produzione. In particolare con l’uso di IoT si potrebbe:

• ottimizzare l’utilizzo dell’acqua, garantendo un notevole risparmio grazie al monitoraggio costante dell’umidità del terreno e alla gestione dell’irrigazione anche considerando le previsioni meteorologiche, consultando servizi open-data di tipo ambientale/meteorologico

• somministrare alle piante la giusta dose di concimi e composti chimici, sfruttando ad un’adeguata analisi real-time della composizione del terreno

L’utilizzo di IoT in questo settore è oggetto di questa tesi e verrà

approfondito nei prossimi capitoli.

Page 54: UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI...UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI FACOLTÀ DI SCIENZE E TECNOLOGIE APPLICATE CORSO DI LAUREA IN INGEGNERIA INFORMATICA TECNOLOGIE

45

3.3 Tecnologie abilitanti di IoT Come detto precedentemente, una tecnologia abilitante è una

tecnologia che consente all’uomo di fare cose che in precedenza non era in grado di fare. Alcuni concetti erano già presenti ma si è potuto procedere alla loro attuazione per mancanza della tecnologia necessaria, a supporto del concetto stesso.

Una tecnologia abilitante per l’IoT è una tecnologia senza la quale l’IoT non godrebbe della crescita che sia sta verificando in questi anni. Principalmente si possono identificare alcune caratteristiche dei dispositivi che hanno reso possibile l’espansione dell’IoT:

• basso costo, dell’ordine di pochi euro, con cui si può acquistare un dispositivo o un sensore

• ridotta intelligenza a bordo, con capacità computazionale e di storage centralizzate

• velocità di installazione e facilità di connessione alla rete • durata delle batterie, da qualche giorno ad oltre dieci anni • interfacce di gestione semplici, per la necessità di gestire in

contemporanea un elevato numero di oggetti connessi.

3.3.1 Progresso tecnologico nella connettività e nelle reti Per connettere ad Internet tutti i miliardi di dispositivi che si

prevede faranno parte del mondo IoT, sono stati necessari più indirizzi Internet di quelli disponibili tramite protocollo IPv4. Dunque è stato creato il protocollo IPv6 che con i suoi 28-bit ne prevede 3,4 ∙ 10'(.

Una volta connessi tutti questi dispositivi necessitano di reti per comunicare con altri dispositivi e sistemi informatici.

Ci sono molti diversi tipi di reti disponibili e ognuno ha diversi punti di forza per diverse applicazioni. Queste includono tecnologie di rete senza fili come Wi-Fi, Z-Wave, ZigBee, IrDA, Bluetooth, Low Energy Bluetooth, RFI, Near Field Communication (NFC) e altri.

Page 55: UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI...UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI FACOLTÀ DI SCIENZE E TECNOLOGIE APPLICATE CORSO DI LAUREA IN INGEGNERIA INFORMATICA TECNOLOGIE

46

Figura 5 - Rapporto tra velocità e portata delle tecnologie senza fili

Mentre tutte queste diverse norme e tecnologie di comunicazione

senza fili provocano un approccio frammentato, ognuna di queste reti ha punti di forza per alcune applicazioni. Ad esempio, un smartwatch o un fitness tracker necessita solo di una rete a basso consumo energetico e a corto raggio (es. il Bluetooth) per connettersi ad uno smartphone.

Tuttavia un’automobile ha bisogno di una rete a velocità più elevata, come ad esempio 4G LTE. Per una casa, invece, potrebbe essere necessaria una combinazione tra Wi-Fi e Zigbee.

Il 4G LTE è una rete a banda larga senza fili, in continua espansione, capace di una velocità di trasferimento dati molto elevata. Ne sono ormai dotati tutti gli smartphone di ultima generazione.

Il Wi-Fi, con tutte le sue implementazioni a livello mondiale, ha raggiunto un totale di 4,2 milioni di hotspot nel 2013 ed è in continua crescita. Si stima raggiungerà i 10 milioni nel 20181.

ZigBee rappresenta uno dei principali standard di comunicazione. Attraverso l'uso di piccole antenne digitali a bassa potenza e basso consumo, basate sullo standard IEEE 802.15.4 per wireless personal area networks (WPAN), lo standard specifica una serie di profili applicativi che

1 Fonte ABI Research

Page 56: UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI...UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI FACOLTÀ DI SCIENZE E TECNOLOGIE APPLICATE CORSO DI LAUREA IN INGEGNERIA INFORMATICA TECNOLOGIE

47

permettono di realizzare una comunicazione specifica per i diversi profili tipici nel campo delle Wireless Sensor Networks, che variano dal mondo dell'energia (Smart Energy) al mondo della domotica.

Anche il BLE (Bluetooth Low Energy) sta vedendo un forte incremento di dispositivi connessi utilizzando questa tecnologia.

3.3.2 Progresso nei sensori e nei microprocessori La legge di Moore è ancora una legge valida2. Poiché l’elettronica

dei chip continua a diminuire in termini di dimensioni e costi, e a migliorare le prestazioni, migliora anche l’economia delle applicazioni basate sui sensori. Gli analisti prevedono che il mercato dei chip MEMS (micro-electromechanical system) crescerà fino a raggiungere i 22mila miliardi di dollari. I seguenti progressi consentono lo sviluppo di nuovi tipi di applicazione di Internet of Things.

Sensori più piccoli e più resistenti

I nuovi sensori sono così piccoli che possono essere indossati o addirittura ingeriti; altri sono così robusti che possono monitorare le prestazioni di macchine rotanti ad alta velocità come motori a reazione e turbine a generatore. Chip multiprocessore

I produttori di chip sono in grado di produrre processori multi-core. Intel Xeon Phi, ad esempio, è un processore con più di 70 core. Questi tipi di processore ci danno più potenza di calcolo e consentono molte più funzionalità in fattori di forma più piccoli.

2 « La complessità di un microcircuito, misurata ad esempio tramite il numero di

transistori per chip, raddoppia ogni 18 mesi »

Page 57: UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI...UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI FACOLTÀ DI SCIENZE E TECNOLOGIE APPLICATE CORSO DI LAUREA IN INGEGNERIA INFORMATICA TECNOLOGIE

48

Aumento dell'efficienza dei processori IBM ha sviluppato (metà 2014) una nuova tecnologia denominata

chip SyNAPSE. Con i suoi 5,4 miliardi di transistor, questo chip è attualmente uno dei chip CMOS più grandi mai costruiti. La tecnologica è di tipo event-driven (funziona senza clock) e Il consumo energetico è di 70 milliwatt, ovvero 10000 ordini di potenza in meno di un microprocessore moderno.

Costi inferiori Le economie di scala consentono un rapido calo del prezzo di tutti i tipi di componenti elettronici, riducendo quindi il costo per incorporare sensori e microprocessori in oggetti fisici.

3.4 Tipologie di dispositivi in ambito IOT Come già anticipato, le caratteristiche di un device il cui utilizzo

è orientato all’Internet of Things sono il basso costo, basso consumo, facilita di connessione e di configurazione.

Vediamo alcuni esempi di dispositivi e sensori che sono più utilizzati nei progetti IoT.

Esistono oggetti nel mondo IoT che sono già pronti e assemblati e immediatamente disponibili per l’uso. Tipicamente oggetti di questo tipo fanno riferimento a sistemi di domotica. Si può parlare ad esempio di:

• lampade led: per le quali è possibile regolare intensità e colore della luce emessa

• telecamere ip: che si possono programmare per eseguire uno stream in cloud in presenza di movimento, ed eventualmente inviare una notifica al proprio smartphone

Page 58: UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI...UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI FACOLTÀ DI SCIENZE E TECNOLOGIE APPLICATE CORSO DI LAUREA IN INGEGNERIA INFORMATICA TECNOLOGIE

49

• aspirapolvere automatico: si può impostare un programma di pulizia giornaliero oppure controllabile tramite smartphone

• Interruttori Wi-Fi: è possibile programmare da remoto l’accensione di un vecchio elettrodomestico (non intelligente) collegato alla presa. Es. macchinetta caffè o forno elettrico

• Dash button: premendo un tasto, posizionato in qualsiasi angolo della casa, si può far partire un ordine presso siti di acquisto online per l’acquisto di un prodotto.

Sono presenti sul mercato anche oggetti di tipo wearable (indossabili), tipicamente utilizzati a scopi di fitness, come ad esempio le fit-band (contatore di passi, analisi del sonno, cardiofrequenzimetro) e smart-watch, che includono tutte le caratteristiche dei fit-band ma con ulteriori funzionalità avanzate.

Oltre a questo elenco (assolutamente non esaustivo), è possibile anche creare e progettare dei sistemi ad-hoc partendo da componenti generici più semplici, come schede elettroniche e sensori, e tramite opportuni collegamenti e software sviluppato appositamente, è possibile trattare casi d’uso personalizzati.

3.4.1 Schede elettroniche Uno dei dispositivi elettronici più utilizzati nel mondo IoT è

sicuramente Arduino. Si tratta di una scheda elettronica programmabile ideata e sviluppata in Italia, a Ivrea (Torino).

Con Arduino si possono realizzare in maniera relativamente rapida e semplice piccoli dispositivi come controllori di luci, di velocità per motori, sensori di luce, autolavaggi, temperatura e umidità e molti altri progetti che utilizzano sensori, attuatori e comunicazione con altri dispositivi.

Tali collegamenti avvengono tramite pin posti sulla scheda, che sono in grado di operare sia in digitale che in analogico.

Page 59: UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI...UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI FACOLTÀ DI SCIENZE E TECNOLOGIE APPLICATE CORSO DI LAUREA IN INGEGNERIA INFORMATICA TECNOLOGIE

50

Altro dispositivo molto comune tra gli sviluppatori di sistemi IoT

è il Raspberry Pi. Anche esso è una scheda elettronica, ma nello specifico si può definire meglio con single-board computer, ovvero un calcolatore implementato su una sola scheda elettronica.

Sviluppato nel Regno Unito, dal 2012 sono stati prodotti 8 modelli; il punto forte di questa scheda è che al solo costo di circa 35 dollari si ha a disposizioni un pc con processore ARM, sul quale è possibile installare un sistema operativo, tipicamente Linux, distribuzione Ubuntu.

Come Arduino, il Raspberry Pi dispone di una serie di pin tramite i quali è possibile collegare sensori e attuatori. Esistono anche altre schede elettroniche simili alle due appena citate.

In ogni caso nei prossimi capitoli saranno trattati sia Arduino che Raspberry in maggior dettaglio, visto che sono oggetti utilizzati per lo sviluppo del progetto.

3.4.2 RFID I sistemi RFID, che sono composti da uno o più reader (o

interrogatori), e da vari tag RFID, anche dette in italiano Chiavi Elettriche di Prossimità.

Tali tag sono caratterizzati da un identificatore unico e sono applicati ad oggetti (si potrebbero utilizzare anche per il riconoscimento di persone o animali).

I reader innescano i tag emanando un determinato segnale, che “interroga” gli eventuali tag sulla loro effettiva presenza nell’area e richiede in risposta il loro identificativo.

In questo modo, gli RFID-system possono quindi essere utilizzati per monitorare in tempo reale gli oggetti senza la necessità di avere una linea di vista tra i componenti.

In genere, i tag RFID sono passivi, ovvero non hanno un’alimentazione dedicata, ma sfruttano l’energia necessaria alla risposta

Page 60: UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI...UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI FACOLTÀ DI SCIENZE E TECNOLOGIE APPLICATE CORSO DI LAUREA IN INGEGNERIA INFORMATICA TECNOLOGIE

51

della query del reader nelle vicinanze dallo stesso segnale d’interrogazione ricevuto.

Infatti, tale segnale genera corrente all’interno dell’antenna tramite induzione e questa energia è sfruttata per alimentare il microchip, che trasmetterà l’ID del tag in risposta.

Tuttavia, sono presenti sul mercato anche tag capaci di sfruttare un’alimentazione elettrica on-board dedicata.

In questo caso si parla di tag semi-passivi, quando cioè la batteria coadiuva l’invio del segnale di risposta contemporaneamente con il segnale di query, o di attivi, quando la batteria è l’unica fonte di energia per la risposta.

3.4.3 Sensori e attuatori Sono molto comuni nel settore IoT svariati sensori e attuatori a

basso consumo che operano a 3.3V oppure 5V. Tali sensori sono generici e si possono acquistare sui più comuni negozi online ad un costo molto ridotto, dovuto anche alla loro semplicità.

Esistono infatti dei kit con i sensori/attuatori più comuni e vengono venduti con una guida allegata che permette agli utenti di iniziare i primi passi per il loro utilizzo.

I sensori più comuni sono quelli che effettuano misurazioni sui seguenti campi:

• temperatura • umidità • distanza • luce • suono • corrente e tensione

Gli attuatori e i dispositivi visuali che si possono trovare sono i

seguenti:

Page 61: UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI...UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI FACOLTÀ DI SCIENZE E TECNOLOGIE APPLICATE CORSO DI LAUREA IN INGEGNERIA INFORMATICA TECNOLOGIE

52

• relè • potenziometri • led • display di piccole dimensioni • motori passo-passo (stepper motor)

Inoltre si possono considerare anche alcuni tipi di ricevitore, che danno

un input al sistema, come il modulo RFID, ricevitore IR (infrarosso) e tastierini numerici.

3.5 Sicurezza

Oltre ai numerosi vantaggi sociali, ambientali ed economici, la rapida espansione dell’IoT rappresenta un terreno fertile crescente per i malintenzionati che intendono sfruttare le vulnerabilità dei sistemi.

Le vulnerabilità quotidiane in Internet sono state sfruttate con intenti maligni - tuttavia la maggior parte di essi può essere prevenuta.

Il problema principale è che poiché l’idea di connettere ogni cosa

ad Internet, e quindi creare sistemi Internet of Things, è relativamente nuova, e quindi si può dire che ci troviamo ancora in una fase iniziale esplorativa, la sicurezza non è sempre stata considerata come nel design di prodotti.

Infatti i prodotti IoT più comuni sono venduti con sistemi operativi embedded vecchi e che non dispongono delle ultime patch di sicurezza; questo fa sì che molte falle di sicurezza sono ancora presenti nel software, e quindi sono vulnerabili agli attacchi.

Inoltre, gli acquirenti spesso non riescono a modificare le password predefinite sui dispositivi intelligenti - o se le modificano, non selezionano password sufficientemente sicure.

Page 62: UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI...UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI FACOLTÀ DI SCIENZE E TECNOLOGIE APPLICATE CORSO DI LAUREA IN INGEGNERIA INFORMATICA TECNOLOGIE

53

Per migliorare la sicurezza, un dispositivo IoT che deve essere direttamente accessibile tramite Internet, dovrebbe essere segmentato nella propria rete e si dovrebbe limitare l'accesso alla rete. Tale segmento di rete dovrebbe quindi essere monitorato per identificare il traffico anomalo potenziale e dovrebbero essere intraprese le azioni opportune se si verificano problemi.

Gli esperti di sicurezza hanno avvertito del rischio potenziale di

un numero elevato di dispositivi non protetti che si connettono a Internet. Nel dicembre del 2013, un ricercatore presso Proofpoint, un'impresa di sicurezza aziendale, ha scoperto la prima botnet di IoT - ovvero un gruppo di computer violati, dispositivi smart connessi a Internet utilizzati per scopi illeciti). Secondo Proofpoint, più del 25 per cento della botnet era costituito da dispositivi diversi dai computer, tra cui smart TV, monitor per bambini e altri elettrodomestici.

Non si può parlare di rischi in maniera generica perché questi

dipendono dal contesto nel quale viene utilizzato un sistema IoT. I rischi derivanti dalla violazione di un sistema sono relativi anche

al grado di confidenzialità dei dati che circolano nel sistema. Purtroppo l’IoT è costituito anche da device molto delicati, come

ad esempio monitor cardiochirurgici, dispositivi industriali, automobili, sensori meccanici e altri dispositivi dotati di indirizzi IP che hanno la capacità di trasmettere i dati su una rete.

Un hacker potrebbe, ad esempio, accedere al sistema di controllo di un’automobile e spegnerla mentre è in movimento, causando effetti catastrofici.

Per prevenire il più possibile eventi e problemi di questo tipo, molte aziende dedite alla sicurezza hanno avviato nuovi servizi di protezione orientati ai sistemi IoT, mettendo in campo la loro esperienza e adattando le pratiche di sicurezza consolidate in ambito computing.

Page 63: UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI...UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI FACOLTÀ DI SCIENZE E TECNOLOGIE APPLICATE CORSO DI LAUREA IN INGEGNERIA INFORMATICA TECNOLOGIE

54

La IoTSF (Internet of Things Security Foundation) è un'organizzazione senza fini di lucro istituita per fare da guida in materia di sicurezza, attraverso la condivisione delle conoscenze, delle migliori pratiche e dei consigli.

L’organizzazione ha messo insieme un set di linee guida e checklist per lo sviluppo di prodotti sicuri, domande che analisti e sviluppatori dovrebbero quantomeno porsi prima di iniziare a creare un sistema IoT. I dati devono essere privati?

Molti dispositivi IoT richiederanno la raccolta, l'analisi e la trasmissione di dati potenzialmente sensibili. È essenziale che questi dati siano adeguatamente protetti in ogni momento e che l'utente sia a conoscenza dei dati personali trattati. I dati devono essere affidabili?

Potrebbe essere necessario proteggere i dati in transito da manomissioni e modifiche. Si può essere in presenza di un hacker malintenzionato o semplicemente di dispositivi non configurati correttamente

È importante l'arrivo sicuro e / o tempestivo dei dati?

Bisogna considerare il modo in cui il servizio potrebbe essere influenzato se i dati dovessero rimanere bloccati o ci dovesse essere un ritardo di trasmissione. Un modo per ovviare a ciò potrebbe essere quello di inserire un timestamp nelle varie comunicazioni. È necessario limitare l'accesso o il controllo del dispositivo? La prevenzione di accessi non autorizzati è fondamentale per proteggere i dispositivi. Se un hacker ottiene il controllo del dispositivo, potrebbe essere in grado di accedere a dati sensibili o causare problemi altrove nella rete.

Page 64: UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI...UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI FACOLTÀ DI SCIENZE E TECNOLOGIE APPLICATE CORSO DI LAUREA IN INGEGNERIA INFORMATICA TECNOLOGIE

55

È necessario aggiornare il software sul dispositivo? Se un dispositivo esegue un software obsoleto, potrebbe contenere

delle vulnerabilità. Tali vulnerabilità possono consentire lo sfruttamento del dispositivo e dei suoi dati da parte di hackers. Occorre quindi assicurarsi di produrre e/o applicare sempre versioni aggiornate dei software. La proprietà del dispositivo deve essere gestita o trasferita in modo sicuro?

La proprietà di un dispositivo IoT potrebbe cambiare ad un certo punto della sua vita. Occorre quindi gestire il passaggio di proprietà in maniera idonea, consentendo sia agli utenti vecchi che nuovi di verificare che il trasferimento della proprietà sia riuscito, e che tutti i dati sensibili contenuti nel dispositivo siano trattati opportunamente durante il passaggio. I dati devono essere sottoposti a revisione?

Ai servizi potrebbe essere richiesto di soddisfare un audit di utenti, un audit aziendale o un requisito di revisione regolamentare. Gli sviluppatori dovrebbero considerare un accesso gestito ai dati del dispositivo. Se correttamente protetta, questa funzionalità creerà la fiducia degli utenti finali e consentirà la conformità alle norme di rete.

Page 65: UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI...UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI FACOLTÀ DI SCIENZE E TECNOLOGIE APPLICATE CORSO DI LAUREA IN INGEGNERIA INFORMATICA TECNOLOGIE

56

Capitolo 4 Caso pratico – agricoltura di precisione

4.1 Descrizione

L’agricoltura di precisione è un concetto di gestione agricola

basato sull’osservazione e la misurazione del campo di coltura, e sui successivi interventi.

L’obiettivo della ricerca agricola è quello di definire un sistema di supporto decisionale dell’intero processo agricolo, con lo scopo di ottimizzare i rendimenti e l’utilizzo delle risorse.

4.1.1 Agricoltura automatizzata La Banca Mondiale prevede che dovremo produrre il 50% di cibo

in più entro il 2050 se la popolazione globale continuerà a salire al ritmo attuale (si parla di una crescita di circa 75 milioni di persone ogni anno).

Allo stesso tempo, secondo studi dell’ONU, gli effetti dei cambiamenti climatici e del surriscaldamento terrestre potrebbero ridurre i rendimenti delle colture del 25%.

Non c’è quindi da stupirsi se il settore della robotica in ambito agricolo stia crescendo così velocemente.

Page 66: UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI...UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI FACOLTÀ DI SCIENZE E TECNOLOGIE APPLICATE CORSO DI LAUREA IN INGEGNERIA INFORMATICA TECNOLOGIE

57

Droni, trattori autonomi, sensori di terra e colture idroponiche indoor aiuteranno gli agricoltori a produrre di più, in modo più sostenibile e con costi inferiori.

Un report stilato dalla società americana WinterGreen Research prevede che il mercato della robotica agricola crescerà da 817 milioni di dollari nel 2013 a 16,3 miliardi di dollari entro il 2020.

Mentre Goldman Sachs, una delle più grandi banche d’investimenti e d’affari al mondo, è molto più ottimista, prevedendo un mercato di oltre 240 miliardi di dollari entro i prossimi 5 anni (2022).

4.1.2 Rilevazione parametri di produzione Esistono più sistemi che possono rilevare i diversi parametri delle

produzioni in campo. Ad esempio quelli installati sulle mietitrebbiatrici sono in grado di

monitorare continuamente la quantità di produzione. È importante consultare tali dati per capire in quali zone si è prodotto di più e in quali meno e perché

Altri sistemi riguardano la guida automatica delle macchine agricole, ed operano mediante un ricevitore GPS collegato alle macchine (ad esempio trattori o mietitrebbiatrici) permettendo loro di mantenere le passate parallele portando come benefici un minore stress per l'operatore, risparmio di tempo e sprechi.

4.1.3 Rilevazioni del terreno Oltre alla gestione dei macchinari ad uso agricolo, l’agricoltura di

precisione si occupa anche, e soprattutto, del componente più importante: il terreno.

Page 67: UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI...UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI FACOLTÀ DI SCIENZE E TECNOLOGIE APPLICATE CORSO DI LAUREA IN INGEGNERIA INFORMATICA TECNOLOGIE

58

Il tema che è oggetto principale della presente tesi riguarda proprio questo argomento.

L’esigenza è quella di sfruttare l’Internet of Things per monitorare i vari parametri che caratterizzano il terreno che ospiterà le piantagioni, e quindi di controllare che tutti i parametri misurati rientrino nei limiti ottimali. Questo garantisce, oltre all’ottimizzazione della raccolta, anche un esiguo risparmio delle risorse necessarie alla buona resa agricola

L’idea è quella di installare appositi sensori per la misurazione

dell’umidità del suolo in vari punti del terreno agricolo. Tali sensori saranno tutti collegati ad internet e le rilevazioni effettuate saranno inviate ad una piattaforma online, che avrà lo scopo di collezionare questi dati.

Tale piattaforma ci darà la possibilità di visualizzare in maniera chiara i dati raccolti, ad esempio generando grafici intuitivi e facilmente comprensibili.

Saremo dunque in grado di analizzare questi dati e capire dove ci sarà bisogno di intervenire (manualmente o automaticamente) per correggerli, ad esempio attraverso degli attuatori che regoleranno il flusso di irrigazione.

Inoltre la piattaforma interrogherà dei servizi di open-data meteorologici, in modo tale da poter ragionare sull’effettiva necessità di intervenire in base alle attuali e future condizioni meteo.

Se, ad esempio è prevista pioggia nelle prossime ore, non sarà

necessario attivare il flusso di irrigazione. Questo porterà ad un risparmio di risorse idriche.

Ciascun sensore di umidità potrà essere affiancato da un ricevitore

GPS, in modo da poter identificare l’effettiva posizione dei sensori e incrociare tali dati con quelli meteorologici.

Page 68: UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI...UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI FACOLTÀ DI SCIENZE E TECNOLOGIE APPLICATE CORSO DI LAUREA IN INGEGNERIA INFORMATICA TECNOLOGIE

59

4.2 Studi effettuati a livello europeo Quello dell’agricoltura di precisione, o precision farming, è un tema

molto sentito in ambito europeo, soprattutto a livello socio-politico. Sono infatti stati portati all’attenzione del Parlamento Europeo alcuni studi di pianificazione preventiva per quanto riguarda l’agricoltura e lo sviluppo rurale.

Gli studi più recenti in quest’ambito riguardano la conservazione del suolo agricolo, nonché il rapporto tra produttività e sostenibilità dell’agricoltura.

Remco Schrijver (VetEffecT) è stato l’autore di uno studio, presentato al Parlamento Europeo nel dicembre 2016, sui possibili scenari a livello europeo circa l’utilizzo dell’agricoltura di precisione.

Questo studio, dal titolo “Precision agriculture and the future of farming in Europe” 3, ha voluto informare i membri del parlamento sull’attuale stato dell’arte, sulle evoluzioni future e sulle opportunità sociali e politiche che i responsabili politici europei dovrebbero prendere in considerazione.

Gli aspetti di maggiore interesse su cui si basa, e sui quali è possibile intervenire in maniera anticipata e preventiva sono i seguenti:

• l’agricoltura di precisione può contribuire in maniera attiva alla sicurezza alimentare

• l’agricoltura di precisione è un valido supporto all’agricoltura sostenibile

• l’agricoltura di precisione scatenerà una serie di cambiamenti sociali • l’agricoltura di precisione richiede l’apprendimento di nuove

conoscenze specifiche La maggiore conseguenza dell’applicazione dell’agricoltura di precisione, riguarda l’utilizzo ottimizzato delle risorse.

3 Pubblicazione Studio - Pianificazione preventiva Agricoltura e sviluppo rurale (Scientific Foresight Study) - DOI: 10.2861/020809

Page 69: UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI...UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI FACOLTÀ DI SCIENZE E TECNOLOGIE APPLICATE CORSO DI LAUREA IN INGEGNERIA INFORMATICA TECNOLOGIE

60

Piuttosto che applicare la stessa quantità di fertilizzanti sull’intero settore agricolo, o somministrare ad una grande popolazione di animali lo stesso quantitativo di mangime, l’agricoltura di precisione misura le variazioni delle condizioni del campo in maniera capillare, e adegua di conseguenza la strategia di irrigazione, fertilizzazione o di raccolta. Allo stesso modo, valuterà le esigenze e le condizioni degli animali ottimizzando l’alimentazione sulla base del singolo animale. In questo modo l’agricoltura di precisione promette di aumentare la quantità e la qualità della produzione agricola usando risorse (acqua, energia, fertilizzanti, pesticidi, ecc…). L’obiettivo è quello di risparmiare i costi, ridurre l'impatto ambientale e produrre cibo migliore e in maggior quantità. I metodi di agricoltura di precisione si basano principalmente su una combinazione di tecnologie dei sensori, della navigazione satellitare e del posizionamento, e di Internet of Things. È chiaro che questo approccio può essere d’aiuto e di supporto agli agricoltori nello svolgimento del proprio lavoro. Come visto, dunque, l’argomento agricoltura di precisione ha assunto un’importanza abbastanza rilevante a livello globale e la mia tesi si può contestualizzare in studi come quello appena descritto.

Sicuramente i temi trattati nel caso pratico di irrigazione automatizzata che ho sviluppato, e i rispettivi componenti utilizzati nella fase di progetto, possono essere un buon esempio di utilizzo di agricoltura di precisione, in quanto riguardano tutte le specificità descritte, come Internet of Things, l’ausilio dei vari sensori e le tecnologie di posizionamento GPS.

Page 70: UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI...UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI FACOLTÀ DI SCIENZE E TECNOLOGIE APPLICATE CORSO DI LAUREA IN INGEGNERIA INFORMATICA TECNOLOGIE

61

Capitolo 5 Descrizione del progetto

5.1 Descrizione Il progetto della presente tesi riguarda il concetto di agricoltura di

precisione e tutti gli strumenti necessari a raggiungere l’obbiettivo di ottimizzare i rendimenti agricoli a fronte di un risparmio di risorse idriche.

L’idea è quella di unire una tra le più importanti attività umane che riguarda la coltivazione di specie vegetali, ovvero l’agricoltura, e le potenzialità dell’Internet of Things con i vari dispositivi e sensori a basso costo; oltre al supporto di strumenti open-data meteorologici che sono di supporto al processo decisionale relativo agli attuatori.

5.2 Funzionalità Il progetto di tesi crea un sistema automatico di irrigazione di un

terreno, con il quale l’utente sarà in grado di interagire e visualizzare in tempo reale le condizioni del suolo attraverso una piattaforma web.

Page 71: UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI...UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI FACOLTÀ DI SCIENZE E TECNOLOGIE APPLICATE CORSO DI LAUREA IN INGEGNERIA INFORMATICA TECNOLOGIE

62

Il sistema permetterà di:

• Visualizzare lo stato di tutti i dispositivi che fanno parte del progetto

• Rilevare la posizione GPS di ciascun dispositivo • Rilevare le misurazioni di umidità del suolo per ciascun dispositivo • Interrogare un servizio di open-data per previsioni meteorologiche • Consultare le previsioni nelle zone dove sono locati i dispositivi • Automatizzare l’accensione/spegnimento del sistema di irrigazione

in ciascuna zona • Consultare lo stato e la storia del sistema di irrigazione • Accendere/spegnere manualmente l’irrigazione • Inviare un avviso all’utente qualora i valori del suolo non rientrino

nei limiti dopo un certo periodo

5.3 Requisiti per utilizzo IoT

Come detto in precedenza, per poter applicare i concetti di IoT è

necessario che nello scenario applicativo siano verificate diverse condizioni.

La più importante, per ovvie ragioni, è quella di fare in modo che tutti i dispositivi utilizzati, che hanno bisogno di effettuare comunicazioni in rete, abbiano la possibilità di accedere ad Internet, direttamente o indirettamente.

Per far si che ciò avvenga è necessario innanzitutto sincerarsi che la potenza di trasmissione delle schede Wi-Fi presenti sui dispositivi sia sufficientemente potente da raggiungere l’access-point più vicino.

In alternativa si possono collegare tali dispositivi via filo. Per l’accesso diretto ad internet è necessario che il dispositivo disponga di una scheda ethernet e il cavo, in questo caso, dovrà essere di tipo ethernet con connettore RJ-45.

Page 72: UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI...UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI FACOLTÀ DI SCIENZE E TECNOLOGIE APPLICATE CORSO DI LAUREA IN INGEGNERIA INFORMATICA TECNOLOGIE

63

In presenza invece di dispositivi più semplici (come semplici sensori), oppure di schede come Arduino, che non dispongono nativamente di schede di rete, sarà possibile collegare tali dispositivi ad un device che abbia funzioni di gateway, ovvero che si fa carico di inoltrare al server centrale tutte le informazioni ricevute dai device ad esso connessi.

Altra caratteristica necessaria per l’utilizzo di IoT è l’alimentazione. Ogni dispositivo deve essere alimentato per poter funzionare, a meno che non si tratti di un dispositivo “passivo”, come RFID. Quindi occorre sincerarsi di portare la corrente elettrica fino ai dispositivi.

In presenza di dispositivi GPS è necessario inoltre fare in modo che tali device non siano coperti e che abbiano una buona visibilità dei satelliti per poter acquisire informazioni circa la propria posizione e le proprie coordinate.

5.4 Descrizione dei componenti hardware utilizzati I principali componenti utilizzati per il progetto di tesi sono:

• Raspberry Pi • Arduino • sensore di umidità del terreno • localizzatore GPS • relè per attivazione sistema irrigazione

Effettuiamo ora una descrizione per ciascuno di essi,

evidenziandone le più importanti caratteristiche. Saranno inoltre elencate alcune porzioni di codice per il loro funzionamento, configurazione e per permettere l’interazione con gli altri componenti del sistema.

Page 73: UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI...UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI FACOLTÀ DI SCIENZE E TECNOLOGIE APPLICATE CORSO DI LAUREA IN INGEGNERIA INFORMATICA TECNOLOGIE

64

5.4.1 Raspberry Pi Raspberry Pi è un Single-Board-Computer (calcolatore

implementato su una scheda elettronica) sviluppato nel Regno Unito dalla Raspberry Pi Foundation.

Finora ne sono state implementate otto versioni: • Raspberry Pi A • Raspberry Pi A+ • Raspberry Pi B • Raspberry Pi B+ • Raspberry Pi 2 • Raspberry Pi 3 • Raspberry Pi Zero • Raspberry Pi Zero W

Figura 6 - Raspberry Pi versione 3

Page 74: UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI...UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI FACOLTÀ DI SCIENZE E TECNOLOGIE APPLICATE CORSO DI LAUREA IN INGEGNERIA INFORMATICA TECNOLOGIE

65

Il Raspberry Pi 3 integra 40 pin di GPIO, programmabili in input

e in output, 4 porte USB, per la comunicazione seriale, una porta Ethernet, per il collegamento alla rete, una porta HDMI, un processore ARM Cortex-A53 1.2Ghz e 1GB di memoria RAM. Inoltre questa versione la novità è che dispone di una scheda Wi-Fi integrata 802.11n e Bluetooth versione 4.1.

La caratteristica fondamentale di Raspberry Pi è la possibilità di avviare un sistema operativo tramite micro-SD. Questo permette la prototipazione di sistemi embedded avanzati, nei quali le soluzioni basate su microcontrollori non risultato sufficienti.

Raspberry Pi usa principalmente Linux Kernel come OS, in particolare la distribuzione più diffusa è Raspbian (base Debian).

La programmazione I/O su Raspberry Pi può essere effettuata tramite linguaggi di programmazione come C, Java, Python, Bash.

Sono state sviluppate, inoltre, delle librerie (soprattutto in Python) che facilitano il controllo dei pin su Raspberry Pi.

Ad esempio, Wiring-Pi è una libreria, sviluppata in C, che effettua un porting di Wiring utilizzato in Arduino. Rende, quindi, intuitivo lo sviluppo su Raspberry Pi avendo le conoscenze di Wiring in Arduino.

#include <wiringPi.h> int main (void) { wiringPiSetup(); pinMode (0, OUTPUT); for (;;) { digitalWrite (0 , HIGH); delay (500); digitalWrite (0, LOW); delay (500); } return 0; }

Esempio di codice in Wiring

Page 75: UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI...UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI FACOLTÀ DI SCIENZE E TECNOLOGIE APPLICATE CORSO DI LAUREA IN INGEGNERIA INFORMATICA TECNOLOGIE

66

Un’altra libreria disponibile è Pi4J (http://pi4j.com/), che fornisce una serie di API in Java, orientate agli oggetti, che astraggono le funzionalità I/O di Raspberry Pi, consentendone un accesso completo agli sviluppatori. public static void main(String [] args) throws InterruptedException { final GpioController gpio = GpioFactory.getInstance (); final GpioPinDigitalOutput pin = gpio.provisionDigitalOutputPin(RaspiPin.GPIO 01, PinState.HIGH); pin.setShutdownOptions ( true , PinPullResistance.OFF); Thread.sleep(10000); gpio.shutdown(); }

Esempio di codice in Pi4J

Il limite più grande del Raspberry riscontrato finora è che tutti i PIN GPIO hanno un’alimentazione a 3.3V, a differenza di Arduino, che fornisce un potenziale di 5V.

Questo rappresenta un limite perché molti dei sensori/attuatori che si trovano a poco prezzo su internet, necessitano di una tensione di 5V. Ad esempio ad un relè non saranno sufficienti 3.3V per azionare l’elettromagnete, e quindi aprire o chiudere un circuito.

Altro limite è il fatto che i PIN GPIO del Raspberry Pi riescono a leggere soltanto valori digitali, mentre Arduino ha a disposizione anche letture di tipo analogico.

Per aggirare questo limite è necessario disporre di un convertitore ADC (Analog to Digital Converter, convertitore analogico-digitale).

5.4.2 Arduino Arduino è una piattaforma hardware composta da una serie di

schede elettroniche dotate di un microcontrollore. Integra alcuni pin

Page 76: UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI...UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI FACOLTÀ DI SCIENZE E TECNOLOGIE APPLICATE CORSO DI LAUREA IN INGEGNERIA INFORMATICA TECNOLOGIE

67

connessi alle porte di I/O, un regolatore di tensione e una interfaccia USB per la comunicazione seriale.

Progettato in Italia nel 2005, con lo scopo di creare un dispositivo per il controllo che fosse più economico rispetto ad altri prodotti disponibili sul mercato, nel 2008 contava già più di 50000 dispositivi venduti.

A oggi sono stati realizzati 16 versioni dell’hardware di Arduino, ognuna pensata per funzionare in un determinato contesto come Internet of things e i wearable.

Il framework di riferimento per la programmazione in Arduino si chiama Wiring, basato sul linguaggio C/C++ con l’aggiunta di alcune librerie per accedere e interagire con l’hardware. È nativamente supportato da Arduino IDE.

Un programma in Wiring contiene due procedure principali:

• setup (): funzione che viene eseguita una sola volta, all’avvio del pro- gramma, che può essere utilizzata per definire delle impostazioni del programma

• loop (): funzione che viene richiamata continuamente, fino allo spegnimento del dispositivo

void setup () { pinMode(8, OUTPUT); } void loop () { digitalWrite (8 , HIGH); delay (500); digitalWrite (8 , LOW); delay (500); }

Esempio molto semplice di codice in Wiring

Page 77: UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI...UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI FACOLTÀ DI SCIENZE E TECNOLOGIE APPLICATE CORSO DI LAUREA IN INGEGNERIA INFORMATICA TECNOLOGIE

68

5.4.3 Sensore di umidità del terreno

Figura 7 - Sensore di umidità del terreno YL-69

Questo sensore di umidità del suolo può rilevare la quantità di umidità presente nel terreno circostante al punto in cui è posizionato. Anche se la sua tecnologia non è molto elevata, essendo un circuito molto semplice, risulta molto preciso nelle sue rilevazioni.

Molto spesso viene venduto insieme ad un trimmer con il quale è possibile regolarne la sensibilità.

Figura 8 - Trimmer YL-39 collegato al sensore di umidità

Questo sensore utilizza le due sonde poste ai lati per far circolare

la corrente attraverso il suolo per poi calcolarne la resistenza. In tal modo sarà possibile ottenere il livello di umidità del terreno.

Page 78: UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI...UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI FACOLTÀ DI SCIENZE E TECNOLOGIE APPLICATE CORSO DI LAUREA IN INGEGNERIA INFORMATICA TECNOLOGIE

69

In sostanza più acqua c’è nel terreno e, ovviamente, più conduce elettricità e quindi vi sarà meno resistenza, mentre in caso contrario il terreno asciutto conduce poca elettricità e quindi vi sarà più resistenza.

Il sensore ha 4 Pin di uscita:

• A0 = uscita analogica con valori nell’intervallo [0-1023]; • D0 = Uscita digitale con valori 0 o 1; • GND; • VCC = Tensione ingresso.

Occorrono:

• 5 V per usare l’uscita analogica • 3.3 V per usare l’uscita digitale.

Vi sono anche due led:

• Led per ON/OFF = si accende quando il sensore è ON • Led D0 = si accende quando è rilevata umidità.

5.4.4 Localizzatore gps

Il modulo in questione è un ricevitore GNSS. tale acronimo

si riferisce ad un sistema satellitare globale di navigazione (Global Navigation Satellite System) con riferimento ai sistemi di geo-radiolocalizzazione e navigazione terrestre, marittima o aerea, che utilizzano una rete di satelliti artificiali in orbita.

Page 79: UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI...UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI FACOLTÀ DI SCIENZE E TECNOLOGIE APPLICATE CORSO DI LAUREA IN INGEGNERIA INFORMATICA TECNOLOGIE

70

Figura 9 - Sensore GPS

Per collegarlo ad Arduino i collegamenti da effettuare non sono molti. Infatti non sarà necessario collegare tutti e 6 i fili ma solo:

• VCC o a 3.3V o a 5V • GND ad uno dei pin ground • TX al pin 3 • RX al pin 4

5.4.5 Relè per attivazione sistema irrigazione Un relè è un componente in grado di aprire o chiudere un circuito

in funzione della presenza o meno di tensione sull’ingresso; in pratica è un interruttore azionato da un elettromagnete.

Page 80: UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI...UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI FACOLTÀ DI SCIENZE E TECNOLOGIE APPLICATE CORSO DI LAUREA IN INGEGNERIA INFORMATICA TECNOLOGIE

71

Figura 10 - Descrizione dei componenti interni di un relè

Un relè mette a disposizione i propri contatti di uscita che

prendono il nome di Comune, Normalmente Aperto, Normalmente Chiuso.

In condizioni di riposo, ovvero quando nella sua bobina non circola corrente, il Comune risulta collegato (corto circuito) con il Normalmente Chiuso.

Quando la bobina viene alimentata, l’ancora dell’elettromagnete a cui è solidale il Comune si sposta fisicamente e va a collegarsi con il Normalmente Aperto.

Il seguente è lo schema di collegamento con Arduino.

Page 81: UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI...UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI FACOLTÀ DI SCIENZE E TECNOLOGIE APPLICATE CORSO DI LAUREA IN INGEGNERIA INFORMATICA TECNOLOGIE

72

Figura 11 - Schema di collegamento di un relè con Arduino

5.5 Descrizione dei componenti software

Per componenti software si intende tutti gli strumenti, le

applicazioni e i protocolli utilizzati per il collegamento logico di tutta l’infrastruttura necessaria alla realizzazione del progetto.

La parte software include sia i protocolli utilizzati per permettere la comunicazione dei device con la piattaforma centrale, sia i linguaggi di programmazione utilizzati per lo sviluppo degli applicativi.

Inoltre nel prossimo capitolo seguirà una descrizione più dettagliata della piattaforma, e i tool ad essa collegati, che rappresenta il cuore del progetto, perché è lì che confluiranno tutti i dati rilevati del terreno, dello stato e la posizione GPS dei device ecc.

Page 82: UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI...UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI FACOLTÀ DI SCIENZE E TECNOLOGIE APPLICATE CORSO DI LAUREA IN INGEGNERIA INFORMATICA TECNOLOGIE

73

5.5.1 Protocolli per la comunicazione Nel mondo Internet of Things tutti i device devono disporre

dell’accesso alla rete e quindi accesso ad internet. Essendo molto spesso oggetti di piccole dimensioni, e soprattutto dislocate sul territorio, non è sempre detto che siano in grado di collegarsi in Wi-Fi. Uno dei motivi di ciò è che dovendo effettuare rilevazioni in diverse posizioni, difficilmente tutti i device si trovano vicino ad un access-point.

Per accedere ad internet quindi potrebbero dover disporre di una scheda SIM connessa con modalità GPRS oppure UMTS.

A fronte di una situazione in cui è richiesto un basso consumo di dati, e di una connessione con banda limitata, nonché di un risparmio economico, si rende necessario l’utilizzo di protocolli di comunicazione che abbiano la caratteristica di essere leggeri e snelli, performanti e con basso overhead.

MQTT MQTT (Message Queue Telemetry Transport) è un protocollo di

messaggistica leggero di tipo publish-subscribe posizionato in cima a TCP/IP.

È stato progettato per essere aperto, semplice, leggero e facile da implementare. Queste caratteristiche lo rendono ideale per l'utilizzo in ambienti vincolati (ma non solo), come ad esempio:

• Dove la rete è costosa, ha una bassa larghezza di banda o è inaffidabile

• Quando viene eseguito su un dispositivo incorporato con processore limitato o risorse di memoria

Le caratteristiche del protocollo includono:

• Il pattern publish-subscribe per fornire la distribuzione dei messaggi e il disaccoppiamento delle applicazioni

Page 83: UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI...UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI FACOLTÀ DI SCIENZE E TECNOLOGIE APPLICATE CORSO DI LAUREA IN INGEGNERIA INFORMATICA TECNOLOGIE

74

• Un trasporto di messaggi che è indipendente dal contenuto del payload

• L'utilizzo di TCP / IP per fornire la connettività di rete di base • Un basso overhead per il trasporto dei messaggi (header di soli 2

byte) e gli scambi di protocolli sono ridotti al minimo per ridurre il traffico di rete

• Un meccanismo per informare le parti interessate di una disconnessione anomala da parte di un client. Il pattern publish-subscribe richiede un message broker, ovvero è il

responsabile della distribuzione dei messaggi ai client destinatari, o subscribers.

MQTT definisce i metodi che indicano l’azione desiderata che

deve essere eseguita sulla risorsa specifica. Quello che la risorsa rappresenta dipende dall’implementazione del server, e i dati possono essere fissi (predefiniti) oppure generati dinamicamente (ad esempio basati su rilevazioni di sensori).

La destinazione di questi dati potrebbe essere un file, al fine di generare grafici e statistiche, oppure un programma eseguibile che risiede sul server che prende delle decisioni in base al contenuto dei dati ricevuti. Connect Inizializza la connessione e resta in attesa fin quando questa venga stabilita con il server Disconnect Aspetta che il client MQTT finisca le operazioni attive e che la sessione TCP/IP sia terminata

Subscribe Questo metodo consente al client MQTT di registrarsi al server verso uno o più topic di suo interesse.

Page 84: UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI...UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI FACOLTÀ DI SCIENZE E TECNOLOGIE APPLICATE CORSO DI LAUREA IN INGEGNERIA INFORMATICA TECNOLOGIE

75

Unsubscribe Con questo metodo il client MQTT effettua la cancellazione alla sottoscrizione verso un topic.

Publish Un messaggio di PUBLISH viene inviato dal client a server per la distribuzione verso ai subscriber interessati.

Il seguente è un esempio di comunicazione tra broker e subscriber.

Figura 12 - Esempio di comunicazione tra broker e subscriber

REST REpresentational State Transfer (REST) è un tipo di architettura

software per i sistemi di ipertesto distribuiti come il World Wide Web ed è utilizzato per fornire interoperabilità tra diversi sistemi su internet.

Page 85: UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI...UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI FACOLTÀ DI SCIENZE E TECNOLOGIE APPLICATE CORSO DI LAUREA IN INGEGNERIA INFORMATICA TECNOLOGIE

76

L’utilizzo più diffuso dell’architettura REST è su HTTP con una struttura degli URL ben definita e l'utilizzo di metodi HTTP specifici per il recupero di informazioni (GET) e altri per la modifica (POST, PUT, PATCH, DELETE).

Per l’utilizzo dell’architettura REST in questo progetto sono sufficienti i metodi GET, per il recupero di informazioni, e POST, per la creazione di nuovi elementi nella collezione, generalmente corredato da un payload in formato JSON che specifica l’informazione.

Questo tipo di chiamata è solitamente utilizzato quando nel dispositivo che ha necessità di inviare un’informazione, non è prevista un’implementazione di MQTT attraverso uno dei linguaggi più diffusi, come il Python. Allora si utilizza una semplice chiamata HTTP per l’invio di messaggi verso un gateway o un server centrale. 5.5.2 Linguaggi di programmazione

Python

Python è un linguaggio di programmazione dinamico orientato

agli oggetti utilizzabile per molti tipi di sviluppo software. Offre una vasta gamma di librerie e può essere imparato in poco tempo.

Come abbiamo detto il Raspberry Pi è un dispositivo sul quale può essere installato un sistema operativo Linux su base Debian. Questa distribuzione garantisce il pieno supporto di Python come linguaggio di programmazione.

Il suo punto forte, ed è uno dei motivi per cui il Python è il linguaggio più utilizzato per ambienti IoT basati su Raspberry Pi, è soprattutto il fatto di avere a disposizione le librerie necessarie a comandare le uscite e a leggere gli ingressi. La libreria è RPi.GPIO.

In generale per programmi molto semplici applicati al Raspberry Pi in ambito IoT, sono sufficienti pochissime righe di codice Python.

Page 86: UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI...UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI FACOLTÀ DI SCIENZE E TECNOLOGIE APPLICATE CORSO DI LAUREA IN INGEGNERIA INFORMATICA TECNOLOGIE

77

La sintassi è veramente molto chiara ed intuitiva e di facile utilizzo. Vediamo un breve esempio: import RPi.GPIO as gpio gpio.setmode(gpio.BCM) gpio.setup(3, gpio.OUT, initial=1) gpio.output(3, 0) gpio.output(3, 1) gpio.cleanup() exit()

Con la prima riga viene importata la libreria RPi.GPIO.

Esistono due modalità con cui interroghiamo i pin fisici presenti sul Raspberry Pi, e Il comando gpio.setMode() serve per impostare una delle due modalità, che sono:

• BCM: numerazione “Broadcom SOC channel“, ovvero il numero che segue GPIO nel seguente schema

• BOARD: numerazione fisica dei Pin, come riportata sulla board

Figura 13 - Schema dei pin di un Raspberry Pi

Con il comando gpio.setup() decidiamo se il pin è IN (lettura) o OUT (scrittura).

I comandi gpio.input() e gpio.output() servono rispettivamente per leggere il valore di un pin, o cambiare il valore.

Page 87: UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI...UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI FACOLTÀ DI SCIENZE E TECNOLOGIE APPLICATE CORSO DI LAUREA IN INGEGNERIA INFORMATICA TECNOLOGIE

78

Wiring

Wiring è una piattaforma di sviluppo open source composta da:

• un linguaggio di programmazione, semplice e intuitivo, derivato dal C e C++

• un ambiente di sviluppo integrato (Integrated Development Environment o IDE)

• un circuito stampato basato su un microcontrollore (Arduino) I programmi Wiring sono chiamati sketch e sono scritti in C/C++

e necessitano soltanto di due funzioni per poter essere eseguiti: • setup(): funzione che viene eseguita una sola volta, all'avvio del

programma, che può essere utilizzata per definire delle impostazioni del programma che non verranno più cambiate nel corso della sua esecuzione

• loop(): funzione che viene richiamata continuamente, fino allo spegnimento del dispositivo Uno dei più semplici programmi eseguibili, che viene utilizzato

come esempio base durante la fase di apprendimento del linguaggio, è quello che fa lampeggiare il LED integrato sulla scheda fisica. Quello che segue è un esempio di codice che esegue tale compito:

// WLED è una costante predefinita che indica il LED integrato const byte ledPin = WLED; void setup () { // viene definito il pin a cui è collegato il LED come "output" pinMode(ledPin, OUTPUT); } void loop () { // accende il LED digitalWrite(ledPin, HIGH); // attende 1 secondo (1000 millisecondi) delay (1000); // spegne il LED digitalWrite(ledPin, LOW); // attende 1 secondo delay (1000);

Page 88: UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI...UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI FACOLTÀ DI SCIENZE E TECNOLOGIE APPLICATE CORSO DI LAUREA IN INGEGNERIA INFORMATICA TECNOLOGIE

79

Una volta terminata la scrittura del codice, esiste un’apposita funzione dell’IDE per “programmare” il microprocessore, ovvero trasferire il programma compilato all’interno del microprocessore ed inizializzare l’avvio del device.

5.5.3 Piattaforme software utilizzate

IBM Bluemix Bluemix è un prodotto della IBM che si basa su CloudFoundry

(http://cloudfoundry.org). È la soluzione PaaS (Platform as a Service) che consente di

facilitare lo sviluppo, il test e il rilascio di applicazioni, sia web che mobile, sfruttando l'astrazione del layer infrastrutturale.

Le PaaS, come IBM Bluemix, consentono la realizzazione dell’intero ciclo di vita di un’applicazione senza i costi e la complessità associati all'acquisto, la configurazione, l'ottimizzazione e la gestione dell'hardware e del software di base facilitando quindi il rapido sviluppo di applicazioni con costi contenuti.

In questo modo, dunque, gli sviluppatori si possono concentrare sul lavoro di codifica senza doversi occupare del livello sottostante costituito dalle risorse infrastrutturali.

Sono supportati i più comuni linguaggi di programmazione (Java, Node.js, Go, PHP, Python, Ruby on Rails) ed offre dei servizi pronti all'uso per la gestione dei database, della reportistica, dell'Internet of things, delle applicazioni mobile.

Se si utilizzano linguaggi di programmazione supportati, Bluemix fornisce anche i relativi buildpack, ovvero un insieme di scripts necessari a preparare il codice per l'esecuzione sul cloud. Se si è interessati a scrivere

Page 89: UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI...UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI FACOLTÀ DI SCIENZE E TECNOLOGIE APPLICATE CORSO DI LAUREA IN INGEGNERIA INFORMATICA TECNOLOGIE

80

codice in altri linguaggi di programmazione, Bluemix ne consente l'utilizzo mediante la creazione e l'uso del proprio buildpack.

Il servizio IBM è stato reso pubblico come Beta nel febbraio 2014,

e disponibile al pubblico a giugno dello stesso anno. Per accedere all'interfaccia web è necessario richiedere un

identificativo IBM che permette di implementare e far girare le applicazioni nelle diverse regioni.

Accedendo all’interfaccia è possibile sfogliare il catalogo dei servizi. Si tratta di un nutrito numero di servizi enterprise-ready disponibili all’interno della piattaforma. I servizi offerti sono di varia natura e in prima istanza sono divisi in due macro-categorie: Infrastructure e Platform.

La prima categoria Infrastructure comprende:

• Risorse di calcolo virtuali (computing) • Archiviazione (storage) • Rete (network) • Sicurezza (security) • Containers • Soluzioni VMWare (gestione macchine virtuali)

Nella categoria Platform troviamo tutti i servizi software che sono di supporto all’applicazione che si intende sviluppare e rilasciare:

• Application Services e ambienti runtime • Supporto ai principali linguaggi di programmazione (buildpack) • Database Management Systems • Strumenti per Machine Learning ed analisi dei dati • Servizi inerenti al mondo finanziario • Internet of Things • Servizi di rete e di security • Servizi Watson a supporto dell’Intelligenza Artificiale

o Text to speech

Page 90: UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI...UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI FACOLTÀ DI SCIENZE E TECNOLOGIE APPLICATE CORSO DI LAUREA IN INGEGNERIA INFORMATICA TECNOLOGIE

81

o Natural language understanding o Visual recognition o ….

Inoltre nella macro-categoria Platform è possibile trovare una

sottocategoria “Boilerplates”, ovvero dei template applicativi pronti per l’uso, che raggruppano un certo numero di servizi ed eventuali componenti infrastrutturali, e che consentono di avere una base di partenza per lo sviluppo di applicazioni.

Ad esempio, creare uno spazio su Bluemix con il solo servizio Internet of Things può essere utile ma limitativo. Dovremmo avere quantomeno a disposizione un database nel quale memorizzare tutte le informazioni storiche.

Scegliendo invece un’applicazione tra i boilerplate, ad esempio “Starter Internet of Things Platform”, crea automaticamente uno spazio con:

• Servizio Internet of Things • NoSQL database (Cloudant) • SDK for Node.js • NodeRed

Questi 4 componenti sono sufficienti per gestire i propri

dispositivi IoT connessi attraverso una logica definita tramite il software NodeRed, che vedremo nel dettaglio in seguito, e il tutto viene memorizzato su un database NoSQL. Il componente SDK for Node.js è necessario per l’avvio di NodeRed, appunto scritto nel linguaggio node.js.

Dopo aver scelto dal catalogo i servizi e le infrastrutture di proprio interesse, è possibile visualizzarne lo stato su un’apposita dashboard. Oltre a visualizzare tutti i parametri e le risorse utilizzate da ciascun componente, sarà possibile avviare i vari servizi.

Avviando Watson-IoT, ad esempio, può essere utile per registrare i propri dispositivi, in modo tale che siano in grado di comunicare con la piattaforma e che quest’ultima possa rendere disponibili, all’utente e alle applicazioni, i dati ricevuti.

Page 91: UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI...UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI FACOLTÀ DI SCIENZE E TECNOLOGIE APPLICATE CORSO DI LAUREA IN INGEGNERIA INFORMATICA TECNOLOGIE

82

Watson Internet of Things IoT Watson è una piattaforma che permette di connettere in

maniera sicura tutti i tipi di device, dai chips agli elettrodomestici intelligenti. Permette di sviluppare e rilasciare facilmente la propria applicazione software e fornisce un’affidabilità e una scalabilità di tipo enterprise.

La piattaforma è organizzata in 4 livelli logici relativi alle seguenti aree funzionali:

• IBM Watson IoT Platform Connect: permette la connessione dei propri device all’applicazione. Mette a disposizione delle funzioni per la gestione dei dispositivi da remoto attraverso dei servizi cloud-based.

• IBM Watson IoT Platform Information Management: trasforma, memorizza e unisce i dati provenienti da diverse sorgenti (device), ed estrae da essi i valori significativi grazie all’utilizzo degli strumenti di analisi

• IBM Watson IoT Platform Analytics: raccoglie una serie di strumenti insight per l’elaborazione e la comprensione dei dati al fine di effettuare le scelte migliori e ottimizzare le operazioni. Offre analisi real-time per monitorare le condizioni correnti e proporre la soluzione adatta

• IBM Watson IoT Platform Risk Management: offre delle soluzioni pro-attive per la gestione del rischio, mettendo a disposizione dell’utente delle dashboard e dei sistemi di allarmistica, nonché strumenti per isolare i problemi che potrebbero compromettere l’intero sistema. La piattaforma IoT viene eseguita su IBM Bluemix, ovvero una

piattaforma estremamente scalabile, grazie al fatto che gira su IBM SoftLayer, un’infrastruttura che gode di circa 40 data-center distribuiti nel mondo.

Page 92: UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI...UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI FACOLTÀ DI SCIENZE E TECNOLOGIE APPLICATE CORSO DI LAUREA IN INGEGNERIA INFORMATICA TECNOLOGIE

83

Sarà descritta nel dettaglio, nello schema di interconnessione del progetto generale della tesi, la modalità con cui è possibile collegare in maniera sicura tutti i device e i gateway che compongono il progetto alla piattaforma, nonché le dashboard per la gestione dei dispositivi e la visualizzazione dei dati.

NodeRed NodeRed è uno strumento visuale che permette la connessione di

diversi dispositivi hardware, API e servizi online, senza che il programmatore abbia forti basi di programmazione.

Viene fornito all’utente un editor visuale, utilizzabile via browser, che permette in maniera semplice di collegare i vari flussi grazie all’utilizzo di una vasta gamma di nodi.

Il paradigma di programmazione utilizzato da NodeRed è Flow-Based Programming. Questo paradigma stabilisce che un’applicazione sia costituita da una serie di blocchi (nodi) dei quali il programmatore deve conoscerne il tipo di elaborazione che eseguono, ma non necessariamente la corrispondente implementazione interna; per questo motivo essi possono essere considerati come black-box.

Tali nodi utilizzano una o più porte (sia in ingresso che in uscita) per poter essere collegati tra loro attraverso delle connessioni, visualizzati nell’editor come archi, in modo da costituire una rete nell’ambito della quale comunicano, scambiandosi dati sotto forma di messaggi noti anche come information packets (IP).

Page 93: UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI...UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI FACOLTÀ DI SCIENZE E TECNOLOGIE APPLICATE CORSO DI LAUREA IN INGEGNERIA INFORMATICA TECNOLOGIE

84

Figura 14 - Schema di comunicazione tra nodi su NodeRed

Gli information packets possono trasportare con sé del contenuto

informativo ed essere quindi dei dati a tutti gli effetti oppure possono essere usati semplicemente come dei segnali, per poter innescare l’avvio di un processo relativo al blocco cui sono destinati.

I segnali potrebbero essere innescati, ad esempio, quando un componente hardware rileva un particolare valore.

Il programma non è più una sequenza di istruzioni, come nei paradigmi più comuni, ma è caratterizzato da un insieme di flussi di dati che vengono scambiati tra i blocchi in maniera completamente asincrona.

L’esecuzione viene garantita da un software noto come scheduler che può o meno sfruttare le caratteristiche della piattaforma in cui si trova per garantire anche l’eventuale parallelismo nell’esecuzione dei processi su più flussi.

Page 94: UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI...UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI FACOLTÀ DI SCIENZE E TECNOLOGIE APPLICATE CORSO DI LAUREA IN INGEGNERIA INFORMATICA TECNOLOGIE

85

Capitolo 6 Progettazione architetturale del sistema

Saranno illustrati in questa sezione gli schemi di collegamento tra

i dispositivi e i vari sensori che hanno il compito di effettuare le rilevazioni della propria posizione e dell’’umidità del terreno nel quale saranno dislocati.

Inoltre verrà fornita una visione di insieme, con gli schemi di collegamento tra i vari device e la piattaforma centrale che ha lo scopo sia di immagazzinare i dati, al fine di renderli fruibili tramite interfacce web, sia di controllare l’attivazione dell’irrigazione in base ai dati rilevati.

6.1 Arduino e sensore di umidità Nella seguente immagine vediamo il collegamento tra Arduino e

il sensore di umidità del terreno (Soil moisture sensor), che è in grado di misurare il quantitativo d’acqua nel suolo in cui è installato.

Page 95: UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI...UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI FACOLTÀ DI SCIENZE E TECNOLOGIE APPLICATE CORSO DI LAUREA IN INGEGNERIA INFORMATICA TECNOLOGIE

86

Figura 15 - Collegamento tra Arduino e sensore di umidità

In questo schema lo scopo dei led è quello di dare un feedback

visivo all’utente della corretta umidità del terreno. Il led verde si accende se l’umidità rilevata è nella norma, mentre il led rosso si accende se il terreno risulta troppo asciutto.

6.2 Arduino e GPS Nell’immagine seguente, invece, vediamo lo schema di

collegamento tra Arduino e l’antenna GPS, che è in grado di rilevare la propria posizione e trasformarla in coordinate GPS. Tali informazioni saranno poi utili al fine di interrogare il servizio open-data meteorologico per le previsioni delle precipitazioni.

Page 96: UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI...UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI FACOLTÀ DI SCIENZE E TECNOLOGIE APPLICATE CORSO DI LAUREA IN INGEGNERIA INFORMATICA TECNOLOGIE

87

Figura 16 - Connessione tra Arduino e sensore GPS

6.3 Arduino e Relè Nel seguente schema è visualizzata la modalità di collegamento tra

Arduino e un relè. Il relè ha lo scopo di attivare il circuito che alimenta la pompa di irrigazione.

Page 97: UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI...UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI FACOLTÀ DI SCIENZE E TECNOLOGIE APPLICATE CORSO DI LAUREA IN INGEGNERIA INFORMATICA TECNOLOGIE

88

Figura 17 - Collegamento tra Arduino e relè

In questo caso abbiamo una fonte di alimentazione di 12V

(Arduino richiede una tensione tramite connettore jack che deve essere compresa tra 7 e 12 Volt) che alimenterà anche la pompa. Quando Arduino riceverà l’impulso di accensione del sistema di irrigazione, provvederà ad inviare una tensione (di 5V) al relè che chiuderà il circuito NC (normalmente chiuso) azionando la pompa.

6.4 Arduino e Raspberry Pi Il modo più semplice e diretto per collegare il Raspberry Pi ad

Arduino è quello tramite seriale. Si può collegare direttamente una delle porte USB di Raspberry al Plug USB di Arduino. In questo modo è possibile inviare e ricevere messaggi in entrambe le direzioni.

Tuttavia il Raspberry Pi (dalla versione 2) è dotato soltanto di 4 porte USB, e questa è una limitazione per quanto riguarda il numero di collegamenti possibili, appunto al massimo 4.

Page 98: UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI...UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI FACOLTÀ DI SCIENZE E TECNOLOGIE APPLICATE CORSO DI LAUREA IN INGEGNERIA INFORMATICA TECNOLOGIE

89

Esiste un’altra modalità con la quale è possibile collegare i due device tra loro, ovvero tramite il sistema di comunicazione seriale I2C. In questo modo abbiamo due principali vantaggi:

• Non vengono occupate porte USB • Si possono facilmente collegare fino a 128 slave device

Lo schema per effettuare questo tipo di collegamento è il seguente

Figura 18 - Schema di collegamento I2C tra Arduino e Raspberry

In questo schema il Raspberry è master e gli Arduino ad esso

collegati sono slave. Nelle sezioni successive vediamo come viene implementata la comunicazione tra i device.

6.5 Schema completo di collegamento Il seguente è lo schema completo di collegamento tra tutti i

componenti del sistema.

Page 99: UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI...UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI FACOLTÀ DI SCIENZE E TECNOLOGIE APPLICATE CORSO DI LAUREA IN INGEGNERIA INFORMATICA TECNOLOGIE

90

Figura 19 - Schema di collegamento completo tra device e piattaforma

Nella parte destra troviamo tutti i sensori che saranno inseriti nel

terreno per la rilevazione dell’umidità. Ciascun sensore sarà collegato ad un Arduino, che ha il compito di leggerne le misurazioni e di comunicarle al Raspberry centrale.

In uno degli Arduino presenti nel sistema, è stato collegato anche un sensore GPS, che ha il compito di rilevare la posizione del campo in cui sono stati installati anche gli altri sensori. Un ulteriore Arduino è stato inserito per il controllo di un relè che ha il compito di azionare la pompa di irrigazione.

Tutte le comunicazioni, che sono distinguibili in:

• lettura del grado di umidità del terreno rilevato dai sensori soil moisture

• invio delle coordinate geografiche rilevate dal sensore GPS • invio del comando di accensione dell’irrigazione

saranno gestite dal Raspberry centrale, al quale possono essere collegati fino a 128 Arduino. Il ruolo svolto dal Raspberry Pi in questo scenario è quello di gateway.

Page 100: UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI...UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI FACOLTÀ DI SCIENZE E TECNOLOGIE APPLICATE CORSO DI LAUREA IN INGEGNERIA INFORMATICA TECNOLOGIE

91

Il gateway ha il compito di fare da tramite tra un certo numero di dispositivi e la piattaforma centrale, e di gestirne tutte le comunicazioni e lo scambio dei messaggi in maniera bidirezionale.

Tutte le informazioni rilevate dai sensori, saranno poi trasmesse dal Raspberry al servizio NodeRed. Il programma sviluppato all’interno di NodeRed si occuperà delle seguenti operazioni:

• ricezione dei messaggi da parte del gateway • ricezione delle misurazioni rilevate dai sensori inviate dal gateway • inoltro dei valori rilevati all’interno della piattaforma IBM-Watson

IoT • decidere se, in base ai valori rilevati, è il caso di attivare il circuito

di irrigazione Come già detto precedentemente, le modalità con cui i vari device si scambieranno i messaggi sono:

• MQTT: comunicazione tra Raspberry e la Piattaforma (IBM-Watson IoT e NodeRed)

• I2C: comunicazione tra Raspberry e Arduino • JSON / XML API: modalità con cui richiamare informazioni dagli

open-data metereologici OpenWeatherMap.com. È possibile implementare queste chiamate sia da Raspberry, attraverso semplici script Python, oppure utilizzando direttamente il nodo di NodeRed node-red-node-openweathermap, che gestisce automaticamente l’interrogazione per le previsioni correnti.

Vedremo alcuni esempi di tali comunicazioni nei prossimi capitoli

Page 101: UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI...UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI FACOLTÀ DI SCIENZE E TECNOLOGIE APPLICATE CORSO DI LAUREA IN INGEGNERIA INFORMATICA TECNOLOGIE

92

Capitolo 7 Analisi di dettaglio e implementazione

Ogni dispositivo che costituisce il sistema ha le sue funzionalità.

Qui descriviamo i sottosistemi logici in cui è in esecuzione ciascuna funzionalità e la loro modalità di implementazione. Verranno esposte le porzioni di codice per effettuare le varie rilevazioni e per rendere possibile la comunicazione tra i device e il centro, che è rappresentato dalla piattaforma IBM.

Come abbiamo detto ogni Arduino ha almeno un sensore collegato, oppure verrà utilizzato per l’attivazione della pompa del circuito di irrigazione.

7.1 Sottosistemi in esecuzione su Arduino Il sistema complessivo in esecuzione su Arduino presenta le seguenti funzionalità:

• Rilevazione dell’umidità del terreno • Rilevazione della posizione tramite coordinate GPS • Attivazione/disattivazione del circuito di irrigazione tramite relè

Sono impliciti nelle seguenti porzioni di codice:

Page 102: UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI...UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI FACOLTÀ DI SCIENZE E TECNOLOGIE APPLICATE CORSO DI LAUREA IN INGEGNERIA INFORMATICA TECNOLOGIE

93

• Ricezione di messaggi • Invio di messaggi

Ognuna di queste funzioni può essere rappresentata da un sottosistema. Che è in grado di ricevere ed inviare messaggi.

7.1.1 Rilevazione umidità del terreno È il sottosistema che si occupa della lettura della rilevazione

effettuata dal sensore. Questa è la porzione di codice che legge il valore dal sensore. //libreria Wire per la gestione della connessione I2C #include <Wire.h> // indirizzo i2c di questo dispositivo #define SLAVE_ADDRESS 0x04 // definisce il pin dove è collegato il sensore int moisturePin = A0; String deviceId = "arduino01"; // identificativo del dispositivo slave (questo Arduino) collegato al master void setup() { // imposta il pin in lettura pinMode(moisturePin, INPUT); // inizializza la comunicazione verso il master Wire.begin(SLAVE_ADDRESS); // registro la funzione di callback Wire.onRequest(sendData); } void loop() { // effettua una pausa di n millisecondi delay(500); } // callback for sending data void sendData() { // legge il valore del sensore int moistureValue = analogRead(moisturePin); String valore = deviceId + ";" + moistureValue ; Wire.write(valore); }

Page 103: UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI...UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI FACOLTÀ DI SCIENZE E TECNOLOGIE APPLICATE CORSO DI LAUREA IN INGEGNERIA INFORMATICA TECNOLOGIE

94

In una prima fase viene effettuato il setup del dispositivo,

impostando innanzitutto il deviceId, ovvero l’id univoco per ciascun Arduino. Questo serve a distinguere quale Arduino sta inviando il valore di umidità rilevato.

In seguito viene inizializzato il protocollo I2C, indicando l’indirizzo fisico di Arduino su bus I2C, tramite la variabile SLAVE_ADDRESS.

Dopodiché viene registrata la funzione che deve essere chiamata quando il master (gateway Raspberry Pi) richiede i dati di lettura da questo device. Nel frattempo Arduino resta in attesa di segnali da parte del master.

7.1.2 Rilevazione della posizione GPS È il sottosistema che si occupa della lettura delle coordinate

geografiche dal sensore GPS. Con la seguente porzione di codice è possibile leggere il dato dal sensore.

Questa funzionalità è stata inserita per automatizzare il primo inserimento delle coordinate GPS, che saranno utilizzate dalla piattaforma per la richiesta delle previsioni meteo.

In realtà dovrebbe essere utilizzata una sola volta durante il processo di inizializzazione del sistema nel suo insieme, perché una volta installati i dispositivi nel terreno è difficile che cambino posizione.

In alternativa si potrebbe anche inserire a mano la posizione GPS nella piattaforma, ma per completezza vediamo comunque la modalità con cui viene richiesta ad Arduino. #include <SoftwareSerial.h> #include <TinyGPS.h> // indirizzo i2c di questo dispositivo #define SLAVE_ADDRESS 0x08 TinyGPS gps; SoftwareSerial ss(4, 3); String deviceId = "arduino02";

Page 104: UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI...UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI FACOLTÀ DI SCIENZE E TECNOLOGIE APPLICATE CORSO DI LAUREA IN INGEGNERIA INFORMATICA TECNOLOGIE

95

void setup() { // inizializzazione serial ss.begin(9600); // inizializza la comunicazione verso il master Wire.begin(SLAVE_ADDRESS); // registro la funzione di callback Wire.onRequest(sendData); } void loop() { delay(500); } // callback for sending data void sendData() { bool newData = false; // Faccio fare un ciclo di un secondo di rilevazioni for (unsigned long start = millis(); millis() - start < 1000;) { while (ss.available()) { char c = ss.read(); if (gps.encode(c)) { // se ottengo una risposta valida... newData = true; } } } // se ho ricevuto dati dal gps li invio a String result = deviceId + ";" + "0.000000" + "0.000000"; if (newData) { float flat, flon; unsigned long age; gps.f_get_position(&flat, &flon, &age); String latitude = String(flat == TinyGPS::GPS_INVALID_F_ANGLE ? 0.0 : flat, 6); String longitude = String(flon == TinyGPS::GPS_INVALID_F_ANGLE ? 0.0 : flon, 6); result = deviceId + ";" + latitude + ";" + longitude; } Wire.write(result); }

Per la corretta rilevazione e parsing del dato è necessario l’utilizzo di due librerie:

• SoftwareSerial: per la gestione della comunicazione seriale sui pin digitali di Arduino

• TinyGPS: fornisce gli strumenti necessari al parsing di messaggi GPS ricevuti dal sensore. Consente di effettuare l’encoding del

Page 105: UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI...UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI FACOLTÀ DI SCIENZE E TECNOLOGIE APPLICATE CORSO DI LAUREA IN INGEGNERIA INFORMATICA TECNOLOGIE

96

messaggio, recuperando le informazioni di latitudine, longitudine e altri parametri.

All’inizio occorre impostare i parametri per la comunicazione seriale, specificando il numero dei PIN a cui sono connessi i fili TX e RX del sensore.

In seguito, come nel caso del precedente Arduino, viene inizializzato il protocollo I2C, indicando l’indirizzo fisico di Arduino su bus I2C, tramite la variabile SLAVE_ADDRESS. Viene registrata, oltre al deviceId, anche la funzione di callback alla richiesta di dati da parte del device master (gateway Raspberry Pi). 7.1.3 Accensione e spegnimento del relè

È il sottosistema che si occupa di attivare e disattivare l’impianto

di irrigazione, attraverso l’utilizzo di un relè che apre/chiude il circuito di alimentazione della pompa.

Con il seguente codice si è in grado di ricevere il messaggio dal

gateway centrale e di controllare il relè. //libreria Wire per la gestione della connessione I2C #include <Wire.h> // indirizzo i2c di questo dispositivo #define SLAVE_ADDRESS 0x16 // definisce il pin dove è collegato il sensore int relePin = 4; int act = 0; int state = 0; String deviceId = "arduino03"; // identificativo del dispositivo slave (questo Arduino) collegato al master void setup() { // imposta il pin in lettura pinMode(relePin, OUTPUT); // inizializza la comunicazione verso il master Wire.begin(SLAVE_ADDRESS);

Page 106: UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI...UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI FACOLTÀ DI SCIENZE E TECNOLOGIE APPLICATE CORSO DI LAUREA IN INGEGNERIA INFORMATICA TECNOLOGIE

97

// registro la funzione di callback per la comunicazione i2c Wire.onRequest(sendData); Wire.onReceive(activateRele); } void loop() { // effettua una pausa di n millisecondi delay(500); } // callback per la richiesta di dati void activateRele(int byteCount) { while(Wire.available()) { act = Wire.read(); if (act == 1) { digitalWrite(relePin, HIGH); } else { digitalWrite(relePin, LOW); } } } // callback per la richiesta di dati void sendData() { state = (digitalRead(relePin) == HIGH) ? 1 : 0; String valore = deviceId + ";" + state; Wire.write(valore); }

Nella fase iniziale vengono inizializzati: • Il pin a cui è connesso il contatto del relè • L’indirizzo fisico I2C del dispositivo • Le funzioni di callback alla ricezione di messaggi, o di richiesta di

dati

Il dispositivo resta in attesa di un messaggio da parte del gateway centrale.

Se riceve un messaggio per l’attivazione della pompa di irrigazione, viene inviato un segnale HIGH al pin a cui è connesso il relè. In questo modo il relè chiuderà il circuito che alimenta la pompa, attivando dunque l’irrigazione.

Il metodo sendData() viene utilizzato per la lettura dello stato di attivazione del relè. Questo comando viene invocato dal gateway qualora avesse necessità di sapere se il comando di attivazione è andato a buon fine.

Page 107: UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI...UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI FACOLTÀ DI SCIENZE E TECNOLOGIE APPLICATE CORSO DI LAUREA IN INGEGNERIA INFORMATICA TECNOLOGIE

98

In caso invece ricevesse un messaggio di disattivazione dell’irrigazione, Arduino invierebbe un segnale di LOW al pin, disattivando il relè e aprendo il circuito, togliendo quindi la corrente alla pompa di irrigazione.

7.2 Sottosistemi in esecuzione su Raspberry Pi Nello scenario progettuale il Raspberry Pi viene utilizzato, come

già specificato, soprattutto come gateway. Il suo scopo è quello di mettere in comunicazione la piattaforma IBM Internet Of Things e i vari Arduino dislocati in varie posizioni del terreno su cui effettuare rilevazioni.

La comunicazione è bidirezionale e viene effettuata con protocollo I2C. In questo modo è possibile collegare fino a 128 dispositivi Arduino per singolo gateway.

Le operazioni che invece necessitano della comunicazione dalla

piattaforma ai dispositivi sono le seguenti: • richiesta della misura dell’umidità dai dispositivi • richiesta della posizione GPS • attivazione/disattivazione sistema di irrigazione

Le operazioni che necessitano di una comunicazione dai

dispositivi alla piattaforma sono le seguenti: • invio della misura dell’umidità rilevata • invio della rilevazione della posizione GPS • invio dello stato del circuito di irrigazione (relè acceso o spento)

Vengono in seguito mostrate le porzioni di codice utilizzate per

rendere effettive le comunicazioni appena elencate. Il codice per la programmazione del Raspberry Pi è scritto in

Python, in quanto è nativamente supportato dal sistema operativo

Page 108: UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI...UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI FACOLTÀ DI SCIENZE E TECNOLOGIE APPLICATE CORSO DI LAUREA IN INGEGNERIA INFORMATICA TECNOLOGIE

99

installato (Linux su base Debian) ed è possibile trovare facilmente numerose librerie per qualsiasi necessità.

Dopo aver opportunamente configurato il Raspberry Pi per il supporto alla comunicazione I2C, installando le librerie e il relativo modulo del kernel, sarà possibile comunicare con i dispositivi.

Come prima cosa è necessario individuare gli indirizzi fisici degli Arduino collegati. È possibile farlo con il seguente comando eseguito su shell per fare la scansione del bus I2C:

root@raspbian:~ $ ls /dev/i2c* /dev/i2c-1

dopo aver individuato il numero del bus I2C (in questo caso 1) possiamo lanciare la scansione con il comando:

root@raspbian:~ $ i2cdetect -y 1

Se il collegamento è effettuato correttamente, la risposta del comando sarà di questo tipo:

0 1 2 3 4 5 6 7 8 9 a b c d e f 00: -- -- -- -- -- -- -- -- -- -- -- -- -- 10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 50: 50 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 60: 60 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 70: 70 -- -- -- -- -- -- --

Significa che ci sono 3 dispositivi collegati e che avranno come indirizzo, rispettivamente:

• address = 0x50

• address = 0x60

• address = 0x70

Page 109: UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI...UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI FACOLTÀ DI SCIENZE E TECNOLOGIE APPLICATE CORSO DI LAUREA IN INGEGNERIA INFORMATICA TECNOLOGIE

100

Ciascuno di questi indirizzi dovrà corrispondere all’indirizzo indicato nella porzione di codice in C++ di ciascun dispositivo, con direttiva #define SLAVE_ADDRESS.

7.2.1 Richiesta valore dell’umidità del terreno Questo sottosistema si occupa della richiesta e della ricezione del

valore della misurazione dell’umidità. Il seguente codice Python mostra come avviene tale richiesta. import smbus import time # inizializza il bus bus = smbus.SMBus(1) # intervallo in secondi tra una lettura e la successiva INTERVAL_READ = 1200 # Questo è l'indirizzo di Arduino che ha il sensore di umidità del terreno address = 0x04 def readValue(): value = bus.read_byte(address) return value while True: # lettura del dato value = readValue() dev, v = value.split(";") # sleep one second time.sleep(INTERVAL_READ) print "Il valore rlevato dal sensore {} è il seguente {}".format(dev, v)

7.2.2 Richiesta coordinate GPS

Questo sottosistema si occupa della richiesta delle coordinate

geografiche all’Arduino a cui è collegato il sensore GPS. Il seguente codice Python mostra come avviene tale richiesta. import smbus

Page 110: UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI...UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI FACOLTÀ DI SCIENZE E TECNOLOGIE APPLICATE CORSO DI LAUREA IN INGEGNERIA INFORMATICA TECNOLOGIE

101

# inizializza il bus bus = smbus.SMBus(1) # Questo è l'indirizzo di Arduino che ha il sensore GPS address = 0x08 def readValue(): value = bus.read_byte(address) return value # lettura del dato value = readValue() dev, lat, lon = value.split(";") print "Posizione GPS del dispositivo {} ".format(dev) print "LAT = {}".format(lat) print "LON = {}".format(lon)

7.2.3 Attivazione e disattivazione del sistema di irrigazione

Questo sottosistema si occupa di inviare il segnale per l’accensione

(o lo spegnimento) dell’impianto di irrigazione, facendo alimentare ad Arduino il relè che attiva il circuito di corrente della pompa. Vediamo con il seguente codice Python come avviene tale comunicazione. import smbus import time IRRIGAZ_ON = 1 IRRIGAZ_OFF = 0 # inizializza il bus bus = smbus.SMBus(1) # Questo è l'indirizzo di Arduino che ha il relè address = 0x16 def writeValue(data): bus.write_byte(address, data) def readValue(): value = bus.read_byte(address) dev, state = value.split(";") return state def attivaIrrigazione(): # attivazione impianto writeValue(IRRIGAZ_ON) time.sleep(2) # controllo l'effettiva attivazione if readValue() == IRRIGAZ_ON: print "Il circuito di irrigazione è stato attivato" else: print "ERRORE: Circuito di irrigazione NON attivo"

Page 111: UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI...UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI FACOLTÀ DI SCIENZE E TECNOLOGIE APPLICATE CORSO DI LAUREA IN INGEGNERIA INFORMATICA TECNOLOGIE

102

def disattivaIrrigazione(): # disattivazione impianto writeValue(IRRIGAZ_OFF) time.sleep(2) # controllo l'effettiva disattivazione if readValue() == IRRIGAZ_OFF: print "Il circuito di irrigazione è stato disattivato" else: print "ERRORE: Circuito di irrigazione ANCORA attivo"

7.2.4 Comunicazione con la piattaforma

La comunicazione con la Piattaforma IBM Internet Of Things e

con NodeRed nello scenario del progetto avviene esclusivamente con il dispositivo Raspberry Pi, configurato per essere un gateway, ovvero un intermediario delle comunicazioni tra piattaforma e device.

La condizione per permettere ad un qualsiasi dispositivo di comunicare con la piattaforma IBM-Watson IoT è che il device deve essere correttamente registrato. Questo requisito, oltre a permetterci di lavorare in maniera ordinata, catalogando i dispositivi e assegnando loro un ID, ci garantisce anche un alto livello di sicurezza.

Page 112: UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI...UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI FACOLTÀ DI SCIENZE E TECNOLOGIE APPLICATE CORSO DI LAUREA IN INGEGNERIA INFORMATICA TECNOLOGIE

103

Figura 20 - Registrazione di un dispositivo sulla piattaforma

Per l registrazione vengono richiesti alcuni parametri di

identificazione del device, e una password, che sarà alla base della connessione.

Figura 21 - Parametri di autenticazione di un device verso la piattaforma

Page 113: UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI...UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI FACOLTÀ DI SCIENZE E TECNOLOGIE APPLICATE CORSO DI LAUREA IN INGEGNERIA INFORMATICA TECNOLOGIE

104

Una volta effettuata la registrazione, il device apparirà nella lista dei dispositivi. Da questo momento in poi si potrà effettuare lo scambio di messaggi.

Figura 22 - Lista dei dispositivi registrati

La modalità di comunicazione, come detto, avviene tramite

protocollo MQTT. Il payload, ovvero il contenuto significativo del messaggio, è strutturato nel seguente formato JSON:

{"d" : {"moistureValue" : 153}}

Ovviamente possiamo arricchire questo messaggio con altre

informazioni che potrebbero essere utili per le proprie necessità, come ad esempio il timestamp, che identifica il momento in cui è stato inviato il messaggio.

Ora vediamo la porzione di codice per inizializzare la connessione MQTT da Raspberry a Watson IoT ed inviare messaggi alla piattaforma con cadenza temporale di un’ora:

Page 114: UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI...UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI FACOLTÀ DI SCIENZE E TECNOLOGIE APPLICATE CORSO DI LAUREA IN INGEGNERIA INFORMATICA TECNOLOGIE

105

import time import paho.mqtt.client as mqtt import json SEC_INTERVAL = 3600 # informazioni per la connessione # topic per la pubblicazione di informazioni da parte del gateway topicGW = "iot-2/type/raspberry_gateway/id/raspberry_gateway1/evt/status/fmt/json" # topic per la pubblicazione di messaggi per conto degli Arduino collegati al gateway topicA1 = "iot-2/type/Arduino/id/arduino1/evt/status/fmt/json" topicA2 = "iot-2/type/Arduino/id/arduino2/evt/status/fmt/json" topicA3 = "iot-2/type/Arduino/id/arduino3/evt/status/fmt/json" # informazioni di connessione username = "use-token-auth" password = "password4gateway" #auth-token organization = "g5nr39" #org_id deviceType = "raspberry_gateway" gatewayID = "raspberry_gateway1" # client identifiers oer il gateway clientID = "g:" + organization + ":" + deviceType + ":" + gatewayID mqttc = mqtt.Client(clientID) # link del broker broker = organization + ".messaging.internetofthings.ibmcloud.com" # inizializza la connessione mqttc.username_pw_set(username, password=password) mqttc.connect(host=broker, port=1883, keepalive=60) #Publishing to IBM Internet of Things Foundation mqttc.loop_start() while mqttc.loop() == 0: # legge il valore dell'umidita' del terreno da Arduino1 moistureValue1 = readValueFromArduino1() moistureValue2 = readValueFromArduino2() moistureValue3 = readValueFromArduino3() msg1 = json.JSONEncoder().encode({"d" : {"moistureValue" : moistureValue1}}) msg2 = json.JSONEncoder().encode({"d" : {"moistureValue" : moistureValue2}}) msg3 = json.JSONEncoder().encode({"d" : {"moistureValue" : moistureValue3}}) # pubblica i dati sulla piattaforma mqttc.publish(topicA1, payload = msg1, qos=0, retain = False) mqttc.publish(topicA2, payload = msg2, qos=0, retain = False) mqttc.publish(topicA3, payload = msg3, qos=0, retain = False) print "message published" try: time.sleep(SEC_INTERVAL) except KeyboardInterrupt: # disconnette il client mqttc.disconnect()

Page 115: UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI...UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI FACOLTÀ DI SCIENZE E TECNOLOGIE APPLICATE CORSO DI LAUREA IN INGEGNERIA INFORMATICA TECNOLOGIE

106

Questo estratto di codice permette al gateway di collegarsi alla piattaforma ed inviare i messaggi per conto dei dispositivi di tipo Arduino, con l’informazione sull’umidità ricevuta.

Tutti i dati inviati vengono memorizzati e gestiti all’interno della piattaforma.

Il codice per la trasmissione della posizione GPS, ricevuta da uno degli Arduino installati sul campo, è del tutto analogo al precedente. L’unica informazione che cambia, oltre alla frequenza delle interrogazioni, è il payload del messaggio, che verrà inviato con la stessa modalità alla piattaforma, ma che sarà trattato da quest’ultima in maniera diversa. {"d" : {"latitude" : 41.769273, “longitude” : 12.706152}}

Lo stesso discorso vale per lo stato dell’impianto di irrigazione. Il

payload è differente dai precedenti, ma in ogni caso molto semplice nella sua struttura. Questo viene utilizzato sia per visualizzare a video lo stato corrente dell’impianto, sia per ottenere una statistica su quanta acqua è stata utilizzata in un certo intervallo di tempo. {"d" : {"waterActivated” : 1}}

7.3 Sottosistemi in esecuzione sulla piattaforma IoT

Il servizio IBM-Watson Internet of Things, ospitato sulla

piattaforma IBM Bluemix, viene utilizzato principalmente per la memorizzazione di tutte le rilevazioni eseguite sul terreno da parte dei vari sensori. Viene offerta la possibilità di visualizzare i dati a video, costruire dei grafici oppure rendere disponibili tali dati per altre applicazioni, sempre ospitate su Bluemix.

Segue la descrizione dei vari sottosistemi, ciascuno per adempiere alle varie attività della piattaforma, con relativi flussi di lavoro e porzioni di codice utilizzati nei nodi di funzione.

Page 116: UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI...UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI FACOLTÀ DI SCIENZE E TECNOLOGIE APPLICATE CORSO DI LAUREA IN INGEGNERIA INFORMATICA TECNOLOGIE

107

7.3.1 Rilevazione dati GPS e meteorologici È il sottosistema della piattaforma NodeRed che si occupa di

ricevere e memorizzare le coordinate GPS dal Raspberry. Grazie a queste coordinate il sistema è in grado di interrogare il servizio open-data meteorologico e ricavare le previsioni per i prossimi 5 giorni. Questo lo schema grafico del workflow NodeRed:

Figura 23 - Workflow NodeRed per gestione GPS e meteo

Come si vede dalla Figura 23, il flusso può partire in modalità manuale o automatica.

Nel primo caso, manuale, si può premere il pulsante Press for weather forecast e viene prodotta una posizione GPS manuale fittizia, impostandone i parametri di latitudine e longitudine all’interno del nodo Location manuale. Dopodiché il dato generato viene passato come input al nodo denominato Meteo OpenWeatherMap.

In alternativa è possibile configurare il nodo per il collegamento

della piattaforma IBM-Watson IoT (in blu a sinistra in figura). Per ogni comunicazione che avviene tra Raspberry e la piattaforma, tale nodo produce un messaggio, il cui payload (contenuto) è un JSON definito nel seguente modo per i messaggi di tipo GPS:

Page 117: UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI...UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI FACOLTÀ DI SCIENZE E TECNOLOGIE APPLICATE CORSO DI LAUREA IN INGEGNERIA INFORMATICA TECNOLOGIE

108

msg : { dataType : “GPS”, d : { lat : 41.769273, lon: 12.706152 } }

Ma il Raspberry può inviare anche altri tipi di messaggio. Per questo motivo è necessario un nodo switch “Filtro messaggi GPS”, ovvero un filtro che fa passare soltanto i messaggi con dataType “GPS”. Il blocco seguente parsing coordinate esegue l’analisi del messaggio ed estrae le coordinate GPS, costruendo un messaggio nel formato che si aspetta il nodo del meteo. Il filtro viene eseguito in maniera estremamente semplice:

Figura 24 - Filtro messaggi GPS

Anche per la creazione del messaggio è necessaria soltanto qualche

riga di codice javascript: var newMsg = { location: { lat : msg.payload.d.lat, lon : msg.payload.d.lon }, timestamp: Date.now() }; return newMsg;

Prima di arrivare al nodo del meteo, le coordinate vengono salvate

nel DB CloudantNoSQL per usi futuri.

Page 118: UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI...UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI FACOLTÀ DI SCIENZE E TECNOLOGIE APPLICATE CORSO DI LAUREA IN INGEGNERIA INFORMATICA TECNOLOGIE

109

Il nodo Meteo OpenWeatherMap a questo punto, avendo ricevuto le coordinate GPS, effettua una chiamata alle API di OpenWeatherMap per ottenere la previsione dei prossimi 5 giorni nel luogo definito da latitudine e longitudine. Queste informazioni vengono proposte all’uscita del nodo attraverso un messaggio JSON, che avrà due destinazioni:

• viene memorizzato in una tabella del DB CloudantNoSQL • viene analizzato e viene eseguito il parsing sul suo contenuto, al fine

di stampare un piccolo testo riepilogativo

Figura 25 - Esempio di output delle previioni per i prossimi 5 giorni

7.3.2 Rilevazione misurazioni umidità del terreno È il sottosistema della piattaforma NodeRed che si occupa di

ricevere e memorizzare la lettura del valore dell’umidità dei dispositivi inseriti nel terreno, inviata dal gateway Raspberry.

Con questi valori, oltre a mantenere lo storico delle rilevazioni effettuate per poter effettuare degli studi sul terreno, si può mettere il sistema nelle condizioni di poter decidere se è il caso di attivare o disattivare l’impianto di irrigazione, al fine di garantire il giusto nutrimento delle coltivazioni. Questo è lo schema grafico del workflow su NodeRed:

Page 119: UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI...UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI FACOLTÀ DI SCIENZE E TECNOLOGIE APPLICATE CORSO DI LAUREA IN INGEGNERIA INFORMATICA TECNOLOGIE

110

Figura 26 - Workflow per la gestione del valore dell'umidità

Quando viene inviato un messaggio da Raspberry via MQTT alla

piattaforma IoT, il nodo più a sinistra (IBM IoT in blu) provvede a propagarlo al nodo successivo.

Il nodo switch Filtro mess,umidità esegue un filtro che lascia passare soltanto i messaggi con dataType MOISTURE. Viene in seguito aggiunta l’informazione di data e ora nel messaggio dal nodo Add timestamp.

Infine il messaggio viene salvato nel database CloudantNoSQL, in modo che possa essere rielaborato in seguito per altri scopi. La funzione parse Value, oltre ad aggiungere il timestamp al messaggio, ovvero l’indicazione di data e ora, trasforma il dato letto da Arduino in una percentuale di umidità, ovvero da 0 a 100%. Questo il codice della funzione: // valore sotto il quale il terreno risulta troppo bagnato var LIMIT_LOW = 280; var LIMIT_HIGH = 1023; var MAX = 100; var MIN = 0; // leggo il valore rilevato var val = msg.payload.d.moistureValue; // imposto il limite minimo, sotto il quale il terreno risulta troppo bagnato val = (val < LIMIT_LOW) ? LIMIT_LOW : val; // assegno la percentuale, trasformando: // LIMIT_LOW = 100% // LIMIT_HIGH = 0% var x = MAX - ((val - LIMIT_LOW) * (MAX - MIN) / (LIMIT_HIGH - LIMIT_LOW) + MIN); // due cifre decimali msg.payload.d.moistureValue = parseFloat(x).toFixed(2);

Page 120: UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI...UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI FACOLTÀ DI SCIENZE E TECNOLOGIE APPLICATE CORSO DI LAUREA IN INGEGNERIA INFORMATICA TECNOLOGIE

111

// aggiungo il timestamp al messaggio msg.timestamp = (+ new Date()); return msg;

Page 121: UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI...UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI FACOLTÀ DI SCIENZE E TECNOLOGIE APPLICATE CORSO DI LAUREA IN INGEGNERIA INFORMATICA TECNOLOGIE

112

Capitolo 8 Test di esecuzione

Durante la fase di test sul campo ho avuto modo di collezionare le

rilevazioni effettuate nel terreno.

Per quanto riguarda il sensore di umidità del suolo, come spiegato nei capitoli precedenti, i valori rilevati possono variare nel range [0-1023]. Il valore più alto (1023) sta ad indicare che il terreno è asciutto e quindi, circolando poca elettricità tra le due sonde, la resistenza sarà maggiore. Essendo quindi il valore rilevato inversamente proporzionale al grado di umidità del terreno, ho indicato questo valore come 0% di umidità.

Per quanto riguarda invece il valore minimo ho eseguito le

seguenti misurazioni sullo stesso terreno. Dapprima ho inserito il sensore a terra quando la terra era abbastanza secca e asciutta. Il valore rilevato in questo caso era intorno ai 960-975.

Successivamente ho inserito il sensore dopo aver annaffiato la terra per 10 minuti con circuito di irrigazione a goccia. Il valore rilevato in questo caso era intorno ai 335-345.

Al fine di individuare un valore accettabile di soglia minima, ricordando che arrivare allo 0 significa immergere il sensore in un bicchiere pieno d’acqua, ho lasciato acceso l’irrigatore per circa 10 minuti; ma

Page 122: UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI...UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI FACOLTÀ DI SCIENZE E TECNOLOGIE APPLICATE CORSO DI LAUREA IN INGEGNERIA INFORMATICA TECNOLOGIE

113

stavolta non quello a goccia, ma irrigazione libera con il tubo, facendo defluire un grande quantitativo d’acqua.

Il terreno risultava molto bagnato, proprio come dopo un’ora di pioggia media. Dopo aver atteso qualche minuto che l’acqua venisse assorbita interamente dal terreno, ho inserito il sensore. La rilevazione ha restituito un valore di circa 250-260. Pertanto ho deciso di impostare come threshold (soglia) il valore di 280.

Ho definito questo valore come 100%, ovvero il valore massimo di umidità consentito. Questo valore è il numero di percentuale che viene salvata nel database della piattaforma.

Questo valore sarà anche il valore che determinerà lo stop dell’impianto di irrigazione, ovvero la soglia oltre la quale non vogliamo che arrivi il grado di umidità del terreno, in quanto la terra non sarebbe in grado di assorbire ulteriormente, portando così ad un eccessivo ed inutile consumo di acqua.

Abbiamo detto che lo 0% (valore rilevato uguale a 1023) rappresenta una terra priva di acqua, cioè completamente secca. Ovviamente non vogliamo arrivare a questo punto prima di riattivare l’irrigazione del terreno.

Occorre trovare un valore di soglia anche in questo caso, per fare in modo che il terreno non diventi troppo asciutto, rischiando di compromettere la vita delle piante coltivate.

Approfittando di un periodo di cielo sereno, ho lasciato una parte del terreno senza acqua per diverso tempo, in attesa che il terreno arrivasse nelle condizioni in cui se ci fossero piante sarebbe necessario annaffiare.

Effettuando delle misurazioni in queste condizioni, il valore rilevato oscillava intorno a 800-850, che trasformato in percentuale con le modalità spiegate sopra, è un valore intorno al 23-30%.

A valle di queste osservazioni si può stabilire una soglia sotto la quale non far scendere il grado di umidità, ragionevolmente intorno al 20%, che equivale a rilevazione maggiori di 875 (ricordando che il valore rilevato è inversamente proporzionale al grado di umidità).

Page 123: UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI...UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI FACOLTÀ DI SCIENZE E TECNOLOGIE APPLICATE CORSO DI LAUREA IN INGEGNERIA INFORMATICA TECNOLOGIE

114

8.1 Correlazione con dati meteorologici

Una volta definiti i limiti di umidità entro i quali il terreno deve

essere mantenuto tramite accensione e spegnimento automatico dell’impianto di irrigazione, si passa alla valutazione del supporto delle informazioni meteorologiche.

Queste informazioni entrano in gioco nel momento in cui l’umidità è scesa sotto il livello limite che abbiamo impostato nel paragrafo precedente, ovvero il 20%.

Considerando i dati GPS che rilevano la posizione effettiva dell’intero impianto, è possibile interrogare il servizio open-data OpenWeatherMap, ricavando i dati sulle previsioni delle precipitazioni attuali e dei prossimi 5 giorni.

Il servizio risponde all’interrogazione restituendo un messaggio contenente diverse informazioni. Si tratta di informazioni su umidità, pressione, temperatura e soprattutto sono contenute le informazioni sulle condizioni meteo, che sono il dato che nel nostro caso è di maggiore rilevanza.

Le condizioni meteo contenute nel messaggio sono rappresentate tramite un ID di 3 cifre e sono divise in gruppi. I codici sono i seguenti:

• Gruppo 2XX: Temporali • Gruppo 3XX: Pioggerella • Gruppo 5XX: Pioggia • Gruppo 6XX: Neve • Gruppo 7XX: Eventi atmosferici (come nebbia, foschia, raffiche di

vento ecc.) • Valore 800: Cielo sereno • Gruppo 80X: Nuvoloso • Gruppo 9XX: Condizioni estreme (tornado, tempeste, uragani ecc.)

Ciascun gruppo contiene un ulteriore livello di dettaglio,

specificando l’entità della previsione. Ad esempio, se il gruppo 5XX

Page 124: UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI...UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI FACOLTÀ DI SCIENZE E TECNOLOGIE APPLICATE CORSO DI LAUREA IN INGEGNERIA INFORMATICA TECNOLOGIE

115

riguarda la pioggia, una previsione con ID = 500 specifica che si tratta di pioggia lieve, un ID = 501 è una pioggia moderata e un ID = 521 indica che ci saranno dei pesanti rovesci, e così via4.

Quello di cui il sistema deve tener conto in maniera particolare

sono i gruppi che si riferiscono alla pioggia, indipendentemente dall’entità, ovvero il 2XX, 3XX e 5XX.

In presenza di arrivo delle precipitazioni il sistema dovrà

riconsiderare l’attivazione automatica del sistema di irrigazione. Ovviamente se per la giornata odierna è prevista pioggia, è inutile

che venga avviata l’irrigazione, perché ci penserà la pioggia a ripristinare il livello di umidità del terreno nei parametri definiti.

Oppure, se la pioggia è prevista per l’indomani, non è strettamente necessario che l’irrigazione faccia arrivare il livello di umidità al 100%, ma sarà sufficiente raggiungere il 30-40%, in modo che l’indomani ci pensino le condizioni meteo a far tornare il livello al 100%.

Tuttavia è necessario considerare che le previsioni meteorologiche

non sono infallibili. Pertanto potrebbe non essere sufficiente affidarsi a questo dato.

Per questo si potrebbe inserire nel sistema un controllo dell’effettivo verificarsi degli eventi previsti. Se ad esempio la soglia di umidità scende sotto al limite, ma sono previsti temporali in giornata, ci si aspetta che entro le 23.59 inizi a piovere e quindi che la soglia torni di nuovo al di sopra del livello minimo del 20%.

Se osservando i valori questo non avviene, a causa di previsioni errate, occorre far intervenire il sistema in modo che venga comunque attivata l’irrigazione.

4 i valori sono indicati alla pagina web https://openweathermap.org/weather-conditions

Page 125: UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI...UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI FACOLTÀ DI SCIENZE E TECNOLOGIE APPLICATE CORSO DI LAUREA IN INGEGNERIA INFORMATICA TECNOLOGIE

116

Capitolo 9 Conclusioni e sviluppi futuri

Il progetto realizzato si propone come un prototipo di un sistema

di agricoltura di precisione con irrigazione automatica. Anche se il sistema descritto è funzionante, potrebbe presentare delle limitazioni che è opportuno evidenziare, qualora in futuro di decidesse di volerlo utilizzare effettivamente per una situazione reale.

Il sistema è stato descritto con un relè che attiva/disattiva un solo impianto di irrigazione per tutto il campo. Ovviamente se si avesse la necessità di suddividere il terreno in più parti, anche considerando che in ciascuna di esse vengano piantati diversi tipi di coltivazione, sarebbe necessario dotare il sistema di molteplici impianti di irrigazione comandati dalla piattaforma.

In questo caso andrebbero anche catalogati i vari dispositivi che inviano i messaggi al centro, in modo che sia chiaro al sistema che le rilevazioni provengono da quella parte di terreno e non da altre, facendo quindi in modo di comandare l’impianto di irrigazione corretto.

Inoltre, affinché tutto il sistema funzioni correttamente, è necessario che tutti i dispositivi che hanno bisogno di una connessione siano online costantemente. In un’implementazione reale è opportuno, quindi, considerare l’eventualità che questi possano non essere raggiungibili a fronte di inconvenienti.

Page 126: UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI...UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI FACOLTÀ DI SCIENZE E TECNOLOGIE APPLICATE CORSO DI LAUREA IN INGEGNERIA INFORMATICA TECNOLOGIE

117

Nel caso di Raspberry Pi (ma anche Arduino), una causa potrebbe essere il verificarsi di un’assenza temporanea di corrente, che renderebbe offline il dispositivo. Una possibile soluzione sarebbe quella di dotare questi dispositivi di un’alimentazione a batterie (magari con ricarica solare), che viene attivata in assenza di alimentazione di linea, garantendo così di mantenere online il sistema.

A livello software si potrebbe pensare che l’utente possa essere avvisato (via email o sms) del passaggio di alimentazione a batterie, così da poter intervenire per la risoluzione del problema.

Oltre ai problemi di linea, potrebbero verificarsi anche problemi legati alla connessione ad internet. Problemi di questo tipo potrebbero essere legati alla mancanza di connessione locale (ADSL o fibra dell’utente) oppure ad una condizione di down della piattaforma (es. manutenzione). Pertanto, in assenza di rete, la comunicazione con la piattaforma centrale potrebbe non essere disponibile.

Una soluzione possibile sarebbe il salvataggio temporaneo delle informazioni sul sistema locale su Raspberry Pi, fino a quando la connettività non venga ripristinata.

Infine, l’implementazione del sistema su terreni di grandi dimensioni, potrebbe rendere difficile il collegamento tra Arduino e Raspberry tramite seriale. Una soluzione efficace sarebbe quella di interconnettere i dispositivi tra loro tramite Wi-Fi, in modo da permettere la loro installazione a distanza.

Page 127: UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI...UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI FACOLTÀ DI SCIENZE E TECNOLOGIE APPLICATE CORSO DI LAUREA IN INGEGNERIA INFORMATICA TECNOLOGIE

118

Bibliografia

DI NAPOLI A., s.v. “Automazione industriale”, in Enciclopedia della scienza

e tecnica, Treccani, 2008.

TRECCANI, s.v. “Rivoluzione industriale”, Trasformazione delle strutture

produttive e sociali determinata dall'affermazione di nuove tecnologie,

Treccani, 2011.

TRECCANI SCUOLA, s.v. “La seconda rivoluzione industriale”,

L'industrializzazione fra XIX e XX secolo, Treccani.

THE MANUFACTURER INDUSTRY 4.0 UK READINESS REPORT,

Callum Bentley, researched by The Manufacturer, Oracle, 2016.

KPMG, The fourth industrial revolution. How does the factory of tomorrow

look like?, Yönetim Danışmanlığı A.Ş., November 2015, KPMG.

PARLAMENTO EUROPEO, Remco Schrijver (VetEffecT), Precision

Agriculture and the Future of Farming in Europe,

EPRS_STU(2016)581892, 2016

IBM-WATSON, Internet of Things Platform

URL: https://www.ibm.com/internet-of-things/platform/watson-iot-

platform/

BORSA ITALIANA, Rivoluzione 4.0

URL: http://www.borsaitaliana.it/notizie/sotto-la-lente/rivoluzione-

252.htm

IBM'S BLUEMIX NOW GENERALLY AVAILABLE - significant

momentum since open

URL: https://www-03.ibm.com/press/us/en/pressrelease/44239.wss

TIM, Tecnologie abilitanti per l’IoT – notiziario tecnico n°3, TelecomItalia,

2016.

Page 128: UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI...UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI FACOLTÀ DI SCIENZE E TECNOLOGIE APPLICATE CORSO DI LAUREA IN INGEGNERIA INFORMATICA TECNOLOGIE

119

URL: http://www.telecomitalia.com/tit/it/notiziariotecnico/edizioni-

2016/n-3-2016/capitolo-4.html

HTML.it, Flow-based Programming

URL: http://www.html.it/pag/51122/flow-based-programming-

introduzione/

IEEE. P2413, Standard for an Architectural Framework for the Internet of

Things (IoT), IEEE Standards Association, 2016

URL: https://standards.ieee.org/develop/project/2413.html