SlideShare ist ein Scribd-Unternehmen logo
1 von 42
LinuxDay 2015
http://www.linoxnovara.org/
Matteo Baccan e Valerio Tognozzi
Realizzazione di una stazione meteo
È possibile realizzare una stazione meteo con prodotti opensource? Cosa
mi serve per iniziare? In questo breve talk vedremo le scelte che sono state
fatte per poter avere una GUI responsive in ambiente Raspberry Pi
http://www.baccan.it
http://www.tecnogeppetto.it
Cosa vedremo oggi
LinuxDay 2015
http://www.linoxnovara.org/
Chi sono?
Matteo Baccan
Risolvo problemi
Ottimizzo architetture software
Aiuto le aziende a realizzare i propri sogni
Sono uno sviluppatore da più di 25 anni.
Ho imparato a essere trasversale, a non
smettere mai di studiare e ad ascoltare i
miei clienti per realizzare quello che
hanno in mente
LinuxDay 2015
http://www.linoxnovara.org/
Chi sono?
Valerio Tognozzi
aka TecnoGeppetto mi diverto facendo il
Maker a tempo pieno.
Arduino, RaspberryPi e sensori di tutti i
tipi, sono il mio pane quotidiano, con i
quali creo soluzioni per i progetti più
strani.
Nei ritagli di tempo mi occupo di
marketing e di vendite di alcune aziende
commerciali.
LinuxDay 2015
http://www.linoxnovara.org/
Programma
Cosa vedremo
● Cos’è Raspberry Pi
● Cosa ci possiamo fare
● Raspberry Pi con i sensori
● Raspberry Pi come stazione meteo
LinuxDay 2015
http://www.linoxnovara.org/
Tratto da : http://it.wikipedia.org/wiki/Raspberry_Pi
Il Raspberry Pi è un single-board computer (un calcolatore implementato su una sola
scheda elettronica) sviluppato nel Regno Unito dalla Raspberry Pi Foundation.
Il suo lancio al pubblico è avvenuto alla fine del mese di febbraio 2012.
Finora, ne sono state prodotte quattro versioni (Modelli: A, B, A+, B+, 2) con prezzi da
20 a 35 dollari statunitensi.
L'idea di base è la realizzazione di un dispositivo economico, concepito per stimolare
l'insegnamento di base dell'informatica e della programmazione nelle scuole.
Cos’è Raspberry Pi?
LinuxDay 2015
http://www.linoxnovara.org/
Dal punto di vista hardware
Il progetto ruota attorno a un System-on-a-chip (SoC) Broadcom BCM2835,
che incorpora un processore BMC2835 700 MHz ARM1176JZF-S core
(overcloccabile da software), una GPU VideoCore IV, e 256 (modello A) o 512 (modello
B) Megabyte di memoria.
Il modello 2 cambia processore e monta un quad-Core BCM2836 900 MHz ARM
(Cortex A7) (per ora overcloccabile a 1000 Mhz), con supporto per il futuro Windows
10 e Snappy Ubuntu Core
Il progetto non prevede né hard disk né una unità a stato solido, affidandosi invece a
una scheda SD per il boot e per la memoria non volatile.
La scheda è stata progettata per ospitare sistemi operativi basati su un kernel Linux o
RISC OS.
Cos’è Raspberry Pi?
LinuxDay 2015
http://www.linoxnovara.org/
Guardiamolo in faccia
Le versioni attualmente in vendita sono
Modello A Modello B
LinuxDay 2015
http://www.linoxnovara.org/
Guardiamolo in faccia
Le versioni attualmente in vendita sono
Modello B+ e Raspberry Pi 2
512 MB 1GB
4USB
700MHz 900MHz
LinuxDay 2015
http://www.linoxnovara.org/
Da cosa è composto
Modello A: 1 USB
NO RJ45
LinuxDay 2015
http://www.linoxnovara.org/
Evoluzione futura
Da SBC a computer “indossabile”
Raspberry Pi Compute Module
BCM2835 processor, 512Mbyte of RAM e 4Gbyte eMMC Flash device
LinuxDay 2015
http://www.linoxnovara.org/
Prezzi e disponibilità
Il prezzo del modello B è attorno ai 34 euro ed è disponibile in molti store online
Questo era il prezzo Amazon di oggi 18 ottobre 2015
LinuxDay 2015
http://www.linoxnovara.org/
Prezzi e disponibilità
Il prezzo del modello B 2 è attorno ai 43 euro ed è disponibile in molti store online
Questo era il prezzo Amazon di oggi 18 ottobre 2015
LinuxDay 2015
http://www.linoxnovara.org/
Hardware consigliato
Cosa potrebbe servirmi per usare al meglio Raspberry Pi ?
Proviamo a fare una piccola lista della spesa, con hardware sicuramente funzionante,
usando Amazon Italia e Amazon UK
Chiaramente, sapendo cosa ci serve, lo possiamo acquistare da qualsiasi sito o negozio
LinuxDay 2015
http://www.linoxnovara.org/
Hardware consigliato
Alimentatore da 5V / 2A, funziona anche con alimentatori 5V / 300 mA, ma alla
prima cosa che collegate si spegne :)
Tastiera UBS, con magari mouse incorporato
LinuxDay 2015
http://www.linoxnovara.org/
Hardware consigliato
Se non avete un monitor o una TV HDMI
un adattatore HTMI Maschio / VGA Femmina
Se non avete una rete cablata RJ45
Una scheda Wifi USB
LinuxDay 2015
http://www.linoxnovara.org/
Hardware consigliato
Dato che abbiamo
occupato tutte le porte
USB, meglio prendere un
Hub USB Alimentato
Ricordiamoci che da qualche
parte il software va
installato, partiamo da una
scheda SD da 8GB Classe 10
LinuxDay 2015
http://www.linoxnovara.org/
Hardware consigliato
E se non abbiamo TV o monitor dove collegare il Raspberry Pi
Possiamo prendere un monitor TFT a colori per auto
Comprensivo di alimentatore 12V 5A
E per sicurezza un connettore DC12V (1 / 2 euro)
LinuxDay 2015
http://www.linoxnovara.org/
Software
Ora che la parte Hardware è a posto
Possiamo passare alla parte Software
LinuxDay 2015
http://www.linoxnovara.org/
NOOBS
Il punto di partenza è sicuramente NOOBS (attualmente v 1.4.2)
New Out Of the Box Software
http://www.raspberrypi.org/downloads
LinuxDay 2015
http://www.linoxnovara.org/
NOOBS
Per installare NOOBS servono 4 cose
1) NOOBS_v1_4_2.zip scaricabile dal sito Raspberrypi.org
2) Una scheda SD, nella quale copiare i file presenti all’interno dello ZIP. Anche se la
dimensione minima è da 4GB, consiglio l’utilizzo di una scheda da 16 o 32 GB
3) Un programma per formattare la scheda SD nel modo corretto: in base al sistema
operativo esiste un diverso software da utilizzare:
Windows : https://www.sdcard.org/downloads/formatter_4/eula_windows/
Mac: https://www.sdcard.org/downloads/formatter_4/eula_mac/
Linux: gparted o parted
4) 2 colpi di mouse per copiare e incollare i file sulla SD
Per maggiori informazioni esiste un piccolo tutorial a questo indirizzo
http://www.raspberrypi.org/help/
LinuxDay 2015
http://www.linoxnovara.org/
Raspbian
Oggi parleremo di Raspbian
È una distribuzione pensata per essere “general purpose”, con un
utilizzo client
Non esiste una versione server ufficiale di Raspbian
Vediamo insieme come costruirla.
Iniziamo a spremere il nostro lampone
LinuxDay 2015
http://www.linoxnovara.org/
Raspbian Server Edition
Qualcuno si è posto il problema di non avere una distribuzione
ottimizzata per una configurazione server e ha realizzato
Raspbian Server Edition 2.5
http://sirlagz.net/2013/07/19/raspbian-server-edition-2-5/
In realtà è una Raspbian basata su Debian 7 Wheezy portata a Debian 8
Jessie, con la rimozione di una serie di pacchetti “inutili” a livello server.
Parte dal concetto che: un “purista” considera peccaminoso l’utilizzo di
una GUI su un server, viene quindi rimosso LXDE e tutti i relativi
pacchetti, più una serie di pacchetti non necessari su un server
In alternativa potete provare
Minimal Raspbian – Server and XFCE editions
http://xecdesign.com/minimal-raspbian-server-xfce-editions/
LinuxDay 2015
http://www.linoxnovara.org/
Raspbian Server Edition
Non dobbiamo però essere ottimisti: la sola rimozione dei pacchetti
inutili non basta a realizzare una versione server di Raspberry Pi.
Vediamo quali altre tecniche ci permettono di migliorare i 2 aspetti
che possono cambiare notevolmente le prestazioni di un Raspberry Pi
Velocità Memoria
LinuxDay 2015
http://www.linoxnovara.org/
Velocità: Overclock guidato
Chi non ha mai provato ad “overcloccare” il proprio computer?
Con Raspberry Pi l’overclock è ammesso e di sistema.
Tramite il tool di configurazione : sudo raspi-config
LinuxDay 2015
http://www.linoxnovara.org/
Velocità: Overclock manuale
arm_freq gpu_freq core_freq sdram_freq over_voltage
800
900 275 500
900 450 450
930 350 500
1000 500 500 6
Manualmente
1050 6
1150 500 600 8
Per chi volesse provare manualmente, basta modificare direttamente il file
sudo nano /boot/config.txt
Sul forum Raspberry Pi sono indicate altre configurazioni possibili, che possono
farci arrivare alla frequenza di 1150MHz.
Per info http://elinux.org/RPiconfig
LinuxDay 2015
http://www.linoxnovara.org/
Velocità: Overclock manuale
Ci sono comunque anche voci di overclock a 1200 MHz e per chi volesse provare,
sono disponibili sul mercato dissipatori a 7 euro, in grado di diminuire di qualche
grado la temperatura del processore.
Oppure se avete ancora in cantina dei vecchi PC .. staccategli la ventolina, costerà
ancora meno :)
LinuxDay 2015
http://www.linoxnovara.org/
Memoria: Condivisione memoria CPU/GPU
Cambio allocazione della memoria CPU/GPU
Di default Raspberry Pi parte con 64MB di ram per la GPU. Installando un sistema
server possiamo diminuire questa memoria a 16MB
Possiamo modifiare
/boot/config.txt
gpu_mem=16
o usare
sudo raspi-config
LinuxDay 2015
http://www.linoxnovara.org/
Memoria: Sessioni terminale inutili
Ottimizzazione servizi esistenti
sudo nano /etc/inittab
Al netto delle rimozioni fatte su Raspbian, possiamo ancora ottimizzare
diminuendo i processi per le connessioni terminale, passando dalle 6
(default) a 2 .
1:2345:respawn:/sbin/getty --noclear 38400 tty1
2:23:respawn:/sbin/getty 38400 tty2
#3:23:respawn:/sbin/getty 38400 tty3
#4:23:respawn:/sbin/getty 38400 tty4
#5:23:respawn:/sbin/getty 38400 tty5
#6:23:respawn:/sbin/getty 38400 tty6
LinuxDay 2015
http://www.linoxnovara.org/
Consuntivo PRE/POST ottimizzazioni
Aumento velocità di elaborazione passando da 700 a 1000 MHz = 50%
Aumento di memoria = 60%
pi@piserver ~ $ free
total used free shared buffers cached
Mem: 497504 58816 438688 0 15588 26976
-/+ buffers/cache: 16252 481252
Swap: 102396 0 102396
pi@pinodo2 ~ $ free
total used free shared buffers cached
Mem: 448736 175880 272856 0 18368 137004
-/+ buffers/cache: 20508 428228
Swap: 102396 0 102396
LinuxDay 2015
http://www.linoxnovara.org/
Per chi vuole osare
Possiamo spremere ancora di più Raspberry Pi
● staccando alcuni degli ultimi servizi attivi (p.e. rsyslog)
● passando ad 1 sessione terminale
● aumentando l’overclock e trovando un modo affidabile per
raffreddare il processore
● acquistare delle SD più performanti (classe 10)
Ricordiamoci che l’overclock esagerato potrebbe rendere le SD utilizzate
dal sistema operativo inutilizzabili.
Se questo non vi spaventa e avete già bruciato qualche processore (so
che per qualcuno che legge queste slide non sarebbe la prima volta)
allora potete osare.
Fino alla configurazione indicata, funziona tutto, oltre, basta provare :)
LinuxDay 2015
http://www.linoxnovara.org/
LAMP
LinuxDay 2015
http://www.linoxnovara.org/
Stack LAMP
Installazione stack LAMP
Di default, lo stack LAMP non è installato su Raspbian.
Raspbian parte infatti come sistema operativo “client” e non “server”, per
trasformarlo in server occorre installare quello che manca, o scaricare
una distribuzione apposita
Essendo un sistema Linux, l’installazione dello stack LAMP è identica a
quella che si farebbe su un qualsiasi server Debian non Raspberry Pi
LinuxDay 2015
http://www.linoxnovara.org/
Stack LAMP
Installiamo lo stack LAMP + PHPMyAdmin
Tramite apt, possiamo installare
● Apache + l'integrazione a php
● PHP5 + l'interfaccia verso mysql + la versione fpm di php
● MySQL server e client
● PhpMyAdmin
sudo apt-get install apache2 php5 mysql-server
libapache2-mod-php5 php5-mysql php5-fpm mysql-client
phpmyadmin
LinuxDay 2015
http://www.linoxnovara.org/
Sensori - Python
Alcuni dei sensori utilizzati sono forniti da Adafruit Industries.
Oltre a fornire i sensori, Adafruit fornisce anche alcuni esempi Python di come leggere dei dati
rilevati dai sensori stessi.
Per questo motivo, abbiamo optato per una personalizzazione di tali programmi, in modo che
non si limitassero a leggere i dati e a visualizzarli, ma che li andassero anche a scrivere su un
database MySQL.
Sensori
LinuxDay 2015
http://www.linoxnovara.org/
WEB - GUI
Per la realizzazione della GUI web sono stati utilizzati alcuni componenti grafici, ideali per la
realizzazione di GUI responsive e in linea con gli attuali standard di mercato
- Bootstrap – per la struttura delle pagine
- Jquery – per il codice aggiuntivo che dinamicamente aggiorna le pagine
- Flot – per la realizzazione dei grafici
- Font Awesome – per le icone personalizzate
- MetisMenu – per i menu del programma
Prodotti opensource per la GUI
LinuxDay 2015
http://www.linoxnovara.org/
Funzionamento
Alla partenza di Raspberry viene invocato il seguente service
'start')
#!/bin/sh
service apache2 start
service mysql start
sudo /home/pi/meteo/Adafruit_BMP085_mysql.py &
exit 0
touch /var/lock/subsys/meteo
;;
'stop')
#!/bin/sh
sudo kill $(ps aux | grep 'Adafruit_BMP085_mysql.py' | awk '{print $2}')
service apache2 stop
service mysql stop
exit 0
rm -f /var/lock/subsys/meteo
;;
*)
echo "Usage: $0 { start | stop }"
;;
Service da installare su Raspberry Pi
LinuxDay 2015
http://www.linoxnovara.org/
Lettura dei sensori
# Initialise the BMP085 and use STANDARD mode (default value)
# bmp = BMP085(0x77, debug=True)
bmp = BMP085(0x77)
# To specify a different operating mode, uncomment one of the following:
# bmp = BMP085(0x77, 0) # ULTRALOWPOWER Mode
# bmp = BMP085(0x77, 1) # STANDARD Mode
# bmp = BMP085(0x77, 2) # HIRES Mode
# bmp = BMP085(0x77, 3) # ULTRAHIRES Mode
temp = bmp.readTemperature()
# Read the current barometric pressure level
pressure = bmp.readPressure()
# To calculate altitude based on an estimated mean sea level pressure
# (1013.25 hPa) call the function as follows, but this won't be very accurate
altitude = bmp.readAltitude()
Lettura tramite Python
LinuxDay 2015
http://www.linoxnovara.org/
Scrittura su MySQL
while 1==1:
insert = "insert into sensori(stazione,data,temperatura,pressione,altitudine)
values('Linox','%s',%.2f,%.2f,%.2f);" % (datetime.datetime.now().strftime("%Y-%m-
%d %H:%M:%S"), temp , (pressure / 100.0) , altitude)
con = 0
try:
con = mdb.connect('192.168.2.22', 'pi', 'raspberry', 'meteo')
cur = con.cursor()
cur.execute( insert )
except _mysql.Error, e:
print "Error %d: %s" % (e.args[0], e.args[1])
sys.exit(1)
finally:
if con:
con.close()
time.sleep(1);
Inserimento in db MySQL
LinuxDay 2015
http://www.linoxnovara.org/
Componenti - GUI
● Visualizzazione sensori
- Grafici Flot aggiornati realtime tramite un webservice
HTTP/JSON interrogato tramite Jquery
● TimeLapsed
- In questo caso, lettura tramite PHP della cartella
timelapsed e visualizzazione di uno slideshow
delle immagini catturate
Parti della GUI
LinuxDay 2015
http://www.linoxnovara.org/
DEMO
DEMO
LinuxDay 2015
http://www.linoxnovara.org/
DOMANDE?
Domande
LinuxDay 2015
http://www.linoxnovara.org/
Come contattarmi
Matteo Baccan
http://www.baccan.it
Valerio Tognozzi
http://www.tecnogeppetto.it

