Linux Android e Internet of Things ITIS G

  • Slides: 64
Download presentation
Linux, Android e Internet of Things ITIS G. Galilei - San Secondo (PR)

Linux, Android e Internet of Things ITIS G. Galilei - San Secondo (PR)

Cosa vuole essere un “Coding. Gym” WHAT’S THIS? Corso di 20 ore frontali rivolto

Cosa vuole essere un “Coding. Gym” WHAT’S THIS? Corso di 20 ore frontali rivolto principalmente a docenti del settore ICT. Questo corso vuole essere una base di partenza per lo studio e l’utilizzo di nuove tecnologie che stanno sviluppandosi oggi giorno. L’idea è sviluppare le lezioni come un Code. Dojo, ma rivolto a persone già con competenze informatiche. HOW CAN I USE IT? ● Base per ricerca ed integrazione successiva ● Base per future lezioni ● Lezione condivisa ● Rinforzo di basi tecnologiche FORSE NON SAPEVI CHE. . . Coder. Dojo è un movimento rivolto soprattutto ai bambini. Coder. Dojo è una palestra, un luogo di apprendimento per scoprire i segreti della programmazione, ma non solo. “Coding”, ossia programmare con i linguaggi che strutturano la base di ogni sistema informatico; ” “dojo” proviene invece dalla tradizione giapponese e vuol dire “luogo della via” ossia non una semplice palestra bensì un luogo in cui apprendere una mentalità, un modo di rapportarsi con computer e strumenti tecnologici che sempre di più influenzano la vita quotidiana di ognuno.

Chi sono I am Mirko Mancin Sono un Ph. D. Student presso il laboratorio

Chi sono I am Mirko Mancin Sono un Ph. D. Student presso il laboratorio WASNLab dell’Universtià di Parma e dal 2013 sono consulente ICT con alcuni progetti in attivo con diverse aziende del territorio. Contatti: mirko. mancin@gmail. com mancio 90 @loweherz 90 loweherz WEB: http: //mancio. myds. me dove trovare le slide ● https: //www. slideshare. net/mancio 90/ Except where otherwise noted, content on this site is licensed under a Creative Commons Attribution 4. 0 International license.

1 LINUX Let’s start with the first set of slides

1 LINUX Let’s start with the first set of slides

Linux “Linux è una famiglia di sistemi operativi di tipo Unix-like, rilasciati sotto varie

Linux “Linux è una famiglia di sistemi operativi di tipo Unix-like, rilasciati sotto varie possibili distribuzioni, aventi la caratteristica comune di utilizzare come nucleo il kernel Linux. L'ultima versione stabile del kernel Linux è la 3. 18. 3 ed è stata resa disponibile al pubblico il 15 gennaio 2015. Grazie alla portabilità del kernel Linux sono stati sviluppati sistemi operativi Linux per un'ampia gamma di dispositivi: ▪ personal computer ▪ cellulari ▪ tablet computer e console ▪ mainframe ▪ supercomputer ed esistono sistemi Linux installabili anche come server, router e sistemi embedded. ” WIKIPEDIA

Linux - l’architettura di Unix

Linux - l’architettura di Unix

Linux - caratteristiche Unix è stato creato per grandi sistemi multiutente. Multiutente e sicuro:

Linux - caratteristiche Unix è stato creato per grandi sistemi multiutente. Multiutente e sicuro: Utenti normali non possono modificare i file degli altri (di default). In particolare, utenti normali non possono modificare impostazioni di sistema, né cancellare programmi, etc. root: utente amministratore con tutti i privilegi Caratteristiche principali: ● Multi tasking ● Supporto per multi processori ● Estremamente flessibile ● Interfaccia grafica (X Window) ● Supporto della rete ● Portabilità ● Scalabilità

Linux - il progetto GNU = GNU Non è Unix (un acronimo ricorsivo!) Progetto

