1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
|
$boutons = array(
array("img" => "data/img/red_0.jpg", "alt" => "off'", "status" => false),
array("img" => "data/img/green_0.jpg", "alt" => "on'", "status" => true),
);
$gpios = array (21,22, 28); //1. Creation d'un tableau avec les GPIO que l'on veut controler
foreach($gpios as $gpio) {//3. On fait une boucle pour remplir et parcourir le tableau des GPIO
//c'est ici que je comprends pas ton php $gpios = array (21,22, 28) et au premier passage dans la boucle $gpio=21
//set the pin's mode to output and read them
//echo ($status[$i]);
// ICI tu appelle donc au premier passage gpio read ".$gpio, $gpios[$gpio] soit gpio read 21, $gpios[21] !! mais $gpios[21] n'existe pas
exec ("gpio read ".$gpio, $gpios[$gpio], $return ); //2. On rempli le tableau : pour chaque GPIO on éxécute gpio read pour le pin en question, pour connaitre son état (0 ou 1) (exec)
//echo "GPIO ".$gpio."";
//echo "\n\n\n\n\n";
/* dans ton code tu avais
if ($gpios[$gpio][0] == 0 ) {
là encore ça ne marche pas $gpio = 21 et $gpios = array (21,22, 28)
en supposant qu'il n'y ait pas de pb d'indice et que $gpios[21] existe $gpios[x] est un integer et pas un tableau
donc $gpios[21][0] ne peut pas exister.
*/
/*
a. On met une image verte si la valeur dans le tableau du GPIO en question est à 1 (l'id de l'image est button_X où X est le numéro du gpio (ici 21, 22 ou 28)
b. On met une image rouge si la valeur dans le tableau du GPIO en question est à 0
foreach = permet de récupérer l'état du pin (0 ou 1) via la commande exec et de m'afficher mes boutons avec la bonne couleur selon leur état
0 = red
1 = green
c'est bien ce que fait ce code si je me réfère à ce que tu dit de ton code $gpios[$gpio][0]] vaut 0 ou 1 (0 pour red et 1 pour green)
si tu lis le code
$boutons[0].status vaut false et $boutons[1].status vaut true
$boutons[0].img vaut "data/img/red_0.jpg" et $boutons[0].img vaut "data/img/green_0.jpg"
$boutons[0].alt vaut "off" et $boutons[1].alt vaut "on"
on a donc pour 0 et 21
<img id='button_21' data-numero='21' data-status='false' src='data/img/red_0.jpg' alt='off'/>
on a donc pour 1 et 21
<img id='button_21' data-numero='21' data-status='true' src='data/img/green_0.jpg' alt='on'/>
et la même chose pour les autres éléments du tableau.
*/
echo ("<img id='button_".$gpio."' data-numero='".$gpio."' data-status='".$boutons[$gpios[$gpio][0]].status."' src='".$boutons[$gpios[$gpio][0]].img."' alt='".$boutons[$gpios[$gpio][0]].alt."'/>");
} |
Partager