Passaggio Automatico Giorno/Notte con GPhoto2

Da MeteoNetwork Wiki.
Versione del 6 gen 2011 alle 19:13 di Cirrus.frank (discussione | contributi)
(diff) ← Versione meno recente | Versione attuale (diff) | Versione più recente → (diff)
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