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>";