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

  FORUM HardWare.fr
  Programmation
  Python

  Python sur page web php

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Python sur page web php

n°2225844
Prav26
Posté le 23-04-2014 à 11:28:34  profilanswer
 

Bonjour à tous,
 
Je suis novice en Python et j'aimerais exécuter un script Python sur une page web en PHP. Ce script me permet de lire les données envoyées par ma Arduino Uno sur le port USB de mon PC. Lorsque je l'exécuter sur le terminal Ubuntu ça fonctionne parfaitement.  
 
J'ai crée un répertoire dans var/www en localhost pour tester le script python sur une interface web. J'ai mis à l'intérieur le script PHP + Python. Je leur est donné les droits chmod 777.
 
Script PHP :
 

Code :
  1. <body>
  2. <?php
  3. $output = shell_exec('python humidite.py');
  4. echo "<pre>$output</pre>";
  5. ?>
  6. </body>
  7. </html>


 
Script Python :
 

Code :
  1. #!/usr/bin/python
  2. import serial
  3. import time
  4. locations=['/dev/ttyACM0']
  5. for device in locations:
  6.     try:
  7.         ser = serial.Serial(device, baudrate=9600, timeout=1, writeTimeout=1)
  8.         while True:
  9.             ligne = ser.readline()
  10.             print ligne
  11.     except:
  12.         print "Echec de connexion sur", device


 
Mais ça m'affiche sur ma page web : Echec de connexion sur /dev/ttyACM0
 
D'où vient le problème svp ?  :)

mood
Publicité
Posté le 23-04-2014 à 11:28:34  profilanswer
 

n°2225926
masklinn
í dag viðrar vel til loftárása
Posté le 23-04-2014 à 18:59:40  profilanswer
 

Affiches le contenu de l'exception au lieu de le bouffer, ça te le dira [:spamafote]
 
Accessoirement, tu peux simplifier le code de transmission, tu n'as normalement pas besoin d'une boucle explicite.


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°2225971
Prav26
Posté le 23-04-2014 à 22:36:40  profilanswer
 

C'est bon j'ai réussi à afficher les 15 premières mesures de mon capteurs d'humidité sur ma page web en PHP. J'ai résolu le problème de permission  
 
Mais j'aimerais que ça m'affiche que sur une seule ligne les mesures et que ça défile continuellement. Par exemple je ferais un script PHP où il y aura écris Humidité=....... et sur ces pointillés les mesures changeront. J'espère que je me suis fait comprendre :p A votre avis c'est faisable en modifiant le script Python ou PHP ?  
 
Voici mon nouveau script Python :
 

Code :
  1. #!/usr/bin/python
  2. import serial
  3. import time
  4. locations=['/dev/ttyACM0']
  5. for device in locations:
  6.     try:
  7.         ser = serial.Serial(device, baudrate=9600, timeout=1, writeTimeout=1)
  8.         for _ in range(15):
  9.             ligne = ser.readline()
  10.             print ligne
  11.     except Exception as why:
  12.         print "Echec de connexion : %s" % why

n°2225977
roondar
Posté le 23-04-2014 à 23:51:00  profilanswer
 

Soit tu stockes les données dans un fichier ou soit tu fais des appels ajax.

n°2225985
Prav26
Posté le 24-04-2014 à 08:48:31  profilanswer
 

J'ai une dernière question. Pour l'instant je ne vais afficher qu'une seule ligne que j'actualiserai à chaque fois. Dans mon script en Python je charge 4 lignes donc 4 mesures. Mais je ne veux afficher que la 4ème ligne sur la page en PHP car la 1ère mesure est souvent erronée.

 

Comment faire svp ?

 

Voici mes commandes :

 
Code :
  1. for device in locations:
  2.     try:
  3.         ser = serial.Serial(device, baudrate=9600, timeout=1, writeTimeout=1)
  4.         for _ in range(4):
  5.             ligne = ser.readline()
  6.             print ligne


Message édité par Prav26 le 24-04-2014 à 08:49:46
n°2225989
Prav26
Posté le 24-04-2014 à 09:30:17  profilanswer
 

C'est bon j'ai trouvé la solution à mon problème.

 
Code :
  1. for device in locations:
  2.     try:
  3.         ser = serial.Serial(device, baudrate=9600, timeout=1, writeTimeout=1)
  4.         line = ser.readlines()[4].strip('\n')
  5.         print line



Message édité par Prav26 le 24-04-2014 à 10:04:29
n°2226010
masklinn
í dag viðrar vel til loftárása
Posté le 24-04-2014 à 10:27:50  profilanswer
 

Ton script il est arrêté à la fin du shell_exec, sinon t'aurais pas de sortie.


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody

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

  Python sur page web php

 

Sujets relatifs
Lancer des script .vbs depuis une page HTMLJeu de carte Python
Aide formulaire d'inscription PHP page blancheBesoin d'une personne pour me créer une page accès membre.
"Cette page Web présente une boucle de redirection" ?!image en surbrillance par plusieurs boutons meme page
Créer une page web html avec zone pour laisser un commantaire[résolu][jQuery]mouseover+page active sur One page
comment appeler du code python dans une page web ?[Python] charset, coding, accents et page html
Plus de sujets relatifs à : Python sur page web php


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