Linux, Android e Internet of Things

Slides:



Advertisements
Presentazioni simili
Trieste, 26 novembre © 2005 – Renato Lukač Using OSS in Slovenian High Schools doc. dr. Renato Lukač LinuxDay Trieste.
Advertisements

Code::Blocks Ambiente di sviluppo.
Costruzione di Interfacce Lezione 10 Dal Java al C++ parte 1
2000 Prentice Hall, Inc. All rights reserved. 1 Capitolo 3 - Functions Outline 3.1Introduction 3.2Program Components in C++ 3.3Math Library Functions 3.4Functions.
Le regole Giocatori: da 2 a 10, anche a coppie o a squadre Scopo del gioco: scartare tutte le carte per primi Si gioca con 108 carte: 18 carte.
Piattaforma Arduino Arduino uno Arduino Mega.
Teorie e tecniche della Comunicazione di massa Lezione 7 – 14 maggio 2014.
ARDUINO Arduino è una piattaforma hardware low-cost programmabile, con cui è possibile creare circuiti "quasi" di ogni tipo per molte applicazioni, soprattutto.
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
ARDUINO Duemilanove Parte_5 Arduino e PHP
Arduino: introduzione alla programmazione
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
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.
Linux, Android e Internet of Things
SUMMARY Checking RIEPILOGO Verifiche RIEPILOGO Verifiche.
ISTITUTO TECNICO – SETTORE TECNOLOGICO
MSc in Communication Sciences Program in Technologies for Human Communication Davide Eynard Facoltà di scienze della comunicazione Università della.
Reti Mobili Ad Hoc e di Sensori Andrea De Salve. COS'È ARDUINO ? Piattaforma Open-Source per il Physical Computing basata su Microcontrollore Arduino.
Autore: Claudio Mignanti PARTE PRIMA Componenti base Resistori Condensatori Diodi Transistor Porte logiche.
Sensori analogici e digitali per la misura di
FOX BOARD 8+32 Argomenti trattati: ● Breve descrizione dell'hardware ● Overview del sistema di sviluppo ● Esame delle porte GPIO Hardware.
Gestione dei Software in GNU/Linux HackLab Catanzaro Installazione software da sorgente 8° Lezione GNU/Linux Base
Do You Want To Pass Actual Exam in 1 st Attempt?.
Corso per Webmaster base
Ambienti di Programmazione per il Software di Base
Arduino uno Introduzione.
Progetto Parcheggio intelligente
Compilazione del kernel Linux
A little taste of Android programming
GPIO: General Purpose Input Output I parte
Bootloader arduino nano
Dichiarazione dei servizi di sito nel GOCDB
Jobs and occupations What do they do?
I2c.
P. L. C. (Programmable Logic Controller)
I comandi.
Ambienti di Programmazione per il Software di Base
APACHE2-PHP su Raspberry
LA GESTIONE DEI PACCHETTI
I FILES AD ACCESSO SEQUENZIALE
Cyber Safety.
2018/9/ /9/11 USER ENVIRONMENT 1 1.
PROGRAMMAZIONE BASH – ISTRUZIONE IF
Creare un server casalingo - 2
Operazioni pianificate
Creare un server casalingo - 6
istalliamo l’ambiente di sviluppo - ide
La scheda Arduino.
Organizzazione di una rete Windows 2000
Global System for Mobile Comunication
mBlock Un modo semplice e innovativo per programmare Arduino
Caratteristiche e funzioni della scheda Arduino
A/D seconda parte.
Programmare.
Ambienti di Programmazione per il Software di Base
Interrupt Arduino.
Esercizio 1 Scrivete un programma C "creaproc" che crea (mediante fork) il numero di processi specificati in input. ad esempio: $> creaproc 7 crea 7 nuovi.
Arduino Uno.
Unità 1 Programmi base.
INPUTS/OUTPUTS digitali e interruzioni
Lezione Terza Primi passi di programmazione
Progettiamo un robot Prof.ri Ponte Vincenzo Ovazza Sergio
TITLE [CENTURY GOTHIC, 35] TITLE [CENTURY GOTHIC, 35]
TITLE [CENTURY GOTHIC, 35] TITLE [CENTURY GOTHIC, 35]
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

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.