Weitere ähnliche Inhalte

Was ist angesagt?

Codemotion 2013: Succo di lampone: come ottimizzare JAVA e PHP su un’architet...
Codemotion 2013: Succo di lampone: come ottimizzare JAVA e PHP su un’architet...Codemotion 2013: Succo di lampone: come ottimizzare JAVA e PHP su un’architet...
Codemotion 2013: Succo di lampone: come ottimizzare JAVA e PHP su un’architet...Matteo Baccan
 
CodingGym - Lezione 2 - Corso Linux, Android e Internet of Things
CodingGym - Lezione 2 - Corso Linux, Android e Internet of ThingsCodingGym - Lezione 2 - Corso Linux, Android e Internet of Things
CodingGym - Lezione 2 - Corso Linux, Android e Internet of ThingsMirko Mancin
 
CodingGym - Lezione 1 - Corso Linux, Android e Internet of Things
CodingGym - Lezione 1 - Corso Linux, Android e Internet of ThingsCodingGym - Lezione 1 - Corso Linux, Android e Internet of Things
CodingGym - Lezione 1 - Corso Linux, Android e Internet of ThingsMirko Mancin
 
Primi passi con la scheda BeagleBone Black
Primi passi con la scheda BeagleBone BlackPrimi passi con la scheda BeagleBone Black
Primi passi con la scheda BeagleBone BlackOpen Makers Italy
 
