Forum |  HardWare.fr | News | Articles | PC | Prix | S'identifier | S'inscrire | Shop Recherche
503 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Aide pour débutant ...

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Aide pour débutant ...

n°2263062
davidmarli
Posté le 22-07-2015 à 22:24:03  profilanswer
 

Bonjour,
 
je me permets de poster ici pour avoir de l'aide.
Je ne connais absolument rien en php mais j'aurais besoin de réaliser un petit script (enfin je ne sais même pas si on peut appeler cela un script tant cela va vous paraître simple),
 
mais pour moi ne connaissant pas le langage ...
 
Bref, j'utilise une sonde de température avec mon raspberry pi.
Pour voir cette température il suffit de lancer la commande :  
 
cat /sys/bus/w1/devices/28-01155249ccff/w1_slave
 
L'affichage suivant se produit  
a0 01 80 80 1f ff 80 80 f5 : crc=f5 YES
a0 01 80 80 1f ff 80 80 f5 t=26000
 
Pour lire la température on prend la valeur après le t= et on divise par 1000
 
Bref, moi je voudrais faire un script php et afficher juste la temperature, mais je n'y arrive pas.
 
Voici déjà ce que j'avais écrit :  
 

Citation :


temp_ext='cat /sys/bus/w1/devices/28-01155249ccff/w1_slave'
echo temp_ext;


 
Lorsque je lance le script depuis un naviagteur la page reste vierge ...
 
Si une ame charitable veut bien m'aider ....
 
Merci beaucoup.

mood
Publicité
Posté le 22-07-2015 à 22:24:03  profilanswer
 

n°2263085
rufo
Pas me confondre avec Lycos!
Posté le 23-07-2015 à 10:01:42  profilanswer
 

Normalement, ça devrait afficher "cat /sys/bus/w1/devices/28-01155249ccff/w1_slave" et non une page vierge. Donc active le reporting_error pour voir afficher les erreurs.
 
Déjà, y'a bien un serveur web genre apache qui tourne sur ton raspberry pi ?
 
Après, on va pas te faire le script ; on va te donner des pistes, la première serait d'ailleurs d'apprendre les bases de php, sans quoi tu vas ramer :o
https://openclassrooms.com/courses/ [...] tion-a-php
 
Ensuite, t'auras besoin de shell_exec() ou escapeshellcmd() pour exécuter ta ligne de commande "cat /sys/bus/w1/devices/28-01155249ccff/w1_slave" (parce qu'echo ne fait que l'afficher et non l'exécuter).
 
Le résultat de l'exécution sera mis dans une variable (ex : $Resultat) que tu vas traiter comme un tableau. Avec ce que tu mets, je pense que c'est une chaîne de caractères qui contient un \n pour afficher sur 2 lignes.
 
Donc un coup de explode('\n', $Resultat) avec le résultat dans $LignesResultat puis un 2ème explode('t=', $LignesResultat[1]) avec le résultat dans $Temp. Ta température sera dans $Temp[1].


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Cantine Calandreta : http://sourceforge.net/projects/canteen-calandreta
n°2263094
davidmarli
Posté le 23-07-2015 à 11:02:37  profilanswer
 

ok. Il y a du taff pour moi.
 
Oui du côté serveur tout est operationnel avec apache.
J'ai une page php qui elle fonctionne bien.
 
Je vais creuser un peu je reviendrai si je bloque ...

n°2263096
davidmarli
Posté le 23-07-2015 à 11:21:27  profilanswer
 

pour, déjà comment activer le report d'erreurs ?
J'ai trouvé un truc sur le net ,mais bon.
 
J'ai ouvert le fichier php.ini et mis cela à l'intérieur :
 
error_reporting  =  E_ALL
display_errors = On
 
Mais j'ai mis ces lignes dans la section qui parle des erreurs, mais je ne suis pas certain qu'il faille les mettre là !!!
 
(j'ai stoppé apache avant les modifs, puis fait un start)
 
Mais la page reste vierge et rien ne s'affiche concernant les éventuelles erreurs !!!
 
Merci pour votre aide.

n°2263108
rat de com​bat
attention rongeur méchant!
Posté le 23-07-2015 à 13:20:44  profilanswer
 

Manquerait pas un point-virgule là?
 

Code :
  1. temp_ext='cat /sys/bus/w1/devices/28-01155249ccff/w1_slave'; <--- là
  2. echo temp_ext;

n°2263109
davidmarli
Posté le 23-07-2015 à 13:48:22  profilanswer
 

toujours pareil.
 
Peut-on m'expliquer clairement comment activer le rapport d'erreurs pour commencer.
Parce que là dans le vide je ne vais pas avancer...
 
Merci.

n°2263113
rufo
Pas me confondre avec Lycos!
Posté le 23-07-2015 à 16:46:12  profilanswer
 

Une recherche google t'aurais permis de trouver la réponse :
error_reporting(E_ALL);
 
Et effectivement, il manquait à ; à la fin de la première ligne de ton script d'où un fatal error (mais msg d'erreur non affiché car repporting_error à 0) et donc une page blanche.
 
