Forum
Web üzerinden dc motor kontrolü yapmaya çalışıyorum, terminalden dosyayı çalıştırdığımda "sudo python dizin/i.py" kod işliyor , motor çalışıyor
web üzerinden çalışmıyor.
web arayüzünden başka bir python dosyası çalıştırdığımda çalışıyor (denemek için masaüstünden dosya kopyalattım).
___copy.py____
import shutil
shutil.copy(... , ...)
_____
Dosyaları çalıştırmadan önce dosyanın bulunduğu klasöre ve dosyaya şu şekilde izin veriyorum;
sudo chmod 777 DİİZİN -R
Kodlar;
_____
PHP ;
<html>
<head>
</head>
<body>
<form method="post" action="a.php">
<input type="submit" name="GO" value="GO">
<input type="submit" name="BACK" value="BACK">
<input type="submit" name="STOP" value="STOP">
</form>
</body>
</html>
<?php
$GO=$_POST["GO"];
$BACK=$_POST["BACK"];
$STOP=$_POST["STOP"];
//___________
if($GO=="GO")
{
shell_exec("sudo python /var/www/html/i.py");
echo ($GO);
}
if($BACK=="BACK")
{
shell_exec("sudo python /var/www/html/g.py");
echo ($BACK);
}
if($STOP=="STOP")
{
shell_exec("sudo python /var/www/html/d.py");
echo ($STOP);
}
?>
____________________________________________
Python ;
import RPi.GPIO as GPIO
from time import sleep
GPIO.setmode(GPIO.BOARD)
Motor1A = 16
Motor1B = 18
Motor1E = 22
GPIO.setup(Motor1A,GPIO.OUT)
GPIO.setup(Motor1B,GPIO.OUT)
GPIO.setup(Motor1E,GPIO.OUT)
print "LERi"
GPIO.output(Motor1A,GPIO.HIGH)
GPIO.output(Motor1B,GPIO.LOW)
GPIO.output(Motor1E,GPIO.HIGH)
Aşağıda faydalı olabilecek bir kaç kaynak var;
https://stackoverflow.com/questions/18721066/execute-python-in-a-php-script-using-shell-exec?lq=1
https://stackoverflow.com/questions/13105889/run-sudo-through-php-exec