Eenvoudige en intuïtieve web-interface voor je Raspberry Pi (5 / 6 stap)

Stap 5: Maken van de interface


We kunnen nu controleren onze Raspberry Pi met eenvoudige PHP scripts maar er is geen interactie met de gebruiker en waardoor wij niet voor kiezen de LED aan/uit te schakelen. Laten we de interface!
Het samengesteld uit foto's die ik heb gevonden op Google afbeeldingen (zoek naar "on/off button"). Een was groen en de andere een rood, ik heb net toegevoegd het nummer met behulp van de Gimp. Elke afbeelding/knop is overeenkomt met de LED, dus als u op een van deze klikt, de bijbehorende LED zal worden omgezet in- / uitschakelen en de afbeelding wordt gewijzigd in de versie die van groen/rood. Skelet van de pagina zal worden gemaakt met HTML, de server interacties en pagina's generatie met PHP en laatste JavaScript voor het beheren van interactie met de gebruiker en pagina's animatie. Als u niet weet, JavaScript is een taal van de client-kant en in tegenstelling tot PHP, het niet een keer, maar voortdurend wordt uitgevoerd door uw browser. Dat is waarom u kunt de pagina's uiterlijk wijzigen zonder het herladen of toegang tot een andere. Als u waarom ik sprak over CSS vóór afvraagt zich, het is gewoon omdat we nodig is voor sommige stijl en de pagina-indeling als de de zwarte achtergrond. Ik heb niet een volledige CSS-bestand maken, omdat het niet nodig hier.
Moeten we eerst een "index.php"-bestand (extensie .php en niet .html oorzaak is zullen we gebruiken PHP-code, het helpt de server willen weten of er PHP uit te voeren voordat u de gegenereerde pagina). Deze pagina wordt de hoofdpagina met de 8 buttons. Deze knoppen zijn eerst gegenereerd met een "exec ("gpio Lees". $i, $output);" in een for-lus. Dan moeten we detecteren wanneer de gebruiker is op één van deze knoppen te klikken. Dat is waar de JavaScript is nuttig, ik zet het in een apart bestand met de naam "script.js" maar het nog steeds opgenomen in index.php. Het script is gewoon het toevoegen van een gebeurtenislistener aan alle acht knoppen en telkens wanneer een van deze wordt ingedrukt, maakt gebruik van een functie die vragen om gpio.php, ontvangst van het antwoord dan terug te zenden. Ten slotte, in functie van dit, de JavaScript verandert de knop rood (voor OFF) of groen (voor ON). Nu, de laatste pagina: gpio.php. Het bevat de code van de PHP om te schakelen aan/uit de LEDs in functie van wat de JavaScript-functie verzonden. De gebruiker moet niet normaal vragen voor deze exacte pagina maar er is één gouden regel bij het maken van websites en je moet altijd onthouden deze: "Nooit vertrouwen de gebruiker". Met andere woorden, nooit denken dat de gebruiker gaat altijd doen wat je denkt dat hij gaat om te doen. Dus, ik heb toegevoegd sommige effecten bij het begin van de PHP-code zoals ervoor te zorgen dat de gebruiker heeft een juiste waarde en niet een brief als voorbeeld. Ik maakte een klein diagram samengevat alle deze tekst.

U kunt het volledige project rechtstreeks op deze website hieronder downloaden.

Gerelateerde Artikelen

Python Web Server voor je Raspberry Pi

Python Web Server voor je Raspberry Pi

Opmerking: Als u wilt dat alleen in het geval van een webserver waarvoor Python niet, check out deze tutorial die ik heb voor een super eenvoudig webserver voor de Raspberry Pi gemaakt.U weet sommige fundamentele Python of u wilt leren een aantal en
Eenvoudige grafische Interface voor Linux GCC Compiler

Eenvoudige grafische Interface voor Linux GCC Compiler

Dit is een eenvoudige grafische interface voor Linux GCC compiler. Het is een bash scriptbestand met behulp van de opdracht zenity. Als u geen zenity en u een Debian gebaseerd systeem (Ubuntu gebruikt) zal zij in de repositories.U kunt het installere
Volledige Python Web Interface kit voor PhidgetSBC3

Volledige Python Web Interface kit voor PhidgetSBC3

Het PhidgetSBC3-bord is een volledig functionele Single Board Computer, lopende Debain Linux. Het is vergelijkbaar met de raspberry Pi, maar heeft 8 analoge sensor inputs en 8 digitale inputs en 8 digitale uitgangen. Het wordt geleverd met een webser
Een koele Interface voor Youtube

Een koele Interface voor Youtube

In dit Instructable zal ik u tonen hoe maak je een cool GUI (Graphical User Interface) voor Youtube. Dit zou kunnen maken van youtube video's sneller worden geladen.Ik heb bijgevoegd WMV-video's om u te tonen hoe dit te doen.De HTML-Code in de video
Staafdiagrammen w / intuïtieve Display of Variation (een experiment)

Staafdiagrammen w / intuïtieve Display of Variation (een experiment)

Ik heb bedrogen uit voor een tijdje nu met de opties voor het weergeven van bevolking variatie of onzekerheid in grafieken.(Voor de bestanden die gebruikt voor het maken van de grafieken, Zie hier en hier.)Motivatie:Voor zover ik vertellen kan, zijn
Hoe om terug te gaan naar de oorspronkelijke interface voor het weergeven van Instructables

Hoe om terug te gaan naar de oorspronkelijke interface voor het weergeven van Instructables

als je niet realiseren, Instructables' interface voor het weergeven van dingen is veranderd voor featured, populair, rating | recente, weergaven en tijdgeest. Ik zag een paar klachten dat ze niet willen dit veranderen, zodat voor iedereen: hier is wa
Hoe maak je een eenvoudige en elegante tafel midden stuk voor Kerstmis (of andere evenementen)

Hoe maak je een eenvoudige en elegante tafel midden stuk voor Kerstmis (of andere evenementen)

om te kopen een Kerstdecoratie van tabel voor minder dan 20€ vandaag bijna een onmogelijke missie, dus is waarom niet het maken van uw eigen decoratie?Dus ik ga u tonen hoe te maken van deze zeer eenvoudige, maar zeer elegant, decoratie, stap voor st
IPhone/iPad web pictogram voor uw site

IPhone/iPad web pictogram voor uw site

Het hebben van een website waarvoor u een gepersonaliseerde web-pictogram voor iPhones of iPads? U kunt hen maken zonder codering ervaring. De eerste foto is de "voor" en de tweede foto is de "erna". De methode die ik gebruikte werkte
Digitale keuken met een gewicht van schaal-interface voor Arduino

Digitale keuken met een gewicht van schaal-interface voor Arduino

IntroIk ontwikkelde een programma van de interface voor de Arduino te lezen uit een schaal. Er is geen bijkomende elektronica die nodig zijn, slechts twee draden tussen de interne schaal elektronica en de Arduino.Zie meer hier:http://www.avdweb.nl/Ar
Sommige eenvoudige OS X Command Line Tools voor iedereen

Sommige eenvoudige OS X Command Line Tools voor iedereen

Sommige eenvoudige OS X Command Line Tools voor iedereenDeze werden verzameld uit rond het internet en van mijn persoonlijke kennis. Velen zijn de eenvoudige hulpmiddelen die kan men lezen over in de MAN pagina's, een paar zijn shell-items die u kunt
Bouw een 3D Pan Tilt geval afgedrukt voor een Raspberry Pi

Bouw een 3D Pan Tilt geval afgedrukt voor een Raspberry Pi

Dit instructable beschrijft het gebouw van een zaak voor een Raspberry Pi waarin een vergadering van de pan-tilt voor de Pi-Camera.Mijn doel was het ontwerpen van een 3D afdrukbare geval dat netjes de Raspberry Pi terwijl ook het verstrekken van ruim
Het configureren van statische IP-adres voor de Raspberry Pi

Het configureren van statische IP-adres voor de Raspberry Pi

Dit Instructable krijgt u duidelijk idee over het configureren van statische IP-adres voor de raspberry Pi. Wanneer je de Raspberry pi aansluiten op uw netwerk de router toegewezen willekeurig IP-adres, dit kan lastig zijn voor toegang tot uw Raspber
Batterij geëxploiteerd kartonnen HDMI Retro TV staan voor je Raspberry Pi

Batterij geëxploiteerd kartonnen HDMI Retro TV staan voor je Raspberry Pi

Uw Raspberry Pi verdient een eigen scherm en stand! Waarom delen uw Raspberry Pi met de woonkamer TV? Geef uw Pi eigen stand en batterij zodat u het overal in het huis of in uw kantoor bedienen kunt. Veronderstel hebbend van uw eigen retro kartonnen
Een nieuwe ontwerp voor de raspberry pi draadloze schild uitbreidingsbord

Een nieuwe ontwerp voor de raspberry pi draadloze schild uitbreidingsbord

Onlangs, wij ontwerpen een soort raspberry pi draadloze schild (of uitbreidingsbord) voor de raspberry pi. Met behulp van deze rpi schild, kunt u gemakkelijk uw doelstelling, zoals LED, TANK, auto, enz. In dit voorbeeld, bepalen door met behulp van d