progettare e realizzare con raspberry - lo stretto digitale

17
Workshop su «Internet delle cose» Progettare e realizzare con Raspberry Messina – 11 ottobre 2014

Upload: lostrettodigitale

Post on 27-Jun-2015

381 views

Category:

Engineering


1 download

DESCRIPTION

Lo Stretto Digitale - Workshops 2014 - "Internet of things"

TRANSCRIPT

Page 1: Progettare e realizzare con Raspberry - Lo stretto digitale

Workshop su «Internet delle cose»

Progettare e realizzare con Raspberry

Messina – 11 ottobre 2014

Page 2: Progettare e realizzare con Raspberry - Lo stretto digitale

Workshop su «Internet delle cose»

Raspberry pi:• Single-board computer;• Linuk-based;• General purpose I/O;• +3,5 milioni venduti.

Messina – 11 ottobre 2014

Page 3: Progettare e realizzare con Raspberry - Lo stretto digitale

Workshop su «Internet delle cose»

Messina – 11 ottobre 2014

• Prototipizzato nel 2006 da Bate Upton• In vendita dal 2012

Page 4: Progettare e realizzare con Raspberry - Lo stretto digitale

Workshop su «Internet delle cose»

Messina – 11 ottobre 2014

Model A Model B Model B+

RAM 256Mb 512Mb 512Mb

USB port 1 2 4

Ethernet NO 1 1

GPIO 26 26 40

Boot SD SD Micro-SD

Prezzo €19,25 €32,99 €32,99

Confronto tra i vari modelli di Raspberry

Page 5: Progettare e realizzare con Raspberry - Lo stretto digitale

Workshop su «Internet delle cose»

Raspberry pi model B:• 26 GPIO;• Alim. 2 a 3.3v e 2 a 5v;• 5 GND;• 17 I/O.

Messina – 11 ottobre 2014

Page 6: Progettare e realizzare con Raspberry - Lo stretto digitale

Workshop su «Internet delle cose»

Raspberry pi model B:• PI sta per python, linguaggio di

programmazione principale;• Grazie alla community sono disponibili

porting in C, C++, Java, Ruby, Php, ecc.;• GPIO programmabili da linea di comando.

Messina – 11 ottobre 2014

Page 7: Progettare e realizzare con Raspberry - Lo stretto digitale

Workshop su «Internet delle cose»

Accessori:• Camera;• Wifi;• Development board;• Sensori;• Display;• http://www.adafruit.com/category/105

Messina – 11 ottobre 2014

Page 8: Progettare e realizzare con Raspberry - Lo stretto digitale

Workshop su «Internet delle cose»

Esempio applicativo:Controllare una lampada tramite web

Messina – 11 ottobre 2014

Page 9: Progettare e realizzare con Raspberry - Lo stretto digitale

Workshop su «Internet delle cose»

Esempio applicativo:Controllare una lampada tramite web

Messina – 11 ottobre 2014

Tramite un apposito relè è possibile aprire e chiudere un circuito utilizzando i 3.3v di tensione forniti dal pin 1 del raspberry.

Applicazioni:• Controllo lampadine;• Controllo tapparelle motorizzate;• Controllo apertura cancelli/garage;• Controllo di tutti gli apparecchi elettronici.

Page 10: Progettare e realizzare con Raspberry - Lo stretto digitale

Workshop su «Internet delle cose»

Esempio applicativo:Controllare una lampada tramite web

Messina – 11 ottobre 2014

Per il controllo dei pin GPIO del raspberry utilizziamo raspberry-gpio, un’interfaccia web-based sviluppata da drcurzon, reperibile all’url https://code.google.com/p/raspberrypi-gpio/e configurabile tramite http://www.instructables.com/id/Web-Control-of-Raspberry-Pi-GPIO/?ALLSTEPS.

Alternativa semplificata al più famoso WebIOPi https://code.google.com/p/webiopi

Page 11: Progettare e realizzare con Raspberry - Lo stretto digitale

Workshop su «Internet delle cose»

Esempio applicativo:Controllare una lampada tramite web

Messina – 11 ottobre 2014

La semplicità del funzionamento dell’interfaccia consiste nel salvare lo stato desiderato in un database mysql e delegare ad uno script shell la gestione effettiva dei pin del raspberry.

Per completare questa interfaccia, mancava l’inversione dello stato dei pin.

I più comuni moduli relè sono «active low», ovvero attivi quando non si fornisce tensione, stato logico 0.

Page 12: Progettare e realizzare con Raspberry - Lo stretto digitale

Workshop su «Internet delle cose»

Esempio applicativo:Controllare una lampada tramite web

Messina – 11 ottobre 2014

Page 13: Progettare e realizzare con Raspberry - Lo stretto digitale

Workshop su «Internet delle cose»

Esempio applicativo:Controllare una lampada tramite web

Messina – 11 ottobre 2014

Per controllare i pin GPIO da linea di comando il kernel offre l’interfaccia «GPIO Sysfs»

Per controllare un pin bisogna informare il kernel di esportarne il controllo nello userspace, scrivendo il numero corrispondente nel file echo 18 > /sys/class/gpio/export

Così verrà creata la directory /sys/class/gpio/gpio18 che conterrà i file per impostare direzione ( in – out ) e valori del pin ( 0 – 1 ):echo out >/sys/class/gpio/gpio18/directionecho 1 > /sys/class/gpio/gpio18/value

Page 14: Progettare e realizzare con Raspberry - Lo stretto digitale

Workshop su «Internet delle cose»

Esempio applicativo:Controllare una lampada tramite web

Messina – 11 ottobre 2014

Tramite interfaccia web non faremo altro che scrivere sul database il valore logico desiderato per il pin.

Lo script temporizzato si occuperà di leggere questo valore dal database e impostarlo al pin.

Page 15: Progettare e realizzare con Raspberry - Lo stretto digitale

Workshop su «Internet delle cose»

Estensione esempio applicativo:

Messina – 11 ottobre 2014

Facebook rss notifications:

Page 16: Progettare e realizzare con Raspberry - Lo stretto digitale

Workshop su «Internet delle cose»

Estensione esempio applicativo:

Messina – 11 ottobre 2014

Funzionamento:• Utilizzando cUrl si ottiene il primo feed rss;• Si conserva la data dell’ultima notifica,

ricercando il contenuto del tag LastBuildDate;• Ad ogni intervallo (30 secondi) si confronta la

data dell’ultimo aggiornamento con quella conservata precedentemente;

• Nel caso in cui sia cambiata si accende la lampada, indicando la presenza di nuove notifiche.

Page 17: Progettare e realizzare con Raspberry - Lo stretto digitale

Workshop su «Internet delle cose»

Grazie

Messina – 11 ottobre 2014

Elio Merlino

[email protected]

https://www.facebook.com/merlino.elio

https://plus.google.com/u/0/+ElioMerlino