Creazione di uno Slidesow

Da MeteoNetwork Wiki.
Jump to navigation Jump to search

Girovagando per la rete abbiamo trovato una guida su come eseguire una slideshow giornaliera con gli scatti della nostra Webcam.

Un ringraziamento particolare và a The Ramandolo Man che ha condiviso il proprio lavoro con tutti Noi.

Ecco il link alla guida sul Forum MeteoTriveneto

Eseuiamo preliminarmente le istruzioni sulla guida, andando a creare sul nostro sito la cartella slideshow ed inserendoci all'interno i file e le cartelle indicate.

Come possiamo vedere dalle istruzioni presenti sulla guida abbiamo la necessità di far creare automaticamente ogni giorno una cartella diversa sul nostro sito. Inoltre dobbiamo fare in modo che i nostri scatti della webcam vengono rinominati ed inviati automaticamente nella giusta cartella. Ecco gli script per egeguire con Linux quanto richiesto.

Vediamo prima di tutto lo script per creare in automatico la cartella giornaliera.

Portiamoci nella cartella dove si trovano gli script della webcam (/var/www/)

cd /var/www/

e con l'editor nano creiamo il file cartellaslide.sh

nano cartellaslide.sh

e incolliamo il codice seguente:

#!/bin/bash
today=$(date +%Y-%m-%d)
mkdir $today
chmod 777 $today
ncftpput -R -u utenteftp -p passwordftp ftp.miosito.it /slideshow $today
rmdir $today
exit 0
 

Ricordiamoci di modificare i parametri per l'ftp con i nostri dati e di creare sul nostro sito la cartella slìdeshow come indicato nella guida.

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

Rendiamo lo script eseguibile con il comando

chmod 755 cartellaslide.sh 


Proviamo lo script digitando ./cartellaslide.sh e controlliamo che la cartella giornaliera sia stata creata all'interno della cartella slideshow presente sul nostro sito.

Ora andiamo a modificare la nostra crontab per fare eseguire lo script alle ore 00:05 di ogni giorno.

Digitiamo

cd /etc/cron.hourly 
nano root

ed aggiungiamo la riga

05 00 * * *      /var/www/altro/./cartellaslide.sh

registriamo le modifiche con CTRL+O e usciamo dall'editor con CTRL+X e digitiamo

crontab root root


Vediamo ora lo script per rinominare lo scatto eseguito dalla nostra webcam ogni 5 minuti e fare l'upload nella sottcartella giornaliera all'interno della cartella slideshow sul nostro sito

spostiamoci all'interno della cartella contenente gli script per lo scatto della fotocamera

cd /var/www

e creiamo lo script slide.sh

nano slide.sh

incolliamo il seguente codice

#!/bin/bash
cd /var/www/
ORA=`date '+ %-H'`
MIN=`date '+ %-M'`
let ORA=ORA*100
TEMPO=$[$ORA+$MIN]
today=$(date +%Y-%m-%d)
temsca=$(date +%Y-%m-%d_%H-%M)
echo $temsca

if [ $TEMPO -ge 0600 ] && [ $TEMPO -le 2200 ]
         then
         wget -O webcamslide.jpg http://www.miosito.it/indirizzoimmaginewebcam.php
         mv webcamslide.jpg  $temsca".jpg"
         ncftpput -u utenteftp -p passwordftp ftp.miosito.it /slideshow/$today $temsca".jpg"
         rm $temsca".jpg"
fi

exit 0
 

Registriamo il file e usciamo dall'editor (CTRL + O e CTRL + X) Rendiamo lo script eseguibile

chmod 755 slide.sh


Con questo script andiamo a prelevare l'immaggine php dal nostro sito, in modo da inserire nello slideshow le immagini personalizzate dal file php.

Se abbiamo la necessità di modificare le dimensioni dell'immaggine sarà opportuno inserire nel nostro sito un file .php che generi un'immaggine più piccola e chiamarlo ad esempio webcamsmall.php - Questa operazione è utile anche al fine di memorizzare immaggini con "peso" in Kbyte minore e rendere lo slide più fluido.

Modifichiamo ora la nostra crontab per fare eseguire lo script ogni 5 minuti, facendo eseguire lo script slide.sh due minuti dopo lo script che fa scattare le immaggini alla webcam. Se ad esempio la webcam scatta a 3,8,13,18 ecc lo script scatto.sh sarà eseguito a 00,05,10, ecc altrimenti modifichiamo i minuti secondo le nostre esigenze.

cd /etc/cron.hourly
nano root

ed aggiungere la riga

00,05,10,15,20,25,30,35,40,45,50,55 * * * *     /var/www/./slide.sh

Registriamo le modifiche e usciamo dall'editor (CTRL+O e CTRL+X)

Digitiamo

crontab root root

Ora se abbiamo seguito i vari passi della guida sopra indicata dovremmo avere lo slideshow giornaliero delle immaggini della nostra webcam.