Passaggio Automatico Giorno/Notte con GPhoto2

Da MeteoNetwork Wiki.
Jump to navigation Jump to search

Per fare in modo che il nostro "Muletto" sappia gli oari delle effemeridi, necessari per stabilire il passaggio dalla modalità diurna a quella notturna dobbiamo prima di tutto far creare a wview un file .htm con all'interno gli orari delle effemeridi.

Accediamo da terminale e spostiamoci nella cartella dove sono contenuti i template html che si trova normalmente in /etc/wview/ oppure in /user/local/etc/wview

Digitiamo:

 cd /etc/wview/html
 nano luce.htx


Entrati nell'editor scriviamo:

  <br>
  <!--civilriseTime--><br>
  <!--civilsetTime--><br>

Salviamo ora il file con CTRL+O e premiamo invio e usciamo dall'editor nano con CTRL+X

Andiamo ora a modificare il file html-templates.conf per far generare a wview il file luce.htm.

Spostiamoci nella cartella /etc/wview/ (o dove si trova il nostro file html-templates.conf) editiamo il file con nano e aggiungiamo una riga con scritto luce.htx, come mostrato nell'immagine qui sotto:


Schermatalucehtx.png


Registriamo il file con CTRL+O e usciamo dall'editor Nano con CTRL+X

Riavviamo wview in modo da far generare il file digitando

/etc/init.d/wview start


Spostiamoci ora nella cartella dove sono contenuti gli script bash della nostra webcam. Negli altri esempi li avevamo posizionati in /var/www/

e creiamo due script diversi, il primo con le impostazioni di scatto diurne che chiameremo scattogiorno.sh e l'altro con le impostazioni per lo scatto notturne che chiameremo scattonotte.sh

Digitiamo:

cd /var/www
nano scattogiorno.sh


E incolliamo il testo seguente che è valido per un Canon A520 collegata alla porta USB 001,005 - Per verificare la nostra fotocamera a quale porta USB è collegata dobbiamo digitare

gphoto2 --auto-detect 

e modificare lo script inserendo la porta USB corretta. Per altri tipi di fotocamere dobbiamo adattare i comandi in base all'output del comando gphoto2 --list-config

 gphoto2 --camera "Canon PowerShot A520 (PTP mode)" --port usb:001,005 --set-config canonimgsize=2 --set-config canonimgquality=1 
 --set-config iso=0 --set-config whitebalance=0 --set-config photoeffect=1 --set-config shootingmode=0 --capture-image-and-download 
 --force-overwrite --filename webcam.jpg
 

Salviamo lo script appena creato con CTRL+O e usciamo dall'editor con CTRL+X

Creiamo ora lo script per lo scatto in modalità notturna digitando

nano scattonotte.sh

e incolliamo

 gphoto2 --camera "Canon PowerShot A520 (PTP mode)" --port usb:001,005 --set-config canonimgsize=2 --set-config canonimgquality=1 
 --set-config iso=1 --set-config whitebalance=0 --set-config shootingmode=3 --set-config shutterspeed=3 --set-config aperture=0 
 --capture-image-and-download --force-overwrite --filename webcam.jpg
 


Salviamolo come abbiamo fatto precedentemente (CTRL+O e poi CTRL+X)


rendiamo gli script eseguibili digitando i comandi

chmod 755 scattogiorno.sh
chmod 755 scattonotte.sh

Ora andiamo a creare uno script che in base all'ora in cui viene eseguito sceglie se mandare in esecuzione lo script per lo scatto diurno o quello notturno, utilizzando il file luce.htm come riferimento.

Prima di tutto andiamo a creare un collegamento simbolico con il file luce.htm nella cartella dove sono inseriti gli script

ln -s /var/www/weather/luce.htm /var/www/luce.htm 

Se non sappiamo dove si trova in locale il file luce.htm possiamo cercarlo con il comando find / -name luce.htm


Creiamo lo script scattoauto.sh digitando

nano scattoauto.sh

e incolliamo:

#!/bin/bash

FILE=/var/www/luce.htm
x=0

for utente in $(cut -d "<" -f1 $FILE)
do
  let "x += 1"
  riga[$x]=$utente
done

alba=${riga[1]/:0/} 
tram=${riga[2]/:0/}

alba=${alba/:/} 
tram=${tram/:/}
a=${alba:0:2}
b=${alba:2:2}
c=${tram:0:2}
d=${tram:2:2}
g=0

if [ $b -lt 0 ]
then
 let "a -= 1"
 let "b += 60"
fi

if [ $b -ge 0 ] && [ $b -le 9 ]
then
  alba=$a$g$b
else
  alba=$a$b
fi
if [ $d -ge 60 ]
then
 let "c += 1"
 let "d -= 60"
fi

if [ $d -ge 0 ] && [ $d -le 9 ]
then
  tram=$c$g$d
else
  tram=$c$d
fi
echo $alba
echo $tram
ora=$(date +%H)$(date +%M)
echo $ora
if [ $ora -gt $alba ] && [ $ora -lt $tram ]
	then /var/www/./scattogiorno.sh
	echo "giorno"
else /var/www/./scattonotte.sh 
echo "notte"
fi

touch webcam.jpg
ncftpput -u utenteftp -p passwordftp -S .tmp ftp.miosito.it /cartella webcam.jpg

exit 0

Le ultime righe per l'upload del file con le impostazioni di ncftp vanno personalizzate con i propri dati. Vedere al riguardo Installazione_Gphoto2


Rendiamo ora anche questo file eseguibile con chmod 755 scattoauto.sh

Per farlo eseguire ogni 5 minuti andiamo a modificare la crontab come descritto in I_comandi_in_Gphoto2