我正在使用树莓派来学习和试验,我制作了一个程序,只需在pi B +上的GPIO引脚29(带有接线pi)上闪烁LED。我使这个过程变得无限,意图用我网页上的另一个按钮来杀死它,但我无法理解。我甚至无法阻止它通过SSH连接到pi。这不是一个真正的问题,因为我可以重新启动pi并将其关闭,但学习起来会很好。我想从我的网页上删除它(我使用的是apache服务器)。 这是代码:
<?php
system ( "gpio mode 29 out" );
while (true){
system ( "gpio write 29 0" );
sleep(1);
system ( "gpio write 29 1" );
sleep(1);
header('Location: remoteGPIO.html');
}
?>
所以我可以用另一个不使用javascript的按钮来杀死它吗?我不介意使用它,但我想避免使用它。如果我不能,这没什么大不了的。 我用这个按钮启动它:
<form action="GPIO29FLASH.php"><button>begin</button></form>
提前感谢!
答案 0 :(得分:1)
一个好主意可能是使用会话。使结束按钮转到另一个将某些会话变量设置为true的php脚本。现在让您当前的脚本闪烁一次,然后重新加载页面。如果设置了会话变量 - 只需终止脚本即可。
通过将while循环更改为while (!isset($_SESSION['var']) && $_SESSION['var'] !== true)
,它甚至可以在不重新加载页面的情况下工作,但我不确定$ _SESSION变量是否在不重新加载页面的情况下刷新。
希望有效。