by


Raspberry PI & Gphoto2 for CANON


official weather station of Isola del Liri, Italy

webcam raspberry PI project

GUI - graphic interface for raspicam




idea

Graphic Interface for RASPICAM & CANON by meteoliri.it

NIENTE PIU GRATTACAPI CON LA MICROSD "PANORAMA V35" - DA SOLI 25,00€

solution, creativity, innovation

Progetto webcam per la gestione del miniPC Raspberry PI con il suo modulo camera da 5mpx/8mpx e fotocamera CANON. Nella sezione "progetti"

RASPICAM

sono disponibili una serie di articoli su come realizzare e soprattutto programmare una webcam panoramica da posizionare a casa per solo scopo hobbistico o pubblicitario per una propria azienda commerciale. Ovviamente, in ottemperanza alla vigente normativa, le riprese realizzate dovranno essere effettuate ad una distanza tale da non permettere il riconoscimento dei tratti somatici dei soggetti, quindi a voi spetta il giusto posizionamento della raspicam. Molti miei amici, entusiasti del progetto e grazie soprattutto dell'ottimo rapporto qualità/prezzo, una volta assemblato i vari componenti, si trovavano poi nella difficoltà di programmare la webcam, nonostante siano presenti guide esaustive sul sito di meteoliri.it. Così è partita l'idea di mettere a disposizione di chiunque ne facesse richiesta, il progetto "PANORAMA by Meteoliri.it" con la fornitura di una micro SD pre-configurata e completa di tutto il necessario per il regolare funzionamento della webcam.
Con questo progetto non saranno più necessarie guide, programmazioni e grattacapi di qualsiasi genere ma basterà inserire la scheda nel vostro Raspberry Pi, collegare poi il cavo LAN direttamente al router e la rete elettrica.

Screenshot

microSD Panorama microSD Panorama microSD Panorama microSD Panorama
microSD Panorama
microSD Panorama
microSD Panorama
microSD Panorama

Per un esempio pratico si consiglia di visionare l'apposita sezione


INTERFACCIA GRAFICA

microSD Panorama

Basic

Graphic Interface

for Raspberry

Gestione RASPICAM

Gestione CANON

FTP immagini (ritmo 2 min)

Mudulo grafico (cornice+dati su immagine)

Time Lapse (framerate 2min)

CumulusMX

...

microSD Panorama

Pro

RASPICAM & Graphic Interface

Raspberry PI 1 B+ 512mb

Camera PI Board 5mp

Alimentatore 5V 2A

Cavo elettrico 2,5mt

Cavo LAN Cat6 5mt

Custodia IP66 c/staffa

MicroSD

...

microSD Panorama

Premium

RASPICAM & Graphic Interface

Raspberry PI 2 1Gb

Camera PI Board 5mp

Alimentatore 5V 2A

Cavo elettrico 2,5mt

Cavo LAN Cat6 5mt

Custodia IP66 c/staffa

TeamViewer

MicroSD


Come programmare una webcam a scatti

gestione fotocamera Canon con Raspberry PI




Purtroppo la Camera Pi board non è "plug and play" e occorre eseguire alcuni passaggi preparatori prima di poterla utilizzare con la Raspberry Pi TYPE B Pi. bisognerà quindi iniziare con gli aggiornamenti del raspbian digidando

sudo apt-get install git
                        
sudo apt-get update && sudo apt-get upgrade

seguirà la configurazione del boot:

sudo raspi-config

apparirà una schermata come da foto, e procedere con "4 Internationalisation Options" e quindi "I2 Change Timezone" seguendo le opzioni richieste. Terminare la configurazione con "Finish" utilizzando i tasti freccia dx/sx.

Dopo il Reboot del sistema proseguire con gli aggiornamenti ed installazione di componenti utili per il regolare funzionamento della webcam. senza prima aver creato la cartella  per gestire la  webcam:

sudo mkdir /var/www
                            
sudo chmod 777 /var/www
cd /var/www

Gphoto2 è un programma opensource che consente di utilizzare alcune fotocamere digitali per la gestione degli scatti in automatico sfruttando tutte le sue funzionalità. Una volta individuata la fotocamera, procedere con l'installazione di Gphoto2:

sudo apt-get install gphoto2

posizionatevi su:

cd /var/www

ed eseguite uno scatto di prova e verificarne l'esistenza dell'immagine:

gphoto2 --capture-image-and-download
                        
ls -l

"ls" serve per vedere nella directory in cui ci si trova il dettaglio dei file presenti; se lo scatto è avvenuto regolarmnte verrà visualizzato il file denominato webcampi.jpg con byte e orario ultima modifica. Per poterlo visualizzare è necessario l'utilizzo di un software che ti consente di caricare o scaricare files su un server. Esistono vari software gratuiti tra i quali Filezilla e WinSCP (da cercare sul web). Basterà, una volta installato, impostare l'host con l'IP del raspberry, nome utente "pi", password "raspberry" e la porta "22". Una volta connesso digitare nel sito remoto /var/www e trasferire sul vostro PC il file immagine. Quindi visualizzatelo.
NB: Per garantire un perfetto funzionamento della vostra fotocamera via USB occorre "smontarla" rimuovendo questi file:

sudo rm /usr/share/dbus-1/services/org.gtk.Private.GPhoto2VolumeMonitor.service
                            
sudo rm /usr/share/gvfs/mounts/gphoto2.mount
sudo rm /usr/share/gvfs/remote-volume-monitors/gphoto2.monitor
sudo rm /usr/lib/gvfs/gvfs-gphoto2-volume-monitor

