Passaggio Automatico Giorno/Notte con GPhoto2
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:
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