Linux - il progetto GNU = GNU Non è Unix (un acronimo ricorsivo!) Progetto per implementare un sistema operativo come Unix, completamente libero Iniziato da Richard Stallman nel 1984, un ricercatore del MIT, in un periodo in cui i sorgenti di Unix non erano più liberi Componenti iniziali: compilatore C (gcc), make (GNU make), Emacs, libreria C (glibc), coreutils (ls, cp. . . ) Comunque, nel 1991, il progetto GNU non aveva ancora un kernel e veniva eseguito su macchine Unix proprietarie. Kernel libero, tipo Unix creato nel 1991 da Linus Torvalds. L'intero sistema usa i tool della GNU: libreria C, gcc, binutils, fileutils, make, emacs. . . Così l'intero sistema si chiama “GNU/Linux” Condiviso dall'inizio come software libero (licenza GPL), ha attirato sempre più contributi e utenti. Dal 1991, sta crescendo più velocemente di qualsiasi altro sistema operativo.

Linux - Distribuzioni GNU/LINUX Le comunità linux si occupano di rilasciare versioni compatibili con

Linux - Distribuzioni GNU/LINUX Le comunità linux si occupano di rilasciare versioni compatibili con il kernel, librerie C, compilatori e diversi programmi utili. . . veramente un grosso lavoro!!! I programmi sono disponibili in pacchetti che possono essere facilmente installati, rimossi o aggiornati. La dipendenza dalle varie versioni è gestita automaticamente. ● Distribuzioni Commerciali: includono l'assistenza. I sorgenti sono liberi, ma i binari di solito no. ● Distribuzioni Community: sia i sorgenti che i binari sono liberi. Nessuna assistenza di solito. Non confondete la versione della distribuzione con la versione del kernel di Linux!

Linux - Distribuzioni commerciali Red Hat: http: //www. redhat. com/ La più popolare. Affidabile,

Linux - Distribuzioni commerciali Red Hat: http: //www. redhat. com/ La più popolare. Affidabile, sicura, facile da usare e da installare, supportata da tutti i venditori di hardware e software. Suse (Novell): http: //www. suse. com/ La principale alternativa. Facile da installare e da usare, stabile. supportata da tutti i venditori di hardware e software. Mandriva (ex Mandrake): http: //mandriva. com/ Facile da usare e da installare, più aggiornata ma meno stabile Più orientata ad utenti individuali. Poco supporto da parte del venditore.

Linux - Distribuzioni community Fedora Core: https: //getfedora. org/ Stabile, sicura, facile da usare

Linux - Distribuzioni community Fedora Core: https: //getfedora. org/ Stabile, sicura, facile da usare e da installare. Frequenti aggiornamenti. Ubuntu Linux: http: //www. ubuntu it. org/ Distribuzione in crescita. Basata su Debian ma rilascia una nuova versione ogni 6 mesi. Facile da usare. Ottima per chi inizia. Debian: http: //debian. org/ Molto stabile e sicura, ma più difficile da configurare e installare. Buona per gli sviluppatori, ma non ancora per gli utenti. Le nuove versioni non sono abbastanza frequenti (ogni 2 o 3 anni).

Linux - Distribuzioni. . . Linux è un progetto libero e aperto ai contributi

Linux - Distribuzioni. . . Linux è un progetto libero e aperto ai contributi esterni (fondamentali). Esistono centinaia di distribuzioni (”distro”): sono sistemi operativi pronti all'uso, basati sul kernel Linux, che comprendono utility e suite di applicazioni.

Linux - Distribuzioni. . . Linux è un progetto libero e aperto ai (fondamentali)

Linux - Distribuzioni. . . Linux è un progetto libero e aperto ai (fondamentali) contributi esterni. Esistono centinaia di distribuzioni (”distro”): sono sistemi operativi pronti all'uso, basati sul kernel Linux, che comprendono utility e suite di applicazioni.

Linux - Distribuzioni Embedded In informatica con Embedded Linux ci si riferisce a quell'insieme

Linux - Distribuzioni Embedded In informatica con Embedded Linux ci si riferisce a quell'insieme di distribuzioni linux concepite per essere utilizzate su sistemi embedded. Le caratteristiche principali di tali sistemi impongono dei vincoli molto severi al sistema operativo in termini di memoria flash occupata, memoria centrale necessaria, tempi di avvio brevi. WIKIPEDIA Alcune distribuzioni: ● ● ● Debian Embedded Open. WRT Angstrom Zeroshell Yocto ● Ubuntu Core Snappy (ad hoc per Io. T) (link)

Linux - Mettiamoci le mani sopra!!

Linux - Mettiamoci le mani sopra!!

Linux - Tutto è un file ● I file sono regolari ed i nomi

Linux - Tutto è un file ● I file sono regolari ed i nomi dei file sono CASE SENSITIVE ● Le directory sono semplicemente file che elencano un insieme di file ● Link simbolici = File che si riferiscono al nome di un altro file ● Device e periferiche = Leggi e scrivi da dispositivi come fossero file regolari ● Pipe “|” = Usati per mettere in sequenza programmi es: cat *. log | grep error ● Socket = Comunicazione tra processi

Linux - La shell ● E’ un programma che permette agli utenti di comunicare

Linux - La shell ● E’ un programma che permette agli utenti di comunicare con il sistema attraverso una serie di comandi e di avviare altri programmi da linea di comando (CLI, Command Line Interface). ● Nei sistemi embedded Linux (e non solo) l'interfaccia grafica non è quasi mai disponibile. ● E' però sempre disponibile la shell, a cui possiamo accedere via tastiera e monitor, via seriale (in windows COM 1, ecc. . . , in linux /dev/tty. Sx) o via rete (es. Ethernet). ● In Linux: bash (Bourne again shell).

Linux - ESEMPIO

Linux - ESEMPIO

Linux - accedere al filesystem Filesystem: come sono memorizzati i dati in un dispositivo

Linux - accedere al filesystem Filesystem: come sono memorizzati i dati in un dispositivo (hard disk, dvd, ecc. . . ). Esistono diversi tipi di file system (NTFS, ext 4, ecc. . . ) ma tutti organizzano il contenuto dei dischi con una struttura ad albero con radice / (root) , nodi (directory) e foglie (file).

Linux - accedere al filesystem Il prompt: username@my-laptop: ~$ Dove sono? pwd Cosa contiene

Linux - accedere al filesystem Il prompt: username@my-laptop: ~$ Dove sono? pwd Cosa contiene la cartella corrente? ls ▪ ▪

Linux - accedere al filesystem ● Cambiare directory: cd, ○ Es: cd dir, cd.

Linux - accedere al filesystem ● Cambiare directory: cd, ○ Es: cd dir, cd. . , cd / (. . e. = file speciali che rappresentano la directory padre e la directory corrente, rispettivamente) ● Creare una directory vuota: mkdir ● Creare un file vuoto: touch ● Cancellare un file: rm ● Cancellare una directory: rm -r ● Copiare un file o directory: cp [-r] ● Spostare (e rinominare): mv ● Creare un collegamento: ln -s In Linux un collegamento così creato viene chiamato soft, ovvero simbolico. Funziona sia per i file che per le directory. I collegamenti sono trasparenti ai comandi. ● Cambiare i permessi, il gruppo o il proprietario di un file: ○ chmod XYZ <filename> ○ chown <owner> <file> ○ chgrp <group> <file> ATTENZIONE: I file e le directory che iniziano con. sono invisibili all'utente (per visualizzarli ls a)

Linux - in generale. . . nome -opzioni argomenti esempio: ls -l temp. txt

Linux - in generale. . . nome -opzioni argomenti esempio: ls -l temp. txt convenzione nella sintassi dei comandi: ● se un’opzione/argomento può essere omesso, si mette tra quadre: [opzione] ● se due opzioni/argomenti sono mutamente esclusivi, vengono separati da |: arg 1 | arg 2 ● quando un argomento può essere ripetuto n volte, si aggiungono tre puntini dopo tale argomento: arg. . . PER ALTRI COMANDI VEDERE LA SEGUENTE GUIDA: http: //sisinflab. poliba. it/giannini/SO/Comandi_shell_bash. pdf

Linux - SUDO Sudo (Superuser Do) e' uno strumento che consente all'amministratore di sistema

Linux - SUDO Sudo (Superuser Do) e' uno strumento che consente all'amministratore di sistema di attribuire ad utenti o gruppi specifici la facolta' di eseguire determinati comandi con i privilegi di superuser (root) o un utente diverso pur non essendo a conoscenza della relativa password. Su alcuni sistemi (come ad esempio Slackware) solamente l'utente root puo' riavviare/spegnere la macchina ed in questo caso potremo utilizzare sudo permettere ad un utente 'generico' di far ciò. Oppure in Ubuntu per esempio, non si puo' accedere direttamente al sistema con l'utente root ma e' necessario loggarsi con un utente non privilegiato ed utilizzare il comando sudo per eseguire manzioni amministrative. L'applicazione e' in grado di registrare sia i comandi che gli argomenti digitati dagli utenti. Questa applicazione è disponibile per tutte le distribuzioni e non sara' quindi un problema installarlo. Con ubuntu/debian basterà digitare (come utente root): apt-get install sudo Per configurarlo è necessario editare il file 'sudoers' tramite un apposito editor (esempio ‘nano’).

