Raspberry PI über Webserver Steuern

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Guten Abend,

    ich bräuchte mal eure Hilfe und zwar,

    ich habe zwei PI´s im Netzwerk unabhängig von einander im Betrieb. Diese möchte ich über einen zentralen Webserver (schon vorhanden) steuern, beziehungsweise Rückmeldungen empfangen. Ich habe auch schon gegoogelt aber leider nix gefunden für dieses Problem. Da alles nur über Webiopi dezentral gesteuert wird.

    Zum Webserver: läuft mit Linux Debian und Appache sowie ein selbst geschriebenes CMS.


    Also Danke im voraus.... :danke_ATDE:

  • Was sollen denn alles für Funktionen vorhanden sein?
    Wenn du Ahnung von PHP und HTML hast, könntest du damit etwas programmieren um Infos zu bekommen oder Befehle auszuführen

  • Es geht um die [font="Source Sans Pro, Tahoma, Helvetica Neue, Arial, sans-serif"]GPIOs diese möchte ich über die Website steuern und Status empfangen z.b. Gartenbeleuchtung schalten und über Hilfskontakt auch eine Hardware Bestätigung bekommen. Dies soll über ein Webinterface realisiert werden. Das ganze im heimischen Netzwerk. Ich möchte kein Zugriff von außen haben, bin in dieser Beziehung altmodisch.[/font]

    [font="Source Sans Pro, Tahoma, Helvetica Neue, Arial, sans-serif"]Wie ich das ganze über PHP und co. löse weiß ich :) ... mir geht es um die Kommunikation zwischen Raspberry´s mit dem Webserver so das auf dem Webserver der Befehl über das Netzwerk zum Raspberry kommt sowie die Rückmeldung vom Raspberry zum Webserver. [/font]

    [font="Source Sans Pro, Tahoma, Helvetica Neue, Arial, sans-serif"]Habt ihr dazu vielleicht eine Idee oder ein Fallbeispiel?? [/font]

    [font="Source Sans Pro, Tahoma, Helvetica Neue, Arial, sans-serif"]Die Verwaltung, beziehungsweise der Fernzugriff wird über XRDP vollzogen. [/font]

    [font="Source Sans Pro, Tahoma, Helvetica Neue, Arial, sans-serif"]Gruß KoRniee[/font]

  • Google ist hier dein Freund.

    Ich habe mit der Suche nach "GPIO per web steuern" viele ergebnisse bekommen.
    Wenn du auf Bilder schaltest, dann siehst du auch gleich etwas von der Oberfläche.
    Ich denke, dass es hier gute Ansätze gibt.

    Nur Anpassen auf deine Belegung musst du selbst

    Gruß Georg

    ... und sie leben doch :cool:

    Raspberry Pi B+, Raspberry Pi2, Raspberry Pi3

  • dreamshader nannte bereits die zu bevorzugende Lösung zum schalten von GPIO über Netzwerk: pigpiod
    Siehe dazu auch:
    FAQ --> Nützliche Links / Linksammlung --> GPIO ohne root-Rechte oder über Netzwerk
    FAQ --> Nützliche Links / Linksammlung --> Daten zwischen PI's über Netzwerk verschicken - (Beispiel#2 , Beispiel#3)

    Schau dir aber auch mal das an: FAQ --> Nützliche Links / Linksammlung --> [PHP] Anleitung zum schalten von GPIO


    Ich empfehle dir das ganze unabhängig von Apache & Co zu realisieren und zwar mit einem Web-Framework wie bottle oder tornado -> Python
    Dann hast du nämlich alles direkt nativ in Python und brauchst dich nicht um Ausgaben der abgesetzten Befehle mit PHP und exec(); rum schlagen

  • Meine Empfehlung wäre eine Webservice API zu nehmen.
    Prinzipiell macht dabei ein Pi das folgende:
    Er ruft die URL http://meinwebserver.de/state.php
    auf und gibt im POST den folgenden JSON-String mit:
    {"hostname":"pi1","lightstate":"off"}

    Der Webserver empfängt dass und kann sich somit in seiner Datenbank vermerken dass das Licht auf dem pi1 momentan aus ist.
    Fraglich wäre dann hier noch ob die Pis selber einen Webserver bekommen sollen, damit sie auch Befehle empfangen können, oder aber ob sie einfach minütlich per cronjob ein "getOrder" an den Webservice schicken um sich ihre Befehle abzuholen.

    Wie du merkst bau ich mir sowas immer lieber selbst. Von fertig gebauten Lösungen oder Frameworks halte ich nicht soviel bei so einer trivialen Aufgabe.

    Thomas

  • Also ich mache das hier mit dem Homeserver (Webserver der nicht übers Internet erreichbar ist) so, dass ich die Werte per PHP übergebe, also http://servername/index.php?pin=24&wert=0

    Außerdem werden die Werte in Textdateien geschrieben und falls der Homeserver mal nicht erreichbar ist, holt er sich nach dem Start die Textdateien per SCP.

    Umgekehrt könntest Du auch den PI per SSH automatisch steuern oder eine Textdatei mit Steuerbefehlen irgendwo runterladen. Wenn Du z.B. nicht willst dass ein Webserver von außerhalb per SSH auf Dein Netzwerk zugreift, dann kannst Du in regelmäßigen Abständen eine Textdatei mit Steuerbefehl aus dem Netz runterladen.
    Automatisch zusammengefügt:
    PS: Kennst Du Dich ein bisschen mit Shellscript aus? Dann kannst Du per PHP die Werte für die Pins z.B. in Testdateien ablegen. Also beispielsweise am einfachsten die GPIO Nummer als Dateiname und in die Datei dann den Wert reinschreiben, dann mit wget runterladen (https://de.wikipedia.org/wiki/Wget) und auswerten.

    Einmal editiert, zuletzt von Frosch2000 (11. März 2016 um 13:22)

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!