从beaglebone上的PHP页面运行python代码

时间:2016-12-01 20:31:02

标签: php python python-3.x beagleboneblack beagleboard

我正在尝试从我的beaglebone black上的PHP页面运行代码:

import Adafruit_BBIO.PWM as PWM

red = "P8_13"
green = "P8_19"
blue = "P9_14"

PWM.start(red, 0)
PWM.start(blue, 0)
PWM.start(green, 0)

PWM.set_duty_cycle(red, 100)
PWM.set_duty_cycle(green, 0)
PWM.set_duty_cycle(blue, 0)

此代码只是将我的RGB LED变为红色。

我的PHP页面如下:

<!DOCTYPE html>
<html>
<head>
        <meta charset="UTF-8">
        <title>RGB LED</title>
</head>
<body>
Testing led.py execution...<br>
<?php

exec( "python led.py" );

?>
<br>End of execution!<br>
</body>
</html>

我正在使用Apache2和PHP5。

代码与PHP页面(“/ var / www”)的路径相同。我已经尝试过exec,shell_exec和系统命令来执行脚本。 LED不会变为红色。该代码已获得777许可。我真的不知道为什么它不起作用。有没有人有任何想法?

谢谢。

2 个答案:

答案 0 :(得分:0)

我真的不想深入解决这个问题。但是我写这个是因为我曾经玩过BBB并且在运行python脚本时遇到了一个有趣的权限错误。我在没有sudo的情况下运行命令。请试一试。我不知道为什么它应该有sudo但是它有效!

答案 1 :(得分:0)

问题解决了。 谢谢@furas。 我将“www-data ALL =(root)NOPASSWD:/ usr / bin / python”添加到sudoers文件中,并将exec(“python led.py”)更改为exec(“sudo python led.py”)。