Forum GraphWeather

Forum d'aide GraphWeather
Nous sommes actuellement le Sam Avr 20, 2024 1:40 pm

Le fuseau horaire est UTC+1 heure




Publier un nouveau sujet Répondre au sujet  [ 55 message(s) ]  Aller vers la page Précédent  1, 2, 3, 4
Auteur Message
 Sujet du message: Re: webcam
MessagePublié: Mar Mai 24, 2011 7:33 pm 
Hors-ligne
Membre

Inscription : Jeu Déc 18, 2008 3:57 pm
Message(s) : 202
Robert29 a écrit:
Bonjour,
Si tu veux poursuivre en créant un diaporama, j'ai également le programme qui va bien en stock.



Bonsoir,

Je serais assez interessé par ce petit programme ( code php je suppose )

D'avance Merci :)

_________________
VP2, Weatherlink 6.0.3, GraphWeather 3.0.33 Beta , Windows 7 Intégrale 64bits
ImageImageImage


Haut
 Profil  
Répondre en citant  
 Sujet du message: Re: webcam
MessagePublié: Dim Mai 29, 2011 4:19 pm 
Hors-ligne
Membre

Inscription : Ven Nov 05, 2010 6:27 pm
Message(s) : 95
Bonjour,

Désolé pour le retard, comme tout retraité, je suis très occupé en ce moment.

Donc voici les éléments:

A mettre dans le "head"
Code :
<?PHP   // Toutes les fonctions PHP qui doivent s'executer sur le serveur //////////////////////////////////

    function cmp($a, $b){
    // Fonction de comparaison pour le tri
        Return strcmp($a["date"], $b["date"]);
    }

    function LireNomsImages($Repertoire, $Extension)
   {
    // Fonction qui stocke et trie la liste des fichiers images du Repertoire fourni en argument
    // ayant la bonne extension.
    // Le resultat est dans le tableau "image" en global. Chaque element est constitue de la date et
    // du nom du fichier.

            global $image; // Contiendra la liste des images utiles au diaporama
            $image = Array();
            $image_org = Array(); // Toutes les images avant selection


            $Repertoire_ID = opendir($Repertoire) or die('Erreur');

            while($Fichier_Image = readdir($Repertoire_ID)) { // Balayage des fichiers du repertoire
                if( $Fichier_Image != '.' && $Fichier_Image != '..') { //On ignore . et ..
                    $Fichier = $Repertoire.'/'.$Fichier_Image; // Chemin relatif a la racine
                    $Infos = pathinfo($Fichier); // Pour recuperer infos concernant le fichier
                    if ($Infos['extension'] == $Extension){ // On ne garde que les fichiers ayant la "bonne" extension
                        $image_org[] = array( "date"=> date("Y/m/d H:i", filemtime($Fichier)), "nom"=>$Fichier);
                    }
                }
            }
            closedir($Repertoire_ID);

            usort($image_org, 'cmp'); // Tri suivant la date
            //print_r($image_org);

            // On ne conserve que les images souhaitees, fonction de l'intervalle images camera
            $granularite = 1;   // Par defaut, toutes les images
            if (isset($_GET["frame"])){ // Sinon, valeur choisie dans le menu
                $granularite = $_GET["frame"];
            }
            // Calcul premier index du tableau origine a garder
            $index = (count($image_org) -1) % $granularite;
            // Copie dans $images des (nom, date) des images utiles
            while ($index < count($image_org)){
                $image[] = $image_org[$index];
                $index += $granularite;
            }
    }

    function ListeImages(){
    // Fournit la liste des noms de fichiers
        global $image;
        foreach ($image as $key => $value) {
            echo "MesImages[".$key."] = ".'"'.$value["nom"].'"'.";\n";
        }
    }

    function ListeOptions(){
    // Remplit les options de la liste deroulante "slide" dans "formname"
        global $image;
        foreach ($image as $key => $value) {
            echo "<option value="."'".$value["nom"]."'>".$value["date"]."</option>;\n";
        }
    }

    function PremiereImage(){
        global $image;
        echo "<img src='".$image[0]["nom"]."' alt='".$image[0]["date"]."' title='".$image[0]["date"]."' name='show' border='0' />\n";
    }

    function TempsParImage(){
    // Recuperation de la valeur selectionnee si chargement de page (suite a submit) ou valeur par defaut
        if (isset($_GET["temps_par_image"])){
            echo $_GET["temps_par_image"];
        }
        else echo "1000";
    }
    function IntervalleSelectionne(){
    // Recuperation de la valeur selectionnee si chargement de page (suite a submit) ou valeur par defaut
        if (isset($_GET["frame"])){
            echo '"'.$_GET["frame"].'"';
        }
        else echo "1";
    }
    // Fin definition des fonctions PHP /////////////////////////////////////////////////////////////
    ?>


