IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Réseau/Web Python Discussion :

Python sur page web php


Sujet :

Réseau/Web Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Homme Profil pro
    Lycéen
    Inscrit en
    Avril 2014
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Avril 2014
    Messages : 9
    Par défaut Python sur page web php
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <html> 
    <body> 
     
    <?php
    $output = shell_exec('python humidite.py');
    echo "<pre>$output</pre>";
    ?>
     
    </body> 
    </html>
    Script Python :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    #!/usr/bin/python
     
    import serial
    import time
     
    locations=['/dev/ttyACM0']
     
    for device in locations:
        try:
            ser = serial.Serial(device, baudrate=9600, timeout=1, writeTimeout=1)
            while True:
                ligne = ser.readline()
                print ligne
     
        except:
            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 ?

  2. #2
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 741
    Par défaut
    Salut,

    L'erreur est remontée par le script Python: c'est une bonne nouvelle, il s'exécute!
    Si vous vous êtes assuré que ce script fonctionne depuis une console, ce n'est plus un problème de codage mais de contexte d'exécution de "serial.Serial(device, baudrate=9600, timeout=1, writeTimeout=1)".
    "except" devrait retourner une erreur beaucoup plus précise: si vous ne l'affichez pas, çà n'aide pas a comprendre "pourquoi" çà plante.

    Faites attention aussi au "while True" qui suit.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #3
    Membre habitué
    Homme Profil pro
    Lycéen
    Inscrit en
    Avril 2014
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Avril 2014
    Messages : 9
    Par défaut
    Désolé wiztricks je n'ai pas compris ce que vous vouliez me dire. J'ai trouvé ce script Python sur internet. C'est la 1ère fois que j'utilise le Python donc je ne connais pas du tout ce code.

    "except" devrait retourner une erreur beaucoup plus précise: si vous ne l'affichez pas, çà n'aide pas a comprendre "pourquoi" çà plante.

    Faites attention aussi au "while True" qui suit.

  4. #4
    Expert confirmé

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 307
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 307
    Par défaut
    Cela veut dire que l'erreur affichée est le texte écrit dans le code et non pas la cause de l'erreur.

    essaye en modifiant comme ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
        except Exception as why:
            print "Echec de connexion : %s" % why
    et copie-colle ici le texte complet de l'erreur.

  5. #5
    Membre habitué
    Homme Profil pro
    Lycéen
    Inscrit en
    Avril 2014
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Avril 2014
    Messages : 9
    Par défaut
    Ça m'affiche donc maintenant :

    Echec de connexion : could not open port /dev/ttyACM0: [Errno 13] Permission denied: '/dev/ttyACM0'

  6. #6
    Expert confirmé

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 307
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 307
    Par défaut
    J'ignore si ça a un rapport mais j'ai le même cas.

    Sur une machine et celle-là seulement, je connecte mon gps et pour lire son contenu avec gpsbabel je dois d'abord faire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    sudo chown vincent /dev/ttyUSB0
    et uniquement avec ce gps jamais avec d'autres appareils.

    Je n'ai jamais cherché à savoir pourquoi.

Discussions similaires

  1. Applet python sur page web
    Par atalon1 dans le forum Réseau/Web
    Réponses: 25
    Dernier message: 12/03/2009, 16h38
  2. Réponses: 2
    Dernier message: 12/02/2006, 18h43
  3. Lecteur Multimedia sur page Web
    Par beegeesman dans le forum Général Conception Web
    Réponses: 1
    Dernier message: 17/01/2006, 00h15
  4. ShellExecute - Access Denied sur page web
    Par Neilos dans le forum C++Builder
    Réponses: 7
    Dernier message: 03/10/2005, 12h04

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo