Himbeer-PI und GPIO-pins: Die LED über ein Webinterface Steuern

In der neuesten Beiträge dieser Serie, Wir sahen Sie sind die GPIO-Pins und dienen, und Wie Sie die Macht der Leds aus dem Terminal zu steuern; bevor Sie beginnen Wir haben die GPIO-Bibliotheken für Python installiert., und die montierten elektronischen Schaltung und arbeiten.
Web-Anwendung in HTML + PHP + Python, ein paar Leds durch die GPIO behandeln.

Bei dieser Gelegenheit wir installieren die Apache-Webserver, und schreiben lernen die Code in HTML und PHP die gleiche LED Steuerung, oder mehrere, über ein Webinterface.

gpioprogramar0pngDie erste Sache, die wir tun müssen ist den LAMP-Webserver installieren, Geben Sie also folgende Befehle im 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

Jetzt werden wir als hinzufügen. sudoer für den Benutzer Www-Daten, Dies ist nicht die Option, die mehr zu sichern, aber denken Sie daran, dass wir einen Test in einer kontrollierten Umgebung tun; für eine Umgebung in der Produktion sollten wir eine andere Möglichkeit zum Ausführen von Skripts in Python als Sudoer schauen..

Diese Berechtigungen bearbeiten, schrieb Sudo visudo im Terminal und am Ende der Datei Www-Daten als Sudoer hinzufügen, Es muss so sein.

# 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 jeden Pin GPIO Wir brauchen ein Unterverzeichnis zu erstellen und drei Skripte in Python; ein zu schalten, anderen zu deaktivieren, und eine fertige Skript für die Herstellung unserer LED blinkt, Hier ist ein Beispiel mit der POLIG 4.

#!usr/bin/env/ python
## enciende.py
#Importamos la libreria y le cambiamos el nombre a GPIO
Importieren Sie RPi.GPIO als GPIO
#Wir schaffen das Nummernsystem, dem wir wollen, 
#in diesem Fall das System BCM
GPIO.setmode(GPIO. BCM)
#Konfigurieren Sie die GPIO-Pins 4 als Ausgang
GPIO.setup(4, GPIO. HERAUS)
#Wir schalten die led
GPIO.output(4, GPIO. HOCH)
#!usr/bin/env/ python
## apaga.py
#Wir importieren die Bibliothek und ändern ihren Namen in GPIO
Importieren Sie RPi.GPIO als GPIO
#Wir schaffen das Nummernsystem, dem wir wollen, 
#in diesem Fall das System BCM
GPIO.setmode(GPIO. BCM)
#Konfigurieren Sie die GPIO-Pins 4 als Ausgang
GPIO.setup(4, GPIO. HERAUS)
#Deaktivieren Sie die geführte
GPIO.output(4, GPIO. LOW)
#Wir befreien die GPIO
GPIO.cleanup()
#!usr/bin/env/ python
## parpadea.py
#Wir importieren die Bibliothek und ändern ihren Namen in GPIO
Importieren Sie RPi.GPIO als GPIO

#Notwendig für die Verzögerungen
Import-Zeit

#Wir schaffen das Nummernsystem, dem wir wollen, 
#in diesem Fall das System BCM
GPIO.setmode(GPIO. BCM)

#Konfigurieren Sie die GPIO-Pins 4 als Ausgang
GPIO.setup(4, GPIO. HERAUS)

#Schalten Sie und schalten Sie die led 5 Mal
denn ich im Bereich(0,5):

        GPIO.output(4, GPIO. HOCH)
        Time.Sleep(1)(1)
        GPIO.output(4, GPIO. LOW)
        Time.Sleep(1)(1)

#Wir befreien die GPIO
GPIO.cleanup()

Jetzt ist die Zeit, unsere Homepage zu erstellen in HTML und PHP, enthält Schaltflächen, mit denen wir drängen wird, führen Sie die Skripts in Python über ein Webinterface, später werden wir sehen, wie die endgültige Hierarchie.

<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

?>

Ich habe es gruppiert alle auf der gleichen Seite als ob eine Seite erstellen PHP für jede option, um es auszuführen, war ich auf der Seite Skript geschickt. (eine leere Seite); Nun führen Sie den Code und bleibt auf der gleichen Seite.

Endlich Wir müssen die folgende Hierarchie erreichen. im Unterverzeichnis des Webservers /Var/www.

Screenshot von 2014-10-05 00:06:52Wenn Sie mir folgen können, auf Twitter, Facebook, Google +, LinkedIn, oder Teilen Sie sie mit den Schaltflächen unter dieser Publikation, Wenn Sie Fragen oder Anregungen Sie bitte nicht zögern kommentieren.

Helfen Sie uns, um mehr Leser zu erreichen Share on LinkedInShare on FacebookTweet about this on TwitterShare on Google+Email this to someone