Linux - ESERCIZIO 1. a. b. c. d. e. f. g. Creare un file

Linux - ESERCIZIO 1. a. b. c. d. e. f. g. Creare un file Creare una directory Creare all'interno della directory un collegameno al file creato Verificare il collegamento con ls <. . . > Creare un file nascosto Verificare con ls <. . . > Cancellare tutto.

Linux - ESERCIZIO 2. a. All'interno della vostra home directory create due directory denominate

Linux - ESERCIZIO 2. a. All'interno della vostra home directory create due directory denominate “uno” e “due”. b. Copiate il file /etc/profile nella directory uno, conservandone il nome. c. Copiate il file /etc/profile nella directory due cambiandone il nome in copia profile. d. Spostate il file profile nella directory due ed il file copia profile nella directory uno. e. Cancellate i due file con uno stesso comando. f. Cancellate le due directory vuote. g. Verificate il funzionamento di touch per la modifica dell'orario di ultimo accesso e per la creazione di un file vuoto

Linux - installazione dei pacchetti Il metodo più diffuso per installare un programma è

Linux - installazione dei pacchetti Il metodo più diffuso per installare un programma è utilizzando uno dei gestori di pacchetti offerti dalla distribuzione che si sta utilizzando. ● Ubuntu/Debian ○ Modalità grafica: Software Center / Synaptic ○ Modalità testuale: Aptitude / apt get ● Fedora ○ Modalità grafica: Package. Kit ○ Modalità testuale: yum ● Open. WRT ○ Modalità testuale: opkg Tuttavia, benché gli archivi dei pacchetti sono molto vasti, è possibile che un programma che si desideri installare non sia disponibile negli archivi di Ubuntu. Quando questo si verifica è possibile scaricare dal web il pacchetto e installarlo successivamente.

Linux - installazione dei pacchetti. deb Questi file sono i pacchetti Debian. I pacchetti

Linux - installazione dei pacchetti. deb Questi file sono i pacchetti Debian. I pacchetti associati con Ubuntu hanno come estensione. deb, data la stretta relazione di Ubuntu con la distribuzione Debian. Per installare un file. deb sono necessari i privilegi di amministratore. 1. Per installare un file. deb, fare doppio clic su di esso e poi selezionare Installa pacchetto. 2. In alternativa è possibile installare un file. deb da un terminale digitando: sudo dpkg -i pacchetto_file. deb 3. Per rimuovere un pacchetto. deb deselezionarlo all'interno del gestore di pacchetti oppure da un terminale digitare: sudo dpkg -r nome_pacchetto

Linux - installazione dei pacchetti. rpm Un altro tipo di pacchetto è il Red

Linux - installazione dei pacchetti. rpm Un altro tipo di pacchetto è il Red Hat Package Manager la cui estensione è. rpm. Un. rpm può essere convertito in un. deb per Ubuntu utilizzando il programma alien. 1. Installare il programma alien (per Ubuntu/Debian: sudo apt-get install alien) 2. In un terminale eseguire, con privilegi di amministratore, il seguente comando: sudo alien file_del_pacchetto. rpm

Linux - installare un tarball o uno zip I file con estensione. tar. gz

Linux - installare un tarball o uno zip I file con estensione. tar. gz o. tar. bz 2 sono pacchetti conosciuti come tarball, molto in uso in Linux e Unix. Se non esiste un pacchetto per Ubuntu in nessuno dei repository di Ubuntu, è possibile installare e disinstallare un tarball dalla riga di comando seguendo le istruzioni fornite con ciascun pacchetto. I tarball solitamente contengono il codice sorgente del programma e devono quindi essere compilati per poterli utilizzare. Per fare questo è necessario del software aggiuntivo. Per estrarre questi archivi ci sono i seguenti comandi: ● ZIP > unzip archive_name. zip ● TAR. GZ > tar -zxvf archive_name. tar. gz ● TAR. BZ 2 > tar -jxvf archive_name. tar. bz 2

Linux - esercizio Installare un pacchetto a piacere da command line e/o da packet

