Я следую: http://www.instructables.com/id/Simple- … Ур-Raspbe /
Цель состоит в том, чтобы включать и выключать контакты, как указано в руководстве, но
здесь я не могу использовать: system (), exec (), поскольку он не выполняется
Команды в Raspberry Pi. Страница загружается точно, но когда я
Нажимайте кнопки только для изменения изображения (ВКЛ / ВЫКЛ), но без выполнения команд.
У меня хорошо подключены реле для желаемых номеров выводов GPIO
Я использую инструменты: PHP, Javascript, веб-сервер Lighttpd, и мое устройство — Pi 3 модель B с установленной raspian Jessie.
Поэтому я решил использовать «shell_exec» для выполнения команд, но после его реализации в
Программа не имеет эффекта в моей программе и ничего не отображает. Нужна помощь, где я делаю не так.
gpio.php
<?php
//This page is requested by the JavaScript, it updates the pin's status and then print it
//Getting and using values
$pin = array(4,17,18,27,22,23,24,25);
if (isset ( $_GET["pic"] )) {
$pic = strip_tags ($_GET["pic"]);
//test if value is a number
if ( (is_numeric($pic)) && ($pic <= 7) && ($pic >= 0) ) {
//set the gpio's mode to output
shell_exec("/usr/local/bin/gpio -g mode $pin[$pic] out");
//reading pin's status
shell_exec("/usr/local/bin/gpio -g read $pin[$pic] $status $return ");
//set the gpio to high/low
if ($status[0] == "0" ) { $status[0] = "1"; }
else if ($status[0] == "1" ) { $status[0] = "0"; }
shell_exec("/usr/local/bin/gpio -g write $pin[$pic] $status[0]");
//reading pin's status
shell_exec ("/usr/local/bin/gpio -g read $pin[$pic] $status $return");
//print it to the client on the response
echo($status[0]);
}
else { echo ("fail"); }
} //print fail if cannot use values
else { echo ("fail"); }
?>
index.php
<!DOCTYPE html>
<!--TheFreeElectron 2015, http://www.instructables.com/member/TheFreeElectron/ -->
<html>
<head>
<meta charset="utf-8" />
<title>Raspberry Pi Gpio</title>
</head>
<body style="background-color: black;">
<!-- On/Off button's picture -->
<?php
$val_array = array(0,0,0,0,0,0,0,0);
$pin = array(4,17,18,27,22,23,24,25);
//this php script generate the first page in function of the file
for ( $i= 0; $i<8; $i++) {
//set the pin's mode to output and read them
shell_exec("/usr/local/bin/gpio -g mode $pin[$pic] out");
shell_exec("/usr/local/bin/gpio -g read $i, $val_array[$i],$status $return ");
}
//for loop to read the value
$i =0;
for ($i = 0; $i < 8; $i++) {
//if off
if ($val_array[$i][0] == 0 ) {
echo ("<img id='button_".$i."' src='data/img/red/red_".$i.".jpg' onclick='change_pin (".$i.");'/>");
}
//if on
if ($val_array[$i][0] == 1 ) {
echo ("<img id='button_".$i."' src='data/img/green/green_".$i.".jpg' onclick='change_pin (".$i.");'/>");
}
}
?>
<!-- javascript -->
<script src="script.js"></script>
</body>
</html>
Спасибо
Atila
Задача ещё не решена.
Других решений пока нет …