Intro BeagleBone Black - Massimiliano D'Ambrosio
Intro BeagleBone Black - Massimiliano D'AmbrosioIntro BeagleBone Black - Massimiliano D'Ambrosio
Intro BeagleBone Black - Massimiliano D'Ambrosiofirenze-gtug
 
Cross compiler per uso domestico
Cross compiler per uso domesticoCross compiler per uso domestico
Cross compiler per uso domesticoBabel
 
Introduzione ad ubuntu core - Qt day 2017
Introduzione ad ubuntu core  - Qt day 2017Introduzione ad ubuntu core  - Qt day 2017
Introduzione ad ubuntu core - Qt day 2017Marco Trevisan
 
Linux Day Torino 2015 applicazioni per iniziare
Linux Day Torino 2015   applicazioni per iniziareLinux Day Torino 2015   applicazioni per iniziare
Linux Day Torino 2015 applicazioni per iniziareFrancesco Tucci
 
Sistemi operativi ed iso
Sistemi operativi ed isoSistemi operativi ed iso
Sistemi operativi ed isoJacopo Grimoldi
 
Richiami su Linux - Webmin - Reti di calcolatori
Richiami su Linux - Webmin - Reti di calcolatoriRichiami su Linux - Webmin - Reti di calcolatori
Richiami su Linux - Webmin - Reti di calcolatoriFulvio Corno
 
Linux & Tools: per la piccola azienda e i freelance
Linux & Tools: per la piccola azienda e i freelanceLinux & Tools: per la piccola azienda e i freelance
Linux & Tools: per la piccola azienda e i freelanceFabio Mora
 
Linux Capabilities - ita - v2.1.5 - compatta
Linux Capabilities - ita - v2.1.5 - compattaLinux Capabilities - ita - v2.1.5 - compatta
Linux Capabilities - ita - v2.1.5 - compattaAlessandro Selli
 

Was ist angesagt? (20)

Codemotion 2013: Succo di lampone: come ottimizzare JAVA e PHP su un’architet...
Codemotion 2013: Succo di lampone: come ottimizzare JAVA e PHP su un’architet...Codemotion 2013: Succo di lampone: come ottimizzare JAVA e PHP su un’architet...
Codemotion 2013: Succo di lampone: come ottimizzare JAVA e PHP su un’architet...
 
CodingGym - Lezione 2 - Corso Linux, Android e Internet of Things
CodingGym - Lezione 2 - Corso Linux, Android e Internet of ThingsCodingGym - Lezione 2 - Corso Linux, Android e Internet of Things
CodingGym - Lezione 2 - Corso Linux, Android e Internet of Things
 
CodingGym - Lezione 1 - Corso Linux, Android e Internet of Things
CodingGym - Lezione 1 - Corso Linux, Android e Internet of ThingsCodingGym - Lezione 1 - Corso Linux, Android e Internet of Things
CodingGym - Lezione 1 - Corso Linux, Android e Internet of Things
 
Lotus Foundations Start - Enzo Stanzione
Lotus Foundations Start - Enzo StanzioneLotus Foundations Start - Enzo Stanzione
Lotus Foundations Start - Enzo Stanzione
 
Quickr In Real Life - casi di successo di QuickR
 Quickr In Real Life - casi di successo di QuickR Quickr In Real Life - casi di successo di QuickR
Quickr In Real Life - casi di successo di QuickR
 
Primi passi con la scheda BeagleBone Black
Primi passi con la scheda BeagleBone BlackPrimi passi con la scheda BeagleBone Black
Primi passi con la scheda BeagleBone Black
 
Intro BeagleBone Black - Massimiliano D'Ambrosio
Intro BeagleBone Black - Massimiliano D'AmbrosioIntro BeagleBone Black - Massimiliano D'Ambrosio
Intro BeagleBone Black - Massimiliano D'Ambrosio
 
Cross compiler per uso domestico
Cross compiler per uso domesticoCross compiler per uso domestico
Cross compiler per uso domestico
 
Da 0 all'open per PA e PMI
Da 0 all'open per PA e PMIDa 0 all'open per PA e PMI
Da 0 all'open per PA e PMI
 
Introduzione ad ubuntu core - Qt day 2017
Introduzione ad ubuntu core  - Qt day 2017Introduzione ad ubuntu core  - Qt day 2017
Introduzione ad ubuntu core - Qt day 2017
 
Openmoko
OpenmokoOpenmoko
Openmoko
 
Linux Day Torino 2015 applicazioni per iniziare
Linux Day Torino 2015   applicazioni per iniziareLinux Day Torino 2015   applicazioni per iniziare
Linux Day Torino 2015 applicazioni per iniziare
 
Sistemi operativi ed iso
Sistemi operativi ed isoSistemi operativi ed iso
Sistemi operativi ed iso
 
Richiami su Linux - Webmin - Reti di calcolatori
Richiami su Linux - Webmin - Reti di calcolatoriRichiami su Linux - Webmin - Reti di calcolatori
Richiami su Linux - Webmin - Reti di calcolatori
 
Linux & Tools: per la piccola azienda e i freelance
Linux & Tools: per la piccola azienda e i freelanceLinux & Tools: per la piccola azienda e i freelance
Linux & Tools: per la piccola azienda e i freelance
 
Media centerpc
Media centerpcMedia centerpc
Media centerpc
 
Informatica
InformaticaInformatica
Informatica
 
Conferenza Pymaemo
Conferenza PymaemoConferenza Pymaemo
Conferenza Pymaemo
 
Questopc
QuestopcQuestopc
Questopc
 
Linux Capabilities - ita - v2.1.5 - compatta
Linux Capabilities - ita - v2.1.5 - compattaLinux Capabilities - ita - v2.1.5 - compatta
Linux Capabilities - ita - v2.1.5 - compatta
 

Andere mochten auch

Phpday 2010: facebook php framework
Phpday 2010: facebook php frameworkPhpday 2010: facebook php framework
Phpday 2010: facebook php frameworkMatteo Baccan
 
Environmental Health in a Social Media World --Mia Zmud
Environmental Health in a Social Media World --Mia ZmudEnvironmental Health in a Social Media World --Mia Zmud
Environmental Health in a Social Media World --Mia ZmudSteve Lipton
 
香港六合彩
香港六合彩香港六合彩
香港六合彩wejia
 
Stunning Photos
Stunning PhotosStunning Photos
Stunning PhotosJennAlm
 
Courier&Press June08 Web
Courier&Press June08 WebCourier&Press June08 Web
Courier&Press June08 Webguest052065
 
NEHA AEC 2008 Small Wares: How to Tell A Story
NEHA AEC 2008 Small Wares: How to Tell A StoryNEHA AEC 2008 Small Wares: How to Tell A Story
NEHA AEC 2008 Small Wares: How to Tell A StorySteve Lipton
 
Training for Third Sector Partners
Training for Third Sector PartnersTraining for Third Sector Partners
Training for Third Sector PartnersPaul McElvaney
 
Kim Brown, Joint Head of Learning Development & Diversity at London Boroughs ...
Kim Brown, Joint Head of Learning Development & Diversity at London Boroughs ...Kim Brown, Joint Head of Learning Development & Diversity at London Boroughs ...
Kim Brown, Joint Head of Learning Development & Diversity at London Boroughs ...Paul McElvaney
 
Learning Ecology Potential Of Google Earth
Learning Ecology Potential Of Google EarthLearning Ecology Potential Of Google Earth
Learning Ecology Potential Of Google EarthGerard Brady
 
Delphi Scalper Review | Delphi Scalper Bonus
Delphi Scalper Review | Delphi Scalper BonusDelphi Scalper Review | Delphi Scalper Bonus
Delphi Scalper Review | Delphi Scalper BonusCoty Schwabe
 
U.S. IBA Program 16 Mar2009
U.S. IBA Program 16 Mar2009U.S. IBA Program 16 Mar2009
U.S. IBA Program 16 Mar2009johncecil
 

Andere mochten auch (20)

Phpday 2010: facebook php framework
Phpday 2010: facebook php frameworkPhpday 2010: facebook php framework
Phpday 2010: facebook php framework
 
Gmail e google app
Gmail e google appGmail e google app
Gmail e google app
 
Environmental Health in a Social Media World --Mia Zmud
Environmental Health in a Social Media World --Mia ZmudEnvironmental Health in a Social Media World --Mia Zmud
Environmental Health in a Social Media World --Mia Zmud
 
Selecting A Digital Search Agency
Selecting A Digital Search AgencySelecting A Digital Search Agency
Selecting A Digital Search Agency
 
01.2008 AcampãO
01.2008   AcampãO01.2008   AcampãO
01.2008 AcampãO
 
Colores
ColoresColores
Colores
 
香港六合彩
香港六合彩香港六合彩
香港六合彩
 
Engineering
EngineeringEngineering
Engineering
 
Stunning Photos
Stunning PhotosStunning Photos
Stunning Photos
 
Courier&Press June08 Web
Courier&Press June08 WebCourier&Press June08 Web
Courier&Press June08 Web
 
Ana Facebook 101
Ana  Facebook 101Ana  Facebook 101
Ana Facebook 101
 
Ana Flickr 101
Ana Flickr 101Ana Flickr 101
Ana Flickr 101
 
NEHA AEC 2008 Small Wares: How to Tell A Story
NEHA AEC 2008 Small Wares: How to Tell A StoryNEHA AEC 2008 Small Wares: How to Tell A Story
NEHA AEC 2008 Small Wares: How to Tell A Story
 
Training for Third Sector Partners
Training for Third Sector PartnersTraining for Third Sector Partners
Training for Third Sector Partners
 
Kim Brown, Joint Head of Learning Development & Diversity at London Boroughs ...
Kim Brown, Joint Head of Learning Development & Diversity at London Boroughs ...Kim Brown, Joint Head of Learning Development & Diversity at London Boroughs ...
Kim Brown, Joint Head of Learning Development & Diversity at London Boroughs ...
 
Lecture 23
Lecture 23Lecture 23
Lecture 23
 
Learning Ecology Potential Of Google Earth
Learning Ecology Potential Of Google EarthLearning Ecology Potential Of Google Earth
Learning Ecology Potential Of Google Earth
 
Delphi Scalper Review | Delphi Scalper Bonus
Delphi Scalper Review | Delphi Scalper BonusDelphi Scalper Review | Delphi Scalper Bonus
Delphi Scalper Review | Delphi Scalper Bonus
 
U.S. IBA Program 16 Mar2009
U.S. IBA Program 16 Mar2009U.S. IBA Program 16 Mar2009
U.S. IBA Program 16 Mar2009
 
Scmad Chapter12
Scmad Chapter12Scmad Chapter12
Scmad Chapter12
 

Ähnlich wie Matteo Baccan - Valerio Tognozzi - Novara LinuxDay 2015

Raspberry pi per tutti (workshop presso Warehouse Coworking Pesaro)
Raspberry pi per tutti (workshop presso Warehouse Coworking Pesaro)Raspberry pi per tutti (workshop presso Warehouse Coworking Pesaro)
Raspberry pi per tutti (workshop presso Warehouse Coworking Pesaro)Gabriele Guizzardi
 
Succo di lampone: come ottimizzare JAVA e PHP su un’architettura Raspberry Pi...
Succo di lampone: come ottimizzare JAVA e PHP su un’architettura Raspberry Pi...Succo di lampone: come ottimizzare JAVA e PHP su un’architettura Raspberry Pi...
Succo di lampone: come ottimizzare JAVA e PHP su un’architettura Raspberry Pi...Codemotion
 
Linux Day 2016 Milano - Open Source Hardware PowerPC Notebook
Linux Day 2016 Milano - Open Source Hardware PowerPC Notebook Linux Day 2016 Milano - Open Source Hardware PowerPC Notebook
Linux Day 2016 Milano - Open Source Hardware PowerPC Notebook Roberto Innocenti
 
