Raspberry PI och GPIO stift: Kontrollera LED från ett webbgränssnitt

I de senaste inläggen i denna serie, Vi såg de är GPIO stiften och tjäna, och Hur man styr kraften i lysdioder från terminalen; innan du börjar Vi har installerat GPIO biblioteken för Python, och den sammansatta elektroniska kretsar och arbetar.
Webbprogrammet i HTML + PHP + Python att hantera några lysdioder genom GPIO.

Vid detta tillfälle kommer vi att installera den Apache webbserver, och lära sig att skriva det koden i HTML och PHP att kontrollera samma LED, eller flera, från ett webbgränssnitt.

gpioprogramar0pngDet första vi måste göra är installera webbservern lampa, så skriver du följande kommandon 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 ska vi lägga till som sudoer till användaren www-data, Detta är inte alternativet mer säkra men kom ihåg att vi gör ett test i en kontrollerad miljö; för en miljö i produktionen ska vi leta efter ett annat sätt att köra skript i python som sudoer.

Redigera dessa behörigheter, skrev sudo visudo i terminalen och i slutet av filen Lägga till www-data som sudoer, Det måste vara 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

För varje stift GPIO Vi behöver skapa en underkatalog och tre scripts i Python; en till vända på, en annan för att stänga av, och en sista script för att göra våra LED blinkar, Här är ett exempel med den PIN-KOD 4.

#!usr/bin/env/ python
## enciende.py
#Importamos la libreria y le cambiamos el nombre a GPIO
importera RPi.GPIO som GPIO
#Vi upprättar det numreringssystem som vi vill, 
#i detta fall systemet BCM
GPIO.setmode(GPIO. BCM)
#Konfigurera GPIO pin 4 som en utgång
GPIO.setup(4, GPIO. UTE)
#Vi vänder på led
GPIO.output(4, GPIO. HÖG)
#!usr/bin/env/ python
## apaga.py
#Vi importerar biblioteket och ändra sitt namn till GPIO
importera RPi.GPIO som GPIO
#Vi upprättar det numreringssystem som vi vill, 
#i detta fall systemet BCM
GPIO.setmode(GPIO. BCM)
#Konfigurera GPIO pin 4 som en utgång
GPIO.setup(4, GPIO. UTE)
#Stänga av led
GPIO.output(4, GPIO. LÅG)
#Och vi befria GPIO
GPIO.cleanup()
#!usr/bin/env/ python
## parpadea.py
#Vi importerar biblioteket och ändra sitt namn till GPIO
importera RPi.GPIO som GPIO

#Nödvändiga för förseningar
Importera tid

#Vi upprättar det numreringssystem som vi vill, 
#i detta fall systemet BCM
GPIO.setmode(GPIO. BCM)

#Konfigurera GPIO pin 4 som en utgång
GPIO.setup(4, GPIO. UTE)

#Slå på och stänga av led 5 gånger
för jag i intervallet(0,5):

        GPIO.output(4, GPIO. HÖG)
        Time.Sleep(1)(1)
        GPIO.output(4, GPIO. LÅG)
        Time.Sleep(1)(1)

#Och vi befria GPIO
GPIO.cleanup()

Nu är det dags att skapa vår hemsida i HTML och PHP, innehåller knappar som vi kommer för att köra skripten Python från ett webbgränssnitt, senare kommer vi att se hur den slutliga hierarkin.

<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

?>

Jag har grupperat det alla på samma sida som om att skapa en sida i PHP för varje alternativ, för att köra den, skickade jag till sidan skript (en tom sida); nu köra och stannar på samma sida.

Till sist Vi måste uppnå följande hierarki i underkatalogen för webbservern /var/www.

Skärmdump av 2014-10-05 00:06:52Om du som du kan följa mig på Twitter, Facebook, Google +, LinkedIn, eller dela den med knapparna under denna publikation, Om du har några frågor eller förslag tveka inte att kommentera.

