【发布时间】:2015-12-31 01:02:26
【问题描述】:
好吧,我对 Raspberry Pi 和 Python/PHP/Apache 很陌生。我试图让我的 PHP 脚本运行我创建的 python 文件,以通过我的家庭网络激活 5v 继电器。在通过 SSH 的终端中,我可以激活 Python 脚本,它可以控制我的继电器。当我尝试通过我的 Web 服务器上的 PHP 脚本激活继电器时,我什么也得不到。我的 PHP 脚本和 Python 脚本如下。非常感谢任何帮助!
我的 Python 代码位于 /home/pi 中,名称为“garagedoorleft.py” 我的 PHP 代码位于 /var/www/html 作为“index.php”
<html>
<head>
<meta charset="UTF-8" />
<title>Example document</title>
</head>
<?php
if (isset($_POST['LeftOPEN']))
{
exec("sudo python /home/pi/garagedoorleft.py");
}
?>
<form method="post">
<button name="LeftOPEN">Left Door</button>
</form>
</html>
#!/usr/bin/python
# Import required Python libraries
import RPi.GPIO as GPIO
import time
# Use BCM GPIO references instead of physical pin numbers
GPIO.setmode(GPIO.BCM)
# init list with pin numbers
pinList = [2]
# loop through pins and set mode and state to 'low'
for i in pinList:
GPIO.setup(i, GPIO.OUT)
GPIO.output(i, GPIO.HIGH)
def trigger() :
for i in pinList:
GPIO.output(i, GPIO.LOW)
time.sleep(0.5)
GPIO.output(i, GPIO.HIGH)
GPIO.cleanup()
try:
trigger()
except KeyboardInterrupt:
print " Quit"
# Reset GPIO settings
GPIO.cleanup()
【问题讨论】:
-
gpio 通常需要 sudo 权限(我看到你正在调用它......但 php 没有 TTY 所以它不能提示输入 sudo 密码......)