【发布时间】:2015-11-08 13:41:09
【问题描述】:
我正在尝试使用我的 Arduino 和我的服务器创建一个 domotica 设置。在使用射频发射器之前,我正在尝试从我的 php 网页控制 LED(将它们设置为开/关)。
除了在我加载/刷新网页时 LED1 亮起之外,一切都运行良好。我的网页包含以下代码(我改编自https://www.lassiemarlowe.com/tutorials/power-led-bulbs-arduino-php-part-2/):
<html>
<head>
<title>Arduino Domotica Control Panel</title>
这里有一些 css 代码...
<?php
switch($_POST)
{
case isset($_POST['submitOn']):
$fp = fopen("/dev/ttyUSB1", "w");
fwrite($fp, 1);
fclose($fp);
break;
case isset($_POST['submitOff']):
$fp = fopen("/dev/ttyUSB1", "w");
fwrite($fp, 2);
fclose($fp);
break;
case isset($_POST['submitOn1']):
$fp = fopen("/dev/ttyUSB1", "w");
fwrite($fp, 3);
fclose($fp);
break;
case isset($_POST['submitOff1']):
$fp = fopen("/dev/ttyUSB1", "w");
fwrite($fp, 4);
fclose($fp);
break;
case isset($_POST['submitOn2']):
$fp = fopen("/dev/ttyUSB1", "w");
fwrite($fp, 5);
fclose($fp);
break;
case isset($_POST['submitOff2']):
$fp = fopen("/dev/ttyUSB1", "w");
fwrite($fp, 6);
fclose($fp);
break;
case isset($_POST['allon']):
$fp = fopen("/dev/ttyUSB1", "w");
fwrite($fp, 7);
fclose($fp);
break;
case isset($_POST['alloff']):
$fp = fopen("/dev/ttyUSB1", "w");
fwrite($fp, 8);
fclose($fp);
break;
}
?>
</head>
<body>
<h1>Control Panel</h1>
<form class="control-panel-frm" method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">
<input type='submit' class="s3d turnOn" name='submitOn' value='LED 1 on'>
<input type='submit' class="s3d switchoff" name='submitOff' value='LED 1 off'>
<br><br>
<input type='submit' class="s3d turnOn" name='submitOn1' value='LED 2 on'>
<input type='submit' class="s3d switchoff" name='submitOff1' value='LED 2 off'>
<br><br>
<input type='submit' class="s3d turnOn" name='submitOn2' value='LED 3 on'>
<input type='submit' class="s3d switchoff" name='submitOff2' value='LED 3 off'>
<br><br>
<input type='submit' class="s3d turnOn" name='allon' value='All LEDs on'>
<input type='submit' class="s3d switchoff" name='alloff' value='All LEDs off'>
</form>
如前所述,问题是当我加载/刷新网页时 LED1(对应于 php post 'submitOn')打开。检查串行监视器时,Arduino 收到“1”。
为了防止我的网页在加载时向 Arduino 发送任何内容,我应该进行哪些更改?
【问题讨论】: