我想从PHP
脚本运行{ "temperature": 21, "pressure":962 }
脚本,以便它可以获取值并将其写出来。
例如:
import smbus
import time
import sys
bus = smbus.SMBus(1)
i=0
for i in range(1): # pętla
bus.write_byte_data(0x5d, 0x20, 0b10000000)
bus.write_byte_data(0x5d, 0x21, 0b1)
Temp_LSB = bus.read_byte_data(0x5d, 0x2b)
Temp_MSB = bus.read_byte_data(0x5d, 0x2c)
count = (Temp_MSB << 8) + Temp_LSB
if (count >= 0x8000):
count1 = -((65535-count) + 1)
else:
count1 = count
temperature = 42.5 + (count1/480.0)
print"temperature = ",temperature
ph=bus.read_byte_data(0x5d, 0x2a)
pl = bus.read_byte_data(0x5d, 0x29)
pxl=bus.read_byte_data(0x5d, 0x28)
#print'PressOut_XL = ',pxl
pressure=float((((ph<<8)+pl)<<8)+pxl)
print "pressure = ",pressure
time.sleep(0.5)
这是我的Python脚本,我想得到这两个变量(温度,压力):
<?php
$result = exec('python /home/pi/test/test.py', $output, $retval);
var_dump($output);
var_dump($retval);
?>
这是我的php脚本:
{{1}}
任何想法如何做到这一点?
答案 0 :(得分:0)
您的.py
脚本中可能会出现错误。在这种情况下,您希望将STDERR
重定向到STDOUT
。
尝试以下脚本:
exec('python /home/pi/test/test.py 2>&1', $output, $retval);