Linux - esercizio Installare un pacchetto a piacere da command line e/o da packet manager ● ● ● Editor di testo (gedit, kate) Tool di sviluppo (java, python) IDE (Arduino, Eclipse) Codec e player video (vlc) Gestore di immagini (gimp) Programmi di file sharing (amule, jdownloader) Provare: ▪ ▪ ARDUINO IDE http: //arduino. cc/en/Main/Software VLC http: //mirrors. kernel. org/ubuntu/pool/universe/v/vlc_2. 0. 8 0 ubuntu 0. 12. 04. 1_i 386. deb

2 Concetti di reti Lo stack ISO/OSI, i protocolli di rete e verso le

2 Concetti di reti Lo stack ISO/OSI, i protocolli di rete e verso le nuvole. . .

Lo stack protocollare

Lo stack protocollare

I protocolli su internet

I protocolli su internet

I protocolli su internet - esempi

I protocolli su internet - esempi

Indirizzo IP ● Cos’è un indirizzo IP? L'identificazione dei dispositivi di rete su Internet

Indirizzo IP ● Cos’è un indirizzo IP? L'identificazione dei dispositivi di rete su Internet e all'interno delle reti domestiche è affidata al protocollo IP. ● IP Pubblico e IP Privato Un IP pubblico o esterno è un codice identificativo univoco che l'ISP (Internet provider service, fornitore dei servizi Internet) assegna ad ogni utente appartenente alla sua rete. È utilizzato per identificare la rete casalinga (composta da uno o più dispositivi di rete) in Internet e permette, ad esempio, di mettere in comunicazione due computer (client e server o due nodi paritari all'interno di una rete peer to peer) non appartenenti alla stessa LAN. Gli indirizzi IP sono utilizzati anche per identificare i dispositivi di rete appartenenti ad una stessa Local Area Network. In questo caso si parlerà, però, di IP privato. L'assegnazione degli indirizzi è deputata al router e può avvenire in maniera automatica (attraverso il protocollo DHCP) oppure manuale, ad opera del gestore della rete locale. Questo permette di identificare univocamente ogni dispositivo di rete all'interno di una rete locale, ma non al suo esterno: i blocchi di indirizzi IP privati sono comuni a tutti i router del mercato e uno stesso indirizzo può essere utilizzato per identificare dispositivi di rete diversi, purché si trovino collegati a network differenti. ● Dove trovo l’indirizzo IP del mio PC/Device? $ifconfig ● Dove trovo il mio indirizzo pubblico? http: //www. mio-ip. it/

Porte Le porte sono lo strumento utilizzato per realizzare la multiplazione delle connessioni a

Porte Le porte sono lo strumento utilizzato per realizzare la multiplazione delle connessioni a livello di trasporto, ovvero permettere ad un calcolatore di effettuare più connessioni contemporanee verso altri calcolatori, facendo in modo che i dati contenuti nei pacchetti in arrivo vengano indirizzati al processo che li sta aspettando. LISTA PORTE STANDARD Port 20 21 22 23 25 53 80 111 443 Service ftp-data ssh telnet smtp domain http pop 3 nfs ssl Protocol TCP/UDP TCP TCP Descrizione File Transfer Protocol (TCP) – Default Data File Transfer Protocol (TCP) – Control Secure Shell (SSH) – Remote Login Protocol Telnet Simple Mail Transfer Protocol (SMTP) Domain Name Service (DNS) Hypertext Transfer Protocol (HTTP) Post Office Protocol Version 3 (POP 3) NFS Hypertext Transfer Protocol over TLS/SSL Le porte superiori a 1024 sono disponibili per applicazioni personalizzate non riconosciute dallo IANA.

Utilizzo del protocollo SSH L'SSH un protocollo che permette di collegarsi ad una macchina

