IR via PHP

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

    Ich habe mir vorgenommen meine neue Wohnung mit einem Smarthome System auszustatten. Da ich das komplett selbst basteln will, habe ich mir schon mal ein Raspberry PI besorgt.
    Ich würde damit gerne Licht, TV, Sound Anlage usw. steuern.

    Da ich auf dem einfachen Weg zu viele Relais brauchen würde, habe ich mir überlegt mein Raspberry mit meinem Infrarot Sender zu bestücken und damit dann den TV usw. anzusteuern.

    Da ich PHP Programmierer bin, würde ich das ganze am ende gerne mit PHP über eine Weboberfläche ansteuern.

    Ich bräuchte also ein kleines Programm, das die IR Signale sendet wenn es von meinem PHP Programm aufgerufen wird. Natürlich müsste das Programm dann von PHP das entsprechende Signal bzw. den Code für das jeweilige Gerät bekommen.

    Um das anlernen neuer Geräte zu vereinfachen wäre es auch sehr schön wenn ich über einen IR-Empfänger das Signal auswerte und dessen Signal/Code an mein PHP Programm senden kann.

    Kurzgesagt: Ich bräuchte eine Art Treiber^^

    Hat hier jemand schon mal so was ähnliches gebastelt?
    Ich kenne mich leider noch nicht so gut mit Raspberry Pi Modulen aus und weiß auch noch nicht wie ich diese von PHP aus ansteuern kann.

    Wäre super wenn mit da jemand helfen könnte. Ein kleiner Ansatz würde mir auch schon reichen :)

    Danke schon mal.

    Einmal editiert, zuletzt von THans (23. September 2014 um 12:30)

  • Setz die befehle doch einfach nativ in PHP ab? Siehe dazu: Nützliche Links / Linksammlung --> Befehle über PHP mit root Rechten ausführen

    Ansonsten würde ich vielleicht den Weg über Sockets gehen, also im WebInterface Javascript und WebSocket verwenden und auf dem PI dann in Python mithilfe von tornado einen WebSocket laufen lassen der dann die IR Befehle absetzt oder auch Antworten ans WebInterface zurück schicken kann.. Siehe dazu 1.Link in meiner Signatur, auf der letzten Seite

  • Das was du suchst gibt es schon, das nennt sich Wiring Pi. Mit der Hilfe kannst du zugriff auf die Io Ports bekommen und auch auswerten.

    Nur die Performance über PHP ist natürlich nicht so perfekt und musst du schauen ob es deinen Anforderungen entspricht.

    Unter den Link findest du noch entsprechende Richtwerte für Python(Was sicher in Richtung PHP gehen wird).
    http://codeandlife.com/2012/07/03/ben…-pi-gpio-speed/

    ein Traum ist unerlässlich wenn man die Zukunft gestalten will

    Einmal editiert, zuletzt von DeFisch (23. September 2014 um 12:44)

  • DeFisch: Das geht auch nativ :fies: also dann würd ich eher die virtuellen Dateien in /sys/class/gpio/ direkt ansprechen und auf eine extra Lib verzichten. Siehe dazu > hier < bzw >> hier <<


  • DeFisch: Das geht auch nativ :fies:

    Klar :D Ich habe mich bis jetzt auch immer davor gedrückt und das mit dem Filesystem erledigt. Es kommt halt darauf an was er noch weiter machen möchte. Bei Abfragen später würde ich das dann aber nicht mehr mittels PHP und pooling erledigen wollen und Interrupts sind mir dort leider nicht bekannt.
    In dem Fall Würde ich mir dann wahrscheinlich auch Wiring Pi anschauen.

    ein Traum ist unerlässlich wenn man die Zukunft gestalten will

  • Hallo zusammen,

    genau sowas habe ich gerade gebastelt... Eine Multifunktionsfernbedienung auf dem Raspberry PI mit einem Webinterface. Ich schalte damit alles was über Infrarot gesteuert werden kann und zusätzlich Funksteckdosen, weites ist in Planung, wie zum Beispiel meine Rollläden.

    Schau mal HIER

    Ich habe mich genau an diese Anleitung gehalten!

    Über das Webinterface werden die Befehle einfach per shell_exec abgesetzt zB.
    [code=php]shell_exec('sudo irsend SEND_ONCE SAMSUNG_TV KEY_POWER');[/php]


    Es ist wirklich sehr einfach sowas zu bauen und funktioniert von Anfang an überraschend gut, Anfangs war ich etwas skeptisch...

    2 Punkte an denen ich allerdings noch ein wenig pfeilen möchte....

    Zum einen ist die IR-Diode TSAL6200 nicht so der Knaller. Es ist schon wichtig, dass die Geräte in "der Einflugschneise" des IR-Signals stehen.

    Ich habe mir ein paar verschiedene IR-Dioden bestellt und werde mal testen, ob man noch ein bisschen mehr Leitung rausholen kann. Mit der "echten Fernbedienung" kann ich in die entgegengesetzte Richtung ziehlen und die Befehle werden trotzdem vom Gerät empfangen.

    Mein Raspbmc hing eine Zeitlang versteckt hinterm Fernseher und ich konnte trotzdem umschalten. Mal sehen was die Tests mit anderen IR-Dioden bringen.

    Der 2. Punkt ist, dass man auf der Weboberfläche die Buttons nicht gedrückt halten kann um Befehle mehrmals zu senden. Etwas nervig, wenn man lauter und leiser machen möchte, oder die Senderliste durchscrollen möchte...

    Wenn ich auf meinen Tablet den Button gedrückt halte erscheint "Bild speichern" :)
    Das Webinterface besteht auf einer Grafik und vielen "Imagemaps" per onclick wird der Befehl per Ajax verarbeitet, damit unterdrückt man im Gegensatz zu herkömmlichen Formularen den "Reload" der Seite...


    Besonders erstaunt war ich allerdings von der Performance!!

    Die Reaktionszeit der Geräte ist wesentlich schneller als bei meiner (zugegeben etwas älteren) Logitech Harmony 555 !! Hätte ich nie gedacht, funktioniert aber super!!

    Wenn man sich mit PHP, CSS, HTML ein bisschen auskennt ist es sehr einfach (meiner Meinung nach) was wirklich brauchbaren zu basteln.

    Es gibt sicherlich noch andere Wege, die vielleicht auch komfortabler sind, aber für meine Zwecke reicht es völlig aus

    Viele Grüße
    Markus


  • Über das Webinterface werden die Befehle einfach per shell_exec abgesetzt zB.
    [code=php]shell_exec('sudo irsend SEND_ONCE SAMSUNG_TV KEY_POWER');[/php]

    Dabei solltest du aber ganz genau darauf achten, worüber der Pi alles erreichbar ist. Ich habe viel darüber gelesen das es dabei bedenken gibt wegen der Sicherheit. Weil dadurch die Möglichkeit bestehen soll, das Fremde auch andere Sachen ausführen, mit den Rechten die man Vergeben muss.

    ein Traum ist unerlässlich wenn man die Zukunft gestalten will

  • Hallo DeFisch,

    ja, da hast du Recht !! Der Pi hat bei mir kein Zugriff vom bzw. aufs Internet.

    Den Weg über Javascript, WebSocket und NOde.js hatte ich auch mal getestet.
    Irgendwo hatte ich was fertiges gefunden, aber das so anzupassen wie ich es gerne hätte war mir zu kompliziert.

    Funktioniert hat die Geschichte aber auch einwandfrei. Ich schau mal ob ich es wieder finde...

    Viele Grüße

    Markus

Jetzt mitmachen!

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