Я пытаюсь запустить код ниже со страницы PHP на моем beaglebone black:
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 на красный.
Моя страница 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 и системные команды для выполнения скрипта. Светодиод не горит красным. Код уже имеет разрешение 777. Я действительно не знаю, почему это не работает. У кого-нибудь есть идеи?
Спасибо.
Я действительно не хочу углубляться в эту проблему. Но я пишу вам это, потому что однажды я играл с BBB и у меня была забавная ошибка разрешения при запуске скриптов на python. Я выполнял команды без sudo
, Пожалуйста, попробуйте это. Я не знаю, почему это должно иметь sudo
но это работает!
Задача решена.
Спасибо, @furas.
Я добавил «www-data ALL = (root) NOPASSWD: / usr / bin / python» в файл sudoers, а также изменил exec («python led.py») на exec («sudo python led.py»).