Utilizzo del protocollo SSH L'SSH un protocollo che permette di collegarsi ad una macchina in maniera sicura ed averne un controllo totale. Per collegarsi in SSH è necessario utilizzare software appositi, a seconda del sistema operativo che viene utilizzato sul proprio computer locale. Per connettersi in SSH sulla macchina, è necessario disporre di due informazioni: ● Ip della macchina (o il nome della macchina), ● L’username e la password della macchina. Esempio di collegamento con Open. SSH: $ ssh root@bmw The authenticity of host 'bmw (213. 186. 32. 1)' can't be established. RSA key fingerprint is a 9: bb: 55: 35: 86: 4 d: ca: 81: 7 f: 9 e: 2 b: 2 c: 79: 10: 96: 3 c. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added 'bmw, 213. 186. 32. 1' (RSA) to the list of known hosts. Password: $ Quando ci si collega, il vostro client SSH riceve una RSA key fingerprint che è la chiave digitale del server su cui si effettua la connessione. Questa chiave sarà verificata ad ogni nuova connessione. Se viene modificata sarete informati, ma questo significa anche è cambiato qualcosa nella macchina: la macchina è stata reinstallata, il server ssh è stato reinstallato, vi state collegando da un'altra macchina. Alla prima connessione dovete accettare la memorizzazione della chiave digitale sul vostro posto di lavoro nel client SSH.

Utilizzo del protocollo SSH Su Windows ● Putty (gratuito). Per saperne di più, potete

Utilizzo del protocollo SSH Su Windows ● Putty (gratuito). Per saperne di più, potete consultare la guida sull'Utilizzo di Putty. ● Securecrt (a pagamento). Su Macintosh ● Nifty. Telnet 1. 1 SSH. ● Data. Comet. Il terminale viene fornito con Mac OSX ed è sempre installato sul disco. Potete trovare alcune informazioni a questo link. Su Linux ● Open. SSH (gratuito). ● La shell di Linux.

. . . sulle nuvole. . . Cloud Computing In informatica con il termine

. . . sulle nuvole. . . Cloud Computing In informatica con il termine inglese cloud computing (in italiano nuvola informatica) si indica un insieme di tecnologie che permettono, tipicamente sotto forma di un servizio offerto da un provider al cliente, di memorizzare/archiviare e/o elaborare dati (tramite CPU o software) grazie all'utilizzo di risorse hardware/software distribuite e virtualizzate in Rete in un'architettura tipica client-server. (Wikipedia) ?