A mettre dans le "body"

Code :
<table width="100%" border="0" cellspacing="1" cellpadding="1">
          <tr>
            <td>
              <p style="line-height: 2.0">Les photos sont prises toutes les 15 minutes, de 1/2 heure avant le lever du soleil &#224; 1/2 heure apr&#232;s le coucher du soleil. Lorsqu'il fait encore nuit, seul le balisage nocturne des &#233;oliennes peut appara&#238;tre sur votre &#233;cran sous forme de points lumineux. Ces &#233;oliennes, au nombre de 13, sont implant&#233;es sur la montagne de St Gildas qui borde la plaine du Porzay au nord. Elles sont situ&#233;es &#224; plus de 6 km de la cam&#233;ra.</p>
            </td>
          </tr>

          <tr>
            <td>
              <p style="line-height: 0.2">Pour avoir un d&#233;filement fluide:</p>

              <ul style="textalign: right">
                <li>Choisissez l'intervalle cam&#233;ra entre chaque image. (avec 15mn, le diaporama comportera (4 images/h)*24= 96 images.</li>

                <li>Cliquez sur "Charger". Le chargement peut &#234;tre assez long, mais ceci permet d'avoir une vitesse d'affichage &#233;lev&#233;e.</li>

                <li>Attendre le chargement complet des images, puis cliquez sur "D&#233;marrer".</li>
              </ul>
            </td>
          </tr>

          <tr style="height:550px">
            <td>
              <script language="JavaScript" type="text/javascript">
//<![CDATA[

              var lengthOfPreloadBar = 350 // Longueur de la barre de progression en pixels
              var heightOfPreloadBar = 15 // Hauteur de la barre de progression en pixels


              MesImages = new Array; // Tableau pour accueillir les noms d'images qu'il faudra charger

              <?PHP LireNomsImages('Images', 'jpg'); ListeImages(); ?>


              if (document.images) {
              var dots = new Array()
              dots[0] = new Image(1,1)
              dots[0].src = "black.gif" // couleur de la barre en default
              dots[1] = new Image(1,1)
              dots[1].src = "green.gif" // couleur de la barre en progression
              var preImages = new Array(),coverage = Math.floor(lengthOfPreloadBar/MesImages.length),currCount = 0
              var loaded = new Array(),i,covered,timerID
              var leftOverWidth = lengthOfPreloadBar%coverage
              document.horloge1.elements[0].value ="0 %";
              }

              function loadImages() {
              for (i = 0; i < MesImages.length; i++) {
              preImages[i] = new Image()
              preImages[i].src = MesImages[i]
              }
              for (i = 0; i < preImages.length; i++) {
              loaded[i] = false
              }
              checkLoad()
              }

              function checkLoad() {
              if (currCount == preImages.length) {
              Return
              }
              for (i = 0; i <= preImages.length; i++) {
              if (loaded[i] == false && preImages[i].complete) {
              loaded[i] = true
              eval("document.img" + currCount + ".src=dots[1].src")
              currCount++
              var l = Math.round((currCount / preImages.length)*1000) / 10;
              document.horloge1.elements[0].value =currCount + " / " + preImages.length  + " images  " +l + " %";
              }
              }
              timerID = setTimeout("checkLoad()",10)
              }


              //]]>
              </script> <!-- Fonctions javascript utiles pour le DIAPORAMA -->
               <script language="JavaScript" type="text/javascript">