75 Thoughts on"Himbeer-PI und GPIO-pins: Die LED über ein Webinterface Steuern

  1. Gute, Nach einem Blick auf Internet-Lösungen-home-automation, Entschied ich mich von Ihrem system, scheint gut belichtet.
    Trotzdem und wegen meiner NULL Erfahrung in weichen. mir Zweifel, Ich wünsche, dass Sie sie lösen könnte, Ich habe viele Tests und nichts getan, Ich bekomme es nicht….:)
    Führen Sie alle Schritte, die erklären und ich verwalten die Gpio Terminal mit putty, aber da Web kann nicht das Python-Skript aktivieren.
    Ich brauche eine Seite auf /val/www mit html zu tun (Index.html) servieren Sie es also ich Apache. Indem Sie Ihre Website hier platzieren, wenn hinterlasst die Tasten mir, aber nicht das Php-Skript ausgeführt wird. In der Seite index.php, nicht gestellt werden, innerhalb.
    Sorry für die Unannehmlichkeiten und danken Ihnen.

      • Danke, dass Sie so schnell reagiert, Ja ich Schritt zum Erteilen von Berechtigungen in der Datei, die Sie aufnehmen, Ich bin verwirrt mit der index.php-Seite, hängen Sie das GPiO-Verzeichnis, nur sehen Sie die Schaltflächen im Web, wenn ich in /val/www sagen….im HTML-Format!…Index.html, aber nicht das PHP-Skript ausgeführt wird. Setzen sollte, dass die index.php die GPIO-Verzeichnis hängen?

        • Wenn Sie genau hinsehen, Index.php /var/www/leds 🙂 hängt, wenn auch noch nicht funktioniert, kommentieren Sie diesen Artikel und sehen Sie es.

          Wenn/var / www/index.php Cuelgas wird es in diese Richtung sehen, aber es nicht alles funktioniert:

          http://ipdelapi

          Wenn der Dreh /var/www/leds/will richtig, aber da diese Route arbeiten:

          http://ipdelapi/leds

          Ich hoffe dies löst Ihre Zweifel und dass Sie in dieser Welt so aufregend verschieben können.

          • Ich bin froh, das Sie gearbeitet haben, am Ende war es der Pfad zum Skript?

            Vielen Dank für Ihren Kommentar 🙂

          • Gute, Ich habe das gleiche Problem wie der Kollege oben.

            Meine index.php hängt vom /var/www/html/index.html
            , Wenn ich mein Index html aus bekommen dort nicht gezeigt, aber ich habe kein Problem, es gibt, Mein Problem kommt, wenn pulse Taste und nicht laufen mir die Tasche.

            PD: Ich gab ihm alles und Genehmigungen

            Vielen Dank für Ihre Antwort.
            Ein Gruß

            J.G.

  2. Gute, Ihre Arbeit dient mir viel, Du bist eine Maschine!
    Ich versuche, das Automatisierungssystem steuern mehrere Leds aus dem Web zu machen aber ich habe ein Problem, das Sie nicht lindern können.
    Das Thema ist, dass ich die GPIO aktiviert haben, ich brauche, Ich diese aktivieren und Deaktivieren von terminal, Ich einen anderen PC im gleichen Netzwerk zu 192.168.X.X/leds/ verbinden und die Website sieht gut aus, das Menü für die Kontrolle des Hauses aussieht perfekt, aber die Leds reagieren nicht, Ich habe versucht von aktiv und passiv, Was ich mache falsch…
    Das einzige, was ich sagen kann ist, dass Sie den Quellcode der Seite angezeigt und zeigt nur den html-Code, PHP wird nicht angezeigt, nicht, wenn es sein oder nicht sollte.
    Ich denke, es kann etwas PHP sein, aber ich bin nicht sehr überzeugt, weil ich einen PHP-Test versucht und es gut tut, Ich bin verzweifelt lol

    • Hallo John,

      Me Alegro viel, die Nützlichkeit, die meine Artikel 🙂 sind immer willkommen die positiven Kommentare.

      Alle PHP-Code im Browser wird als HTML angezeigt., Da die PHP-Funktion zur Zeit und dynamisch ist Erstellen von Webseiten, die serviert werden im browser.

      Python-Skripte direkt ausgeführt, wenn die Leds aufleuchten? das richtige wäre Start von hier testen und vorwärts gehen.

  3. Vielen Dank für die schnelle Beantwortung!
    Formatieren Sie schließlich erneut die Himbeere, Ich folgte die Schritten wieder und alles funktioniert wunderbar, nicht sein, dass das Scheitern könnte.
    Trotzdem vielen Dank für die Aufmerksamkeit.
    Ein Gruß

    • Vielen Dank für Ihre Zweifel zu teilen, Ich bin froh, das es schließlich arrangiert hat.

      Sie haben etwas in Ihrer Himbeere sowie Format geändert., wie zum Beispiel die Transformator-microUSB?

      • Ja, Wenn ich es gekauft habe ich ein Waschbecken zu Micro Speed werden ihn und so schneller arbeiten, aber weder ist sehr merkliche Veränderung.
        Das war das einzige, das Sie in der Raspel ändern.

        • Hallo John, Ich bin froh, Sie wieder hier lesen.

          Grundsätzlich verfügt nicht über die Overclock in dieser Hinsicht beeinflussen, aber vielleicht war es keine Konfiguration; Nun, da Sie mit Arbeiten gibt eine Raspbian Reinigung, um Probleme zu geben, nachdem er in der Produktion, Nun, wenn, Ihnen empfehlen würde, die Wurzel des Problems zu finden.

          Sie bemerken es in nach bestimmten Aufgaben die viel Rechenleistung benötigen Overclock Veränderung, einige Faktoren wie den Ethernet-Anschluss werden aber weiterhin nach Flaschenhals, die verwendet.

          Sie sehen die Überprüfung habe ich der Raspberry PI B Modelle, B + und B2 in folgendem Link, mit voller Performance-Tests:

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

          Ich hoffe, dass Sie von Nutzen sein wird, bis bald 🙂

  4. Hallo, Ich habe eine kleines Frage/problem. Ich möchte einen Summer anstelle einer led anschließen, aber ich will versuchen, mit einem führten zu lernen. Es ist notwendig, um eine index.html und andere .php?
    Ich habe die led an den gpio4 angeschlossen, und ich habe ein Skript on.py und andere off.py in den Ordner 4. Konsolen-Arbeit perfekt.
    und ich kann die index.html nicht gestellt, weil es mich nicht lassen, aber gerade für führte Funktionalität 4.

    Ich hoffe, Ihr könnt mir helfen, Ich habe Ihr Facebook-Profil besucht und ich hoffe, eines Tages beide Raspberry Pi bekanntlich. Ein Gruß und Dank.

  5. Eine Web in PHP HTML enthält möglicherweise durch die brauchen nur eine index.php

    Wenn Sie die PHP-Befehle zum Ausführen von Skripts in Python in einer HTML-Datei setzen, wird nicht ausgeführt.

    Nun, da das Terminal arbeitet, Sie konnte nicht einfach Kopieren der index.php des Lernprogramms, Beseitigung der anderen GPIO und lassen nur die 4 Das ist was Sie verwenden; und es sollte funktionieren.

    Wenn Sie die Dateien nicht bearbeiten können wird in/Var/Www sicher durch Berechtigung sein., in diesem Tutorial ist die Lösung und es sollte funktionieren, Wenn es nicht kommentieren und ich versuchen werde, Ihnen sein.

  6. Hallo, Ich werde nehmen hier eine andere Frage stellen, Wenn Sie oder jemand kann mir ein Kabel nehmen. Ich habe dieses Skript und den Ordner mit dem Datum einmal neugestartet löschen möchte, und was mich interessiert, wissen Sie, wie man das macht, wenn es darum, einen Betrag X-Größe der Fänge geht, alle werden gelöscht bzw. Neustart des RPi. Danke Gruß.

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

    # Einige Dinge, die immer ausgeführt
    #Tippen Sie auf /var/lock/motionStartup
    Logger - s “Skript namens motionStartup”

    # Durchführung von spezifischen Funktionen vom System gefragt
    Fall “$1” in
    Start)
    Logger - s “Skript-MotionStartup gestartet”
    TIMESTAMP = $(Datum + %m %H %M %S %d und % | SED's / / / g') # Ohne Leerzeichen
    Logger - s “Skript MotionStartup $TIMESTAMP”
    Sudo Mkdir/Motiontmp / $TIMESTAMP || Logger - s “Mkdir Start Fehler”
    Find/Motiontmp/Motion /. -Typ f - Größe 0 -print0 - löschen
    Find/Motiontmp/Motion /. -MaxDepth 1 -Typ f | \
    XARGS - ICH '{}’ Sudo mv {} /Motiontmp / $TIMESTAMP
    ;;
    Stop)
    Logger - s “Skript MotionStartup gestoppt”
    ;;
    *)
    Echo “Verwendung: /etc/init.d/motionStartup {Start|Stop}”
    Ausfahrt 1
    ;;
    ESAC

    Ausfahrt 0

  7. Wenn Sie diese Zeile am Anfang Ihres Skripts hinzufügen, jedes Mal, die Sie das Skript ausführen, bevor Sie irgendetwas tun Sie löscht alle Ordner innen/Motiontmp /

    Sudo Rm - rf/Motiontmp / *

    Im Hinblick auf die Dateien löschen, wenn Sie eine bestimmte Größe erreichen, Sie könnten versuchen, Verketten des Befehls df - h ein Verzeichnis Datenträgerauslastung anzeigen, oder einer partition:

    df - h /motiontmp

    Mit einem anderen Befehl wie wc oder Sed, also daß es liest nur die Phrase, die Bezugnahme auf die MB oder GB verwendet, Schließlich, wenn Sie dem Teil, dass bei programmieren können ist mit das Ergebnis größer als N, Führen Sie den Befehl beschriebenen rm.

    • Um die perfekte Ordner löschen, dann aber…
      Sorry, aber ich bin ein wenig neu und ich bin verloren, wie wäre es zum Beispiel für den Zeitpunkt erreicht das Verzeichnis/Motiontmp/Motion / 5 Gigas? Vielen Dank Grüße.

  8. Hallo, Ich habe auf der Suche und für die spezifische Größe eines Ordners ist mit dem folgenden Befehl:

    Du - sh /ruta/a/carpeta

  9. Sorry für so viele Beiträge gefolgt, aber wie ich zu Update finden bin. So etwas wie dies funktionieren könnte?

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

    Größe = du - sh /motiontmp

    Lesen “Größe”

    If [ “$Größe” > “2048000An” ]; dann

    Sudo Rm - rf/Motiontmp / *

    sonst

    Logger - s “Skript namens motionStartup”

    # Durchführung von spezifischen Funktionen vom System gefragt
    Fall “$1” in
    Start)
    Logger - s “Skript-MotionStartup gestartet”
    TIMESTAMP = $(Datum + %m %H %M %S %d und % | SED's / / / g') # Ohne Leerzeichen
    Logger - s “Skript MotionStartup $TIMESTAMP”
    Sudo Mkdir/Motiontmp / $TIMESTAMP || Logger - s “Mkdir Start Fehler”
    Find/Motiontmp/Motion /. -Typ f - Größe 0 -print0 - löschen
    Find/Motiontmp/Motion /. -MaxDepth 1 -Typ f | \
    XARGS - ICH '{}’ Sudo mv {} /Motiontmp / $TIMESTAMP
    ;;
    Stop)
    Logger - s “Skript MotionStartup gestoppt”
    ;;
    *)
    Echo “Verwendung: /etc/init.d/motionStartup {Start|Stop}”
    Ausfahrt 1
    ;;
    ESAC

    Ausfahrt 0

    fi

  10. Hallo, so einen Freund, Es tut uns leid Ihrem Beispiel folgen und die led leuchtet, gibt es kein problem, aber wenn Sie auf die Schaltfläche deaktivieren, die led blinkt, bereits ist überprüfen die Codes und alles richtig :/ Sie haben Idee, die tun könnte falsch?

    • Hallo Fco, Gracias Por Tu comentario.

      Im Web, Es gibt drei Knöpfe:

      Schalten Sie, Ausschalten, und blinkende.

      Wenn Du kannst, Fügen Sie hier den Code, den Sie auf die Schaltfläche deaktivieren zugewiesen haben, Kommentar ist also möglich, diese Taste schalten Sie Ausführen des Skripts, die die blinkende Schaltfläche zugeordnet werden soll.

      Bis bald.

  11. Hallo wieder an alle, ein weiterer Zweifel mehr Lol hinzufügen.

    Bevor ich im Hintergrund setzen, Es ist einen Summer-Sound aktivieren (Summer) Es sollte eine Schleife, die Ihre Pin gesetzt 1 und eine 0 ständig, nicht als eine led, dass zwar 1 Es immer noch.
    Das Problem ist wie diese Schleife um es in ein Web-Php zu verwenden zu stoppen, Da die Konsole indem Sie am Ende der Skriptaufruf Hinzufügen einer & Es läuft im Hintergrund und lassen Sie die Konsole an das Skript aufrufen, das es endet, Beispiel:

    Sudo Python sonar.py &

    Dies sind die beiden Skripte, Das macht es klingen und sicherstellen es stoppt Klingeln:

    Import-Zeit
    Importieren Sie RPi.GPIO als gpio

    GPIO.SetWarnings(Falsche)
    GPI.setMode(GPIO. BRETT)
    GPIO.Setup(7,GPIO. HERAUS)

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

    und die Abschaltung:

    Import-Zeit
    Importieren Sie RPi.GPIO als gpio

    GPIO.SetWarnings(Falsche)
    GPI.setMode(GPIO. BRETT)
    GPIO.Setup(7,GPIO. HERAUS)

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

    aber funktioniert einfach, die erste zu stören. Danke Gruß.

  12. Sie können mehrere Befehle verketten., für die, die auf der Grundlage Ihrer Skriptnamen, das Terminal Ihre PID suchen und anschließend seine Ausführung mit Kill töten.

    Einmal den Befehl gefunden, Ändern Sie die Funktion soll mit STRG schließen + C, von einem stattdessen, brummt N mal Matt es automatisch mit diesem Befehl.

  13. Wenn mit STRG + C schließt in Konsole, aber ich versuche, es über PHP als Post-Leds zu implementieren, dann müssen anders sein, ich sage,.

    • Oben haben Sie die Lösung, Ihren Prozess mit BASH zu töten, Ihre PID aus dem Dateinamen zu finden; Sie brauchen nur noch in Ihre PHP-Website mit integrieren “Exec”.

  14. Hallo.
    Danke für das tutorial.

    Ich habe ein problem, das Skript wird nicht ausgeführt werden., Wenn Sie sie aus der Konsole ausführen, aber da die Seite nicht, Ich weiß nicht, dass es sein kann. Ich habe getan, was Sie in Ihrem Kommentar von
    “Wir schreiben Sudo Visudo am Terminal und am Ende der Datei hinzufügen zu Www-Data als Sudoer, Es muss so sein.”

    Aber nichts. Was anderes kann ich zu suchen?

    Saludos.

  15. Hallo, Guten Morgen,
    Vor nichts, Danke.

    Es erlaubt eine Frage, alles funktioniert perfekt, jetzt, Ich möchte ein Bild hinzufügen können, der angibt, wann die LED ein- oder ausgeschaltet sind, Ich fand einige Artikel auch mit Bilder zeigen Farbe je nachdem ob verändernde Lampen oder nicht funktionsfähig sind, versuchen Sie zu verstehen, die Operation, aber es funktioniert nicht, Ich bekomme im Web mit Befehlen, aber nichts wird aktiviert, Ich hoffe, dass nicht die Mühe mit dieser und einer anderen look, Vielen Dank für Ihre erstaunliche Freundlichkeit.

    Ignacio aus Belgien

    • Hallo Ignacio, Vielen Dank für Ihren Kommentar.

      Ich vermute, dass Sie Javascript verwenden, dies zu tun, die PHP-Funktionen zu integrieren, die für das Python-Skript aktivieren, Verwalten der Macht-Leuchten.

      JavaScript nicht domino, Da ich bin kein Web-Entwickler, aber vielleicht können Sie sich ein wenig besser orientieren, oder einige andere Leser können Sie bekommen, was Sie wollen; aber dazu müsste, den Code zu sehen, oder die Tutorials, die Ihnen folgten, um zu erkennen, wo der Fehler ist.

      Bis bald, und viel Ermutigung!

  16. Hallo an alle vielen Dank, Ich lerne viel.
    Ich habe alle gemachten Schritte befolgt., Ich kann die Leds von der lokalen terminal einschalten, Laden Sie den Patch Php Anweisungen von ullu, Erteilen von Berechtigungen auch ein 775—-etc.. Laden Sie die Seite mit den Schaltflächen nach geführt/Gpio aber nichts. Ich verwende Raspberry Pi 2…..etwas mit dieser Karte wird werden?. Ich schätze Ihre Mitarbeit.

    • Hallo Rafael, Danke für Kommentar.

      Es ist möglich, dass die Lösung in den Kommentaren der vorherigen Tutorials in dieser Serie erschwinglicher Hausautomation basierend auf Raspberry PI gewidmet ist.

      Die Schritte zu folgen sind kompatibel mit allen Versionen von IP, Es fällt mir ein, dass Sie die Ausführung des Skripts in Python auf der Website mit folgendem Befehl ändern konnten, die eine Datei im home-Verzeichnis von Ihrem Himbeere schaffen:

      Sudo touch /home/pi/funciona

      Wenn alles gut funktioniert, Diese Datei sollte erstellt werden.

      • Vielen Dank für Ihre schnelle Antwort. Ich habe die Änderungen, wie er mir gesagt, Index.html indem entfernt den Teil des Python und im Gegenzug: Sudo touch /home/pi/funciona , aber leider ist die Datei nicht erstellt in meine Himbeere. Ich denke, es ist ein ausgezeichneter Test und das Ergebnis, ich glaube es konzentrierte sich das Problem im Bereich web. Ich werde weitere Informationen in anderen Tutorials Blick.. Vielen Dank für eure Hilfe. Wir bleiben in Verbindung.

        • Hallo Rafael, dann konnten Sie den gleichen Test tun, wenn den Pfad der Datei zu überprüfen, ob das Problem mit den Berechtigungen des Verzeichnisses/Var/Www liegt leicht geändert.

          Sudo touch /var/www/funciona

  17. Hallo, Ich könnte sagen, eine Möglichkeit, einen Tag mit LED Status von PHP-Web-interface
    Diese Änderung automatisch, Klick geben, sagte Button entweder zum Einschalten, Ausschalten, Flashen… haben Sie ein Label, das Ihnen sagt, dass den status. Vielen Dank für Ihre Eingabe ich hoffe Sie können mir helfen..

    • Hallo Chaka, Vielen Dank für Ihren Kommentar.

      Ich denke, dass Sie es mit PHP und JavaScript machen könnten, wenn Sie wollen noch mehr visuellen Effekt geben, oder ändern Sie die Schaltfläche.

      Wenn Sie nur einen Beschriftungstext nach Taste Druck hinzufügen möchten, Sie sollten nur die Funktionen im Zusammenhang mit jeder Eingabe erweitern.; Anbei eine Liste der Funktionen in PHP:

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

    • Hallo Jameson,

      Ich verstehe auch nicht die Frage, aber um die IP eines Geräts zu finden können Sie NMAP.

      Sie haben auch Werkzeuge mit grafischen Oberfläche ZenMap basierend auf NMAP Fing für Android-Geräte.

    • Hallo Jameson,

      Die IP, die Sie in Ihrem Browser eingeben müssen ist in der Tat der Raspberry PI, da es sich, die fungiert als Webserver, auch wenn Ihre Php-Datei nicht als index.php aufgeführt haben Sie von einem nach dem UZ Namen Ihrer separaten Datei hinzu “/”.

      In meinem Fall ist die IP-Adresse im Bereich 10.42.0.0 Da es eine IP-Adresse der NAT-Typ bereitgestellt durch ein virtuelles Netzwerkinterface ist.

  18. Bitte brauche ich Hilfe. Das Problem ist, dass ich alles als solche, die es Ihnen erklären, aber arbeiten nicht in PHP-Skripten.

    Vielen Dank

    • Hallo Sergio,

      Ich schätze, dass Sie sich in Python Skripte beziehen, andere hatten das gleiche Problem und es gibt mehrere Lösungen in den vorherigen Kommentaren; Wenn nach dem Testen sie weiterhin besteht das Scheitern wenn Du bringst mehr Daten könnten vielleicht andere Leser oder ich helfen Ihnen.

      Bis bald.

    • Hallo Roberto, Herzlich Willkommen.

      Ich bin kein Experte in php, und in diesen Momenten sah ich ein Tutorial zur Ausführung von Aufträgen im Interpreter bash aus Php und so fand es.

      Es wäre sinnvoller zu verwenden = Exec statt?- Exec?

      Vielen Dank für Ihren Kommentar, Bis bald.

  19. Wenn Sie im Web aber wenn Skripts nicht funktioniert, Ich werde bald einen Artikel machen, damit Sie es beheben können; Dank der Informationen habe ich gesammelt, verschiedene Benutzer, die nicht funktioniert hat.

    Wenn Sie, dass Sie sich beeilen ausführen, um es zu beheben, Sie können überprüfen, ob Ihre Himbeere das Var-Verzeichnis vorhanden ist, und wenn ja, müssen Sie verschieben Sie alle Dateien auf diesen Pfad und ersetzen in Skripts “/Var/www” von “/Var/Www/html” ab sofort
    Dies ist der Standardpfad der Web-server.

    Es ist auch möglich, dass Sie den Index nicht standardmäßig gelöscht haben, “Index.html” oder fehlt Sie zum Ändern von “Index.php”.

    Ich hoffe, dass hilft, Bis bald.

  20. Hallo Antonio,
    Ich frage mich, ob ein Webserver montiert werden kann, ein home-Automation-System passen und versuchen die Twitter api so schalten Sie Lichter etc.… (Ich habe gesehen, dass es auch Python mit einigen Bibliotheken und einfach verständlichen Anleitungen tun kann… aber Sie konnten tun, wie ich sagen und mit php? d. h., die Himbeere ist der Webserver mit Twitter und Gpio-Ports entzünden leds
    Vielen Dank im voraus.

    • Nano-Hallo,

      Aus das Web in Php kann im Interpreter Befehl BASH einen Befehl ausführen., Dazu gehören Skripte in Python.

      Sie können die Bibliothek oder die Twitter-API verwenden, sodass beim Senden wird ein Piep zitieren die Bot-Konto-Benutzernamen, Schalten Sie aus oder schalten Sie das Licht oder Einheit, die diese Nachricht zugeordnet sind, insbesondere.

      Ich sehe ein problem, und es ist, dass jedermann konnte Sie schalten und Sie Leuchten und Haushaltsgeräte; es sei denn, daß es abhängig von der Benutzer einschränken kann, die den Tweet gesendet.

      Es wäre interessant, wenn Sie sind in diesem Zusammenhang Sie finden kommentieren.

      Danke für den Kommentar, Bis bald.

  21. Guten Tag,
    Ich folgte das tutorial, Kopieren Sie den Code im web, Speichern Sie es als .php, im Ordner erstellt, die mir der Server-var , weil wenn ich die index.php aus dem html-Mails setzen mir die Datei nicht finden, aber gut, Es scheint, dass alles in Ordnung ist. Ich bin nur mit dem GPIO testen. 17, Ich habe dann zwei .py, Einschalten und ausschalten, Ich habe sie in demselben Ordner wie die Datei index.php befindet sich. Öffnen Sie den browser, in den Index eingetragen, aber nicht operieren mich die led. Wenn ich ssh Zugang Archiv entzündet und über Konsole ausführen, ob das funktioniert. nicht sein, wo ich sein Scheitern. Natürlich ändern Sie den Pfad zu den Skripten von php, Da es von Ihr Nachhilfe unterscheidet.
    Ich hoffe, dass Sie mich unterstützen können, Ich bin gefangen.
    Ein Gruß.

    Vielen Dank.

    • Hallo Charlie,

      Aus ein paar Versionen, Raspbian wurde aktualisiert, Apache und Webseiten werden serviert von Var stattdessen von/Var/www

      Es gibt eine neue Version der Website, in denen Sie tun können, ohne Verwendung von zusätzlichen Dateien, Sie können auch in ihrer Entwicklung durch Github zusammenarbeiten, wenn Sie es wünschen:

      http://www.peatonet.com/raspberry-pi-implementando-un-sistema-domotico-asequible-parte-iii/

      Trotzdem wollen Sie diese Version des Control Panels verwenden, Sie versuchen können, Hinzufügen der Benutzer, Www-Daten gruppieren gpio, Es scheint, dass dies das Problem ist, da das über ssh funktioniert.

  22. Hallo peatonet, Ich versuche zu tun, eine Erfindung um ein Modul zu aktivieren 4 aus dem Web zu schalten oder schalten Sie das Licht von einem lokalen Relais habe ich, das Problem ist, dass der test, LED mit Redistencia startet und stoppt nach Belieben aus dem web, aber wenn ich die pin40 verbinden (welches ist die ich konfiguriert habe) Entfernen Sie den Widerstand und led, schaltet sich das rote Licht des Relais-Bausteins und nicht eingeschaltet oder ausgeschaltet, ich habe die Lampe zu testen.

    Bitte helfen Sie mir da nicht mehr ist, wenn das falsch ist das Relaismodul (verdammt, aliexchinapress) aber in keinem der 2 Module, die ich funktioniert haben oder das die Raspberrypi nicht ist genügend Spannung an der Staffel gesendet (als VCC habe ich Sie seit dem pin3)

    Sorry für die Tirade und vielen Dank im voraus

    Grüße-Freunde

    • Hallo, Autorespondo mich ich Freunde, das Problem war es, die in der pin20 (in meinem Fall) musste einen Widerstand, Ich habe es in 330 geerdet.
      Ich nehme an, es ist weil wenn Sie übergeben zu Staffel entfernen Widerstand geführt.

      Vielen Dank für alles ?

      • Hallo Jesus, Vielen Dank für die Lösung mit uns.

        Sorry, wenn ich nicht, bevor Antworten konnte aber ich mit Fieber Fang, in der letzten Woche von Klassen, die Vorbereitung von Prüfungen, und Arbeit (Die Freelance hat keine Berechtigung zum krank).

        In Bezug auf den Stift, dass Sie die VCC angeschlossen haben, in meinem Fall verbinden Sie ich mit pin 2 oder zu den 4 bereits die 5V Stromversorgung versagt.

        Wenn Sie möchten können Sie weitere Informationen über Ihr Beweis des Konzeptes geben., Sie sind dann Leds statt 220V Steckdosen verwenden.?

        Vielen Dank für Ihren Kommentar.

  23. Hallo, Ich mache ein Projekt für die Schule und wurde gefragt, ob die Art und Weise, dass Sie dieses System aus einer android app emulieren kann, d. h., Wie die Pins von der Himbeere auf diese Weise zu behandeln wie es scheint 100 Mal leichter als in einer android-Anwendung, Ich frage mich, ob beim Erstellen einer Anwendung in keiner Weise automatische leitet mich auf diese Art des Systems zu vermeiden, von Grund auf so etwas im Android Programmieren lernen könnte.. Leider bin ich verpflichtet, das Projekt als mobile Anwendung zu liefern, nicht der Web-Formular.
    Ich hoffe, Ihre Antwort

  24. Hallo und danke für alles, Ich wiederhole meine Frage, Was ist der Unterschied in der Raspberry Pi arbeiten 3, [object Window],

    Danke

    • Hallo Ignacio, Danke für den Kommentar.

      Dieses Tutorial ist auf einem Raspberry PI entwickelt. 3 so es ohne Komplikationen funktionieren sollte.

      Wenn noch können Sie nicht machen es arbeiten, Sie teilen können Fehler oder Probleme, die du gefunden hast.

  25. Hallo Kolleginnen und Kollegen, Ich brauche deine Hilfe, denn ich in einem Projekt zwischen mitten bin 3 Spezialitäten, Elektro, Elektronik und Informatik, Ich Domino Teil von Elektrizität, aber ich bin kein Spezialist in den beiden anderen. Ich erkläre Ihnen, Ich brauche eine M2DL2 Netzwerk-Analyzer mit Raspberry Pi verbinden, um Daten der aktuellen Verbrauch erfassen und übermitteln diese an die Himbeere und registrieren Sie ihn und in einer Datentabelle, die wiederum wird angezeigt. Ich weiß, dass Signal, das den Scanner macht RS485 und RS232, die die Himbeere treten sollen ist was ich brauche einen Konverter ein Signal an einen anderen, was ich nicht weiß, wie man die Verbindung zwischen der Analyzer ist, der Konverter und die Himbeere. Sie wissen nichts über diese oder begleiten mich wo Informationen finden?
    Saludos.
    Ramon.

  26. Hallo, wie Sie sind?
    Wenn ich, überprüfen Sie den Status von einem Gpio möchten, durch php, Also sag mir wenn diese / Da finde ich die Fernbedienung ausschalten. Wie es sein sollte?

    Vielleicht gibt es eine Möglichkeit, dass die Raspel den Wert zurückgeben, dass dies die Gpio.

    Aber der Hase in einem Db durch Eingabe 1 o 0 durch Betätigen der Tasten, aber sehen, dass es mittelfristig rustikal

    • Hola Juani, Danke für den Kommentar.

      Das Subsystem GPIO ist bis zum Ende und nach dem Teil des Systems der Dateien/Sys von GNU / Linux, und tatsächlich verwaltet durch die Werte der einzelnen GPIO-Port-mapped-Dateien bearbeiten.

      Sie können überprüfen, ob ein GPIO ist aktiv oder inaktiv Lesen der Datei, die den Wert enthält, ein Beispiel in PHP für die GPIO 18:

      $estado_gpio18 = File_get_contents(“/Sys/Class/Gpio/gpio18/Wert”);

      Wenn der Wert ist “1” die GPIO ist aktiv, der Gegensatz dazu ist der Wert “0” im Leerlauf ist.

      Bis bald.

  27. Hallo, Erstmal Danke für die Mühe von Teilen Ihres Wissens, mit denen wir ähnliche Bedenken haben.

    Ich möchte Ihnen eine Beratung machen (Ich hoffe, nicht sehr albern sein), Monaten, die ich habe die Frage der Schaffung des Web-Interfaces für die Raspi Grübeln. Ihr Kommentar zum Thema geben Sie Berechtigungen für Www-Daten, aber, dass, Es wäre schön, als Kommentar für den Zugriff aus dem lokalen Umfeld oder für Testzwecke. Dass Lösungen für Umgebungen sicherer raten??

    Ein Gruß und nochmals vielen Dank

    • Hallo Gon, Dank Ti von Ihren Kommentar; Ich versuche nur zu dokumentieren, wie lerne ich jeden Tag über diese faszinierende Welt, online zu bilden, so dass wir gemeinsam lernen können.

      Ich möchte alle Leser daran erinnern, dass trotz der funktionalen dieses Panel überhaupt nicht perfekt ist, ist ein wirklich einfaches Beispiel dessen, was sie tun kann und je mehr ich lerne mehr, dass ich weiß, wie viel, die verbessert werden könnte; Dieses Jahr bin ich versucht, der Verbesserung meiner Fähigkeiten als Programmierer seit jeher mir mehr ausgegeben, um diese Systeme zu Sicherheit, und er nicht nur Vorstellungen über die Code-Strukturen, Design-Methoden und Algorithmen; Ich hoffe, in kurzen nehmen Sie sich Zeit zur Verbesserung der Web-Panel und Anteil eine nächste Version davon bereits tun mich nicht so viel averguence.

      Im Prinzip seit der version 3 im Web ist, dass genug mit hinzufügen, dass die Www-Benutzerdaten an die Gruppe GPIO verwalten des die Stifte zu vermeiden geben Sie Berechtigungen von sudoer; Dies kann mit dem folgenden Befehl:

      Sudo Usermod-a-G Gpio Www-Daten

      Trotzdem denke ich, dass Ihre Frage stärker ist auf die Einschränkung des Zugriffs auf das Panel mittels Authentifizierung, und kann dies mit dem Mod_auth-Modul für Apache2; auch wird empfohlen, Mod_ssl verwenden, obwohl mit einem Zertifikat selbstsigniert ist.

      Wenn zum Zugriff von außen immer eine Schicht über Sicherheit konfigurieren ein VPN hinzufügen können, Inwieweit können Sie den Zugang mit x 509-Zertifikate schützen, Benutzer und Passwort, und Systeme zur Verhütung wie fail2ban u.a..

      Ich hoffe, dass ich ein wenig Ihre Zweifel geklärt haben, Vielen Dank für Ihr Interesse über den Artikel.

      • Hallo Antonio! Zunächst einmal vielen Dank für die Beantwortung so schnell und.

        Eine mi geht mir ein wenig nach hinten, Ich bin Entwickler Web versuchen, mich der Welt dieser Systeme und it Sicherheit genießen. Ist eine Freude, die Menschen wie Ihr, die ihre Zeit investieren ihre Projekte dokumentieren, so dass andere jeden Tag ein wenig mehr lernen können.

        Sagen Sie Ihnen, dass ich geholfen habe. Ich habe ein kleines Projekt, verbunden mit der raspi, und es dauerte Monate, Kreisen die Schnittstelle und ohne viel zu tun, entschied mich ( Wenn Php, Wenn cylon.js, Dienstleistungen bereits erstellt Art Mydevice u.ä.…) und ich fand immer die gleichen Zweifel: Berechtigungen, Sicherheit, …etc.. Ihre Artikel (Glauben Sie mir, das viele lesen) die wenigen, die ein wenig weiter als Punktion der GPIO-Kabel ist, Daher Fragen Sie.

        Nochmals vielen Dank, Sie haben viele Zweifel geklärt..

        Ich werde testen und implementieren, da Sie freie Zeit haben, und wenn Sie interessiert sind zu erwähnen ich Ergebnisse.

        Ein Gruß

  28. Hallo, dass Anwendungen können im Auto
    Es könnte sein, dass Milrrolling die Arbeit
    Jemanden, der jedes Projekt zu diesem Thema werfen
    Saúde

  29. geschätzte wenn wollen tun mit Eingabetyp Radio und keine Schaltfläche "senden", Dies kann ein Js aufgerufen werden ? AJAX? Ich möchte mir raten, vielen Dank

  30. Gute,
    Ich habe versucht zu tun, was Sie vorschlagen und nicht gelungen. Ich habe alle Schritte und nichts folgte.. Das Problem ist die Php-Datei. Ich habe eine Textdatei erstellt, die alles kopiert, die Sie in Aufmachungen, ohne etwas zu ändern, was eine solche, und ich habe es als Php gespeichert. Ich habe es innerhalb der Ordner Leds gelegen und es gibt keine Möglichkeit, die ausgeführt wird. Ich weiß nicht, was das Problem ist.
    Vielen Dank und Grüße

  31. Hey, Kumpel, für mein Projekt fragte mich Madar auf die led in der gleichen Weise aber Publicnado vom Hochtöner,Hast du einige Tutorial für das?? Ich Tenfo einen Code, aber ich kann es nicht ziehen Sie Sache teilen könnte, damit es überprüft??

Hinterlasse eine Antwort