. . . sulle nuvole. . . Cloud Computing ● Saa. S (Software as

. . . sulle nuvole. . . Cloud Computing ● Saa. S (Software as a Service) Consiste nell'utilizzo di programmi installati su un server remoto, cioè fuori dal computer fisico o dalla LAN locale, spesso attraverso un server web. Questo acronimo condivide in parte la filosofia di un termine oggi in disuso, ASP (Application service provider). ● Daa. S (Data as a Service) Con questo servizio vengono messi a disposizione via web solamente i dati ai quali gli utenti possono accedere tramite qualsiasi applicazione come se fossero residenti su un disco locale. ● Haa. S (Hardware as a Service) Con questo servizio l'utente invia dati a un computer che vengono elaborati da computer messi a disposizione e restituiti all'utente iniziale. ● Paa. S (Platform as a Service) Invece che uno o più programmi singoli, viene eseguita in remoto una piattaforma software che può essere costituita da diversi servizi, programmi, librerie, etc. ● Iaa. S (Infrastructure as a Service) Utilizzo di risorse hardware o virtuali in remoto. La caratteristica dello Iaa. S è che le risorse vengono istanziate su richiesta o domanda al momento in cui una piattaforma ne ha bisogno.

Linux - ESEMPIO Amazon Web Service http: //aws. amazon. com/ Azure Microsoft https: //manage.

Linux - ESEMPIO Amazon Web Service http: //aws. amazon. com/ Azure Microsoft https: //manage. windowsazure. com/

3 Internet of Things Tutti ne parlano… ma cos’è questo Internet delle cose?

3 Internet of Things Tutti ne parlano… ma cos’è questo Internet delle cose?

Internet of Things • Evoluzione di Internet per la connessione in rete di piccoli

Internet of Things • Evoluzione di Internet per la connessione in rete di piccoli dispositivi intelligenti • Fattori evolutivi di Io. T • tecnologie diverse tra loro devono essere in grado di comunicare in modo trasparente • enorme quantità di informazione a disposizione (social network, sensori, attuatori, ecc. ) • necessità di maggiore connettività • Uso di IP

Internet of Things

Internet of Things

Services (Mobility, Energy Efficiency, Monitoring, Security, etc. . ) Data Collection & Processing (Business

Services (Mobility, Energy Efficiency, Monitoring, Security, etc. . ) Data Collection & Processing (Business Intelligence, Data Mining, Data Aggregation, etc. . . ) Smart Objects (Data producers and Data Consumers) Integrated, Shared & Seamless Connectivity (Wi. Fi, Zig. Bee/802. 15. 4, 3 G/LTE) Security for Authorization for multiple accesses Internet of Things - Visione

Internet of Things

Internet of Things

Internet of Things - protocolli applicativi ● Co. AP: Constrained Application Protocol E’ utilizzato

Internet of Things - protocolli applicativi ● Co. AP: Constrained Application Protocol E’ utilizzato per sensori e device con risorse limitate in termini di risorse e potenza collegati in rete. ● XMPP (Extensible Messaging and Presence Protocol) E’ un insieme di protocolli aperti di messaggistica istantanea e presenza basato su XML. Nasce per applicativi di Instant Messaging, ma può esserte utilizzato anche in Io. T. ● MQ Telemetry Transport E’ adatto all’IOT perchè è stato progettato per minimizzare il comsumo di energia e la dimensione dei pacchetti scambiati.

Internet of Things - formati dati: JSON E’ un formato dati testuale basato su

Internet of Things - formati dati: JSON E’ un formato dati testuale basato su struttura chiave-valore. Si è diffuso dal 2005 ed è diventato una valida alternativa all’XML perchè è semplice, leggibile e sintetico. Parking Slot Noise

Internet of Things - formati dati: JSON http: //www. json. org/

Internet of Things - formati dati: JSON http: //www. json. org/

Internet of Things - formati dati: JSON Tipi di dato supportati: ● Numeri: interi

Internet of Things - formati dati: JSON Tipi di dato supportati: ● Numeri: interi e decimali ● Boolean: true, false ● Stringhe: delimitate dalle virgolette (“) ● Array: di dati primitivi e oggetti complessi E’ language-indipendent, ogni linguaggio ha metodi per: ● Serializzare: trasformare oggetti, strutture dati e variabili in una stringa JSON ● Deserializzare: trasformare una stringa JSON in oggetti o strutture dati del linguaggio che stiamo utilizzando (PHP, Javascript).

Internet of Things

Internet of Things

Internet of Things ● Smart Parking - rete di sensori intelligenti per monitoraggio dei

Internet of Things ● Smart Parking - rete di sensori intelligenti per monitoraggio dei parcheggi

Internet of Things ● Smart Toys - giocattoli intelligenti per interazione in parchi di

Internet of Things ● Smart Toys - giocattoli intelligenti per interazione in parchi di divertimento o ambienti casalinghi

Internet of Things ● Smart Plants - Sensori per il monitoraggio di piante e

Internet of Things ● Smart Plants - Sensori per il monitoraggio di piante e giardini

Internet of Things ● Smart Home Building - rete eterogenea di dispositivi per l’automazione

Internet of Things ● Smart Home Building - rete eterogenea di dispositivi per l’automazione avanzata di dispositivi

Internet of Things ● Smart City - una città sostenibile rivolta ai cittadini come

Internet of Things ● Smart City - una città sostenibile rivolta ai cittadini come insieme di molteplici infrastrutture e servizi intelligenti (citizen in the loop)

Internet of Things - Smart Object

Internet of Things - Smart Object

Internet of Things - Smart Object

Internet of Things - Smart Object

Voilà Demo Arduino Node DHT 22 (Temperature + Humidity) Arduino Node Sound Sensor Arduino

Voilà Demo Arduino Node DHT 22 (Temperature + Humidity) Arduino Node Sound Sensor Arduino Node Light Sensor Service Discovery Join Service Advertisement Io. T Hub Smart Display Update Data Fetcher Service Discovery Data Fetching

Thanks! ANY QUESTIONS? You can find me at: mirko. mancin@gmail. com

Thanks! ANY QUESTIONS? You can find me at: mirko. mancin@gmail. com

CREDITS Special thanks to all the people who made and released these awesome resources

CREDITS Special thanks to all the people who made and released these awesome resources for free: ▪ Busy Icons by Olly Holovchenko ▪ Presentation template by Slides. Carnival ▪ Photographs by Unsplash ▪ Source slide ▪ http: //wasnlab. tlc. unipr. it This template is free to use under Creative Commons Attribution license. If you use the graphic assets (photos, icons and typographies) provided with this presentation you must keep the Credits slide.