Raspberry PI og GPIO pins: Kontrollerende LED fra en web-grænseflade

I de seneste indlæg i denne serie, Vi så de er GPIO pins og tjene, og Hvordan til at styre strømmen af lysdioder fra terminalen; før du begynder Vi har installeret GPIO biblioteker for Python, og den samlet elektroniske kredsløb og arbejder.
Web-applikation i HTML + PHP + Python til at håndtere et par Leds gennem GPIO.

Ved denne lejlighed vil vi installere den Apache webserver, og lære at skrive den kode i HTML og PHP at kontrollere de samme LED, eller flere, fra en web-grænseflade.

gpioprogramar0pngDen første ting vi skal gøre er installere lampe webserver, så skal du skrive følgende kommandoer i terminal:

#Actualizamos los repositorios y el software de la pi
usuario@maquina:~$ sudo apt-get update && sudo apt-get upgrade

#Instalamos LAMP
usuario@maquina:~$ sudo apt-get install apache2
usuario@maquina:~$ sudo apt-get install php5 libapache2-mod-php5
usuario@maquina:~$ sudo service apache2 restart

Nu vil vi tilføje som sudoer til brugeren www-data, Dette er ikke mulighed for mere sikre, men husk, at vi laver en test i et kontrolleret miljø; i et miljø i produktionen skal vi kigge efter en anden måde at køre scripts i python som sudoer.

Til at redigere disse tilladelser, skrev sudo terminalvisudo i terminalen og i slutningen af filen Tilføj til www-data som sudoer, Det skal være så.

# See sudoers(5) for more information on "#include" directives:

#includedir /etc/sudoers.d
pi ALL=(ALL) NOPASSWD: ALL
www-data ALL=(ALL) NOPASSWD: ALL

For hver pin GPIO Vi har brug at oprette en undermappe og tre scripts i Python; en til at tænde, en anden til at slukke for, og en sidste script til at gøre vores LED blinkende, Her er et eksempel med den PIN 4.

#!usr/bin/env/ python
## enciende.py
#Importamos la libreria y le cambiamos el nombre a GPIO
importere RPi.GPIO som GPIO
#Vi etablere den nummerering, som vi ønsker at, 
#i dette tilfælde system BCM
GPIO.setmode(GPIO. BCM)
#Konfigurere GPIO pin 4 som en output
GPIO.setup(4, GPIO. UD)
#Vi tænder på den led
GPIO.output(4, GPIO. HØJ)
#!usr/bin/env/ python
## apaga.py
#Vi importere biblioteket og ændre hendes navn til GPIO
importere RPi.GPIO som GPIO
#Vi etablere den nummerering, som vi ønsker at, 
#i dette tilfælde system BCM
GPIO.setmode(GPIO. BCM)
#Konfigurere GPIO pin 4 som en output
GPIO.setup(4, GPIO. UD)
#Sluk led
GPIO.output(4, GPIO. LAV)
#Og vi befri GPIO
GPIO.cleanup()
#!usr/bin/env/ python
## parpadea.py
#Vi importere biblioteket og ændre hendes navn til GPIO
importere RPi.GPIO som GPIO

#Nødvendige for forsinkelserne
importere tid

#Vi etablere den nummerering, som vi ønsker at, 
#i dette tilfælde system BCM
GPIO.setmode(GPIO. BCM)

#Konfigurere GPIO pin 4 som en output
GPIO.setup(4, GPIO. UD)

#Tænde og slukke for det led 5 gange
for jeg i udvalg(0,5):

        GPIO.output(4, GPIO. HØJ)
        time.Sleep(1)(1)
        GPIO.output(4, GPIO. LAV)
        time.Sleep(1)(1)

#Og vi befri GPIO
GPIO.cleanup()

Nu er det tid til at skabe vores hjemmeside i HTML og PHP, indeholder knapper, som vi vil presse til at køre scripts Python fra en web-grænseflade, senere vil vi se hvordan den endelige hierarki.

<html>
 <head>
                        <!--index.php--> 
 </head>
 <body>

  <!--GPIO17--> 
  <form action="" method="post">
   GPIO 17&nbsp;<input type="submit" name="encender17" value="Encender">
   <input type="submit" name="apagar17" value="Apagar">
   <input type="submit" name="parpadear17" value="Parpadear">

 <br></br>

  <!--GPIO27--> 
  <form action="" method="post">
   GPIO 27&nbsp;<input type="submit" name="encender27" value="Encender">
   <input type="submit" name="apagar27" value="Apagar">
   <input type="submit" name="parpadear27" value="Parpadear">

 <br></br>

  <!--GPIO4--> 
  <form action="" method="post">
   GPIO 04&nbsp;<input type="submit" name="encender4" value="Encender">
   <input type="submit" name="apagar4" value="Apagar">
   <input type="submit" name="parpadear4" value="Parpadear">

 <br></br>

  <!--GPIO22--> 
  <form action="" method="post">
   GPIO 22&nbsp;<input type="submit" name="encender22" value="Encender">
   <input type="submit" name="apagar22" value="Apagar">
   <input type="submit" name="parpadear22" value="Parpadear">

 </body>