Mpc8308 rdb piattaforma di riferimento della freescale - recensione - 2010-10-26
Mpc8308 rdb piattaforma di riferimento della freescale - recensione - 2010-10-26Mpc8308 rdb piattaforma di riferimento della freescale - recensione - 2010-10-26
Mpc8308 rdb piattaforma di riferimento della freescale - recensione - 2010-10-26Ionela
 
NON ESISTONO COMPUTER VECCHI (Da xp a linux - Treviso 15/4/2014)
NON ESISTONO COMPUTER VECCHI (Da xp a linux - Treviso 15/4/2014)NON ESISTONO COMPUTER VECCHI (Da xp a linux - Treviso 15/4/2014)
NON ESISTONO COMPUTER VECCHI (Da xp a linux - Treviso 15/4/2014)Stefano Dall'Agata
 
Seminario Raspberri Pi - Parte 2 - GULP
Seminario Raspberri Pi - Parte 2 - GULPSeminario Raspberri Pi - Parte 2 - GULP
Seminario Raspberri Pi - Parte 2 - GULPNicola Corti
 
Guida al computer - Lezione 11 - La scheda grafica
Guida al computer  - Lezione 11 - La scheda graficaGuida al computer  - Lezione 11 - La scheda grafica
Guida al computer - Lezione 11 - La scheda graficacaioturtle
 
Installazione ambientepython ubuntumate
Installazione ambientepython ubuntumateInstallazione ambientepython ubuntumate
Installazione ambientepython ubuntumateMarco Buttolo
 
RiminiLUG. Mini Corso su Linux p1: Installazione & Configurazione
RiminiLUG. Mini Corso su Linux p1: Installazione & ConfigurazioneRiminiLUG. Mini Corso su Linux p1: Installazione & Configurazione
RiminiLUG. Mini Corso su Linux p1: Installazione & ConfigurazioneAlessandro Carichini
 
Vagrant e Docker a confronto;scegliere ed iniziare
Vagrant e  Docker a confronto;scegliere ed iniziareVagrant e  Docker a confronto;scegliere ed iniziare
Vagrant e Docker a confronto;scegliere ed iniziareDaniele Mondello
 
Installazione Qt/Qt Quick per target Android
Installazione Qt/Qt Quick  per target AndroidInstallazione Qt/Qt Quick  per target Android
Installazione Qt/Qt Quick per target AndroidPaolo Sereno
 
Raspberry omv
Raspberry omvRaspberry omv
Raspberry omvPipperss
 
Introduzione a RaspBerry PI
Introduzione a RaspBerry PIIntroduzione a RaspBerry PI
Introduzione a RaspBerry PIPaolo Aliverti
 
Installare i server via rete con Cobbler
Installare i server via rete con CobblerInstallare i server via rete con Cobbler
Installare i server via rete con CobblerBabel
 
Il dual boot scolastico perfetto (2012)
Il dual boot scolastico perfetto (2012)Il dual boot scolastico perfetto (2012)
Il dual boot scolastico perfetto (2012)Marcello Missiroli
 
GNU/Linux PowerPC Notebook Linux day 2015 Milano
GNU/Linux PowerPC Notebook Linux day 2015 MilanoGNU/Linux PowerPC Notebook Linux day 2015 Milano
GNU/Linux PowerPC Notebook Linux day 2015 MilanoRoberto Innocenti
 
Da Zero all'open per PA e PMI
Da Zero all'open per PA e PMIDa Zero all'open per PA e PMI
Da Zero all'open per PA e PMINaLUG
 
High performance in Magento: HHVM
High performance in Magento: HHVMHigh performance in Magento: HHVM
High performance in Magento: HHVMAlessandro Scavella
 
Arduino&raspberry pi - Un connubio vincente
Arduino&raspberry pi - Un connubio vincenteArduino&raspberry pi - Un connubio vincente
Arduino&raspberry pi - Un connubio vincenteMirco Sbrollini
 

Ähnlich wie Matteo Baccan - Valerio Tognozzi - Novara LinuxDay 2015 (20)

Raspberry pi per tutti (workshop presso Warehouse Coworking Pesaro)
Raspberry pi per tutti (workshop presso Warehouse Coworking Pesaro)Raspberry pi per tutti (workshop presso Warehouse Coworking Pesaro)
Raspberry pi per tutti (workshop presso Warehouse Coworking Pesaro)
 
Succo di lampone: come ottimizzare JAVA e PHP su un’architettura Raspberry Pi...
Succo di lampone: come ottimizzare JAVA e PHP su un’architettura Raspberry Pi...Succo di lampone: come ottimizzare JAVA e PHP su un’architettura Raspberry Pi...
Succo di lampone: come ottimizzare JAVA e PHP su un’architettura Raspberry Pi...
 
Linux Day 2016 Milano - Open Source Hardware PowerPC Notebook
Linux Day 2016 Milano - Open Source Hardware PowerPC Notebook Linux Day 2016 Milano - Open Source Hardware PowerPC Notebook
Linux Day 2016 Milano - Open Source Hardware PowerPC Notebook
 
Mpc8308 rdb piattaforma di riferimento della freescale - recensione - 2010-10-26
Mpc8308 rdb piattaforma di riferimento della freescale - recensione - 2010-10-26Mpc8308 rdb piattaforma di riferimento della freescale - recensione - 2010-10-26
Mpc8308 rdb piattaforma di riferimento della freescale - recensione - 2010-10-26
 
NON ESISTONO COMPUTER VECCHI (Da xp a linux - Treviso 15/4/2014)
NON ESISTONO COMPUTER VECCHI (Da xp a linux - Treviso 15/4/2014)NON ESISTONO COMPUTER VECCHI (Da xp a linux - Treviso 15/4/2014)
NON ESISTONO COMPUTER VECCHI (Da xp a linux - Treviso 15/4/2014)
 
Seminario Raspberri Pi - Parte 2 - GULP
Seminario Raspberri Pi - Parte 2 - GULPSeminario Raspberri Pi - Parte 2 - GULP
Seminario Raspberri Pi - Parte 2 - GULP
 
Guida al computer - Lezione 11 - La scheda grafica
Guida al computer  - Lezione 11 - La scheda graficaGuida al computer  - Lezione 11 - La scheda grafica
Guida al computer - Lezione 11 - La scheda grafica
 
Installazione ambientepython ubuntumate
Installazione ambientepython ubuntumateInstallazione ambientepython ubuntumate
Installazione ambientepython ubuntumate
 
RiminiLUG. Mini Corso su Linux p1: Installazione & Configurazione
RiminiLUG. Mini Corso su Linux p1: Installazione & ConfigurazioneRiminiLUG. Mini Corso su Linux p1: Installazione & Configurazione
RiminiLUG. Mini Corso su Linux p1: Installazione & Configurazione
 
Vagrant e Docker a confronto;scegliere ed iniziare
Vagrant e  Docker a confronto;scegliere ed iniziareVagrant e  Docker a confronto;scegliere ed iniziare
Vagrant e Docker a confronto;scegliere ed iniziare
 
Installazione Qt/Qt Quick per target Android
Installazione Qt/Qt Quick  per target AndroidInstallazione Qt/Qt Quick  per target Android
Installazione Qt/Qt Quick per target Android
 
Raspberry omv
Raspberry omvRaspberry omv
Raspberry omv
 
Introduzione a RaspBerry PI
Introduzione a RaspBerry PIIntroduzione a RaspBerry PI
Introduzione a RaspBerry PI
 
Raspberry
RaspberryRaspberry
Raspberry
 
Installare i server via rete con Cobbler
Installare i server via rete con CobblerInstallare i server via rete con Cobbler
Installare i server via rete con Cobbler
 
Il dual boot scolastico perfetto (2012)
Il dual boot scolastico perfetto (2012)Il dual boot scolastico perfetto (2012)
Il dual boot scolastico perfetto (2012)
 
GNU/Linux PowerPC Notebook Linux day 2015 Milano
GNU/Linux PowerPC Notebook Linux day 2015 MilanoGNU/Linux PowerPC Notebook Linux day 2015 Milano
GNU/Linux PowerPC Notebook Linux day 2015 Milano
 
Da Zero all'open per PA e PMI
Da Zero all'open per PA e PMIDa Zero all'open per PA e PMI
Da Zero all'open per PA e PMI
 
High performance in Magento: HHVM
High performance in Magento: HHVMHigh performance in Magento: HHVM
High performance in Magento: HHVM
 
Arduino&raspberry pi - Un connubio vincente
Arduino&raspberry pi - Un connubio vincenteArduino&raspberry pi - Un connubio vincente
Arduino&raspberry pi - Un connubio vincente
 

Mehr von Matteo Baccan

javaday 2006 - Tiger
javaday 2006 - Tigerjavaday 2006 - Tiger
javaday 2006 - TigerMatteo Baccan
 
Phpday 2009 php e java
Phpday 2009 php e javaPhpday 2009 php e java
Phpday 2009 php e javaMatteo Baccan
 
Javaday 2009 php e java
Javaday 2009 php e javaJavaday 2009 php e java
Javaday 2009 php e javaMatteo Baccan
 
Confsl 2010 Facebook Framework
Confsl 2010 Facebook FrameworkConfsl 2010 Facebook Framework
Confsl 2010 Facebook FrameworkMatteo Baccan
 
Stack Overflow meetup html2pop3
Stack Overflow meetup html2pop3 Stack Overflow meetup html2pop3
Stack Overflow meetup html2pop3 Matteo Baccan
 
Codemotion 2012 : Sphinx: Open Source Search Server
Codemotion 2012 : Sphinx: Open Source Search ServerCodemotion 2012 : Sphinx: Open Source Search Server
Codemotion 2012 : Sphinx: Open Source Search ServerMatteo Baccan
 
Codemotion twitter programming
Codemotion twitter programmingCodemotion twitter programming
Codemotion twitter programmingMatteo Baccan
 
Webtech 2010: twitter programming
Webtech 2010: twitter programmingWebtech 2010: twitter programming
Webtech 2010: twitter programmingMatteo Baccan
 
Webtech 2010: facebook framework
Webtech 2010: facebook frameworkWebtech 2010: facebook framework
Webtech 2010: facebook frameworkMatteo Baccan
 
Webbit 2004: Tiger, java
Webbit 2004: Tiger, javaWebbit 2004: Tiger, java
Webbit 2004: Tiger, javaMatteo Baccan
 
Webbit 2004: Aspectj
Webbit 2004: AspectjWebbit 2004: Aspectj
Webbit 2004: AspectjMatteo Baccan
 
JIPDay 2005: Xlet Java Programming
JIPDay 2005: Xlet Java ProgrammingJIPDay 2005: Xlet Java Programming
JIPDay 2005: Xlet Java ProgrammingMatteo Baccan
 
Javaday 2006: Java 5
Javaday 2006: Java 5Javaday 2006: Java 5
Javaday 2006: Java 5Matteo Baccan
 
Javaday 2007: skype4java
Javaday 2007: skype4javaJavaday 2007: skype4java
Javaday 2007: skype4javaMatteo Baccan
 
Javaday 2010: Facebook Java Framework
Javaday 2010: Facebook Java FrameworkJavaday 2010: Facebook Java Framework
Javaday 2010: Facebook Java FrameworkMatteo Baccan
 

Mehr von Matteo Baccan (15)

javaday 2006 - Tiger
javaday 2006 - Tigerjavaday 2006 - Tiger
javaday 2006 - Tiger
 
Phpday 2009 php e java
Phpday 2009 php e javaPhpday 2009 php e java
Phpday 2009 php e java
 
Javaday 2009 php e java
Javaday 2009 php e javaJavaday 2009 php e java
Javaday 2009 php e java
 
Confsl 2010 Facebook Framework
Confsl 2010 Facebook FrameworkConfsl 2010 Facebook Framework
Confsl 2010 Facebook Framework
 
Stack Overflow meetup html2pop3
Stack Overflow meetup html2pop3 Stack Overflow meetup html2pop3
Stack Overflow meetup html2pop3
 
Codemotion 2012 : Sphinx: Open Source Search Server
Codemotion 2012 : Sphinx: Open Source Search ServerCodemotion 2012 : Sphinx: Open Source Search Server
Codemotion 2012 : Sphinx: Open Source Search Server
 
Codemotion twitter programming
Codemotion twitter programmingCodemotion twitter programming
Codemotion twitter programming
 
Webtech 2010: twitter programming
Webtech 2010: twitter programmingWebtech 2010: twitter programming
Webtech 2010: twitter programming
 
Webtech 2010: facebook framework
Webtech 2010: facebook frameworkWebtech 2010: facebook framework
Webtech 2010: facebook framework
 
Webbit 2004: Tiger, java
Webbit 2004: Tiger, javaWebbit 2004: Tiger, java
Webbit 2004: Tiger, java
 
Webbit 2004: Aspectj
Webbit 2004: AspectjWebbit 2004: Aspectj
Webbit 2004: Aspectj
 
JIPDay 2005: Xlet Java Programming
JIPDay 2005: Xlet Java ProgrammingJIPDay 2005: Xlet Java Programming
JIPDay 2005: Xlet Java Programming
 
Javaday 2006: Java 5
Javaday 2006: Java 5Javaday 2006: Java 5
Javaday 2006: Java 5
 
Javaday 2007: skype4java
Javaday 2007: skype4javaJavaday 2007: skype4java
Javaday 2007: skype4java
 
Javaday 2010: Facebook Java Framework
Javaday 2010: Facebook Java FrameworkJavaday 2010: Facebook Java Framework
Javaday 2010: Facebook Java Framework
 

