繁体   English   中英

我将如何使用php在网页上显示多个按钮(它们将控制树莓派)

[英]how would i use php to display multiple buttons on a web page (they are going to control a raspberry pi)

我正在创建一个家庭自动化系统,我使用我的树莓派作为Web服务器来控制gpio端口,p使用了一些代码来打开gpio端口。 我想做的是拥有不同的php按钮,这些按钮依次运行不同的python脚本,它们会打开不同的端口。 我对python了解很多,但对php和html却了解很少。

这是到目前为止我通过php打开gpio端口的所有代码

 <html>
 <head>
 <meta name="viewport" content="width=device-width" />
 <title>LED Control</title>
 </head>
         <body>
         LED Control:
         <form method="get" action="gpio.php">
                 <input type="submit" value="ON" name="on">
                 <input type="submit" value="OFF" name="off">
     </form>
     <?php
     $setmode17 = shell_exec("/usr/local/bin/gpio -g mode 17 out");
     if(isset($_GET['on'])){
             $gpio_on = shell_exec("/usr/local/bin/gpio -g write 17 1");
             echo "LED is on";
     }
     else if(isset($_GET['off'])){
             $gpio_off = shell_exec("/usr/local/bin/gpio -g write 17 0");
             echo "LED is off";
     }
     ?>
     </body>

我也不会控制8通道继电器,这意味着我将需要8个按钮。 我已经为运行树莓派脚本编写了一些基本代码,但是我不知道将它们放在一起是很热门的。

<?php

if (isset($_POST['LightON']))
{
exec("sudo python /home/pi/lighton.py");
}
if (isset($_POST['LightOFF']))
{
exec("sudo python /home/pi/lightoff.py");
}
?>

谢谢,山姆,我知道变量名是不同的

一种解决方案是将您所有的html添加到一个php文件中,在上面添加所有php代码,然后在浏览器中运行它。 这假设www数据用户对您的文件系统具有执行python脚本的正确权限。

例:

<?php

if (isset($_POST['on']))
{
exec("sudo python /home/pi/lighton.py");
}
if (isset($_POST['off']))
{
exec("sudo python /home/pi/lightoff.py");
}
?>

<html>
 <head>
 <meta name="viewport" content="width=device-width" />
 <title>LED Control</title>
 </head>
 <body>
     LED Control:
     <form method="POST" >
          <input type="submit" value="ON" name="on">
          <input type="submit" value="OFF" name="off">
     </form>
 </body>
</html>

另外,如果您很了解Python,请在Apache上配置ModPython,并使用py文件作为服务器端脚本,并在客户端使用JQuery传递按钮按下操作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM