Linux, Android e Internet of Things

Slides:



Advertisements
Presentazioni simili
Shell: variabili di sistema PATH HOME USER PWD SHELL HOSTNAME HOSTTYPE Per visualizzare il valore di tutte le variabili dambiente si usa il comando set.
Advertisements

Code::Blocks Ambiente di sviluppo.
Code::Blocks Ambiente di sviluppo.
Sviluppo di programmi strutturati
I linguaggi di programmazione
Sistema di gestione flussi documentali
Introduzione al linguaggio C
Dr. Giovanni Stracquadanio
Argomenti dalla linea dei comandi Gli argomenti possono essere passati a qualsiasi funzione di un programma, compresa la main(), direttamente dalla linea.
FONDAMENTI DI INFORMATICA
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE File Marco D. Santambrogio – Ver. aggiornata al 15 Maggio 2013.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE File Marco D. Santambrogio – Ver. aggiornata al 9 Maggio 2012.
Costruzione di Interfacce Lezione 10 Dal Java al C++ parte 1
1 Corso di Informatica (Programmazione) Lezione 6 (31 ottobre 2008) Introduzione a Java: primo programma, installazione dellambiente di sviluppo, compilazione.
Corso di Laurea in Biotecnologie Informatica (Programmazione)
Installazione pacchetti sotto Linux. Linux: Installare le applicazioni Adesso che abbiamo configurato Linux vogliamo imparare a installare qualche programma.
Hadoop: introduzione (1)
Primi programmi in Java
A.A. 2010/2011Ambienti di Programmazione per il Software di Base1 (Es. – 6) Ambienti di Programmazione per il Software di Base Le Stringhe in C Input.
I File.
Per costruire unapplicazione occorre compilare il file (o i file se più duno) che contengono il testo del programma (file sorgente) Il risultato sono uno.
Il compilatore Dev-C++
Guida IIS 6 A cura di Nicola Del Re.
Piattaforma Arduino Arduino uno Arduino Mega.
PROGRAMMARE IN C Un ambiente di sviluppo `e un software che serve per scrivere ed eseguire programmi. Generalmente integra almeno 3 funzionalita’: Editor:
Creazione progetto in C++/DEV
Prompt dei comandi – Windows XP In Windows XP si avvia con Start AccessoriSistema Prompt dei comandi … oppure con Start Esegui cmd.exe.
MS-DOS è il sistema operativo, Come praticamente tutti i sistemi operativi per i computer del periodo, l'MS- DOS era un sistema operativo mono utente.
VHDL per FPGA Courtesy of S. Mattoccia.
PHP - PHP: Hypertext Preprocessor. Introduzione PHP (acronimo ricorsivo per "PHP: Hypertext Preprocessor") è un linguaggio di scripting general-purpose.
INSEGUITORE SOLARE CON ARDUINO
ARDUINO Arduino è una piattaforma hardware low-cost programmabile, con cui è possibile creare circuiti "quasi" di ogni tipo per molte applicazioni, soprattutto.
Per questo organizza un corso di Arduino per tutti i soci Amon e GMS.
Workshop Teachers For Teachers 23 – 24 settembre 2013
Per questo organizza un corso di Arduino per tutti i soci Amon e GMS.
Linguaggio Arduino: Struttura di un programma
Sommario Cartelle Gestione delle risorse Manifest dell’applicazione
ARDUINO Duemilanove Parte_5 Arduino e PHP
Capitolo 6 Iterazione Lucidi relativi al volume: Java – Guida alla programmazione James Cohoon, Jack Davidson Copyright © The McGraw-Hill Companies.
Arduino: introduzione alla programmazione
arduino: dalla teoria alla pratica
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE File Marco D. Santambrogio – Ver. aggiornata al 21 Maggio 2014.
© Copyright NTT DATA Italia – All Rights Reserved The information contained in this document is the property of NTT DATA Italia S.p.A. and the addressee.
arduino: dalla teoria alla pratica
Oggi è lunedì il sei maggio!
Extension pack per IIS7 Piergiorgio Malusardi IT Pro Evangelist
Linguaggio C: Le basi Stefano Cagnoni e Monica Mordonini
Internetworking V anno.
L A R OUTINE D EL M ATTINO Ellie B.. Io mi sono svegliata alle cinque del mattino.
SUMMARY Different classes and distortions RIEPILOGO Le diverse classi e le distorsioni RIEPILOGO Le diverse classi e le distorsioni.
Hardware necessario Una board Intel galileo Un alimentatore Dc 7-15 v
SUMMARY A/D converters RIEPILOGO Convertitori A/D RIEPILOGO Convertitori A/D.
Filtri del secondo ordine e diagrammi di Bode
Università di Ferrara Facoltà di Ingegneria Esercitazioni di FONDAMENTI DI INFORMATICA MODULO B Rita Riccardo
13/08/02Input 1 Interagire con il computer Da tastiera Da riga di comando Funzioni di conversione.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Algoritmi e basi del C Marco D. Santambrogio – Ver. aggiornata al 24 Agosto 2015.
Linux, Android e Internet of Things ITIS G.Galilei - San Secondo (PR)
Progetti con arduino e pic.  Il trasduttore è analogico  Trasforma la temperatura in tensione secondo la relazione V millivolts =10*t celsius Essendo.
OpenShift Origin – Cosa è
Hands-On Arduino Come collegare i sensori ad Arduino P. Perego- Politecnico di Milano AA 2010/2011 Facoltà del Design - Politecnico di Milano 3.o anno.
SUMMARY Checking RIEPILOGO Verifiche RIEPILOGO Verifiche.
I L SO MS DOS … una breve guida…. C OS ’ È UN S ISTEMA OPERATIVO Un sistema operativo (SO) è un insieme di programmi che agisce come intermediario tra.
ISTITUTO TECNICO – SETTORE TECNOLOGICO
Do You Want To Pass Actual Exam in 1 st Attempt?.
I2c.
Cyber Safety.
Global System for Mobile Comunication
Linux, Android e Internet of Things
INPUTS/OUTPUTS digitali e interruzioni
Transcript della presentazione:

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

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

La GPIO

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 https://learn.adafruit.com

La GPIO

Raspberry vs Arduino

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?

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

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

La GPIO - WiringPI

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: pi@raspberrypi ~ $ sudo apt-get install git-core pi@raspberrypi ~ $ sudo apt-get update pi@raspberrypi ~ $ sudo apt-get upgrade pi@raspberrypi ~ $ git clone git://git.drogon.net/wiringPi Quindi: pi@raspberrypi ~ $ cd wiringPi pi@raspberrypi ~/wiringPi $ git pull origin Infine, senza spostarsi dalla directory wiringPi: pi@raspberrypi ~/wiringPi $ ./build

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

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 https://github.com/WiringPi/WiringPi/blob/master/gpio/gpio.1

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 : pi@raspberrypi ~ $ 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. pi@raspberrypi ~ $ 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: pi@raspberrypi ~ $ sudo killall -9 blink

La GPIO - Java ed Eclipse http://pi4j.com/install.html http://tsvetan-stoyanov.github.io/launchpi/

La GPIO - WebIOPi sudo apt-get update sudo apt-get install gcc-4.7 sudo apt-get install python3.2 wget http://webiopi.googlecode.com/files/WebIOPi-0.6.0.tar.gz tar xzvf WebIOPi-0.6.0.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 http://[RASPBERRY IP]:8000

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

Blink

Led & Button

Sensore di temperatura

Rele

Comunicazione seriale con XBEE ESEMPIO: http://www.brettdangerfield.com/post/raspberrypi_tempature_monitor_project/

Come interagire tra la Raspberry e Arduino 3 Raspberry e Arduino Come interagire tra la Raspberry e Arduino

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 http://www.element14.com/community/docs/DOC-64326 Per configurarla: https://projects.drogon.net/raspberry-pi/gertduino/atmega-setup/

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

RPi 007!! Camera

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

Raspberry Camera application Apertura di un forziere con face recognition https://learn.adafruit.com/downloads/pdf/raspberry-pi-face-recognition-treasure-box.pdf Camera di sorveglianza http://www.instructables.com/id/Raspberry-Pi-as-low-cost-HD-surveillance-camera/

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 for free: Busy Icons by Olly Holovchenko Presentation template by SlidesCarnival 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.