У меня есть PHP-скрипт, в котором я управляю светодиодами через Wi-Fi на Raspberry.
$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.
Мне нужно показать текущее состояние светодиодов на моем веб-интерфейсе. Это возможно?
Теперь я знаю только, показывает ли эхо 1 или 0, не может ли он быть заменен каким-либо изображением или текстом?
Добавить echo
оператор, который отображает изображение, которое зависит от состояния светодиода.
Вы также можете упростить код, заметив все повторения и используя переменную
$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="https://web-answers.ru/wp-content/uploads/2019/02/ledOff.png">' : '<img src="https://web-answers.ru/wp-content/uploads/2019/02/ledOn.png">';
Других решений пока нет …