//<![CDATA[
              var current = 0;
              var tps_par_image = <?php  TempsParImage() ?> ;

              function next(){ // forward one image
              if(document.formname.slide[current+1]){
              document.images.show.src = document.formname.slide[current+1].value;
              document.formname.slide.selectedIndex = ++current;}
              else{first();}}

              function previous(){ // back on image
              if((current-1) >= 0){
              document.images.show.src = document.formname.slide[current-1].value;
              document.formname.slide.selectedIndex= --current;}
              else{last();}}

              function first(){ // jump to first image
              current=0;
              document.images.show.src = document.formname.slide[0].value;
              document.formname.slide.selectedIndex=0;}

              function runClock() {
              today   = new Date();
              hours   = today.getHours();
              minutes = today.getMinutes();
              seconds = today.getSeconds();
              timeValue = hours;
              // Les deux prochaines conditions ne servent que pour l'affichage.
              // Si le nombre de minute est inférieur à 10, alors on rajoute un 0 devant...
              timeValue += ((minutes < 10) ? ":0" : ":") + minutes;
              timeValue += ((seconds < 10) ? ":0" : ":") + seconds;
              document.getElementById("time").value = timeValue;
              timerID = setTimeout("runClock()",1000);
              timerRunning = true;
              }

              function last(){ // this is jump to last image
              current=(document.formname.slide.length-1);
              document.images.show.src = document.formname.slide[current].value;
              document.formname.slide.selectedIndex=current;}

              function ap(text){ // this controls the auto-play and/or auto-stop
              document.formname.slidebutton.value=(text == "Arrêter") ? "Démarrer" : "Arrêter";
              rotate();}

              function change(){ // this is for the pulldown menu
              current=document.formname.slide.selectedIndex;
              document.images.show.src = document.formname.slide[current].value;}

              function rotate() {
              if (document.formname.slidebutton.value == "Arrêter") {
              document.formname.slidebutton.value=(current == document.formname.slide.length-1) ? "Démarrer" : "Arrêter";
              current = (current == document.formname.slide.length-1) ? 0 : current+1;
              document.images.show.src = document.formname.slide[current].value;
              document.formname.slide.selectedIndex = current;

              //  window.setTimeout('rotate()', 2000);}
              window.setTimeout('rotate()', tps_par_image );}

              }

              function fixe_tps(){
              // Met a jour la variable "tps_par_image" quand une selection a lieu
              sel_index = document.formname.temps_par_image.options.selectedIndex;
              tps_par_image = document.formname.temps_par_image.options[sel_index].value;
              }

              //]]>
              </script> <!-- Fin fonctions DIAPORAMA -->

              <form name='menu_intervalle' method="get" action="#" id="menu_intervalle">
                <em>Intervalle camera:</em> <select name='frame' size='1' style='background-color:#FFFFCC'>
                  <option value='1'>
                    15 min
                  </option>

                  <option value='2'>
                    30 min
                  </option>

                  <option value='4'>
                    1 h
                  </option>
                </select> <input type='submit' name='Afficher' value='Charger' />
              </form><br />
              <em>Pr&#233;chargement des images...<br /></em>

              <form style="font-weight: bold" name="horloge1" id="horloge1">
                <input size="23" name="text" type="text" />
              </form><br />
              <!-- Gestion chargement fichiers -->
               <script language="JavaScript" type="text/javascript">
//<![CDATA[
              if (document.images) {
              var preloadBar = ''
              for (i = 0; i < MesImages.length-1; i++) {
              preloadBar += '<img src="' + dots[0].src + '" width="' + coverage + '" height="' + heightOfPreloadBar + '" name="img' + i + '" align="absmiddle">'
              }
              preloadBar += '<img src="' + dots[0].src + '" width="' + (leftOverWidth+coverage) + '" height="' + heightOfPreloadBar + '" name="img' + (MesImages.length-1) + '" align="absmiddle">'
              document.write(preloadBar)
              setTimeout("loadImages()",2000);
              }
              //]]>
              </script> <!--                       -->
              <br />
              <br />
              <br />

              <form name='formname' action='#' id="formname">
                <table align='center' border='0'>
                  <tr>
                    <td width='159' align='right' valign='middle'><select name='slide' size='30' style='background-color:#FFFFCC' onchange='change();'>
                      <?php ListeOptions(); ?>
                    </select></td>

                    <td align='center' valign='middle'><?php PremiereImage(); ?></td>
                  </tr>

                  <tr>
                    <td colspan='3' align='center' style="height: 79px"><em>Temps d'affichage par image:</em> <select name='temps_par_image' size='1' style='background-color:#FFFFCC' onchange='fixe_tps()'>
                      <option value='100'>
                        0.1s
                      </option>

                      <option value='200'>
                        0.2s
                      </option>

                      <option value='300'>
                        0.3s
                      </option>

                      <option value='500'>
                        0.5s
                      </option>

                      <option value='700'>
                        0.7s
                      </option>

                      <option selected='selected' value='1000'>
                        1s
                      </option>

                      <option value='1500'>
                        1.5s
                      </option>

                      <option value='2000'>
                        2s
                      </option>

                      <option value='3000'>
                        3s
                      </option>
                    </select> <input name="button" type="button" title="Aller au d&#233;but" onclick="first();" value="|&lt;" /> <input type="button" onclick="previous();" value="&lt;" title="Image pr&#233;c&#233;dente" /> <input type="button" name="slidebutton" onclick="ap(this.value);" value="D&#233;marrer" title="Lancer diaporama" /> <input type="button" onclick="next();" value="&gt;" title="Image suivante" /> <input type="button" onclick="last();" value="&gt;|" title="Aller la fin" /></td>
                  </tr>
                </table>
              </form><!-- gestion des saisies: valeurs selectionnees conservees au rechargement de page (submit sur "Charger") -->
              <script language="JavaScript" type="text/javascript">
//<![CDATA[
              // On conserve la selection sur l'intervalle camera (ou valeur par defaut)
              intervalle = <?php IntervalleSelectionne() ?>;
              for (var x = 0; x < document.menu_intervalle.frame.length; x++) {
              if (document.menu_intervalle.frame.options[x].value == intervalle) {
              document.menu_intervalle.frame.options[x].selected = true;
              }
              }
              // On conserve la selection sur le temps par image choisi
              for (var x = 0; x < document.formname.temps_par_image.length; x++) {
              if (document.formname.temps_par_image.options[x].value == tps_par_image) {
              document.formname.temps_par_image.options[x].selected = true;
              }
              }
              first();

              //]]>
              </script>
            </td>
          </tr>
        </table>


C'est le code complet de mon site, tu peux modifier le texte comme bon te semble.

Note importante: tes images doivent être à la racine de ton site dans un dossier "Images" pour que cela fonctionne.
Je crois que René a fait quelques modif. et cela fonctionne chez lui aussi.

Je ne suis pas souvent sur le site car j'ai des pb ADSL actuellement.

A+
Robert

_________________
Station OREGON WMR200 (anémomètre sur mât de 10m, Hydro et thermo à 1.50m)
logiciel XNET_météo et GRAPHWEATHER
Site: http://meteo-quemeneven.fr


Haut
 Profil  
Répondre en citant  
 Sujet du message: Re: webcam
MessagePublié: Dim Mai 29, 2011 5:41 pm 
Hors-ligne
Membre

Inscription : Jeu Déc 18, 2008 3:57 pm
Message(s) : 202
Merci Robert, ça marche Nickel :)

@++

Arnaud62

_________________
VP2, Weatherlink 6.0.3, GraphWeather 3.0.33 Beta , Windows 7 Intégrale 64bits
ImageImageImage


Haut
 Profil  
Répondre en citant  
 Sujet du message: Re: webcam
MessagePublié: Dim Mai 29, 2011 7:00 pm 
Hors-ligne
Membre
Avatar de l’utilisateur

Inscription : Mar Mars 23, 2010 6:05 pm
Message(s) : 2260
Localisation : Le Thor 84250
BONSOIR Robert
Non a priori je n'ai rien changé au php
la seule différence entre nous était la maniére d'integrer le php dans une page
et tout marche trés bien depuis
amitiés

_________________
WMR200 - XNet meteo 2011-10-14a- graphweather V 3.0.35- Win10 x64
webcam installée orientation NE
http://le-thor-meteo.com/index.php


Haut
 Profil  
Répondre en citant  
 Sujet du message: Re: webcam
