RaspberryPi web gardin controller (3 / 5 steg)
Steg 3: Steg 3: programvara
Installera Apache och PHP:
Följ dessa instruktioner för att installera Apache och PHP på din RaspberryPi. https://www.raspberrypi.org/documentation/Remote-a...
Anledningen att jag valde PHP är att det är en en fil genomförande. Har du några exempel på hur du kan styra denna krets med Node.js och Javascript med alla medel, låt mig veta. För nu är PHP på Apache en ren och enkel lösning.
Mitt program heter index.php och det är i katalogen /var/www/html. Att placera denna fil i katalogen gör det möjligt att utföra när din RaspberryPi IP-adress i en webbläsare. Alternativt, du kan kvalificera namnet i webbläsaren. t.ex: 10.0.1.33/test.php. Var särskilt försiktig med filrättigheter under den Apache konfigurationen. Du behöver nog att spara och köra din fil, men inte riskera din RPi säkerhet.
Få dig Rpis lokala IP-adress:
Från terminalen typ hostname-jag (som är en huvudstad jag)
Min RPi ligger vid 10.0.1.33. Detta är i ett lokalt nätverk. Detta projekt är inte tillgängliga från internet. Jag vill personligen inte främlingar öppna och stänga mina gardiner.
PHP-program: index.php
1) detta program börjar med CSS style knapparna.
2) den andra delen är tre form uttalanden. Eftersom PHP är ett server-side språk, körs koden på servern. Genom att använda ett formulär och kommandot inlägg, kan vi anropa vår kod på RaspberryPi med ett enkelt klick på en knapp.
3) avsnittet PHP använder kommandot ISSET för att upptäcka en knapptryckning. När knappen trycks är GPIO PIN-koden inställd på utgång, vände på 0.8 sekunder och sedan stängs av. Det är allt det finns till den.
< html >
< h1 > RaspberryPi blinda kontroll < / h1 >
< head >
< style >
.openButton {
Visa: inline-block;
font-size: 72px;
bredd: 400 pixlar;
text-align: center;
border-radius: 12px;
färg: #fff;
bakgrundsfärg: grön;
}
.closeButton {
Visa: inline-block;
font-size: 72px;
bredd: 400 pixlar;
text-align: center;
border-radius: 12px;
färg: #fff;
bakgrundsfärg: gul;
}
.stopButton {
Visa: inline-block;
font-size: 72px;
bredd: 400 pixlar;
text-align: center;
border-radius: 12px;
färg: #fff;
bakgrundsfärg: röd;
}
< / stil >
< / head >
< body >
< br >< br >
< bildar metod = "POST" action = "" >
< input klass = "openButton" type = "Skicka" namn = "öppna" värde = öppna >< br >< br >< br >< br >
< / form >
< bildar metod = "POST" action = "" >
< input klass = "stängningsknapp" type = "Skicka" namn = "Stäng" värde = Stäng >< br >< br >< br >< br >
< / form >
< bildar metod = "POST" action = "" >
< input klass = "stopButton" type = "Skicka" namn = "stop" värde = stopp >< br >< br >< br >< br >
< / form >
<? php
### Öppna
exec ("sudo gpio läge 7 ut");
om (isset ($_POST ["öppna"])) {
exec ("sudo gpio skriva 7 1");
Sleep(.8);
exec ("sudo gpio skriva 7 0");
}
### nära
exec ("sudo gpio läge 3 ut");
om (isset ($_POST ["Stäng"])) {
exec ("sudo gpio skriva 3 1");
Sleep(.8);
exec ("sudo gpio skriva 3 0");
}
### stoppa
exec ("sudo gpio läge 2 ut");
om (isset ($_POST ["stop"])) {
exec ("sudo gpio skriva 2 1");
Sleep(.8);
exec ("sudo gpio skriva 2 0");
}
? >
< / body >
< / html >
Nästa steg -> Transitors