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. Hola como andas?
    Si quisiera consultar el estado de un gpio, a traves de php, para que me diga si esta ON / OFF ya que me encuentro remoto. Como deberia hacer?

    Quizá existe alguna manera de que la rasp devuelva el valor que esta el gpio.

    Sino lo hare en una db ingresando 1 o 0 al presionar los botones, pero eso lo veo medio rustico

    • Hola Juani, Tak for at kommentere.

      El subsistema GPIO es al fin y al cabo parte del sistema de archivos /sys de GNU/Linux, y realmente se gestiona editando los valores de los archivos asignados a cada puerto GPIO.

      Puedes consultar si un GPIO está activo o inactivo leyendo el archivo que contiene su valor, un ejemplo en PHP para el GPIO 18:

      $estado_gpio18 = file_get_contents(“/sys/class/gpio/gpio18/value”);

      Si el valor es “1” el GPIO está activo, por el contrario si el valor es “0” está inactivo.

      Vi ses snart.

  28. Hej, lo primero agradecerte la molestia de compartir tus conocimientos con los que tenemos inquietudes similares.

    Quisiera hacerte una consulta (espero que no sea muy tonta), ya hace meses que llevo dándole vueltas al tema de la creación de interfaces web para la raspi. Tu comentas el tema de darle permisos a www-data, pero eso, estaría bien como comentas para accesos desde entornos locales o para pruebas. ¿Que soluciones aconsejarías para entornos más seguros?

    Un saludo y gracias nuevamente

    • Hola Gon, gracias a tí por tu comentario; únicamente intento documentar como voy aprendiendo día a día sobre este fascinante mundo, de forma online para que así podamos aprender todos juntos.

      Quiero recordar a todos los lectores que a pesar de ser funcional este panel no es en absoluto perfecto, es un ejemplo realmente básico de lo que puede hacerse y cuanto más aprendo más cuenta me doy de lo mucho que se podría mejorar; este año estoy tratando de mejorar mis habilidades como programador ya que siempre me dediqué más a los sistemas y a la seguridad, y no tenía apenas nociones sobre estructuras de código, metodologías de diseño ni algoritmos; espero en breves sacar tiempo para mejorar el panel web y compartir una siguiente versión de la cual ya no me averguence tanto.

      En principio desde la versión 3 de la web es suficiente con añadir el usuario www-data al grupo GPIO para gestionar el estado de los pins evitando darle permisos de sudoer; esto puede hacerse mediante la siguiente orden:

      sudo usermod -a -G gpio www-data

      De todos modos creo que tu pregunta va más enfocada a restringir el acceso a dicho panel mediante autenticación, y esto puede hacerse con el modulo mod_auth para Apache2; también es recomendable utilizar mod_ssl aunque sea con un certificado autofirmado.

      Si vas a acceder desde el exterior siempre puedes añadir una capa más de seguridad configurando una VPN, a la cual puedes proteger el acceso con certificados x509, usuario y contraseña, y sistemas de prevención como fail2ban entre otros.

      Espero haber aclarado un poco tus dudas, muchas gracias por tu interés acerca del artículo.

      • Hej Antonio! En primer lugar muchísimas Gracias por responder y tan rápido.

        A mi me pasa un poco al revés, soy desarrollador web intentando empaparme del mundo de los sistemas y la seguridad. Es un placer que haya personas como tu que inviertan su tiempo documentando sus proyectos para que otros podamos aprender un poquito más cada día.

        Decirte que me has ayudado mucho. Tengo un proyectito conectado a la raspi, y llevo meses dándole vueltas a lo del interfaz y sin decidirme mucho que hacer ( que si php, que si cylon.js, servicios ya creados tipo mydevice y similares…) y siempre me topé con las mismas dudas: permisos, Sikkerhed, …osv. Tu artículo (créeme que leído muchos) es de los pocos que van un poco más allá de como pinchar cables en las GPIO, de ahí el preguntarte.

        Gracias nuevamente, has aclarado muchas dudas.

        Iré probando e implementando según tenga tiempo libre, y si te interesa te comento resultados.

        En hilsen

  29. Hola Que aplicaciones se pueden utilizar en los automóviles
    Se podría que funcionara milrrolling
    Alguien a echó algún proyecto sobre este tema
    Saudos

Skriv et svar