MessagePublié: Ven Juin 03, 2011 10:53 am 
Hors-ligne
Membre
Avatar de l’utilisateur

Inscription : Sam Juil 18, 2009 11:01 am
Message(s) : 88
Localisation : Lhospitalet (46)
Pour info si certains ne connaissent pas, il y a Pierre de chez Storm-Cast qui peut vous créer des anims time lapse comme sur mon site. Le principe est que son programme se connecte tout seul prendre une photo toutes les 10 sec puis il les accélère pour obtenir cette anim:
http://www.meteo44119.fr/index.php/lequ ... -live.html

Ma camera n'aime pas la couleur verte si vous vous posez la question, je suis en attente de sav.
Si le système vous tente, je vous enverrai ses coordonnées.

J'ai autrement ce petit code si ça peut intéresser du monde:

<script language="JavaScript">
//
// ======= DIAPORAMA SEQUENTIEL, ALEATOIRE ET AUTOMATIQUE ==============
// Mettre les images /chemin/nomfichier1.jpg à /chemin/nomfichierXXX.jpg dans un dossier
// ================================================================
// on initialise le compteur d'images
var compteur = 1;
// le nombre total d'images
var total_img = 2160;
// i pour le tirage aléatoire
var i;
// le délai du défilement automatique en secondes
var timeDelay = 5;
timeDelay *= 10;
// La fonction pour faire monter le compteur
function monter() {
compteur += 1;
if ( compteur == (total_img + 1) ) {
compteur = 1;
}
document.vignette.src = "/chemin/nomfichier" + compteur + ".jpg";
document.formulaire.numero.value = compteur;
}
// La fonction pour faire descendre le compteur
function descendre() {
compteur += -1;
if ( compteur < 1 ) {
compteur = total_img;
}
document.vignette.src = "/chemin/nomfichier" + compteur + ".jpg";
document.formulaire.numero.value = compteur;
}
// La fonction de remise à zéro
function zero() {
document.vignette.src = "/chemin/nomfichier1.jpg";
compteur = 1;
document.formulaire.numero.value = compteur;
}
// La fonction de tirage aléatoire - Préciser le Nbre de photos
function imagealeatoire() {
i = Math.floor(2160 * Math.random() + 1);
compteur = i;
document.vignette.src = "/chemin/nomfichier" + compteur + ".jpg";
document.formulaire.numero.value = compteur;
}
// Le bouton du défilement automatique
function ap(text) {
document.formulaire.slidebutton.value = (text == "Désactiver le défilement automatique" ) ? "Activer le défilement automatique" : "Désactiver le défilement automatique";
rotate();
}
// La fonction de défilement
function rotate() {
if (document.formulaire.slidebutton.value == "Désactiver le défilement automatique" ) {
compteur = (compteur == total_img) ? 1 : compteur+1;
document.vignette.src = "/chemin/nomfichier" + compteur + ".jpg";
document.formulaire.numero.value = compteur;
window.setTimeout("rotate()", timeDelay);
}
}
</script>
<table align="center" style="width: 100%;" cellpadding="0" cellspacing="0" border="0">
<tbody>
<tr>
<td valign="middle"><form name="formulaire">
<div style="text-align: center;"><input title="Toutes les 1/10ème de secondes." value="Activer le défilement automatique" onclick="ap(this.value);" class="txtchapeau" name="slidebutton" type="button" /></div>
<div style="text-align: center;"></div>
<div style="text-align: center;"><input onclick="zero();" value="Retour au début" type="button" /> <input onclick="descendre();" value="Précédent" type="button" /> <input onclick="monter();" value="Suivant" type="button" /> N° <input size="3" name="numero" type="text" /> / 2160 images.</div>
<br /> </form>
<p style="text-align: center;"><img border="0" name="vignette" src="/chemin/nomfichier1.jpg" /></p>
</td>
</tr>
</tbody>
</table>​

++
Hugues

_________________
Météo Cahors
Davis Vantage Pro 2 6163eu + Graphweather v3 + Windows 7 64bits
http://www.meteo-cahors.fr
Image


Haut
 Profil  
Répondre en citant  
 Sujet du message: Re: webcam
