apachephp命令不会控制Raspberry pigpi

2024-10-06 12:28:19 发布

您现在位置:Python中文网/ 问答频道 /正文

好吧,我对Raspberry Pi和Python/PHP/Apache还很陌生。我试图让我的PHP脚本运行一个python文件,我创建了一个激活家庭网络5v中继。在终端通过SSH我可以激活Python脚本,它可以控制我的中继。当我试图通过我的web服务器上的PHP脚本激活中继时,我什么也得不到。我的PHP脚本和Python脚本如下。非常感谢任何帮助!在

我的Python代码位于/home/pi中车库门左.py" 我的PHP代码位于/var/www/html中,如“索引.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>&nbsp;


</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()

Tags: 代码pyform脚本homeoutputgpiotitle
1条回答
网友
1楼 · 发布于 2024-10-06 12:28:19

我不知道exec如何与管道一起工作,还有什么不能,但我认为您可以做到

exec("echo SUDO_PASSWORD_FOR_MACHINE | sudo -S -p '' python my_gpio.py")

这将通过stdin将sudo密码传递给sudo命令。。。我不确定做这种事有多安全。。。在

或者你可以试着提高自己的隐私权

如果python脚本

^{pr2}$

相关问题 更多 >