La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Linux, Android e Internet of Things

Presentazioni simili


Presentazione sul tema: "Linux, Android e Internet of Things"— Transcript della presentazione:

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

2 Come interagire con l’I/O della Raspberry PI
1 La GPIO della RPi Come interagire con l’I/O della Raspberry PI

3 La GPIO

4 La GPIO OUTPUT Un pin può essere impostato via software. L’uscita può variare in digitale tra 0 e 3.3V (NON 5V COME ARDUINO) INPUT Un pin può mettersi in «ascolto» sulla base della tensione applicata a tale ingresso. È sempre digitale e può variare massimo tra 0 e 3.3V (ATTENZIONE A NON APPLICARE TENSIONI MAGGIORI) All the pins have 3.3V logic levels and are not 5V-safe so the output levels are 0-3.3V and the inputs should not be higher than 3.3V. If you want to connect a 5V output to a Pi input,use a level shifter

5 La GPIO

6 Raspberry vs Arduino

7 Raspberry vs Arduino ARDUINO RASPBERRY Low level Micro ATMega328, 16MHz Controllo totale dell’hardware Task semplici e ben definiti No memoria di massa High level Piattaforma Linux-like Multitasking Presenza di memoria di massa Programmi complessi Possiamo utilizzare Raspberry per fare quello che si può fare con Arduino, ma serve alla mia applicazione cosi tanta memoria e capacità di calcolo?

8 sudo su echo 11 >> /sys/class/gpio/export
La GPIO - File Prima di iniziare diventare amministratori sudo su Collegare un LED, usando una resistenza, tra il pin GPIO11 e GND Se scrivete sul file ./export nella cartella /sys/class/gpio, il sistema crea un file per gestire direttamente il GPIO desiderato. Nel nostro caso vogliamo pilotare il GPIO11 per accendere e spegnere il LED. echo 11 >> /sys/class/gpio/export Configurare la direzione del pin (In/Out) echo out >> /sys/class/gpio/gpio11/direction

9 TURN OFF TURN ON echo 0 >> /sys/class/gpio/gpio11/value
La GPIO - File TURN OFF echo 0 >> /sys/class/gpio/gpio11/value TURN ON echo 1 >> /sys/class/gpio/gpio11/value Per eliminare il GPIO creato echo 11 >> /sys/class/gpio/unexport

10 La GPIO - WiringPI

11 La GPIO – Installazione della libreria WiringPI
Il compilatore gcc è già preinstallato su Raspberry Pi. Occorrerà solo installare la libreria WiringPi. Dal Raspberry (connesso a Internet) lanciare in successione i seguenti comandi: ~ $ sudo apt-get install git-core ~ $ sudo apt-get update ~ $ sudo apt-get upgrade ~ $ git clone git://git.drogon.net/wiringPi Quindi: ~ $ cd wiringPi ~/wiringPi $ git pull origin Infine, senza spostarsi dalla directory wiringPi: ~/wiringPi $ ./build

12 La GPIO – Utilizzo della libreria WiringPI
La compilazione e il linking possono essere fatti specificando con -l la libreria wiringPi (prestare attenzione alle maiuscole/minuscole). Supponendo che il nostro programma si chiami blink.c: gcc -o blink blink.c -lwiringPi Nel caso occorra compilare anche una libreria e collegarla al programma principale, bisognerà specificarla dopo il nome del sorgente principale. Per esempio, supponendo che il file di implementazione della libreria si chiami debounce.c, si avrà: gcc -o blink blink.c debounce.c -lwiringPi

13 La GPIO – Utilizzo della libreria WiringPI
#include <wiringPi.h> int main (void) { wiringPiSetup () ; pinMode (0, OUTPUT) ; for (;;) digitalWrite (0, HIGH) ; delay (500) ; digitalWrite (0, LOW) ; delay (500) ; } return 0 ; gcc -Wall -o blink blink.c -lwiringPi sudo ./blink

14 La GPIO – Utilizzo della libreria WiringPI
L'accesso alla funzione wiringPiSetup() richiede privilegi di root. Quindi qualsiasi programma che sia stato scritto usando wiringPiSetup() deve essere lanciato mediante sudo : ~ $ sudo ./blink E' sempre possibile eseguire il programma in background, ignorando però i messaggi di errore e sulla console (come eventuali printf() presenti nel programma. ~ $ sudo ./blink > /dev/null & L'esecuzione del programma può essere terminata resettando il sistema oppure da tastiera (mediante il classico Ctrl-C) o ancora, se il relativo processo è in background, con sudo killall -9 , che, nel caso dell'esempio in questione, diventa: ~ $ sudo killall -9 blink

15 La GPIO - Java ed Eclipse

16 La GPIO - WebIOPi sudo apt-get update sudo apt-get install gcc-4.7 sudo apt-get install python3.2 wget tar xzvf WebIOPi tar cd WebIOPi-0.6.0 sudo ./setup.sh L’avvio del server è semplicissimo, eseguire come root il seguente comando: sudo /etc/init.d/webiopi start Collegarsi da remoto a webiopi IP]:8000

17 Alcuni esempi su come utilizzare la GPIO
2 Esempi di utilizzo Alcuni esempi su come utilizzare la GPIO

18 Blink

19 Led & Button

20 Sensore di temperatura

21 Rele

22 Comunicazione seriale con XBEE
ESEMPIO:

23 Come interagire tra la Raspberry e Arduino

24 Gertduino Il Gertduino è un Raspberry Pi-add-on che offre le stesse funzionalità di un Arduino Uno, ma con alcune caratteristiche extra. La scheda Gertduino presenta un microcontrollore Atmega328 e dispone di connettori che sono 100 % Arduino Uno compatibile. Contiene anche il pulsante di reset, 2 pulsanti e 6 LED. La scheda Gerduino ha anche un convertitore di livello RS232 che permette di convertire i segnali formano un UART per le tensioni standard RS232. Questo permette la comunicazione diretta con la RPi Per configurarla:

25 Come utilizzare la camera sulla RPi
4 Il modulo Camera Come utilizzare la camera sulla RPi

26 RPi 007!! Camera

27 SHELL PYTHON RPi 007!! Abilitare da RASPI-CONFIG il modulo camera!!
HOW TO TAKE A PHOTO WITH YOUR RASPBERRY PI CAMERA MODULE 1. "raspistill" is a command line application that allows you to capture images with your camera module. Below is an example of this command in use. 2. To capture an image in jpeg format, type "raspistill -o image.jpg" at the prompt, where "image" is the name of your image HOW TO RECORD A VIDEO WITH YOUR RASPBERRY PI CAMERA MODULE 1. "raspivid" is a command line application that allows you to capture video with your camera module. Below is an example of this command in use. 2. To capture a 10 second video with your Raspberry Pi camera module, run "raspivid -o video.h264 -t 10000" at the prompt, where "video" is the name of your video and "10000" is the number of milliseconds SHELL PYTHON

28 Raspberry Camera application
Apertura di un forziere con face recognition Camera di sorveglianza

29 Thanks! ANY QUESTIONS? You can find me at:

30 CREDITS Special thanks to all the people who made and released these awesome resources for free: Busy Icons by Olly Holovchenko Presentation template by SlidesCarnival Photographs by Unsplash Source slide 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.


Scaricare ppt "Linux, Android e Internet of Things"

Presentazioni simili


Annunci Google