gpt4 book ai didi

python - 我将如何使用 php 在网页上显示多个按钮(它们将控制 raspberry pi)

转载 作者:太空宇宙 更新时间:2023-11-04 12:42:01 25 4
gpt4 key购买 nike

我正在创建一个家庭自动化系统,我正在使用我的树莓派作为网络服务器来控制 gpio 端口,我使用了一些代码来打开 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 channel 继电器,这意味着我需要 8 个按钮。我编写了一些用于运行 raspberry pi 脚本的基本代码,但我不知道如何将它们放在一起。

<?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-data 用户对您的文件系统具有执行 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 来传递按钮按下操作。

关于python - 我将如何使用 php 在网页上显示多个按钮(它们将控制 raspberry pi),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39881738/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com