Gam04 introduzione a-netduino_final

211 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
211
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
2
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Gam04 introduzione a-netduino_final

  1. 1. Template designed by Introduzione a Netduino Pierpaolo Paris pierpaolo.paris@gmail.com www.pierpaoloparis.it Template designed by
  2. 2. Template designed by brought to you by
  3. 3. Template designed by Programmatore in .NET. Laureato in Ingegneria Informatica Appassionato al connubio tra elettronica e informatica Attualmente lavoro per Proge-Software S.r.L. chi sono
  4. 4. Template designed by Cos’è Netduino Hardware Programmazione Netduino & Internet of Things agenda
  5. 5. Template designed by Cos’è Netduino Una scheda elettronica di piccole dimensioni Dotata di microcontrollore e circuiteria di contorno Utile per creare dei prototipi per scopi hobbistici e didattici Ne esistono varie versioni, ognuna con caratteristiche hardware (e quindi prezzo) differenti
  6. 6. Template designed by Hardware Netduino 2 Microcontrollore STMicro a 32 bit Processore Cortex-M3 a 120 MHz 192 KB di spazio utilizzabile per il programma 60 KB di RAM
  7. 7. Template designed by Hardware Netduino Plus 2 Microcontrollore STMicro a 32 bit Processore Cortex-M4 a 168 MHz 384 KB di spazio utilizzabile per il programma 100 KB di RAM
  8. 8. Template designed by Hardware Netduino Go Microcontrollore STMicro a 32 bit Processore Cortex-M4 a 168 MHz 384 KB di spazio utilizzabile per il programma 100 KB di RAM 8 porte GoBus I/O addizionale con moduli di espansione
  9. 9. Template designed by Hardware Moduli per Netduino Go Led RGB Potenziometro Shield base Modulo per acquisizione dati Display touch Lista completa su http://wiki.netduino.com/List-of-all-GO-Modules.ashx
  10. 10. Template designed by Da «Structured computer organization», di Andrew S. Tanenbaum: “…programmers had to “squeeze” their programs to fit in small amount of memory” Hardware
  11. 11. Template designed by ……quindi? Cosa ci facciamo con tutti questi gingilli? Semplificando molto la storia: Montiamo il nostro circuito Leggiamo il valore da alcuni sensori Sulla base del valore letto facciamo qualcosa • accendiamo una lucina • azioniamo un motore • apriamo un rubinetto • mandiamo i nostri dati in giro per internet • ……
  12. 12. Template designed by Devo essere un mago dell’elettronica? Proprio un mago no, ma qualche conoscenza di base è fondamentale Concetti come tensione, corrente, potenza, massa devono essere chiari Se il circuito non è chiuso non è un circuito, non funzionerà mai Se applico una tensione troppo alta a diodi, LED, transistor li rompo Un qualunque libro di elettronica di base (anche del liceo) va più che bene
  13. 13. Template designed by Come sviluppo su Netduino? Abbiamo costruito il circuito che salverà il mondo. E ora? Dobbiamo scrivere un programma per pilotarlo Abbiamo bisogno di: Una qualunque versione di Visual Studio 2010 o 2012 • Anche la Express va benissimo Il .NET Micro Framework Netduino SDK
  14. 14. Template designed by Come sviluppo su Netduino? Una volta installato Visual Studio, il .NET MF e l’SDK andiamo a creare un nuovo progetto Abbiamo una serie di template già pronti, a seconda di quello che vogliamo fare Si programma in C#, anche se in versione «ridotta» http://msdn.microsoft.com/en-us/library/ee435793.aspx
  15. 15. demo Blinking led
  16. 16. Template designed by Abbiamo acceso e spento ripetutamente un LED Attendere 1 secondo per continuare a eseguire il programma non è il massimo Mentre attendiamo di accendere o spegnere il LED potremmo avere la necessità di fare altro Netduino eccelle in responsività delle applicazioni, ma sta a noi fare in modo che questo accada Entusiasmante, no?
  17. 17. Template designed by Su Netduino possiamo usare i thread In breve: suddividiamo il nostro programma in segmenti più o meno indipendenti I segmenti vengono eseguiti in maniera concorrente (fin quando possibile) La trattazione dei thread esula dagli scopi di questo speech Thread
  18. 18. Template designed by Cosa ci possiamo fare? L’unico limite è la nostra fantasia ……e la sensatezza delle idee Per farsi un’idea delle potenzialità di questo strumento potete fare riferimento a queste pagine: http://netduino.com/projects/ http://forums.netduino.com/index.php?/forum/15-project- showcase/
  19. 19. demo Alcol test
  20. 20. Template designed by Internet of Things Si fa un gran parlare di Internet of Things, ma cos’è esattamente?
  21. 21. Template designed by Estensione di internet ai dispositivi, di qualunque genere Sensori, ma anche semafori, frigoriferi, lavatrici….. I dispositivi comunicano i propri dati all’esterno, e usano dati aggregati provenienti da altri dispositivi I dispositivi finora passivi diventano attivi Big data + smart energy = love Internet of Things
  22. 22. Template designed by Netduino & IoT La Netduino Plus 2 ha una porta Ethernet Possiamo collegarla ad una rete ……quindi anche ad Internet Collegando la scheda ad Internet possiamo dare il nostro piccolo contributo alla IoT Come? In tanti modi, per esempio servendosi di Xively
  23. 23. Template designed by Xively E’ un PaaS Offre un servizio di database online Possiamo inviargli i dati provenienti dai nostri dispositivi e costruire applicazioni basate su questi dati Possiamo monitorare i dati online, e se vogliamo può farlo chiunque
  24. 24. Template designed by La nostra azienda ci tiene molto a far sapere al mondo la qualità (temperatura, umidità, silenzio, illuminazione) dei propri ambienti…… ….oppure vuole far sapere al mondo che è attenta al risparmio energetico, e che di notte le luci sono tutte spente Xively ci permette di fare tutto questo Xively nel mondo reale
  25. 25. Template designed by Xively ……e non finisce qui Embedding di grafici e widget in siti web Analisi dei dati storici Invio di alert a script di controllo In pratica Misurazione del consumo energetico Raccolta dati da stazioni meteo Building monitoring system
  26. 26. Template designed by Xively Tutto quello che dobbiamo fare è registrarci Aggiungere un dispositivo Prendere nota delle chiavi (id del feed e API key) Servono a Xively per accettare i nostri dati Una volta ottenute le chiavi possiamo dialogare con Xively attraverso semplici richieste e risposte HTTP Si può comunque usare anche il protocollo MQTT
  27. 27. Template designed by Netduino & Xively Vediamo come far interagire Netduino e Xively Se i videogiochi ci hanno insegnato qualcosa, ci hanno insegnato che il modo migliore per difenderci da un’invasione di Zombie è tenere sempre in forma le nostre piantine Noi abbiamo molta cura delle nostre piante, gli diamo sempre l’acqua di cui hanno bisogno quando ne hanno bisogno…. ….e vogliamo che il mondo lo sappia
  28. 28. demo Netduino contro Zombie
  29. 29. Template designed by Cloud La strabiliante potenza di calcolo non ci permette di fare analisi su una gran mole di dati Non abbiamo neanche lo spazio fisico per immagazzinarli Il cloud ci dà scalabilità e affidabilità Possiamo creare un web service su Cloud che fa tutto quanto Non dobbiamo fare altro che recuperare il risultato delle elaborazioni
  30. 30. Template designed by Client o server? Finora Netduino è stato un client di un servizio Può rivestire anche il ruolo di server Pensando ad un server pensiamo ad una macchina costosa, in un datacenter da qualche parte nel mondo Non certo ad un PC dalle basse prestazioni Figuriamoci se pensiamo che un device con 168 Mhz di CPU possa fare da server
  31. 31. Template designed by Un server (o una batteria di server) ha tipicamente un IP pubblico, con cui tutti possono raggiungerlo Netduino no (firewall, NAT….tutte cose che ci mettono i bastoni fra le ruote) C’è comunque un modo molto semplice per trasformare Netduino in un server In questo modo potremmo accendere i riscaldamenti di casa via internet, mentre siamo in viaggio Netduino come server
  32. 32. Template designed by Quello che ci serve è un relay tra Netduino e il client che vuole inviare comandi Questo relay ha un nome (ma non un cognome): Yaler (www.yaler.org) Richiede un sistema di autorizzazione simile a Xively Mandiamo a Yaler le richieste che vogliamo mandare a Netduino («accendi i riscaldamenti», «c’è roba scaduta in frigo?») Yaler
  33. 33. Template designed by Yaler
  34. 34. Template designed by Connectivity as a service (accesso sicuro, via SSH, al nostro dispositivo) Funziona con qualunque dispositivo che fornisce un socket TCP Accesso tramite URL Affidabilità e scalabilità garantite dall’infrastruttura di Yaler Dobbiamo preoccuparci solamente della nostra applicazione Yaler
  35. 35. Template designed by Per approfondire http://www.pierpaoloparis.it/category/netduino/
  36. 36. Template designed by Letture utili Getting started with Netduino (Chris Walker - O’ Reilly)
  37. 37. Template designed by Letture utili Getting started with Internet of Things (Cuno Pfister - O’ Reilly)
  38. 38. Template designed by Letture utili Netduino Home Automation Projects (Matt Cavanagh - Packt publishing)
  39. 39. Template designed by /pierpaoloparis.it /mugromatre #netduino_dnc2014 The social slide
  40. 40. Template designed by Grazie a tutti per la partecipazione Riceverete il link per il download a slide e demo via email nei prossimi giorni Per contattarmi pierpaolo.paris@gmail.com Grazie

×