[RESOLU] Lecture sonde depuis interface php

Vous venez de déballer votre Raspberry Pi et vous vous posez des questions ? C'est ici que ça se passe !

Modérateur : Francois

lawfix
Messages : 66
Enregistré le : mer. 24 sept. 2014 10:02

Re: Lecture sonde depuis interface php

Message par lawfix » dim. 25 janv. 2015 22:23

Bonsoir,

Alors je pense qu'avec votre mini bout de code vous avez définitivement résolu mon problème !

voici mon code retravaillé :

Code : Tout sélectionner

<?php
	ob_start();
	
	include 'temp.php';
	define(LANGUAGE, "english");
	
	$file = '/sys/devices/w1_bus_master1/28-00141312f0ff/w1_slave';
	$lines = file($file); 
	$temp1 = explode('=', $lines[1]);
	$temp1 = number_format($temp1[1] / 1000, 1, '.', '');

	
	$uptimedata = shell_exec('uptime');
	$uptime = explode(' up ', $uptimedata);
	$uptime = explode(',', $uptime[1]);
	$uptime = $uptime[0].', '.$uptime[1];

	include 'localization/'.LANGUAGE.'.lang.php';

?>

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<meta http-equiv="X-UA-Compatible" content="IE=edge">
		<title>Raspberry Pi Control Panel</title>
		<link rel="stylesheet" href="stylesheets/main.css">
		<link rel="stylesheet" href="stylesheets/button.css">
		<link rel="stylesheet" href="pi/style.css">
		
		<script src="javascript/raphael.2.1.0.min.js"></script>
	    <script src="javascript/justgage.1.0.1.min.js"></script>
				
	    <script>
	    	function checkAction(action){
				if (confirm('<?php echo TXT_CONFIRM; ?> ' + action + '?'))
				{
					return true;
				}
				else
				{
					return false;
				}
	    	}

			window.onload = doLoad;

			function doLoad()
			{
			setTimeout( "refresh()", 30*1000 );
			}

			function refresh()
			{
			window.location.reload( false );
			}
	    </script>
	</head>
	

    <body>
        
		<div id="logo">
		<div id="contenu">
		<img id="logo" src="images/raspberry.png"><p>FX & H rasphome</p>
		
            <ul id="nav">
                <li><a href="index.php">Accueil</a></li>
                <li><a href="tempconso.php">Température et consommation</a></li>
				<li><a href="#">Statistiques</a></li>
                <li><a href="dashpi.php">Raspdashboard</a></li>
            </ul>

				<div id="gauge" class="200x160px"></div>
					<div id="testgauge"></div>
					<script>
						var t = new JustGage({
						    id: "testgauge",
						    value: <?php echo $temp1; ?>,
						    min: 0,
						    max: 42,
						    title: "Roompi",
						    label: "°C"
					    });
					</script>
	
				<?php if(isset($temp) && is_numeric($temp)){ ?>
					<div id="tempgauge"></div>
					<script>
						var t = new JustGage({
						    id: "tempgauge",
						    value: <?php echo $temp; ?>,
						    min: 0,
						    max: 42,
						    title: "Roompi",
						    label: "°C"
					    });
					</script>
				<?php } ?>
				
	</body>
	</div>
</html>
Les deux façons d'obtenir la valeur sont exposées dans ce code :

$temp1 est la façon d'obtenir la valeur sans passer par une page intermédiaire, on demande au script d'ouvrir le capteur, de lire la 2e ligne et de le mettre au bon format.

$temp est une autre façon en utilisant le script pour que la valeur soit afficher dans une autre page (temp.php) et que l'on récupère via la commande include temp.php

Dans les deux cas, cela fonctionne.

Le problème de départ était donc bien une question d’interprétation du résultat et non de droits.

Je vais maintenant me tourner sur la possibilité de récupérer les valeurs toute les x minutes afin de pouvoir générer une base SQL ( que j'espère placé ailleurs que sur le pi à cause de la carte SD ) et de stocker l'ensemble pour en tirer des graphiques et des moyennes.

C'est assez courant, mais j'aime comprendre les choses de A à Z...

Avatar du membre
vague nerd
Modérateur
Messages : 1473
Enregistré le : mar. 14 oct. 2014 11:42
Localisation : France !

Re: Lecture sonde depuis interface php

Message par vague nerd » dim. 25 janv. 2015 23:25

Bonsoir.

Et bien tant mieux, content pour vous !

Pour vos prochaines recherches :
-Jouer avec des bases sql en php n'est pas sorcier, vous verrez !
-Pour lancer un programme à intervalle régulier, vous pouvez vous pencher sur cron.
-Pour tracer des graphs, vous aurez l’embarras du choix ! Vous pouvez néanmoins vous pencher sur ce thread.

Enfin, pour finir, si vous estimez que votre problème est résolu, merci d'ajouter [RESOLU] au début du titre du sujet.
Pour ce faire, visualiser le premier Post que vous avez réalisé, cliquez sur "Editer", et ajouter [RESOLU] devant le titre.

Cela permet que le message soit tout de suite identifié comme ayant eu une réponse correspondant à la demande.
Ainsi, les visiteurs en sont informés, aussi bien lors d'une recherche sur le forum qu'au travers des moteurs de recherche.

Merci d'avance !

Cordialement.
Cordialement,

Vague Nerd

lawfix
Messages : 66
Enregistré le : mer. 24 sept. 2014 10:02

Re: [RESOLU] Lecture sonde depuis interface php

Message par lawfix » dim. 25 janv. 2015 23:42

C'est fait !

Merci beaucoup pour votre aide.

Vous m'avez permis de bien cerner le problème grâce à vos réponses et votre réactivité.

J'espère pouvoir aider ultérieurement d'autres personnes aussi efficacement que vous !

Pour le SQL je vais me pencher effectivement sur un code pour exécuter via un cron une écriture de base de données.

Pour les statistiques, je crois avoir vu passé pas mal de truc pour générer des graphs.

Dans tous les cas, au plaisir de se recroiser.

Bien cordialement,

Répondre

Retourner vers « Débutants »