我有一个PHP脚本,可以在Raspberry上通过wifi控制LED。
$fileName = __DIR__.'/txt/led2.txt';
if (!file_exists($fileName) || (file_get_contents($fileName) !== '1' && file_get_contents($fileName) !== '0')) {
file_put_contents($fileName, '1');
}
if (isset($_GET['on4']) && file_get_contents($fileName) === '1') {
shell_exec("/usr/local/bin/gpio -g write 15 1");
file_put_contents($fileName, '0');
}
else if (isset($_GET['on4']) && file_get_contents($fileName) === '0') {
shell_exec("/usr/local/bin/gpio -g write 15 0");
file_put_contents($fileName, '1');
}
基本上,如果我按下按钮,脚本将替换文件中的变量,当它打开时,文件中的变量= 0,当它关闭时,它等于1。
我需要在Web UI上显示LED的当前状态。有可能吗? 现在我只知道回声显示为1还是0,是否可以用某些图片或文字代替它?
答案 0 :(得分:0)
添加一个echo
语句,该语句显示的图像取决于LED的状态。
您还可以通过注意所有重复并使用变量来简化代码
$fileName = __DIR__.'/txt/led2.txt';
if (file_exists($fileName)) {
$current_state = file_get_contents($fileName);
if ($current_state != "0" && $current_state != "1") {
file_put_contents($fileName, '1');
$current_state = 1;
}
} else {
$current_state = 1;
file_put_contents($fileName, $current_state);
}
if (isset($_GET['on4'])) {
shell_exec("/usr/local/bin/gpio -g write 15 $current_state");
$current_state = 1 - $current_state;
file_put_contents($fileName, $current_state);
}
echo $current_state == 1 ? '<img src="images/ledOff.png">' : '<img src="images/ledOn.png">';