eseguire il restart con
sudo reboot
Ora procediamo con le installazioni come segue (PHP5, librerie e NCFTP per l'invio file tramite FTP):

sudo apt-get install php5
                            
sudo apt-get install php5-cgi
sudo apt-get install php5-gd
sudo apt-get install ncftp

Script invio immagini (FTP)


I prossimi script sono da creare nella cartella /var/www con:

cd /var/www
                        
sudo nano scatto1.sh

e copia/incolla il seguente codice (script principale x lo scatto della webcam):

#!/bin/bash
                            
dn=$(php /var/www/dn.php)
. /var/www/dati.sh
echo $dn "$uT"
if [ $dn = "1" ]
then
echo "Switching to day mode"
gphoto2 --set-config imagesize=2 --set-config imagequality=1 --set-config iso=0 --set-config photoeffect=1 --set-config shootingmode=0 --capture-image-and-download ---force-overwrite --filename webcampi.jpg
php /var/www/ridu.php
ncftpput -u "$utente" -p "$pass" "$sito" "$desti" /var/www/webcamx.jpg
chmod 777 /var/www/webcamx.jpg
exit 0
else
if [ $dn = "2" ]
then
echo "Switching to night mode"
gphoto2 --set-config imagesize=2 --set-config imagequality=1 --set-config iso=1 --set-config shootingmode=3 --set-config shutterspeed=15 --set-config aperture=0 --capture-image-and-download --force-overwrite --filename webcampi.jpg
php /var/www/ridu.php
ncftpput -u "$utente" -p "$pass" "$sito" "$desti" /var/www/webcamx.jpg
chmod 777 /var/www/webcamx.jpg
exit 0
fi
fi
exit 0

Codice in php per ridurre a piacimento e qualitativamente il file immagine da inviare con FTP sul proprio sito web:

sudo nano ridu.php

copia ed incolla il seguente codice ridu.php così strutturato:

<?php include "SmartImage.class.php";
                            
$src = "/var/www/webcampi.jpg";
$img = new SmartImage($src);
// Resize and save to file
// the true value means to cut the image
$img->resize(1024, 768, true);
$img->saveImage("/var/www/webcamx.jpg", 85);
?>

salvare con ctrl+x e quindi tasto "y" per la conferma. Scaricare e trasferire tramite Filezilla il file smartimagesulla directory /var/www

Codice in php per il calcolo effemeridi (alba e tramonto):

sudo nano dn.php

copia ed incolla il seguente codice dn.php con modifica della lat e long relativa alla propria località, così strutturato:

#!/usr/bin/php
                                
<?php
$lat=41.68;
$long=13.58;
date_default_timezone_set('Europe/Rome');
$uT=time();
$sun_info = date_sun_info($uT, $lat,$long);
$sunrise = $sun_info['civil_twilight_begin'];
$sunset = $sun_info['civil_twilight_end'];
$alba = $sunrise+200;
$tramonto = $sunset-200;
if ($uT>$alba && $uT<$tramonto) echo "1";
else echo "2";
?>

salvare con ctrl+x e quindi tasto "y" per la conferma.
creare questo piccolo file contenente i dati per la connessione FTP:

sudo nano dati.sh

copia/incolla il seguente codice apportando le dovute modifiche: 

#/bin/bash
                                    
utente="tuosito@aruba.it"
pass="password"
sito="ftp.tuosito.it"
desti="www.tuosito.it/webcam"
destiTL="www.tuosito.it/timelapse"

salvare con ctrl+x e quindi tasto "y" per la conferma. infine, per far eseguire lo scatto automaticamente anche e soprattutto ogni volta che si spegne accidentalmente il miniPC è necessario aggiungere una linea di comando da settare a piacimento nel crontab dopo l'ultima riga: 
crontab -e 
copia/incolla il seguente codice.
Da notare il settaggio è impostato ad ogni 2 minuti, ma si può modificare a piacimento la parte numerica (esempio... 1,6,11,16,21,26,etc oppure 1,11,21,31,41,51):

1,3,5,7,9,11,13,15,17,19,21,23,25,27,29,31,33,35,37,39,41,43,45,47,49,51,53,55,57,59 * * * * sh /var/www/./scatto1.sh

salvare con ctrl+x e quindi tasto "y" per la conferma. Ripristinare con "sudo reboot".


NOTE: questa guida è puramente indicativa e meteoliri.it non si assume responsabilità per eventuali danni causati o malfunzionamenti.NOTE LEGALI.Tutti i marchi, loghi, nomi commerciali, nomi di dominio ed ogni altra proprietà intellettuale degli elementi della presente pagina costituiscono proprietà esclusiva e sono protetti dalle vigenti norme nazionali ed internazionali. La riproduzione con qualsiasi mezzo è riservata. meteoliri.itI contenuti sono riproducibili da giornali, siti internet e agenzie soltanto con l'obbligo di citare la fonte 'www.meteoliri.it o meteoliri.it' e con l'espresso divieto di cederli a terzi a qualsiasi titolo.Legge 22 aprile 1941 n° 633 diritti d'autore

Guide per Raspberry PI

elenco articoli

Interfaccia grafica.

Setting colori, qualità, nigth/day & timelapse

Raspberry Pi & GPhoto2

Come programmare una webcam a scatti con GPhoto2

Script scatto webcam

Programma la tua Webcam raspberry con camera board