</html>

<?php

// Funciones PHP del pin GPIO 17

  if ($_POST[encender17]) { 
   $a- exec("sudo python /var/www/leds/gpio/17/enciende.py");
   echo $a;
  }

  if ($_POST[apagar17]) { 
   $a- exec("sudo python /var/www/leds/gpio/17/apaga.py");
   echo $a;
  }

  if ($_POST[parpadear17]) { 
   $a- exec("sudo python /var/www/leds/gpio/17/parpadea.py");
   echo $a;
  }

// Fin de las funciónes del pin GPIO 17


// Funciones PHP del pin GPIO 27

  if ($_POST[encender27]) { 
   $a- exec("sudo python /var/www/leds/gpio/27/enciende.py");
   echo $a;
  }

  if ($_POST[apagar27]) { 
   $a- exec("sudo python /var/www/leds/gpio/27/apaga.py");
   echo $a;
  }

  if ($_POST[parpadear27]) { 
   $a- exec("sudo python /var/www/leds/gpio/27/parpadea.py");
   echo $a;
  }

// Fin de las funciónes del pin GPIO 27


// Funciones PHP del pin GPIO 4

  if ($_POST[encender4]) { 
   $a- exec("sudo python /var/www/leds/gpio/4/enciende.py");
   echo $a;
  }

  if ($_POST[apagar4]) { 
   $a- exec("sudo python /var/www/leds/gpio/4/apaga.py");
   echo $a;
  }

  if ($_POST[parpadear4]) { 
   $a- exec("sudo python /var/www/leds/gpio/4/parpadea.py");
   echo $a;
  }

// Fin de las funciónes del pin GPIO 4


// Funciones PHP del pin GPIO 22

  if ($_POST[encender22]) { 
   $a- exec("sudo python /var/www/leds/gpio/22/enciende.py");
   echo $a;
  }

  if ($_POST[apagar22]) { 
   $a- exec("sudo python /var/www/leds/gpio/22/apaga.py");
   echo $a;
  }

  if ($_POST[parpadear22]) { 
   $a- exec("sudo python /var/www/leds/ejecgpio/22/parpadea.py");
   echo $a;
  }

// Fin de las funciónes del pin GPIO 22

?>

Jeg har grupperet det alle på samme side som om at oprette en side i PHP for hver enkelt indstilling, for at køre det, blev jeg sendt til siden script (en tom side); nu køre koden og er tilbage i samme side.

Endeligt Vi skal opnå følgende hierarki inden for underbibliotek på webserveren /var/www.

Screenshot af 2014-10-05 00:06:52Hvis du som du kan følge mig på Twitter, Facebook, Google +, LinkedIn, eller dele det med knapper under denne publikation, Hvis du har spørgsmål eller forslag så tøv ikke at kommentere.

Hjælp os med at nå flere læsere Share on LinkedInShare on FacebookTweet about this on TwitterShare on Google+Email this to someone