Hjälp oss att nå fler läsare Share on LinkedInShare on FacebookTweet about this on TwitterShare on Google+Email this to someone

71 tankar om"Raspberry PI och GPIO stift: Kontrollera LED från ett webbgränssnitt

  1. Bra, Efter att titta på Internet lösningar hemautomation, Jag bestämde mig av ditt system, verkar väl exponerade.
    Trots detta och på grund av min noll erfarenhet i mjuk. tvivlar på mig, Jag önskar du kunde lösa dem, Jag har gjort många tester och ingenting, Jag får inte det….:)
    utföra alla steg som förklarar och jag hantera gpio från terminal med kitt, men eftersom web inte kan aktivera python-skript.
    Jag behöver göra en sida på /val/www med html (index.html) så tjänar det jag apache. Genom att placera din webbplats här om lämna knapparna mig, men inte köra php-skript. I sidan index.php, inte sättas inuti.
    Ledsen för besväret och tack.

      • Tack för att svara så snabbt, Ja jag steg för att ge behörighet i filen som du lägger, Jag är förvirrad med index.php sidan, du hänga katalogen GPiO, bara se knapparna på webben om jag sätter det i /val/www….i html!…index.html, men inte köra PHP-skript. Som ska sätta index.php som hänger GPIO katalog?

        • Om du tittar noga, index.php /var/www/leds 🙂 hänger om fortfarande fungerar inte, Kommentera artikeln och titta på den.

          Om /var/ www/index.php cuelgas kommer att se det i denna riktning men det fungerar inte något:

          http://ipdelapi

          Om kläm på /var/www/leds/will fungerar korrekt men sedan denna väg:

          http://ipdelapi/leds

          Jag hoppas att detta löser dina tvivel och att du kan flytta in i denna spännande värld.

          • Bra, Jag har samma problem som stipendiaten ovan.

            Min index.php hänger från /var/www/html/index.html
            , Om jag får min index html från visas det inte, men jag har inga problem i att ha det där, Mitt problem kommer när puls knappen och inte köra mig i väska.

            PD: Jag gav honom allt och tillstånd

            Tack för ditt svar.
            En hälsning

            JOHANSSON.

  2. Bra, ditt arbete tjänar mig mycket, Du är en maskin!
    Jag försöker göra automationssystemet att styra flera lysdioder från webben men jag har ett problem du inte kan lindra.
    Temat är att jag har aktiverat GPIO jag behöver, Jag aktivera dem och avaktivera från terminal, Jag ansluta en annan dator ansluten på samma nätverk till 192.168.X.X/leds/ och hemsidan ser bra ut, menyn för kontroll av hemmet ser perfekt, men lysdioderna svarar inte, Jag har provat av aktiva och passiva, något jag gör fel…
    Det enda jag kan säga är att du visar källkoden för sidan och bara visar HTML-koden, php visas inte, inte vara om det ska eller inte.
    Jag tror att det kan vara något PHP men jag är inte mycket övertygad eftersom jag försökte en testet PHP och det gör det bra, Jag är desperat lol

    • Hej John,

      Mig alegro mycket som får nyttan min artiklar 🙂 alltid är välkommen de positiva kommentarerna.

      Alla PHP-kod i webbläsaren visas som HTML, Eftersom PHP-funktionen är på gång och dynamiskt skapa webbsidor som serveras i webbläsaren.

      Python skript körs direkt om lysdioderna lyser? rätt skulle börja testa här och gå vidare.

  3. Tack för svaret snabbt!
    Slutligen format hallon igen, Jag följde alla steg igen och allt fungerar fint, inte vara som kunde misslyckas.
    Anyway Tack för uppmärksamheten.
    En hälsning

    • Tack för att dela dina tvivel, Jag är glad att det äntligen har ordnat.

      Du har ändrat något i dina hallon samt format, som till exempel transformator microUSB?

      • Ja, När jag köpte den satte jag en diskbänk med mikro till hastighet honom upp och så kommer att arbeta snabbare, men varken är mycket märkbar förändring.
        Det var det enda som ändrar du till rasp.

        • Hej John, Jag är glad att läsa dig igen här.

          I princip har inte som påverkar överklocka i denna aspekt, men det kan ha varit någon konfiguration; nu när du arbetar med återvänder en Raspbian rengöring för att ge problem efter att ha varit i produktion, Nu om som skulle rekommendera dig att hitta roten till problemet.

          Ändra i överklocka kommer du att märka det i enlighet med särskilda uppgifter som behöver mycket datorkraft, men vissa faktorer såsom Ethernet-porten kommer att fortsätta enligt flaskhalsen som använder.

          Du kan se en översyn som jag gjorde av Raspberry PI B modeller, B + och B2 på följande länk, med full prestandatester:

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

          Jag hoppas du blir bra, ses snart 🙂

  4. Hej, Jag har en liten fråga/problem. Jag vill ansluta en Summer i stället för en led, men jag vill prova först med en led att lära sig. Det är nödvändigt att göra en index.html och andra .php?
    Jag har led kopplade till gpio4, och jag har ett on.py skript och andra off.py i mappen 4. Konsolen arbete perfekt.
    och jag kan inte sätta index.html eftersom det inte kommer låta mig, men bara för ledde funktionalitet 4.

    Jag hoppas att ni kan hjälpa mig, Jag har besökt din facebook-profil och jag hoppas en dag båda Raspberry Pi som ni vet. En hälsning och tack.

  5. En webbplats i PHP kan innehålla HTML av som bara behöver en index.php

    Om du sätter PHP kommandon att köra skripten i python i en HTML-fil, kommer inte att köra.

    Nu när terminalen fungerar, Du kan bara kopiera index.php för denna tutorial, att eliminera de andra GPIO och vilket innebär att endast den 4 Det är vad du använder; och det bör fungera.

    Om du inte kan redigera filer kommer att i/var/www säkert vara av tillstånd, i denna tutorial är lösningen och det bör fungera, Om det inte kommentera och jag kommer att försöka ge dig en hand.

  6. Hej, Jag kommer att vidta för att sätta en annan fråga här, Om du eller någon kan ta mig en kabel. Jag har detta skript och vill ta bort mappen med det datum som en gång startade om, och det som intresserar mig, vet hur man gör det när det gäller x-storlek belopp av fångster, allt raderas eller startar om RPi. Tack en hälsning.

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

    # Några saker som alltid kör
    #Touch /var/lock/motionStartup
    logger - s “Skript som heter motionStartup”

    # Utför specifika funktioner när du ombeds av systemet
    fallet “$1” i
    Start)
    logger - s “Skriptet motionStartup började”
    TIMESTAMP = $(datum + %m %d %H %M %S och % | SED'S / / / g ") # Inga blanksteg
    logger - s “Skriptet motionStartup $TIMESTAMP”
    sudo mkdir/motiontmp / $TIDSSTÄMPEL || logger - s “Mkdir börja misstag”
    hitta/motiontmp/motion /. -typ f - storlek 0 -print0 - ta bort
    hitta/motiontmp/motion /. -MaxDepth 1 -typ f | \
    XARGS - JAG '{}’ sudo mv {} /motiontmp / $TIMESTAMP
    ;;
    Stanna)
    logger - s “Skriptet motionStartup stoppas”
    ;;
    *)
    ECHO “Användning: /etc/init.d/motionStartup {Start|Stanna}”
    Exit 1
    ;;
    ESAC

    Exit 0

  7. Om du lägger till denna rad i början av ditt manus, varje gång du kör skriptet innan du gör något du kommer att radera alla mappar inuti/motiontmp /

    sudo rm - rf/motiontmp / *

    När det gäller att ta bort filer när du når en viss storlek, Du kan försöka sammanfoga kommandot df - h visar en katalog diskanvändning, eller en partition:

    DF - h /motiontmp

    Med ett annat kommando som wc eller sed så att den bara läser frasen hänvisar till MB eller GB används, Slutligen är med om du kan programmera delen att om resultatet större än N, kör kommandot ovan rm.

    • Till stryka perfekt mappar, men sedan…
      Ledsen men jag är lite ny och jag förlorade, som det vore till exempel för när når katalog/motiontmp/motion / 5 Gigas? Tack hälsningar.

  8. Ledsen för så många inlägg följt men som jag reda på uppdatering. Något sådant kan fungera?

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

    storlek = du - sh /motiontmp

    Läs “storlek”

    Om [ “$storlek” > “2048000KARLSSON” ]; sedan

    sudo rm - rf/motiontmp / *

    annat

    logger - s “Skript som heter motionStartup”

    # Utför specifika funktioner när du ombeds av systemet
    fallet “$1” i
    Start)
    logger - s “Skriptet motionStartup började”
    TIMESTAMP = $(datum + %m %d %H %M %S och % | SED'S / / / g ") # Inga blanksteg
    logger - s “Skriptet motionStartup $TIMESTAMP”
    sudo mkdir/motiontmp / $TIDSSTÄMPEL || logger - s “Mkdir börja misstag”
    hitta/motiontmp/motion /. -typ f - storlek 0 -print0 - ta bort
    hitta/motiontmp/motion /. -MaxDepth 1 -typ f | \
    XARGS - JAG '{}’ sudo mv {} /motiontmp / $TIMESTAMP
    ;;
    Stanna)
    logger - s “Skriptet motionStartup stoppas”
    ;;
    *)
    ECHO “Användning: /etc/init.d/motionStartup {Start|Stanna}”
    Exit 1
    ;;
    ESAC

    Exit 0

    Fi

  9. Hej en vän, Tyvärr följer ditt exempel och lysdioderna lyser, det är inga problem, men när du klickar på knappen Ta bort, led blinkar, redan är kontrollera koderna och allt korrekt :/ du har någon idé som skulle kunna göra fel?

    • Hej Fco, Tack för din kommentar.

      På webben, Det finns tre knappar:

      Slå på, Stäng av, och blinkande.

      Om du kan, klistra in här den kod som du har tilldelat till knappen Stäng av, så kommentar är möjligt att knappen inaktivera kör skriptet som ska associeras med knappen blinkande.

      Vi ses snart.

  10. Hej igen alla, en annan tvivel mer att lägga till lol.

    Innan jag lägger i bakgrunden, Det är att aktivera summern ljud (summern) Det bör vara en slinga som att sätta din PIN-kod 1 och en 0 ständigt, inte som ett led att även 1 Det fortfarande.
    Problemet är hur man kan stoppa denna loop för att använda det i en web-php, eftersom konsolen genom att lägga till i slutet av skriften samtalet en & Det körs i bakgrunden och låta konsolen att ringa manus som slutar den, exempel:

    sudo python sonar.py &

    Detta är två skript, som får det att låta och se till att det slutar ringa:

    Importera tid
    importera RPi.GPIO som gpio

    GPIO.SetWarnings(Falska)
    GPI.setMode(GPIO. STYRELSEN)
    GPIO.Setup(7,GPIO. UTE)

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

    och avstängning:

    Importera tid
    importera RPi.GPIO som gpio

    GPIO.SetWarnings(Falska)
    GPI.setMode(GPIO. STYRELSEN)
    GPIO.Setup(7,GPIO. UTE)

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

    men bara för att störa först arbetat. Tack en hälsning.

  11. Du kan sammanfoga flera kommandon, för att baserat på ditt manus namn, terminalen ser ditt PID och därefter döda dess utförande med döda.

    En gång hittade kommandot, ändra funktion avsedd att avsluta med Ctrl + C, av en istället, surrande N gånger Matt det automatiskt med kommandot.

  12. Om med Ctrl + C stänger i konsolen, men jag försöker att genomföra det genom PHP som din post lysdioder, då måste vara ett annat sätt jag säga.

    • Framför har du lösningen att döda din process med BASH, hitta ditt PID från filnamnet; du har bara att integrera den i din PHP webbsida med “exec”.

  13. Hej.
    Tack för denna tutorial.

    Jag har ett problem, skriptet körs inte, Om du kör dem från konsolen, men eftersom sidan inte, Jag vet inte att det kan vara. Jag har gjort vad du kommentar av
    “Vi skriver sudo visudo på terminalen och i slutet av filen lägga till www-data som sudoer, Det måste vara så.”

    Men ingenting. Vad mer kan jag titta på?

    Vänliga hälsningar.

  14. Hej, God morgon,
    Vid något, Tack.

    Det gör att en fråga, allt fungerar perfekt, nu, Jag skulle vilja lägga till en skärm som anger när lysdioderna är slås på eller stängas, Jag hittade några artiklar även med bilder som visar färg beroende på huruvida föränderliga lampor fungerar eller inte, försöka förstå operationen men misslyckas att få det att fungera, Jag får till webben med kommandon men ingenting är aktiverad, Jag hoppas att inte bry sig med detta och ett annat utseende, Tack för din fantastiska vänlighet.

    Ignacio från Belgien

    • Hej Ignacio, Tack så mycket för din kommentar.

      Jag antar att du använder Javascript för att göra detta, integrera PHP-funktioner som aktiverar Python skriptet för, hantera makt-armaturer.

      JavaScript inte domino, Eftersom jag inte är en webbutvecklare men kanske du kan orientera dig lite bättre, eller någon annan läsare kan hjälpa dig få vad du vill; men att göra så det skulle behöva se koden, eller tutorials som du följt för att försöka upptäcka där felet är.

      Vi ses snart, och massor av uppmuntran!

  15. Hej till alla tack, Jag lär mig mycket.
    Jag har följt alla steg utsätts, Jag kan sätta på lysdioderna från lokalen terminal, Ladda php patchen så instruerat vid ullu, bevilja behörighet även en 775—-etc. Ladda sidan med knapparna efter ledde/gpio men inget. Jag använder Raspberry pi 2…..kommer att vara något med detta kort?. Jag uppskattar ert samarbete.

    • Hej Rafael, Tack för kommentar.

      Det är möjligt att lösningen är i kommentarerna i tidigare handledning i denna serie ägnas åt prisvärd hemautomation baserat på Raspberry PI.

      De steg att följa är kompatibla med alla versioner av IP, Det slår mig att du kunde ändra körningen av skriptet i python på webbplatsen genom följande kommando som skapar en fil i katalogen hem på din hallon:

      sudo touch /home/pi/funciona

      Om allt fungerar bra, Denna fil ska skapas.

      • Tack för ditt snabba svar. Jag gjorde ändringarna, som han sa det till mig, i index.html genom att ta bort delen av python och placera i gengäld: sudo touch /home/pi/funciona , men tyvärr filen skapas inte i min hallon. Jag tror att det är ett utmärkt prov och resultatet tror jag att det koncentrerade problemet i området web. Jag kommer att se mer information i andra tutorials. Tack för din hjälp. Hålla kontakten.

        • Hej Rafael, du gör samma test genom att något ändra sökvägen i filen ska kontrollera om problemet ligger hos behörigheterna för katalogen/var/www.

          sudo touch /var/www/funciona

  16. Hej, Jag kunde säga ett sätt att sätta en tagg med smal avsats ställningen från PHP web interface
    att ändra automatiskt att ge att klicka sade knappen antingen aktivera, Stäng av, blinkande… ha en etikett som talar om status. Tack för din input jag hoppas du kan hjälpa mig..

    • Hej Chaka, Tack så mycket för din kommentar.

      Jag tror att du kunde göra det med PHP och JavaScript om du vill ge lite mer visuell effekt, eller göra ändringar i knappen.

      Om du bara vill få en text Beskrivning enligt knapp tryck, Du bör endast omfatta de funktioner som är associerade med varje ingång; Jag bifogar en lista över funktionerna i PHP:

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

    • Hej Jameson,

      Jag förstår väl inte frågan, men för att hitta IP på en enhet kan du använda NMAP.

      Har du också verktyg med grafiskt gränssnitt som ZenMap baserat på NMAP och Fing för Android enheter.

    • Hej Jameson,

      Den IP som du måste skriva i din webbläsare är faktiskt att Raspberry PI eftersom det är som fungerar som en webbserver, även om din php-fil inte anges det som index.php måste du lägga till namnet på din separat fil genom en efter undersökningsperioden “/”.

      I mitt fall är IP i intervallet 10.42.0.0 Eftersom det är en IP av NAT typ som tillhandahålls av ett virtuellt nätverksgränssnitt.

  17. Snälla behöver jag hjälp. Problemet är att jag har allt som sådan som förklara det för dig, men fungerar inte i PHP-skript.

    Tack så mycket

    • Hej Sergio,

      Jag antar du hänvisar till skript i Python, andra haft samma problem och det finns flera lösningar i tidigare kommentarer; Om efter att ha testat dem kvarstår felet om du tar mer data kunde kanske andra läsare eller jag hjälpa dig.

      Vi ses snart.

  18. Varför? “till- exec…” Istället för “att = exec…” ?

    Jag förstår inte och jag har inte hittat denna formel på google.

    • Hej Roberto, Välkommen.

      Jag är ingen expert i php, och i dessa stunder som jag letade efter en tutorial för att utföra order i tolken bash från php och således fann det.

      Det skulle vara lämpligare att använda till = exec i stället för?- exec?

      Tack så mycket för din kommentar, Vi ses snart.

  19. Om inte du arbetar på webben men om skript, Jag kommer snart att göra en artikel så kan du fixa det; Tack vare informationen har jag samlat olika användare som inte har fungerat.

    Om du kör bråttom du för att åtgärda det., Du kan kontrollera om den var katalogen finns i din hallon, och om så är fallet måste du flytta alla filer till den vägen och ersätta i skript “/var/www” genom “/var/www/html” sedan nu
    Detta är standardsökvägen web server.

    Det är också möjligt att du inte har tagit bort indexet som standard, “index.html” eller saknar du ändra det genom “index.php”.

    Jag hoppas att vara till hjälp, Vi ses snart.

  20. Hej Antonio,
    Jag undrar om en webbserver kan monteras att passa ett hem automationssystem och prova twitter api för att slå på lampor etc… (Jag har sett att det också kan göras av python med några bibliotek och lätt att följa tutorials… men du kan göra som jag säger och med php? dvs., hallon är webbservern med twitter och gpio hamnar tända lysdioder
    Tack på förhand.

    • Nano Hello,

      Från webben i php kan köra något kommando i kommandot tolk BASH, som inkluderar skript i Python.

      Du kan använda biblioteket eller Twitter API så att när du skickar en tweet med hänvisning av bot kontots användarnamn, stänga av eller slå på ljuset eller apparaten är kopplad till det meddelandet särskilt.

      Jag ser ett problem, och det är att någon kan du aktivera och inaktivera du belysning och hushållsmaskiner; om att det kan begränsa beroende på den användare som skickat tweet.

      Det vore intressant om du kommentera vad du hittar i detta avseende.

      Tack för att kommentera, Vi ses snart.

  21. God eftermiddag,
    Jag följde efter läraren, Kopiera koden för webben, spara den som .php, i mappen som skapade mig server var , eftersom om jag sätter index.php från mappen html inte hittar mig filen, men bra, Det verkar som att allt är OK. Jag bara testa med GPIO 17, Jag skapade sedan två .py, Aktivera och inaktivera, Jag har hittat dem i samma mapp som filen index.php. Jag öppnar webbläsaren, in i indexet, men fungerar inte mig led. Om jag har ssh access Arkiv antänder och köra det via konsolen om det fungerar. inte vara där jag att misslyckas. Naturligtvis ändra sökvägen till skripten från php, Eftersom det skiljer från din handledning.
    Jag hoppas du kan ge mig en hand, Jag är fångad.
    En hälsning.

    Tack så mycket.

  22. Hej peatonet, Jag försöker att göra en uppfinning för att aktivera en modul i 4 reläer från webben för att slå på eller stänga av belysningen av en lokal jag har, problemet är att i test, ledde med redistencia startar och stannar på kommer från webben, men när jag ansluter pin40 (som är som jag har konfigurerat) att ta bort motståndet och ledde, stänger av rött ljus för relay modul och inte påslagen eller avstängd jag måste testa lampan.

    Behag hjälpa mig eftersom inte längre är om det är fel relä modul (jävla aliexchinapress) men i inget av de 2 moduler som jag har fungerar eller är raspberrypi inte skickade nog spänning till reläet (som VCC har jag du sedan pin3)

    Ledsen för utfall och tack på förhand

    Hälsningar vänner

    • Hej, autorespondo mig jag vänner, problemet hade det som i pin20 (i mitt fall) var tvungen att sätta ett motstånd, Jag sätter den i 330 jordad.
      Jag antar att det är därför när du passerar ledde till relä ta bort motstånd

      Tack för allt ?

      • Hej Jesus, Stort tack till er för att dela lösningen med oss.

        Ledsen om jag inte kunde besvara innan men jag fånga med feber, i förra veckan av klasser förbereder sig för tentor, och arbete (Frilansande har inte behörighet att få sjukt).

        När det gäller den PIN-kod som du har anslutit VCC, i mitt fall ansluta jag till pin 2 eller till den 4 misslyckas redan som kräver 5V strömförsörjning.

        Om du vill kan du ge mer Detaljer för ditt bevis av begreppen, du sedan använder lysdioder istället för 220V AC uttag?

        Tack för din kommentar.

  23. Hej, Jag gör ett projekt för skolan och undrar om det finns sätt att du kan emulera detta system från en android app, dvs., Hur man hanterar stiften på hallon på detta sätt verkar det 100 gånger lättare än i en android-applikation, Jag undrar om du skapar ett program kunde på något sätt automatisk leda mig till denna typ av system att slippa lära sig från grunden att programmera sådant i android. Tyvärr är jag skyldig att leverera projektet som en mobil applikation, inte av webbformulär.
    Jag hoppas att ditt svar

  24. Hej och tack för allt, Jag upprepar min fråga, som är skillnaden för detta arbete i raspberry pi 3, i förväg,

    Tack

    • Hej Ignacio, Tack för att kommentera.

      Denna handledning är utvecklat på en Raspberry PI 3 av vad ska köras utan komplikationer.

      Om så inte lyckas få det att fungera, Du kan dela dessa fel eller problem som du har hittat.

  25. Hej kollegor, Jag behöver din hjälp eftersom jag är nedsänkt i ett projekt mellan 3 specialiteter, elektriska, Elektronik och datavetenskap, Jag domino delen av El men jag är inte specialist i de andra två. Jag förklara för dem, Jag behöver ansluta en M2DL2 Network Analyzer till en Raspberry pi för att registrera data av nuvarande förbrukning och för att vidarebefordra dem till hallon och registrera det och visas i en datatabell som i sin tur. Jag vet att den signal som tar analysatorn är RS485 och som måste ange att hallon är RS232 av vad behöver en omvandlare av en signal till en annan, vad jag vet inte hur man gör sammankopplingen mellan analysatorn, omvandlaren och hallon. Du vet något om detta eller kan vägleda mig där hitta information?
    Vänliga hälsningar.
    Ramon.

  26. Hej som ni?
    Om du vill kontrollera status för en gpio, genom php, Så säg mig om denna ON / AV. eftersom jag hitta fjärrkontrollen. Som sig bör?

    Kanske finns det något sätt som en rasp returnerar det värde som är gpio.

    Men haren i en db genom att ange 1 o 0 genom att trycka på knapparna, men att jag ser medium rustik

    • Hola Juani, Tack för att kommentera.

      GPIO-undersystemet är slutligen och inom en del av the/sys av GNU/Linux filsystem, och faktiskt förvaltas genom att redigera värdena för varje GPIO port-mappade filer.

      Du kan kontrollera om en GPIO är aktivt eller inaktivt läsa filen som innehåller ditt värde, ett exempel i PHP för GPIO 18:

      $estado_gpio18 = file_get_contents(“/sys/klass/gpio/gpio18/värde”);

      Om värdet är “1” GPIO är aktiv, å andra sidan, om värdet är “0” är inaktiv.

      Vi ses snart.

  27. Hej, Det först tack annoyancen av dela din kunskap med dem som har problem liknande.

    Jag skulle vilja göra en fråga (Jag hoppas att det inte är mycket dumt), redan gör månader som tog ger dig avkastning till temat för skapandet av gränssnitt web för raspi. Din kommentar ämnet ge behörigheter till www-data, men att, Det skulle vara trevligt som en kommentar för åtkomst från lokala miljöer eller för testning. Att råda lösningar till miljöer säkrare??

    En hälsning och tack igen

    • Hej Gon, Tack för din kommentar; Jag försöker bara dokument som jag lär mig varje dag om denna fascinerande värld, av formulär online så på så sätt kan vi lära oss alla tillsammans.

      Jag skulle vilja påminna alla läsare att panelen inte alls trots att funktionella är perfekt, är en riktigt grundläggande exempel på vad den kan göra och ju mer jag lär mer inser jag hur mycket som kan förbättras; Detta år som jag försöker att förbättra mina färdigheter som programmerare eftersom jag alltid tillbringat mer till system och säkerhet, och hade inte bara föreställningar om strukturer av kod, design metoder eller algoritmer; Jag hoppas i kort ta tid att förbättra webbpanel och dela en nästa version som redan gör inte mig så mycket averguence.

      I princip från version 3 Webben är tillräcklig för att lägga till www-användardata i gruppen GPIO att hantera tillståndet av stiften undvika ge sudoer behörigheter; Detta kan göras med följande kommando:

      sudo usermod - a - G gpio www-data

      Anyway tror jag att din fråga är mer inriktad på att begränsa tillgången till panelen med hjälp av autentisering, och detta kan göras med mod_auth-modulen för Apache2; Det är också tillrådligt att använda mod_ssl antingen med ett självsignerat certifikat.

      Om du ska åtkomst från utsidan alltid kan du lägga till ett skikt av säkerhet genom att konfigurera en VPN-Anslutning, som du kan skydda åtkomst med certifikat x 509, användarnamn och lösenord, och system för förebyggande såsom fail2ban bland annat.

      Hoppas jag har rensat upp lite dina tvivel, Tack för ditt intresse för artikeln.

      • Hej Antonio! Först av alla tack för att svara så snabbt och.

        En mi mig går lite baklänges, Jag är utvecklare web försöker suga mig av världen av dessa system och it säkerhet. Är ett nöje som har personer som att investera sin tid dokumentera sina projekt så att andra kan lära sig lite mer varje dag.

        Berätta att jag har hjälpt en hel del. Jag har ett litet projekt som ansluten till raspi, och tog månader ger du vänder sig till den av gränssnittet och utan beslutar mig mycket som gör ( Om php, att om cylon.js, tjänster som redan skapat typ mydevice och liknande…) och jag funnit alltid samma tvivel: behörigheter, Säkerhet, …etc. Din artikel (tro mig att läsa många) är av de få som van lite mer okända av som klickar kablar i GPIO, därifrån fråga du.

        Tack igen, du har klargjort många tvivel.

        Jag ska vara testning och genomförande som du har ledig tid, och om du är intresserad av du kommenterade resultaten.

        En hälsning

  28. Hej att applikationer kan användas i bilar
    Det kan vara att milrrolling arbete
    Någon att kasta alla projekt på detta ämne
    Saúde

Lämna svar