Matteo Baccan - Valerio Tognozzi - Novara LinuxDay 2015

  • 1. LinuxDay 2015 http://www.linoxnovara.org/ Matteo Baccan e Valerio Tognozzi Realizzazione di una stazione meteo È possibile realizzare una stazione meteo con prodotti opensource? Cosa mi serve per iniziare? In questo breve talk vedremo le scelte che sono state fatte per poter avere una GUI responsive in ambiente Raspberry Pi http://www.baccan.it http://www.tecnogeppetto.it Cosa vedremo oggi
  • 2. LinuxDay 2015 http://www.linoxnovara.org/ Chi sono? Matteo Baccan Risolvo problemi Ottimizzo architetture software Aiuto le aziende a realizzare i propri sogni Sono uno sviluppatore da più di 25 anni. Ho imparato a essere trasversale, a non smettere mai di studiare e ad ascoltare i miei clienti per realizzare quello che hanno in mente
  • 3. LinuxDay 2015 http://www.linoxnovara.org/ Chi sono? Valerio Tognozzi aka TecnoGeppetto mi diverto facendo il Maker a tempo pieno. Arduino, RaspberryPi e sensori di tutti i tipi, sono il mio pane quotidiano, con i quali creo soluzioni per i progetti più strani. Nei ritagli di tempo mi occupo di marketing e di vendite di alcune aziende commerciali.
  • 4. LinuxDay 2015 http://www.linoxnovara.org/ Programma Cosa vedremo ● Cos’è Raspberry Pi ● Cosa ci possiamo fare ● Raspberry Pi con i sensori ● Raspberry Pi come stazione meteo
  • 5. LinuxDay 2015 http://www.linoxnovara.org/ Tratto da : http://it.wikipedia.org/wiki/Raspberry_Pi Il Raspberry Pi è un single-board computer (un calcolatore implementato su una sola scheda elettronica) sviluppato nel Regno Unito dalla Raspberry Pi Foundation. Il suo lancio al pubblico è avvenuto alla fine del mese di febbraio 2012. Finora, ne sono state prodotte quattro versioni (Modelli: A, B, A+, B+, 2) con prezzi da 20 a 35 dollari statunitensi. L'idea di base è la realizzazione di un dispositivo economico, concepito per stimolare l'insegnamento di base dell'informatica e della programmazione nelle scuole. Cos’è Raspberry Pi?
  • 6. LinuxDay 2015 http://www.linoxnovara.org/ Dal punto di vista hardware Il progetto ruota attorno a un System-on-a-chip (SoC) Broadcom BCM2835, che incorpora un processore BMC2835 700 MHz ARM1176JZF-S core (overcloccabile da software), una GPU VideoCore IV, e 256 (modello A) o 512 (modello B) Megabyte di memoria. Il modello 2 cambia processore e monta un quad-Core BCM2836 900 MHz ARM (Cortex A7) (per ora overcloccabile a 1000 Mhz), con supporto per il futuro Windows 10 e Snappy Ubuntu Core Il progetto non prevede né hard disk né una unità a stato solido, affidandosi invece a una scheda SD per il boot e per la memoria non volatile. La scheda è stata progettata per ospitare sistemi operativi basati su un kernel Linux o RISC OS. Cos’è Raspberry Pi?
  • 7. LinuxDay 2015 http://www.linoxnovara.org/ Guardiamolo in faccia Le versioni attualmente in vendita sono Modello A Modello B
  • 8. LinuxDay 2015 http://www.linoxnovara.org/ Guardiamolo in faccia Le versioni attualmente in vendita sono Modello B+ e Raspberry Pi 2 512 MB 1GB 4USB 700MHz 900MHz
  • 9. LinuxDay 2015 http://www.linoxnovara.org/ Da cosa è composto Modello A: 1 USB NO RJ45
  • 10. LinuxDay 2015 http://www.linoxnovara.org/ Evoluzione futura Da SBC a computer “indossabile” Raspberry Pi Compute Module BCM2835 processor, 512Mbyte of RAM e 4Gbyte eMMC Flash device
  • 11. LinuxDay 2015 http://www.linoxnovara.org/ Prezzi e disponibilità Il prezzo del modello B è attorno ai 34 euro ed è disponibile in molti store online Questo era il prezzo Amazon di oggi 18 ottobre 2015
  • 12. LinuxDay 2015 http://www.linoxnovara.org/ Prezzi e disponibilità Il prezzo del modello B 2 è attorno ai 43 euro ed è disponibile in molti store online Questo era il prezzo Amazon di oggi 18 ottobre 2015
  • 13. LinuxDay 2015 http://www.linoxnovara.org/ Hardware consigliato Cosa potrebbe servirmi per usare al meglio Raspberry Pi ? Proviamo a fare una piccola lista della spesa, con hardware sicuramente funzionante, usando Amazon Italia e Amazon UK Chiaramente, sapendo cosa ci serve, lo possiamo acquistare da qualsiasi sito o negozio
  • 14. LinuxDay 2015 http://www.linoxnovara.org/ Hardware consigliato Alimentatore da 5V / 2A, funziona anche con alimentatori 5V / 300 mA, ma alla prima cosa che collegate si spegne :) Tastiera UBS, con magari mouse incorporato
  • 15. LinuxDay 2015 http://www.linoxnovara.org/ Hardware consigliato Se non avete un monitor o una TV HDMI un adattatore HTMI Maschio / VGA Femmina Se non avete una rete cablata RJ45 Una scheda Wifi USB
  • 16. LinuxDay 2015 http://www.linoxnovara.org/ Hardware consigliato Dato che abbiamo occupato tutte le porte USB, meglio prendere un Hub USB Alimentato Ricordiamoci che da qualche parte il software va installato, partiamo da una scheda SD da 8GB Classe 10
  • 17. LinuxDay 2015 http://www.linoxnovara.org/ Hardware consigliato E se non abbiamo TV o monitor dove collegare il Raspberry Pi Possiamo prendere un monitor TFT a colori per auto Comprensivo di alimentatore 12V 5A E per sicurezza un connettore DC12V (1 / 2 euro)
  • 18. LinuxDay 2015 http://www.linoxnovara.org/ Software Ora che la parte Hardware è a posto Possiamo passare alla parte Software
  • 19. LinuxDay 2015 http://www.linoxnovara.org/ NOOBS Il punto di partenza è sicuramente NOOBS (attualmente v 1.4.2) New Out Of the Box Software http://www.raspberrypi.org/downloads
  • 20. LinuxDay 2015 http://www.linoxnovara.org/ NOOBS Per installare NOOBS servono 4 cose 1) NOOBS_v1_4_2.zip scaricabile dal sito Raspberrypi.org 2) Una scheda SD, nella quale copiare i file presenti all’interno dello ZIP. Anche se la dimensione minima è da 4GB, consiglio l’utilizzo di una scheda da 16 o 32 GB 3) Un programma per formattare la scheda SD nel modo corretto: in base al sistema operativo esiste un diverso software da utilizzare: Windows : https://www.sdcard.org/downloads/formatter_4/eula_windows/ Mac: https://www.sdcard.org/downloads/formatter_4/eula_mac/ Linux: gparted o parted 4) 2 colpi di mouse per copiare e incollare i file sulla SD Per maggiori informazioni esiste un piccolo tutorial a questo indirizzo http://www.raspberrypi.org/help/
  • 21. LinuxDay 2015 http://www.linoxnovara.org/ Raspbian Oggi parleremo di Raspbian È una distribuzione pensata per essere “general purpose”, con un utilizzo client Non esiste una versione server ufficiale di Raspbian Vediamo insieme come costruirla. Iniziamo a spremere il nostro lampone
  • 22. LinuxDay 2015 http://www.linoxnovara.org/ Raspbian Server Edition Qualcuno si è posto il problema di non avere una distribuzione ottimizzata per una configurazione server e ha realizzato Raspbian Server Edition 2.5 http://sirlagz.net/2013/07/19/raspbian-server-edition-2-5/ In realtà è una Raspbian basata su Debian 7 Wheezy portata a Debian 8 Jessie, con la rimozione di una serie di pacchetti “inutili” a livello server. Parte dal concetto che: un “purista” considera peccaminoso l’utilizzo di una GUI su un server, viene quindi rimosso LXDE e tutti i relativi pacchetti, più una serie di pacchetti non necessari su un server In alternativa potete provare Minimal Raspbian – Server and XFCE editions http://xecdesign.com/minimal-raspbian-server-xfce-editions/
  • 23. LinuxDay 2015 http://www.linoxnovara.org/ Raspbian Server Edition Non dobbiamo però essere ottimisti: la sola rimozione dei pacchetti inutili non basta a realizzare una versione server di Raspberry Pi. Vediamo quali altre tecniche ci permettono di migliorare i 2 aspetti che possono cambiare notevolmente le prestazioni di un Raspberry Pi Velocità Memoria
  • 24. LinuxDay 2015 http://www.linoxnovara.org/ Velocità: Overclock guidato Chi non ha mai provato ad “overcloccare” il proprio computer? Con Raspberry Pi l’overclock è ammesso e di sistema. Tramite il tool di configurazione : sudo raspi-config
  • 25. LinuxDay 2015 http://www.linoxnovara.org/ Velocità: Overclock manuale arm_freq gpu_freq core_freq sdram_freq over_voltage 800 900 275 500 900 450 450 930 350 500 1000 500 500 6 Manualmente 1050 6 1150 500 600 8 Per chi volesse provare manualmente, basta modificare direttamente il file sudo nano /boot/config.txt Sul forum Raspberry Pi sono indicate altre configurazioni possibili, che possono farci arrivare alla frequenza di 1150MHz. Per info http://elinux.org/RPiconfig
  • 26. LinuxDay 2015 http://www.linoxnovara.org/ Velocità: Overclock manuale Ci sono comunque anche voci di overclock a 1200 MHz e per chi volesse provare, sono disponibili sul mercato dissipatori a 7 euro, in grado di diminuire di qualche grado la temperatura del processore. Oppure se avete ancora in cantina dei vecchi PC .. staccategli la ventolina, costerà ancora meno :)
  • 27. LinuxDay 2015 http://www.linoxnovara.org/ Memoria: Condivisione memoria CPU/GPU Cambio allocazione della memoria CPU/GPU Di default Raspberry Pi parte con 64MB di ram per la GPU. Installando un sistema server possiamo diminuire questa memoria a 16MB Possiamo modifiare /boot/config.txt gpu_mem=16 o usare sudo raspi-config
  • 28. LinuxDay 2015 http://www.linoxnovara.org/ Memoria: Sessioni terminale inutili Ottimizzazione servizi esistenti sudo nano /etc/inittab Al netto delle rimozioni fatte su Raspbian, possiamo ancora ottimizzare diminuendo i processi per le connessioni terminale, passando dalle 6 (default) a 2 . 1:2345:respawn:/sbin/getty --noclear 38400 tty1 2:23:respawn:/sbin/getty 38400 tty2 #3:23:respawn:/sbin/getty 38400 tty3 #4:23:respawn:/sbin/getty 38400 tty4 #5:23:respawn:/sbin/getty 38400 tty5 #6:23:respawn:/sbin/getty 38400 tty6
  • 29. LinuxDay 2015 http://www.linoxnovara.org/ Consuntivo PRE/POST ottimizzazioni Aumento velocità di elaborazione passando da 700 a 1000 MHz = 50% Aumento di memoria = 60% pi@piserver ~ $ free total used free shared buffers cached Mem: 497504 58816 438688 0 15588 26976 -/+ buffers/cache: 16252 481252 Swap: 102396 0 102396 pi@pinodo2 ~ $ free total used free shared buffers cached Mem: 448736 175880 272856 0 18368 137004 -/+ buffers/cache: 20508 428228 Swap: 102396 0 102396
  • 30. LinuxDay 2015 http://www.linoxnovara.org/ Per chi vuole osare Possiamo spremere ancora di più Raspberry Pi ● staccando alcuni degli ultimi servizi attivi (p.e. rsyslog) ● passando ad 1 sessione terminale ● aumentando l’overclock e trovando un modo affidabile per raffreddare il processore ● acquistare delle SD più performanti (classe 10) Ricordiamoci che l’overclock esagerato potrebbe rendere le SD utilizzate dal sistema operativo inutilizzabili. Se questo non vi spaventa e avete già bruciato qualche processore (so che per qualcuno che legge queste slide non sarebbe la prima volta) allora potete osare. Fino alla configurazione indicata, funziona tutto, oltre, basta provare :)
  • 32. LinuxDay 2015 http://www.linoxnovara.org/ Stack LAMP Installazione stack LAMP Di default, lo stack LAMP non è installato su Raspbian. Raspbian parte infatti come sistema operativo “client” e non “server”, per trasformarlo in server occorre installare quello che manca, o scaricare una distribuzione apposita Essendo un sistema Linux, l’installazione dello stack LAMP è identica a quella che si farebbe su un qualsiasi server Debian non Raspberry Pi
  • 33. LinuxDay 2015 http://www.linoxnovara.org/ Stack LAMP Installiamo lo stack LAMP + PHPMyAdmin Tramite apt, possiamo installare ● Apache + l'integrazione a php ● PHP5 + l'interfaccia verso mysql + la versione fpm di php ● MySQL server e client ● PhpMyAdmin sudo apt-get install apache2 php5 mysql-server libapache2-mod-php5 php5-mysql php5-fpm mysql-client phpmyadmin
  • 34. LinuxDay 2015 http://www.linoxnovara.org/ Sensori - Python Alcuni dei sensori utilizzati sono forniti da Adafruit Industries. Oltre a fornire i sensori, Adafruit fornisce anche alcuni esempi Python di come leggere dei dati rilevati dai sensori stessi. Per questo motivo, abbiamo optato per una personalizzazione di tali programmi, in modo che non si limitassero a leggere i dati e a visualizzarli, ma che li andassero anche a scrivere su un database MySQL. Sensori
  • 35. LinuxDay 2015 http://www.linoxnovara.org/ WEB - GUI Per la realizzazione della GUI web sono stati utilizzati alcuni componenti grafici, ideali per la realizzazione di GUI responsive e in linea con gli attuali standard di mercato - Bootstrap – per la struttura delle pagine - Jquery – per il codice aggiuntivo che dinamicamente aggiorna le pagine - Flot – per la realizzazione dei grafici - Font Awesome – per le icone personalizzate - MetisMenu – per i menu del programma Prodotti opensource per la GUI
  • 36. LinuxDay 2015 http://www.linoxnovara.org/ Funzionamento Alla partenza di Raspberry viene invocato il seguente service 'start') #!/bin/sh service apache2 start service mysql start sudo /home/pi/meteo/Adafruit_BMP085_mysql.py & exit 0 touch /var/lock/subsys/meteo ;; 'stop') #!/bin/sh sudo kill $(ps aux | grep 'Adafruit_BMP085_mysql.py' | awk '{print $2}') service apache2 stop service mysql stop exit 0 rm -f /var/lock/subsys/meteo ;; *) echo "Usage: $0 { start | stop }" ;; Service da installare su Raspberry Pi
  • 37. LinuxDay 2015 http://www.linoxnovara.org/ Lettura dei sensori # Initialise the BMP085 and use STANDARD mode (default value) # bmp = BMP085(0x77, debug=True) bmp = BMP085(0x77) # To specify a different operating mode, uncomment one of the following: # bmp = BMP085(0x77, 0) # ULTRALOWPOWER Mode # bmp = BMP085(0x77, 1) # STANDARD Mode # bmp = BMP085(0x77, 2) # HIRES Mode # bmp = BMP085(0x77, 3) # ULTRAHIRES Mode temp = bmp.readTemperature() # Read the current barometric pressure level pressure = bmp.readPressure() # To calculate altitude based on an estimated mean sea level pressure # (1013.25 hPa) call the function as follows, but this won't be very accurate altitude = bmp.readAltitude() Lettura tramite Python
  • 38. LinuxDay 2015 http://www.linoxnovara.org/ Scrittura su MySQL while 1==1: insert = "insert into sensori(stazione,data,temperatura,pressione,altitudine) values('Linox','%s',%.2f,%.2f,%.2f);" % (datetime.datetime.now().strftime("%Y-%m- %d %H:%M:%S"), temp , (pressure / 100.0) , altitude) con = 0 try: con = mdb.connect('192.168.2.22', 'pi', 'raspberry', 'meteo') cur = con.cursor() cur.execute( insert ) except _mysql.Error, e: print "Error %d: %s" % (e.args[0], e.args[1]) sys.exit(1) finally: if con: con.close() time.sleep(1); Inserimento in db MySQL
  • 39. LinuxDay 2015 http://www.linoxnovara.org/ Componenti - GUI ● Visualizzazione sensori - Grafici Flot aggiornati realtime tramite un webservice HTTP/JSON interrogato tramite Jquery ● TimeLapsed - In questo caso, lettura tramite PHP della cartella timelapsed e visualizzazione di uno slideshow delle immagini catturate Parti della GUI
  • 42. LinuxDay 2015 http://www.linoxnovara.org/ Come contattarmi Matteo Baccan http://www.baccan.it Valerio Tognozzi http://www.tecnogeppetto.it