71 tanker om"Raspberry PI og GPIO pins: Kontrollerende LED fra en web-grænseflade

  1. God, Efter at have kigget på Internet løsninger Hjem automation, Jeg besluttede af dit system, synes godt eksponeret.
    Alligevel og på grund af min nul erfaring i bløde. tvivler på mig, Jeg ville ønske du kunne løse dem., Jeg har lavet mange tests og intet, Jeg får ikke det….:)
    udfører alle de trin, der forklarer og jeg klare gpio fra terminal med kit, men da web ikke kan aktivere python script.
    Jeg har brug at gøre en side på /val/www med html (index.html) så tjene det jeg apache. Ved at placere din hjemmeside her, hvis forlade knapperne mig, men ikke udføre php script. I side index.php, ikke anbringes inde i.
    Sorry for ulejligheden og tak.

      • Tak for at reagere så hurtigt, Ja gjorde jeg trin for at give tilladelser i den fil, du lægger, Jeg er forvirret med index.php-side, du hænge GPiO Register, kun se knappen på nettet, hvis jeg sætte det i /val/www….i html!…index.html, men ikke udføre PHP script. Der bør sætte index.php som hænge GPIO Register?

        • Hvis du ser nøje, index.php /var/www/leds 🙂 hænger hvis du stadig ikke virker, kommentere denne artikel og se på det.

          Hvis /var/ www/index.php cuelgas vil se det i denne retning, men det vil ikke arbejde noget:

          http://ipdelapi

          Hvis hænge af /var/www/leds/will arbejde ordentligt, men da denne rute:

          http://ipdelapi/leds

          Jeg håber dette løser din tvivl og at du kan flytte ind i denne så spændende verden.

          • God, Jeg har det samme problem som stipendiaten ovenfor.

            Min index.php hænger fra /var/www/html/index.html
            , Hvis jeg får min indeks html fra vist der ikke, men jeg har ikke noget problem i at have det der, Mit problem kommer når puls knap og ikke køre mig taske.

            PD: Jeg gav ham alt og tilladelser

            Tak for dit svar.
            En hilsen

            VIBE JENSEN.

  2. God, dit arbejde tjener mig meget, du er en maskine!
    Jeg forsøger at gøre automatiseringssystem til at styre flere lysdioder fra nettet, men jeg har et problem, du ikke kan afhjælpe.
    Temaet er at jeg har aktiveret det GPIO jeg har brug for, Jeg aktivere dem og deaktivere fra terminal, Jeg tilslutter en anden PC tilsluttet samme netværk til 192.168.X.X/leds/ og hjemmesiden ser godt ud, menuen for kontrol i hjemmet ser perfekt, men ikke reagere lysdioder, Jeg har prøvet af aktiv og passiv, noget jeg gør forkert…
    Det eneste jeg kan sige er, at du viser kildekoden til siden og viser kun HTML-koden, php vises ikke, ikke være hvis det skal eller ikke.
    Jeg tror det kan være noget PHP, men jeg er ikke meget overbevist fordi jeg forsøgt en test PHP og gør det godt, Jeg er desperat lol

    • Hej John,

      Mig alegro meget der kan være nytte min artikler 🙂 altid er velkommen de positive kommentarer.

      Alle PHP kode i browseren vises som HTML, Da PHP funktionen er på tidspunktet og dynamisk Opret websider, der serveres i browseren.

      Kører Python scripts direkte hvis lysdioderne lyser? det rigtige ville være start test herfra og gå fremad.

  3. Tak for besvare hurtigt!
    Endelig format hindbær igen, Jeg fulgt en hel foranstaltninger igen og alt virker smukt, ikke være at kunne undgå.
    Anyway tak for opmærksomheden.
    En hilsen

    • Tak fordi du deler din tvivl, Jeg er glad for, at der endelig er har arrangeret.

      Du har ændret noget i din hindbær samt format, som for eksempel transformer microUSB?

      • Ja, Da jeg købte det satte jeg en vask med mikro til hastighed ham op og så vil arbejde hurtigere, men det er heller ikke meget mærkbar forandring.
        Det var det eneste, der ændrer du til rasp.

        • Hej John, Jeg er glad for at læse igen her.

          I princippet har ikke at påvirke Overclock i dette aspekt, men det kan have været enhver konfiguration; nu, hvor du arbejder med en Raspbian rengøring vender tilbage for at give problemer efter at have været i produktion, Nu, hvis der vil anbefale dig at finde roden til problemet.

          Ændre i Overclock du vil mærke det i henhold til specifikke opgaver, som har brug for meget computerkraft, men nogle faktorer såsom Ethernet-porten vil fortsætte efter flaskehalsen, der bruger.

          Du kan se den anmeldelse, jeg gjorde for Raspberry PI B modeller, B + og B2 i følgende link, med fuld performance test:

          http://www.peatonet.com/raspberry-pi-y-los-pines-gpio-controlando-el-led-desde-una-interfaz-web/

          Jeg håber du vil være nyttigt, Se dig snart 🙂

  4. Hej, Jeg har en lille spørgsmål/problem. Jeg ønsker at tilslutte en buzzer i stedet for en led, men jeg vil forsøge først med en led at lære. Det er nødvendigt at gøre en index.html og andre .php?
    Jeg har den førte tilsluttet gpio4, og jeg har en on.py script og andre off.py inde i mappen 4. Konsol arbejde perfekt.
    og jeg kan ikke sætte index.html, fordi det ikke vil lade mig, men bare for førte funktionalitet 4.

    Jeg håber at du kan hjælpe mig, Jeg har besøgt din facebook profil, og jeg håber en dag både af Raspberry Pi som bekendt. En hilsen og tak.

  5. Et websted i PHP kan indeholde HTML-af hvilke behøver kun en index.php

    Hvis du sætter kommandoerne PHP til at køre dine scripts i python i en HTML-fil, vil ikke køre.

    Nu, hvor terminalen virker, Du kan blot kopiere index.php af denne tutorial, at fjerne de andre GPIO og forlader kun den 4 Thats hvad du bruger; og det bør arbejde.

    Hvis du ikke kan redigere filerne vil i/var/www sikkert være af tilladelse, i denne tutorial er løsningen, og det bør arbejde, Hvis det ikke kommentar og jeg vil forsøge at give dig en hånd.

  6. Hej, Jeg har tænkt mig at træffe for at sætte et andet spørgsmål her, Hvis du eller nogen kan tage mig et kabel. Jeg har dette script og vil gerne slette mappen med datoen engang genstartet, og hvad der interesserer mig, vide, hvordan man gøre det, når det kommer til en x-størrelse mængden af fangster, slettes alle eller du genstarte RPi. Tak en hilsen.

    #! /bin/sh
    # /etc/init.d/motionStartup
    #

    # Nogle ting, der altid kører
    #Tryk på /var/lock/motionStartup
    logger - s “Script kaldet motionStartup”

    # Udføre specifikke funktioner adspurgt af systemet
    sag “$1” i
    Start)
    logger - s “Scriptet motionStartup startede”
    TIMESTAMP = $(dato + %m %d %H %M %S og % | SED'S / / / g') # Uden mellemrum
    logger - s “Scriptet motionStartup $TIMESTAMP”
    sudo mkdir/motiontmp / $TIDSSTEMPEL || logger - s “Mkdir start fejl”
    Find/motiontmp/bevægelse /. -type f - størrelse 0 -print0 - slet
    Find/motiontmp/bevægelse /. -MaxDepth 1 -type f | \
    XARGS - JEG '{}’ sudo mv {} /motiontmp / $TIMESTAMP
    ;;
    Stop)
    logger - s “Scriptet motionStartup stoppet”
    ;;
    *)
    ECHO “Brug: /etc/init.d/motionStartup {Start|Stop}”
    exit 1
    ;;
    ESAC

    exit 0

  7. Hvis du tilføje denne linje i starten af dit script, hver gang du kører scriptet, før du gør noget, du vil slette alle mapper inde/motiontmp /

    sudo rm - rf/motiontmp / *

    Med hensyn til de slette filer når du når en vis størrelse, du kunne prøve at sammenkæde kommandoen df - h viser en mappe diskforbrug, eller en partition:

    df - h /motiontmp

    Med en anden kommando som wc eller sed så at det kun læser den sætning henviser til MB eller GB brugt, Endelig er med hvis du kunne programmere del at hvis resultatet større end N, Kør kommandoen beskrevet ovenfor rm.

    • At slette perfekt mapper, men så…
      Beklager, men jeg er lidt nyt og jeg er tabt, som det vil være for eksempel for, hvornår når register/motiontmp/bevægelse / 5 Gigas? Tak hilsen.

  8. Hej, Jeg har ledt og for den specifikke størrelse af en mappe ved hjælp af denne kommando:

    du - sh /ruta/a/carpeta

  9. Sorry for så mange indlæg fulgt, men som jeg er at finde ud af opdatering. Noget som dette kunne arbejde?

    #! /bin/sh
    # /etc/init.d/motionStartup
    #

    størrelse = du - sh /motiontmp

    Læs “størrelse”

    Hvis [ “$størrelse” > “2048000Til” ]; derefter

    sudo rm - rf/motiontmp / *

    andet

    logger - s “Script kaldet motionStartup”

    # Udføre specifikke funktioner adspurgt af systemet
    sag “$1” i
    Start)
    logger - s “Scriptet motionStartup startede”
    TIMESTAMP = $(dato + %m %d %H %M %S og % | SED'S / / / g') # Uden mellemrum
    logger - s “Scriptet motionStartup $TIMESTAMP”
    sudo mkdir/motiontmp / $TIDSSTEMPEL || logger - s “Mkdir start fejl”
    Find/motiontmp/bevægelse /. -type f - størrelse 0 -print0 - slet
    Find/motiontmp/bevægelse /. -MaxDepth 1 -type f | \
    XARGS - JEG '{}’ sudo mv {} /motiontmp / $TIMESTAMP
    ;;
    Stop)
    logger - s “Scriptet motionStartup stoppet”
    ;;
    *)
    ECHO “Brug: /etc/init.d/motionStartup {Start|Stop}”
    exit 1
    ;;
    ESAC

    exit 0

    fi

  10. Hej at sådan en ven, Desværre følger din eksempel og den led er tændt, er der ingen problemer, men når du klikker på knappen slå fra, lysdiode blinker, allerede tjek koderne og alt er korrekt :/ du har nogen idé, der kunne gøre forkert?

    • Hej Fco, Tak for din kommentar.

      På nettet, Der er tre knapper:

      Tænde, Sluk, og blinkende.

      Hvis du kan, Indsæt her den kode, du har tildelt til knappen slå fra, så kommentar er muligt, at knappen Slå kører et script, der skal knyttes til knappen blinkende.

      Vi ses snart.

  11. Hej igen alle, en anden tvivl mere at tilføje lol.

    Før jeg satte i baggrunden, Det er til at aktivere en buzzer-lyd (buzzer) Det bør være en løkke, der sætter din PIN-kode til 1 og en 0 konstant, ikke som en led, mens du har 1 Det stadig.
    Problemet er, hvordan man kan stoppe denne løkke for at bruge det i en web php, fordi konsollen ved at tilføje i slutningen af scriptkald en & Det kører i baggrunden og lad konsollen gratis at ringe til det script, der ender det, eksempel:

    sudo python sonar.py &

    Disse er to scripts, Det gør det lyd og sørge for det stopper ringer:

    importere tid
    importere RPi.GPIO som gpio

    GPIO.SetWarnings(Falsk)
    GPI.setMode(GPIO. BESTYRELSEN)
    GPIO.Setup(7,GPIO. UD)

    GPIO.output(7,1)
    time.Sleep(1)(.3)
    GPIO.output(7,0)
    time.Sleep(1)(.3)

    og afspærring:

    importere tid
    importere RPi.GPIO som gpio

    GPIO.SetWarnings(Falsk)
    GPI.setMode(GPIO. BESTYRELSEN)
    GPIO.Setup(7,GPIO. UD)

    GPIO.output(7,0)
    GPIO.cleanup()

    men blot for at forstyrre først arbejdede. Tak en hilsen.

  12. Du kan sammenkæde flere kommandoer, for, baseret på scriptnavnet på det, terminalen ser dit PID og derefter dræbe sin udførelse med Kill.

    Når fundet kommandoen, ændre funktionen til formål at lukke med Ctrl + C, af en i stedet, summende N gange Matt det automatisk med denne kommando.

  13. Hvis med Ctrl + C lukker i konsollen, men jeg forsøger at gennemføre det via PHP som din post lysdioder, så bliver nødt til at være en anden måde jeg sige.

    • Ovenfor du har løsningen til at dræbe din proces med BASH, at finde dit PID fra filnavnet; du behøver kun at integrere den i din PHP hjemmeside med “exec”.

  14. Hej.
    Tak for tutorial.

    Jeg har et problem, kører ikke klientbaseret script, Hvis du kører dem fra konsollen, men siden siden ikke, Jeg ved ikke, at det kan være. Jeg har gjort hvad du Kommentar af
    “Vi skrive sudo terminalvisudo på terminalen og i slutningen af filen føje til www-data som sudoer, Det skal være så.”

    Men intet. Hvad andet kan jeg kigge på?

    Med venlig hilsen.

  15. Hej, Godmorgen,
    På intet, Tak.

    Det giver mulighed for et spørgsmål, alt fungerer perfekt, nu, Jeg vil gerne være i stand til at tilføje en skærm, der angiver, hvornår lysdioder er tændt eller slukket, Jeg fandt nogle artikler selv med billeder viser farve afhængig af om skiftende lamper der fungerer eller ikke, Prøv at forstå handlingen men undlader at gøre det arbejde, Jeg oprette forbindelse til internettet med kommandoer, men intet er aktiveret, Jeg håber, at ikke gider med dette og et andet look, Tak for din fantastiske venlighed.

    Ignacio fra Belgien

    • Hej Ignacio, Mange tak for din kommentar.

      Jeg gætter på, at du bruger Javascript til at gøre dette, integrerer PHP funktioner, der aktiveres Python script for, administrere power-armaturer.

      JavaScript ikke domino, Da jeg ikke er en web-udvikler, men måske du kan orientere dig lidt bedre, eller nogle andre læser kan hjælpe dig med at få, hvad du vil; men at gøre, så det vil være nødvendigt at se koden, eller de tutorials, som du har fulgt for at forsøge at opdage, hvor fejlen er.

      Vi ses snart, og masser af opmuntring!

  16. Hej til alle mange tak, Jeg lærer en masse.
    Jeg har fulgt alle de trin, der er udsat, Jeg kan tænde lysdioder fra lokalt terminal, indlæse php lappe nemlig instruerede af ullu, tildele tilladelser endnu en 775—-osv. Ladning siden med knapper efter førte / gpio men intet. Jeg bruger Raspberry pi 2…..vil være noget med dette kort?. Jeg værdsætter deres samarbejde.

    • Hej Rafael, Tak for kommentar.

      Det er muligt, at løsningen er i kommentarerne til de tidligere tutorials i denne serie helliget overkommelige Hjem automation baseret på Raspberry PI.

      Skridt til at følge er kompatible med alle versioner af IP, Det forekommer mig, at du kunne ændre udførelsen af scriptet i python på hjemmesiden af følgende kommando, som vil skabe en fil i startmappen for din hindbær:

      sudo touch /home/pi/funciona

      Hvis alle arbejder godt, Denne fil skal være oprettet.

      • Tak for dit hurtige svar. Jeg skabt forandringer, som han fortalte det til mig, i index.html ved at fjerne del af python og markedsføring til gengæld: sudo touch /home/pi/funciona , men desværre filen er oprettet ikke i min hindbær. Jeg tror, det er en fremragende test og et resultat, jeg tror det koncentreret problem i området web. Jeg vil se flere oplysninger i andre tutorials. Tak for din hjælp. Bevar kontakten.

        • Hej Rafael, så kunne du gøre det samme test af lidt ændre stien til filen for at kontrollere, hvis problemet med tilladelserne for den mappe/var/www.

          sudo touch /var/www/funciona

  17. Hej, Jeg kunne fortælle en måde at sætte en tag med LED status fra PHP webinterface
    der ændres automatisk til at give at klikke sagde knap enten at tænde, Sluk, blinkende… har en etiket, som fortæller dig status. Tak for dit input jeg håber du kan hjælpe mig..

    • Hej Chaka, Mange tak for din kommentar.

      Jeg tror, at du kunne gøre det med PHP og JavaScript, hvis du ønsker at give nogle mere visuel effekt, eller foretage ændringer til knappen.

      Hvis du kun ønsker at tilføje en tekst billedtekst ifølge knappen trykket, Du bør kun omfatte de funktioner tilknyttet hver indgang; Jeg vedlægger en liste over de funktioner til rådighed i PHP:

      http://php.net/manual/es/indexes.functions.php

    • Hej Jameson,

      Jeg forstår ikke godt spørgsmålet, men for at finde IP af en enhed, kan du bruge NMAP.

      Du har også værktøjer med grafisk brugerflade som ZenMap baseret på NMAP og Fing'rs for Android enheder.

    • Hej Jameson,

      Den IP du skal skrive i din browser er faktisk for Raspberry PI er der fungerer som en web-server, også hvis din php fil ikke nævnt det som index.php, skal du tilføje navnet på din separat fil af en efter undersøgelsesperioden “/”.

      I mit tilfælde er IP i intervallet 10.42.0.0 Da det er en IP af NAT-type, som et virtuelt netværksgrænseflade.

  18. Plz savn jeg hjælp. Problemet er at jeg har alt som sådan, som forklare det til dig, men fungerer ikke i PHP-scripts.

    Mange tak

    • Hej Sergio,

      Jeg gætter på du refererer til scripts i Python, andre havde det samme problem og der er flere løsninger i de tidligere bemærkninger; Hvis efter at have testet dem fortsætter manglende hvis du medbringer mere data kunne måske andre læsere eller jeg hjælpe dig.

      Vi ses snart.

  19. Hvorfor? “til- exec…” I stedet for “til = exec…” ?

    Jeg forstår ikke og jeg har ikke fundet denne formel på google.

    • Hej Roberto, Velkommen.

      Jeg er ikke ekspert i php, og i disse øjeblikke, jeg ledte efter en tutorial til at udføre ordrer i tolken bash fra php og dermed fundet det.

      Det ville være mere hensigtsmæssigt at bruge til = exec i stedet for?- exec?

      Mange tak for din kommentar, Vi ses snart.

  20. Hvis ikke du arbejder på nettet men hvis scripts, Jeg vil snart gøre en artikel, så du kan ordne det.; Takket være oplysninger har jeg indsamlet forskellige brugere, der ikke har fungeret.

    Hvis du kører travlt du med at ordne det, Du kan kontrollere, om mappen var eksisterer i din hindbær, og så skal du flytte alle filer til denne vej og erstatte i scripts “/var/www” af “/var/www/html” siden nu
    Dette er standardstien, web server.

    Det er også muligt, at du ikke har slettet indekset som standard, “index.html” eller mangler du for at ændre det af “index.php”.

    Jeg håber at være til hjælp, Vi ses snart.

  21. Hej Antonio,
    Jeg var gad vide, hvis en webserver kan monteres til at passe en home automatiseringssystem og prøve kvidre api til at tænde lys osv… (Jeg har set, at det også kan gøres af python med nogle biblioteker og nem at følge tutorials… men du kunne gøre som jeg siger og med php? dvs., hindbær er webserver med twitter og gpio havne antænde lysdioder
    Tak på forhånd.

    • Nano Hello,

      Fra nettet i php kan køre nogen kommando i kommandoen tolk BASH, Det omfatter scripts i Python.

      Du kan bruge bibliotek eller kvidre API, således at når du vil sende en tweet med henvisning af bot-konto brugernavnet, slukke eller tænde lys eller apparat navnlig er forbundet med beskeden.

      Jeg ser et problem, og det er at nogen kunne slå dig og gøre dig, lys og Hvidevarer; medmindre at det kan begrænse afhængigt af den bruger, der har sendt tweet.

      Det ville være interessant, hvis du kommenterer hvad du finder i denne forbindelse.

      Tak for kommentar, Vi ses snart.

  22. God eftermiddag,
    Jeg fulgte tutorial, Kopier koden af web, Gem det som .php, i den mappe, der har skabt mig serveren var , fordi hvis jeg sætte index.php ud af mappen html ikke finde mig fil, men godt, Det lader til, at alt er OK. Jeg kun tester med GPIO 17, Jeg så oprettet to .py, til at tænde og slukke, Jeg har placeret dem i samme mappe som filen index.php. Jeg åbner browseren, angivet i indeks, men vil ikke operere mig den førte. Hvis jeg har ssh adgang Arkiv antænder og udføre det via konsollen, hvis det virker. ikke være, hvor jeg skal undlade. Naturligvis ændre stien til scripts i php, Da det er forskellige fra dine tutoring.
    Jeg håber du kan give mig en hånd, Jeg er fanget.
    En hilsen.

    Mange tak.

  23. Hej peatonet, Jeg forsøger at gøre en opfindelse for at aktivere et modul af 4 relæer fra nettet for at tænde eller slukke lys af en lokal jeg har, Problemet er, at i test, førte med redistencia starter og stopper på vilje fra internettet, men når jeg tilslutter pin40 (der er som jeg har konfigureret) at fjerne modstanden og førte, slukker det røde lys relæ modul og ikke tændt eller slukket, jeg er nødt til at teste pæren.

    Please hjælp mig fordi ikke længere er hvis det er forkert relæ modul (Cursed aliexchinapress) men i ingen af de 2 moduler, jeg har virker eller er det raspberrypi ikke sendt nok spænding til relæet (som VCC har jeg du siden pin3)

    Sorry for den tirade og tak på forhånd

    Greetings venner

    • Hej, autorespondo mig jeg venner, problemet havde det der i pin20 (i mit tilfælde) måtte lægge en modstand, Jeg sætter det i 330 jordet.
      Jeg formoder det er fordi når du passerer førte til relay Fjern modstand

      Tak for alt ?

      • Hej Jesus, Mange tak for at dele løsningen med os.

        Undskyld hvis jeg ikke kunne svare før, men jeg fange med feber, i den sidste uge af klasser forberede eksamener, og arbejde (Freelance har ikke tilladelse til at få syge).

        Med hensyn til den pinkode, du har tilsluttet VCC, i mit tilfælde forbinde jeg til pin 2 eller til den 4 svigtende allerede kræver 5V strømforsyning.

        Hvis du vil kan du give flere oplysninger til din proof of concept, du bruger derefter lysdioder i stedet for 220V AC udtag?

        Tak for din kommentar.

  24. Hej, Jeg gør et projekt for skolen og var gad vide selv om der er den måde, at du kan efterligne dette system fra en android app, dvs., Sådan håndterer du stifter af hindbær på denne måde, det synes 100 gange nemmere end i et android program, Jeg spekulerer på, om oprettelse af et program kunne på ingen måde automatisk lede mig til denne type af system til at undgå at skulle lære fra bunden til at programmere sådan en ting i android. Desværre er jeg forpligtet til at levere projektet som en mobil applikation, ikke af web-formular.
    Jeg håber dit svar

  25. Hej og tak for alt, Jeg gentager mit spørgsmål, Hvad er forskellen for dem at arbejde i den raspberry pi 3, på forhånd,

    Tak

    • Hej Ignacio, Tak for at kommentere.

      Denne tutorial er udviklet på en Raspberry PI 3 så det burde arbejde uden komplikationer.

      Hvis du ikke kan gøre det arbejde, Du kan dele nogen fejl eller problemer du har fundet.

  26. Hej kolleger, Jeg har brug for din hjælp, fordi jeg er nedsænket i et projekt mellem 3 specialiteter, elektrisk, Elektronik og datalogi, Jeg domino del af elektricitet, men jeg er ikke specialist i to andre. Jeg kunne forklare dem, Jeg skal slutte en M2DL2 Network Analyzer til en Raspberry pi for at registrere data af nuværende forbrug og for at overføre dem til hindbær og registrere den og vises i en datatabel, der er til gengæld. Jeg ved, at signal, der gør scanneren er RS485 og RS232, som skal angive hindbær er hvad jeg har brug for en omformer et signal til en anden, Hvad jeg ikke ved, er hvordan man laver sammenkobling mellem Analyzer, konverteren og hindbær. Vide noget om dette eller jeg kan direkte hvor søge oplysninger til respekt?
    Med venlig hilsen.
    Ramón.

  27. Hej som du er?
    Hvis du vil kontrollere status for en gpio, via php, Så fortæl mig hvis denne ON / OFF da jeg remote. Som det skal være?

    Måske er der nogle måde, der i rasp returnerer den værdi, der er gpio.

    Men hare i en db ved at indtaste 1 o 0 ved at trykke på knapperne, men det jeg ser mellemstore rustik

    • Hola Juani, Tak for at kommentere.

      GPIO delsystemet er endelig og inden for en del af the/sys af GNU/Linux filsystem, og faktisk styres ved at redigere værdierne for hver GPIO port-tilknyttede filer.

      Du kan kontrollere, hvis en GPIO er aktiv eller inaktiv læse filen, der indeholder din værdi, et eksempel i PHP for GPIO 18:

      $estado_gpio18 = file_get_contents(“/sys/class/gpio/gpio18/værdi”);

      Hvis værdien er “1” GPIO er aktiv, på anden side, hvis værdien er “0” er inaktiv.

      Vi ses snart.

  28. Hej, først tak for besværet med at dele din viden, som vi har lignende bekymringer.

    Jeg vil gerne gøre en forespørgsel (Jeg håber ikke det er meget dumt), måneder siden at jeg har været mulling over spørgsmålet om oprettelse af web-grænseflader for raspi. Din kommentar emnet give tilladelser til www-data, men at, Det ville være rart som en kommentar til access fra lokale miljøer eller afprøvning. Ønsker at anbefale løsninger for sikrere miljøer?

    En hilsen og tak igen

    • Hej Gon, Tak for din kommentar; Jeg kun forsøge at dokumentere som jeg lærer hver dag om denne fascinerende verden, formen online, så vi kan lære sammen.

      Jeg vil gerne minde alle læsere at på trods af at funktionelle dette panel er slet ikke perfekt, er en virkelig grundlæggende eksempel på hvad det kan gøre, og jo mere jeg lærer mere jeg indse, hvor meget der kunne forbedres; I år jeg forsøger at forbedre mine færdigheder som en programmør, da jeg altid brugt mere til systemer og sikkerhed, og han har ikke bare forestillinger om kode strukturer, design metoder eller algoritmer; Jeg håber i korte tage tid til at forbedre web-panel og lod en næste version, der allerede gør ikke mig så meget averguence.

      I princippet siden version 3 Internettet er tilstrækkeligt til at tilføje bruger www-data til GPIO gruppen til at administrere tilstand af stifter at undgå give sudoer tilladelser; Dette kan gøres ved hjælp af følgende kommando:

      sudo usermod - a - G gpio www-data

      Anyway tror jeg, at dit spørgsmål er mere fokuseret på begrænser adgang til panelet via godkendelse, og dette kan gøres med mod_auth modul til Apache2; Det er også tilrådeligt at bruge mod_ssl enten med et selvsigneret certifikat.

      Hvis du gonna adgang udefra altid du kan tilføje et sikkerhedslag ved at konfigurere en VPN, som du kan beskytte adgang med certifikater x 509, Brugernavn og adgangskode, og systemer af forebyggelse som fail2ban blandt andre.

      Jeg håber, at jeg har præciseret lidt din tvivl, Tak for din interesse i artiklen.

      • Hej Antonio! Første af alle tak for at reagere så hurtigt og.

        En mi mig går en smule baglæns, Jeg er webudvikler forsøger at opsuge verden af systemer og sikkerhed. Det er en fornøjelse, at folk der er ligesom dig, at investerer deres tid på at dokumentere deres projekter, så andre kan lære lidt mere hver dag.

        Fortælle dig, at jeg har hjulpet en masse. Jeg har et lille projekt tilsluttet raspi, og det tog måneder cirkling grænsefladen og uden meget at gøre besluttede mig ( Hvis php, Hvis cylon.js, Skriv mydevice allerede oprettet tjenester og lignende…) og jeg har altid fundet den samme tvivl: tilladelser, Sikkerhed, …osv. Din artikel (tro mig, at læse mange) er de få, der går lidt længere som punktering GPIO kabel, Derfor beder.

        Tak igen, du har afklaret mange tvivl.

        Jeg vil teste og implementere, som du har fritid, og hvis du er interesseret, jeg nævner resultater.

        En hilsen

  29. Hej, at programmer kan bruges i biler
    Det kunne være at milrrolling arbejde
    Nogen til at kaste et projekt om dette emne
    Saúde

Skriv et svar