24/11/2021
2H
Piloter une store (ici une led sur GPIO17 d'un Rpi) avec une interface web
Prérequis
Technologie web , html , php
maîtrise des gpios en shell
But
Mise en oeuvre d'une interface de commande web d'un système numérique.
Il faut installer les paquets suivants sur votre RPI:
apache2
php
en étant root:
apt update
apt install apache2 php
Se mettre en développeur (pour ne pas ramer) , et pour ce faire autoriser l'affichage des erreurs.
dans
/etc/php/7.3/apache2/php.ini
display_errors=on
et
error_reporting=E_ALL
Nous désirons piloter un store électrique avec un raspberry Pi à travers un site Web.
un site web pouvant gérer une LED !
dans
/var/www/html
placer le projet suivant
en l’adaptant a votre GPIO !
<!doctype html>
<html lang="fr">
<head>
<meta charset="utf-8">
<title>Contrôle GPIO</title>
<link rel="stylesheet" type="text/css" href="stylesheet.css">
</head>
<body>
<form action="script.php" method="post">
<input type="submit" name="executer" value="ON" class="button" id="ON">
<br/>
<input type="submit" name="executer" value="OFF" class="button" id="OFF">
</form>
</body>
</html>
html, body
{
margin: 0;
}
.button
{
border: none;
color: white;
text-align: center;
font-size: 10em;
padding: 25px 25px;
cursor: pointer;
width: 100%;
height: 50vh;
}
#ON
{
background-color: green;
}
#OFF
{
background-color: red;
}
adapter le à votre LED (GPIO)
<?php
system("gpio -g mode 4 out");
if($_POST['executer'] == 'ON')
{
system("gpio -g write 4 1");
}
else
{
system("gpio -g write 4 0");
}
header('Location: index.php');
?>
Réaliser une page WEB ou on pourra piloter 2 leds (GPIO 17 et 27 ) rouge et verte.
Le tp est inspiré du site suivant: