Forum

Gestione Webcam Can...
 
Condividi:
Notifiche
Cancella tutti

Gestione Webcam Canon su Raspberry e archivio automatico  

  RSS

Team
 Team
(@team)
Utenti Admin
Registrato: 2 anni fa
Post: 7
15/12/2019 4:11 pm  

Dopo i problemi avuti con il vecchio PSRemote su windows XP ho deciso di passare ad una nuova soluzione:
Raspberry PI + Gphoto.

La prima impressione, dopo alcuni giorni di TEST, è stata molto positiva in quanto non ho più avuto nessun alcun tipo di disconnessioni o errori che mi dovevano portare al riavvio delle fotocamera Canon Powershot A520.

Oltre agli script che già sono stati sviluppati da altri utenti sul web ho voluto crearne uno mio che andasse a gestire anche la fase di archiviazione locale e l'invio delle immagini su server del sito per creare uno slideshow giornaliero.

Per prima cosa assicuriamoci di avere installati i seguenti pacchetti

  • imagemagick
  • ncftpput
  • ftp

SCRIPT per automatizzare lo scatto Giorno/Notte
Salvate il codice col nome di dn.php e modificate le vostre coordinate

#!/usr/bin/php
<?php
$lat=45.51;
$long=9.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+100;
$tramonto = $sunset-200;
if ($uT>$alba && $uT<$tramonto) echo "1";
else
echo "2";
?>

SCRIPT di gestione degli scatti Giorno/Notte
Salvate il codice col nome di scatto.sh

  #!/bin/bash

dn=$(php /home/pi/dn.php)

echo $dn "$uT"
if [ $dn = "1" ]
then
echo "Eseguo la modalità giorno"

#########   meteotreviglio.com webcam canon powershot a520  ########

gphoto2 --camera "Canon Powershot A520 (PTP mode)" --set-config imagesize=4 --set-config imagequality=1 --set-config zoom=0 --set-config iso=1 --set-config photoeffect=1 --set-config shootingmode=0 --set-config whitebalance=2 --set-config meteringmode=2 --capture-image-and-download --force-overwrite --filename /home/pi/webcam.jpg

######  con Imagemagick ritocco il file webcam.jpg e lo risalvo sempre su webcam.jpg ######
/usr/bin/convert /home/pi/webcam.jpg -sharpen 0x1 /home/pi/webcam.jpg

######  con Imagemagick ridimensiono la foto  webcam.jpg a 1024x768  e risalvo la foto in webcam2.jpg ######
/usr/bin/convert /home/pi/webcam.jpg -sharpen 0x1 -resize 1024x768 /home/pi/webcam2.jpg

####  con l'istruzione sotto, aggiungo la data  e l'orario  e risalvo in webcam.jpg  ######
/usr/bin/convert -pointsize 36 -fill white -undercolor black -gravity northwest -draw "text 1950,1650 \"$(date "+%H:%M %d.%m.%Y"|sed -e ' s/\"/\\\"/g' )\"" /home/pi/webcam.jpg /home/pi/webcam.jpg

#### con ncftpput invio la mia immagine al server del sito web ( modificate le credenziali di accesso al vs. server)  ####

ncftpput -u NOMEUTENTE -p PASSWORD FTP.VOSTROSITO:COM  /percorso/sul/server /home/pi/webcam.jpg

exit 0

else
if [ $dn = "2" ]
then
echo "Eseguo la modalità notte"

#########   meteotreviglio.com webcam canon powershot a520  ########

gphoto2 --camera "Canon Powershot A520 (PTP mode)" --set-config imagesize=0 --set-config imagequality=1 --set-config shootingmode=3 --set-config zoom=0 --set-config iso=0 --set-config aperture=0 --set-config photoeffect=2 --set-config shutterspeed=15 --set-config whitebalance=3 --set-config meteringmode=2 --get-all-metadata --capture-image-and-download --force-overwrite --filename /home/pi/webcam.jpg

######  con Imagemagick ritocco il file webcam.jpg e lo risalvo sempre su webcam.jpg ######
/usr/bin/convert /home/pi/webcam.jpg -sharpen 0x1 /home/pi/webcam.jpg

######  con Imagemagick ridimensiono la foto  webcam.jpg a 1024x768  e risalvo la foto in webcam2.jpg ######
/usr/bin/convert /home/pi/webcam.jpg -sharpen 0x1 -resize 1024x768 /home/pi/webcam2.jpg

####  con l'istruzione sotto, aggiungo la data  e l'orario  e risalvo in webcam.jpg  ######
/usr/bin/convert -pointsize 36 -fill white -undercolor black -gravity northwest -draw "text 1950,1650 \"$(date "+%H:%M %d.%m.%Y"|sed -e ' s/\"/\\\"/g' )\"" /home/pi/webcam.jpg /home/pi/webcam.jpg

#### con ncftpput invio la mia immagine al server del sito web ( modificate le credenziali di accesso al vs. server)  ####

ncftpput -u NOMEUTENTE -p PASSWORD FTP.VOSTROSITO:COM  /percorso/sul/server /home/pi/webcam.jpg

exit 0

fi
fi

exit 0

Fatto ciò vi troverete due file, uno con nome webcam.jpg e l'altro con webcam2.jpg
Il primo lo utilizziamo come scatto singolo da inviare al server che si aggiornerà ogni 5 minuti alla massima qualità mentre il secondo lo utilizzeremo come archivio in locale e come immagine sul nostro server per lo slideshow giornaliero.

SCRIPT per l'archiviazione in locale e invio sul server per lo slideshow giornaliero
Salvate il codice col nome di archivio.sh

#!/bin/bash ######## creazione dell'archivio della Webcam Canon Powershot A520 by meteotreviglio.com######## ######## con questo comando andiamo a creare la cartella sul pc con la data di oggi dentro la cartella archivio e copiamo lo scatto ridimensionato nella stessa######## today=$(date +%d-%m-%Y) mkdir -p "/home/pi/archivio/$today" chmod 777 "/home/pi/archivio/$today" cp "/home/pi/webcam2.jpg" "/home/pi/archivio/$today" ######## ora andiamo a rinominare lo scatto webcam2.jpg con l'orario attuale ######## time=$(date +%H:%M) mv "/home/pi/archivio/$today/webcam2.jpg" "/home/pi/archivio/$today/$time.jpg" ######## ora invece ci colleghiamo al server del sito, creiamo la cartella con la data di oggi e inviamo lo scatto con l'orario######## today_host=$(date +%Y-%m-%d) HOST=ftp.vostrosito.com USER=username PASS=password ftp -inv $HOST << EOF user $USER $PASS cd /mio/percorso mkdir $today_host cd $today_host put /home/pi/archivio/$today/$time.jpg /mio/percorso/$today_host/$time.jpg bye EOF exit 0

Infine, per automatizzare il processo dobbiamo accedere a crontab e indicare ogni quanto far scattare l'immagine e ogni quanto far archiviare le foto sulpc e sul server.

Digitiamo da Terminale

sudo crontab -e

e andiamo ad inserire i parametri di scatto ed archiviazione (nel mio caso entrambi ogni 5 minuti)

*/5 * * * * /home/pi/./scatto.sh

*/5 * * * * /home/pi/./archivio.sh

Spero di essere stato chiaro e di aiuto, nel caso scrivete pure in replica se ne avete bisogno 😉 😉 😉 


Quota
Condividi: