Salve,
ho appena installato una webcam e ho inserito l'indirizzo dell'immagine jpg autoaggiornante nella pagina della mia stazione. Purtroppo però questa immagine non si autoaggiorna.
Ho verificato e sull'ftp l'immagine jpg è sempre aggiornata all'ultimo scatto, ho usato uno script in php di utente credo proprio su questo forum per far rinominare l'ultimo scatto in webcam.jpg. Sbaglio qualcosa o devo settare meglio qualche impostazione?
Grazie
Webcam di Jesce, Altamura - myMeteoNetwork
Un po troppe poche info per capire.......
Mettiamo che la webcam sia una Foscam, lei genera uno scatto con nome sempre diverso che un preambolo di nome sempre uguale poi seguito da Anno,Mese,Giorno,Ora,minuto, secondi.
Questo scatto va a finire dentro ad una Directory di nome "snap"
Dentro a questa directory si deve trovare un file PHP che quasi sempre si chiama "webcam.php" oppure in alternativa "webcamlogo.php" ma devi metterci anche il file "testo.txt" e il font "VeraBd.ttf"
Per visualizzare lo scatto, gli ospiti del tuo sito debbono richiamare il file "webcam.php" o quel che sia...... così che gli scatti vecchi saranno cancellati mentre l'ultimo sarà rinominato in "webcam.jpg" ma non dovrai chiamarlo tu dato che sarà il file PHP a mostrarlo.
Se vuoi approfondire, puoi leggere un mio tutorial e ti consiglio tra le due tecniche proposte, "sicura" e "non sicura" di di iniziare con la "non sicura"
![]()
ciao a tutti da Roberto
Stazione Davis 6163 VP2 Plus
La mia webcam a Nord La mia webcam a Ovest
Nell'interesse generale del Forum, NON RISPONDO privatamente a quesiti di ordine tecnico che invece possono essere dibattuti collettivamente
Ciao, grazie per la tua risposta.
Ora ricordo, ho seguito il tuo tutorial. Allora provo a recuperare, la webcam è una Foscam S41. Gli scatti vanno a finire nella cartella snap su FTP e lo script webcamlogo cancella tutto tranne l'ultimo scatto e lo rinomina in webcam.jpg
Nella cartella snap c'è tutto quello che hai detto.
Il problema è che visitando il link dello script non mi appare l'ultimo scatto ma una schermata nera
https://meteojesce.altervista.org/fo...webcamlogo.php
Visitando il file webcam.jpg, mi appare uno scatto non recente. Ma effettivamente ho verificato sull'ftp e il file webcam.jpg è sempre il più recente infatti su altri siti l'aggiornamento è automatico e vedo l'ultimo scatto
https://meteojesce.altervista.org/fo...nap/webcam.jpg
Jesce - Weathercloud
Sai come posso risolvere? Grazie
Non è la serata ideale per controllare lo scatto, la schermata del PHP è nera e l'altra del JPG quasi del tutto nera tra pioggia e buio....oltre tutto l'orario mostrato è errato e non capisco se per errato settaggio oppure se per blocco della Foscam ma domani mattina riguardo.
Purtroppo potrebbe essere anche colpa del tuo Hosting Altervista oppure per la versione PHP che lo stesso mette a disposizione.......
Intanto e sicuro che il file webcamlogo.php di cui ti metto il codice qui, è funzionante per averlo provato stamani sul sito di un amico, prova a sostituire l'attuale PHP, senza modificarne nulla, con questo.....
Codice:<?php //File webcamlogo.php/ //http://www.meteospinaceto.it/ header("Refresh: 60; url=" . $_SERVER["PHP_SELF"]); // prepara l'array per i nomi dei file $directory = array(); // prepara l'handler per la directory $handler = opendir('../snap'); // apre la directory e legge i singoli nomi dei file while ($file = readdir($handler)) { // se il nome del file contiene il testo iniziale imposto dalla ipcamera lo mette nell'array if (substr("$file", 0, 8) == "Schedule") { $directory[] = $file; } } // chiude l'handler closedir($handler); // ordina la lista dei file per nome (il piu' nuovo sara' l'ultimo) sort($directory); // conta i file $fileCount = count($directory); // copia il file piu' nuovo in webcam.jpg // $index corrispondera' all'ultimo elemento dell'array (il primo e' 0) $index = $fileCount - 1; $fileDaCopiare = $directory[$index]; copy($fileDaCopiare, 'webcam.jpg'); // cancella tutti i file i cui nomi sono nell'array for($index=0; $index < $fileCount; $index++) { $fileDaCancellare = $directory[$index]; unlink($fileDaCancellare); } $nome_immagine="webcam.jpg"; // file contenente l'immagine $nome_testo="testo.txt"; // file contenente le scritte $fp = fopen($nome_testo,"r") or die("impossibile aprire il file testo.txt."); $testo_sinistra=fgets($fp,100); // nella prima riga la scritta allineata a sinistra $testo_destra=fgets($fp,100); // nella seconda riga la scritta allineata a destra if ( $testo_destra = "data" ) { setlocale(LC_TIME,"it_IT"); $testo_destra=strftime ("%a %d %b %Y %H:%M:%S", filemtime($nome_immagine)); } fclose($fp); header("Content-type: image/png"); header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT"); header("Cache-Control: no-store, no-cache, must-revalidate"); header("Cache-Control: post-check=0, pre-check=0", false); header("Pragma: no-cache"); $im = imagecreatefromjpeg($nome_immagine); //$black = imagecolorallocate($im, 0, 0, 0); //$white = imagecolorallocate($im, 255, 255, 255); $colore_barra = imagecolorallocate($im, 153, 102, 51); // colore della barra formato RGB $colore_testo = imagecolorallocate($im, 255, 255, 255); // colore per testo $x=imagesx($im); $y=imagesy($im); $font = "VeraBd.ttf"; $size = 10; // dimensione del testo $altezza_barra = 25; // dimensione della barra imagefilledrectangle($im, 0, $y-$altezza_barra, $x-1, $y-1, $colore_barra); $bbox = imagettfbbox ($size, 0, $font, $testo_sinistra); $dy = (($bbox[1] - $bbox[7]) / 2); imagettftext($im, $size, 0, 5, $y-($altezza_barra / 2) + $dy - 1, $colore_testo, $font, $testo_sinistra); $bbox = imagettfbbox ($size, 0, $font, $testo_destra); $dx = ($bbox[2] - $bbox[0]); imagettftext($im, $size, 0, $x-5-$dx, $y-($altezza_barra / 2) + $dy - 1, $colore_testo, $font, $testo_destra); $info = getimagesize($nome_immagine); //carica immagine //$logo = imagecreatefrompng("logo1.png") ; //carica 1° logo - h/= cartella - logo1.png = nome del file e estensione.png //$logo2 = imagecreatefrompng("logo2.png") ; //carica 2° logo - h/= cartella - logo2.png = nome del file e estensione.png //$logo3 = imagecreatefrompng("logo3png") ; //carica 3° logo - h/= cartella - logo3.png = nome del file e estensione.png //imagecopy($im, $logo, 0, $info[1]-165, 0, 0, 181, 140); //posizione 1°logo(da sx= 5$logo, 1610 ,sposta dal fondo= -0,sposta da sinistra= 0)dimensione 1°logo(300=larghezza area assegnata,230=altezza area assegnata) //imagecopy($im, $logo2, 5, $info[1]-150, 0, 0, 150,38); //posizione 2°logo(da sx= 700 ,dal fondo= -65)dimensione 2°logo(156=larghezza ,38=altezza ) //imagecopy($im, $logo3, 5, $info[1]-210, 0, 0, 150,53); //posizione 3°logo(da sx= 865, dal fondo= -80)dimensione 3°logo(150=larghezza ,53=altezza ) //Help//$logo, 0 Variare il valore 0 per spostare dal fondo verso l'alto //Help//$info[1]-165 Fa scendere o salire il logo+zona assegnata //Help//0 Sposta a dx dentro alla zona assegnata //Help// 0 Sposta in alto dentro alla zona assegnata //Help// 181 Definisce la larghezza della zona assegnata //Help// 140 Definisce l'altezza della zona assegnata imagepng($im); imagedestroy($im); ?>
![]()
ciao a tutti da Roberto
Stazione Davis 6163 VP2 Plus
La mia webcam a Nord La mia webcam a Ovest
Nell'interesse generale del Forum, NON RISPONDO privatamente a quesiti di ordine tecnico che invece possono essere dibattuti collettivamente
Ok allora ora funziona tutto con il codice che mi hai postato. Strano perchè ho usato il file nel pacchetto zip scaricabile, forse c'è qualche errore lì.
Ma nello script vedo che c'è anche qualche altra funzione implementabile tipo se voglio mettere un logo (anche se non so cosa modificare e dove metterlo). Eventualmente si potrebbero inserire anche dei dati meteo?
Grazie ancora per il tuo tempo
Si, se ora funziona... sarà meglio che faccio un controllo sul file dell'archivio.....
Effettivamente sull'immagine è possibile inserire fino a tre loghi diversi, molto macchinoso il posizionamento e il dimensionamento sull'area dello scatto
ma le ultime righe che sono commentate descrivono in un breve Help la funzionalità dei vari parametri.
Sull'ultima riga alla base dello scatto è possibile inserire gli ultimi dati importanti del meteo, io che uso WeatherLink ho realizzato, usando i TAGS appropriati, un file "dati.htx" che poi elaborato da WeatherLink stesso genera un file testo.txt che trasferisco con l'FTP dentro alla directory remota SNAP così che va a sostituire l'attuale testo.txt
Il file testo.htx che è adatto a Weatherlink, è messo nel PC nella directory Templates del nostro sito ed il mio codice è questo:
Codice:Dati del <!--stationDate--> ore <!--stationTime-->, temperatura <!--outsideTemp-->, minima <!--lowOutsideTemp-->, massima <!--hiOutsideTemp-->, umidita <!--outsideHumidity-->%, punto di rugiada <!--outsideDewPt-->, pressione rel. <!--barometer-->, vento a <!--windSpeed--> Km/h, da <!--windDirection-->, gradi <!--windDir-->, pioggia odierna <!--dailyRain-->mm.![]()
ciao a tutti da Roberto
Stazione Davis 6163 VP2 Plus
La mia webcam a Nord La mia webcam a Ovest
Nell'interesse generale del Forum, NON RISPONDO privatamente a quesiti di ordine tecnico che invece possono essere dibattuti collettivamente
Allora per il logo non ho ben capito dove metterlo. Perchè ho provato a metterlo in snap e non va. Ho provato a creare una cartella h come scritto nel codice ma ancora nulla. Dove metto il file .png?
Per i dati meteo io ho una bresser che si interfaccia su wunderground, weathercloud, meteonetwork rete e altri fornitori. Dovrei trovare un modo per fare quello che fai tu ma non avendo un pc acceso e collegato alla stazione mi sembra difficile. Tramite le api di wunderground non so se si potrebbe fare.
Io i dati li vedo da questo link:
https://api.weather.com/v2/pws/obser...iKey=MIAAPIKEY
Grazie
Strana cosa....... ho scaricato l'archivio e del file webcamlogo.php ho fatto un "compare" tramite Notepad++ e tranne la prima riga che comunque è un commento, il resto è esattamente uguale
Riguardo al logo, ne devi creare uno .png di dimensioni contenute tipo un 150*150 pixel lo devi nominare a tuo piacere ma che abbia estensione .png e lo metti nella directory snap.
Se ne usi uno solo di logo, chiaramente, come vedi nel codice sotto, devi togliere il commento iniziale ( così come ho già fatto io...) alle righe e sostituire il nome "logo1.png" con il nome del tuo logo
ma anche su:Codice HTML:$logo = imagecreatefrompng("logo1.png") ; //carica 1° logo - h/= cartella - logo1.png = nome del file e estensione.png
Poi, aiutandoti con i numerelli della seconda riga e leggendo le righe commentate che iniziano con //Help e con molta pazienza cerca di dimensionare, spostare e posizionare il logo stesso.Codice HTML:imagecopy($im, $logo, 0, $info[1]-165, 0, 0, 181, 140); //posizione 1°logo(da sx= 5$logo, 1610 ,sposta dal fondo= -0,sposta da sinistra= 0)dimensione 1°logo(300=larghezza area assegnata,230=altezza area assegnata)
Per i dati meteo, riguardo a wunderground, weathercloud, meteonetwork non ne so nulla e dalle api mi tengo lontano che pungono....l'unico metodo che conosco è quello che ti ho scritto.
![]()
Ultima modifica di Orso Polare; 09/11/2021 alle 13:00
ciao a tutti da Roberto
Stazione Davis 6163 VP2 Plus
La mia webcam a Nord La mia webcam a Ovest
Nell'interesse generale del Forum, NON RISPONDO privatamente a quesiti di ordine tecnico che invece possono essere dibattuti collettivamente
Ciao Roberto francamente non ho capito quale riga o righe dovrei controllare
Comunque il codice php è interamente visibile poco sopra.......
Il codice php che usava gianvi97 ma che non funzionava ad una comparazione tramite Notepad++ risultava esattamente uguale ma mancava della prima riga che comunque è commentata, penso che il php che usava, per qualche strana ragione era corrotto.
![]()
Ultima modifica di Orso Polare; 09/11/2021 alle 19:28
ciao a tutti da Roberto
Stazione Davis 6163 VP2 Plus
La mia webcam a Nord La mia webcam a Ovest
Nell'interesse generale del Forum, NON RISPONDO privatamente a quesiti di ordine tecnico che invece possono essere dibattuti collettivamente
Segnalibri