MessagePublié: Mer Juin 08, 2011 9:32 am 
Hors-ligne
Membre
Avatar de l’utilisateur

Inscription : Sam Mai 13, 2006 5:04 pm
Message(s) : 805
Localisation : MONTPELLIER
Salut !

Oui je suis intéressé ... :wink:
Peux tu me passer ces coordonnées de Pierre en messagerie privée ?

Merci

A+

_________________
P COULET :cool:


Vantage Vue - GW 3.0.15 - Windows 10 - Cumulus


Haut
 Profil  
Répondre en citant  
 Sujet du message: Re: webcam
MessagePublié: Mer Juin 08, 2011 12:13 pm 
Hors-ligne
Membre

Inscription : Mar Mai 01, 2007 6:25 pm
Message(s) : 57
J'ai peut être une explication sur le fait que votre cam n'aime pas le vert.
Si c'est une cam équipée de LED IR pour éclairer la nuit, l'objectif ne doit pas avoir de filtre anti-UV. En effet, si c'était le cas, la cam ne verrait rien la nuit.
Ma cam présente le même problème. http://www.diliak.net/WebcaM

_________________
Pat.
Il faut être con pour vivre avec les cons. J'ai essayé, on peut.
San Antonio.
La météo à Villeurbanne


Haut
 Profil  
Répondre en citant  
 Sujet du message: Re: webcam
MessagePublié: Mer Juin 08, 2011 2:02 pm 
Hors-ligne
Membre

Inscription : Ven Nov 05, 2010 6:27 pm
Message(s) : 95
Bonjour,
Pour ce qui me concerne,sur ma Foscam, j'ai été obligé de remplacer la lentille d'origine par une restituant les couleurs naturelles. J'ai récupéré cette lentille sur une webcam.
La couleur verte était violette elle est maintenant naturelle.
A+
Robert

_________________
Station OREGON WMR200 (anémomètre sur mât de 10m, Hydro et thermo à 1.50m)
logiciel XNET_météo et GRAPHWEATHER
Site: http://meteo-quemeneven.fr


Haut
 Profil  
Répondre en citant  
 Sujet du message: Re: webcam
MessagePublié: Mer Juin 08, 2011 5:23 pm 
Hors-ligne
Membre
Avatar de l’utilisateur

Inscription : Sam Juil 18, 2009 11:01 am
Message(s) : 88
Localisation : Lhospitalet (46)
PM Coulet

Changer la lentille? Aisé ou soudure et tout le tintouin? De toute façon mon but était le gris et bleu du ciel en accéléré donc pas trop grave et puis 6 mois de l'année c'est soit marron en automne ou plus rien l'hiver :lol:

_________________
Météo Cahors
Davis Vantage Pro 2 6163eu + Graphweather v3 + Windows 7 64bits
http://www.meteo-cahors.fr
Image


Haut
 Profil  
Répondre en citant  
 Sujet du message: Re: webcam
MessagePublié: Mer Juin 08, 2011 6:00 pm 
Hors-ligne
Membre

Inscription : Mar Mai 01, 2007 6:25 pm
Message(s) : 57
Non c'est juste l'objectif (la lentille qu'on tourne pour faire la netteté). Pas le capteur.

_________________
Pat.
Il faut être con pour vivre avec les cons. J'ai essayé, on peut.
San Antonio.
La météo à Villeurbanne


Haut
 Profil  
Répondre en citant  
Afficher les messages publiés depuis :  Trier par  
Publier un nouveau sujet Répondre au sujet  [ 55 message(s) ]  Aller vers la page Précédent  1, 2, 3, 4

Le fuseau horaire est UTC+1 heure


Qui est en ligne ?

Utilisateur(s) parcourant ce forum : Bing [Bot] et 21 invité(s)


Vous ne pouvez pas publier de nouveaux sujets dans ce forum
Vous ne pouvez pas répondre aux sujets dans ce forum
Vous ne pouvez pas éditer vos messages dans ce forum
Vous ne pouvez pas supprimer vos messages dans ce forum
Vous ne pouvez pas insérer de pièces jointes dans ce forum

Recherche de:
Aller vers :  
cron
POWERED_BY
Traduction et support en françaisHébergement de site