petit conseil : accepte de perdre un peu de temps au départ pour en gagner par la suite. Vas sur le lien d'openClassroom que je t'ai donné dans mon premier post pour apprendre les bases du PHP sans quoi, tu vas galérer et passer des plombes à faire ton script. :hello:


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Cantine Calandreta : http://sourceforge.net/projects/canteen-calandreta
n°2263120
davidmarli
Posté le 23-07-2015 à 17:28:34  profilanswer
 

sauf que je n'ai trouvé nul part où le mettre dans le fameux fichier php.ini .
Faut-il le mettre dans une section particulière ?
 
Et hônnetement je ne pense pas passer des heures juste pour deux lignes de codes.
Je comprends très bien que tu ne veuille pas me donner de réponses.
 
J'ai lu sur openclassrooms le cours sur php.
 
Enfin, même en mettant un ";" à la fin de la ligne cela ne fonctionne pas chez moi ...
 

n°2263122
mechkurt
Posté le 23-07-2015 à 17:58:28  profilanswer
 

error_reporting() est une fonction php à mettre en début de script.
 
Peut être que ceci peut t'aider aussi : http://stackoverflow.com/questions [...] to-display


---------------
D3
n°2263128
davidmarli
Posté le 23-07-2015 à 21:09:27  profilanswer
 

bon alors finalement c escript passe :  
 

Citation :

<?php
ini_set('display_errors',1);
ini_set('display_startup_errors',1);
error_reporting(-1);
$co='cat /sys/bus/w1/devices/28-00043b5118ff/w1_slave | grep "t=" |awk -F "t=" \'{print $2/1000}\'';
echo shell_exec($co);
?>


 
cela me retourne bien la temperature de la sonde....
Maintenant je vais regarder pour enregistrer toutes les temperatures dans une table afin de faire un graph.

mood
Publicité
Posté le 23-07-2015 à 21:09:27  profilanswer
 

n°2263139
rufo
Pas me confondre avec Lycos!
Posté le 24-07-2015 à 09:38:33  profilanswer
 

Mysql, c'est peut-être un peu bourrin pour stocker qq températures. Un simple fichier texte (ou xml) pourrait largement suffire ;)
 
error_reporting(E_ALL); est à mettre en début de script. www.php.net, l'aide en ligne de php, est ton ami :hello:


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Cantine Calandreta : http://sourceforge.net/projects/canteen-calandreta
n°2263145
davidmarli
Posté le 24-07-2015 à 11:13:47  profilanswer
 

ok, je vais regarder.
Sinon j'ai vu un truc avec munin, pour le graph.
 
Mais bon je pense qu'effectivement stocker les valeurs toutes les 5 minutes dans un ficheir texte serait pas mal...

n°2263417
davidmarli
Posté le 28-07-2015 à 11:06:45  profilanswer
 

Bon merci à tous pour votre aide.
 
J'ai donc fait une petite page php pour gérer la piscine.
 
En allant sur la page je peux voir la température de l'air et de l'eau.
Démarrer/eteindre la pompe de la filtration et la pompe du panneau solaire.
 
Avec Munin je visualise les courbes de températures sur 24h et sur 1 mois des températures air/eau.
 
Il est certain que la page va pas gagner le concours de la plus belle page web du monde mais cela me suffit largement (je ne suis pas sur la page 10h par jour )
 
Encore merci à tous ceux qui m'ont apporté leur aide.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Aide pour débutant ...

 

Sujets relatifs
Aide lettre k plus complexeDébutant à besoin d'aide
[PHP]Aide Débutant Ajouter Captcha formulaire de contact existantDébutant html appelle à l'aide :)
Aide demandée pour un debutant en html, CSS resulat different sous ieAide programmation C++ (débutant)
Débutant: besoin d'aide Cmake et VS2012[Débutant HTML/CSS]Besoin d'aide pour débug et compréhension code
[Python] Aide pour un programme de débutant[Résolu] [debutant] aide javascript
Plus de sujets relatifs à : Aide pour débutant ...


Copyright © 1997-2018 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR