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

Python Discussion :

Exécution Programme PYTHON sur une page PHP [Python 3.X]


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2016
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juin 2016
    Messages : 2
    Par défaut Exécution Programme PYTHON sur une page PHP
    Bonjour, j’ai un petit problème de récupération sur une page PHP de ce script python qui permet d’acquérir des valeurs d’un CAN sur une raspberry pi :

    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
     
    #!/usr/bin/env python3
     
    import quick2wire.i2c as i2c
     
    import re
    import time
     
    adc_address1 = 0x68
    adc_address2 = 0x69
     
    adc_channel1 = 0x98
    adc_channel2 = 0xB8
    adc_channel3 = 0xD8
    adc_channel4 = 0xF8
     
     
    for line in open('/proc/cpuinfo').readlines():
        m = re.match('(.*?)\s*:\s*(.*)', line)
        if m:
            (name, value) = (m.group(1), m.group(2))
            if name == "Revision":
                if value [-4:] in ('0002', '0003'):
                    i2c_bus = 0
                else:
                    i2c_bus = 1
                break
     
    with i2c.I2CMaster(i2c_bus) as bus:
     
        def getadcreading(address, channel):
            bus.transaction(i2c.writing_bytes(address, channel))
            time.sleep(0.05)
            h, l, r = bus.transaction(i2c.reading(address,3))[0]
            time.sleep(0.05)
            h, l, r = bus.transaction(i2c.reading(address,3))[0]
     
            t = (h << 8) | l
            v = t * 0.000154
            if v < 5.5:
                return v
            else:
                return 0.00
     
        while True:
     
            print("1: %f" % getadcreading(adc_address1, adc_channel1))
            print("2: %f" % getadcreading(adc_address1, adc_channel2))
            print("3: %f" % getadcreading(adc_address1, adc_channel3))
            print("4: %f" % getadcreading(adc_address1, adc_channel4))
            print("5: %f" % getadcreading(adc_address2, adc_channel1))
            print("6: %f" % getadcreading(adc_address2, adc_channel2))
            print("7: %f" % getadcreading(adc_address2, adc_channel3))
            print("8: %f" % getadcreading(adc_address2, adc_channel4))
            break
    Ce script fonctionne quand on le lance depuis le terminal mais depuis une page PHP rien ne s’affiche.

    J’utilise la fonction en PHP:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $output6 = passthru("sudo python adc_1.py", $output61);
                echo var_dump($output6)."test6<br>";
                echo var_dump($output61)."test6";
                echo "<br>test6 fait<br>";

  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
    Citation Envoyé par clem30250 Voir le message
    Ce script fonctionne quand on le lance depuis le terminal mais depuis une page PHP rien ne s’affiche.
    Du point de vue de PHP, un script Python n'est qu'une commande externe comme ls, cat,... donc si çà se vautre, il faut récupérer ce qui a été expédié dans stderr et l’interpréter (comme pour toute commande externe qui ne fonctionnerait pas).
    Ce qui veut dire que vous ne postez pas dans le bon forum...
    Sauf que le shebang de votre script est "/usr/bin/env python3" alors que vous le lancez avec "python" (version 2 sur la plupart des Linux) où vous n'avez peut être pas installé les bibliothèques nécessaires - et c'est tout ce qu'on peut dire côté Python sans traceback/erreurs -.

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

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 6
    Dernier message: 25/06/2007, 12h10
  2. Calcul temps passé sur une page PHP pur
    Par mathieugamin dans le forum Langage
    Réponses: 10
    Dernier message: 29/03/2007, 17h22
  3. Controle d'un programme C++ sur une page Web
    Par Psmeatman dans le forum Général Conception Web
    Réponses: 4
    Dernier message: 10/10/2006, 15h29
  4. Réponses: 1
    Dernier message: 20/09/2006, 00h29
  5. Afficher un calendrier sur une page php
    Par griese dans le forum Général JavaScript
    Réponses: 14
    Dernier message: 12/06/2006, 09h53

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