Raspberry Pi Experten gesucht! Funksteckdosen fernsteuern.

5 Antworten

Das Projekt schaltet die sogenannten "GPIO" Pins auf dem Raspberry.

Hier kannst Du anstelle von den LEDs leicht Optokoppler (die ja wie LEDs angesteuert werden) anschließen oder andere Treiberbausteine.

Mit dem guten, alten ULN2003 kannst Du 8 GPIO Leitungen so verstärken, dass die größere Lasten schalten können. Hier kannst Du dann auch größere Relais anschließen.

Für die Funksteckdosen "zerfledderst" Du den Handsender. Hier die Tasten durch Relais ersetzen die Du dann mit dem Raspberry steuern kannst.

Alternativ statt Relais direkt Optokoppler einsetzen um die Tasten zu steuern.

Du kannst aber auch den CD4044 einsetzen, das ist ein einfaches "Solid State" Relais mit 4 Kanälen. Auch das kann die Tastenanschlüsse der Fernbedienung vom Raspberry gesteuert überbrücken. Hier muß aber die Masse gleich sein und die Versorgungsspannung des CD4044 höher oder gleich sein als die höchste Spannung auf den Tasten.


Schau dich generell mal um, wie du GPIO Ports oder IC2 per PHP auf einem Apache Server steuern kannst. Wenn du das einmal verstanden hast, ist es sehr einfach. Etwas PHP, bzw, HTML schadet bei so einem Projekt natürlich auch nicht. Sorry, aber sowas kann man nicht einfach in einer gf.net Antwort beschreiben ;)

Ich weiss, dass man Befehle beim Rpi bei PHP per "system ( )" oder "exec ( )" ausführt, aber ich weiss nicht genau, welche Teile ich bei diesem Script ändern muss. Der Befehl wäre "sudo raspberry-remote/send 10101 4 1 , aber ich weiss nicht, ob ich per PHP Root-Befehle ausführen kann, oder wie ich dieses Problem umgehen kann?

0
@TimHe

Mit dem Raspberry-Pi kenne ich mich zwar nicht aus, aber mit Linux auf dem PC und bei WLAN-Routern. Ich gehe mal davon aus, dass es sich auf dem Pi genau so verhält:

Falls es sich bei der Datei "raspberry-remote/send" um eine Binärdatei (also kein Skript) handelt und dieses selbst wiederum keine anderen Programme aufruft, könnte man das "seteuid"-Bit setzen.

Dabei muss man den Dateieigentümer der Datei auf "root" setzen (mit chown) und dann eben das "seteuid"-Bit setzen.

Wenn man dann das Programm (ohne "sudo") startet, läuft es (trotzdem) mit "root"-Rechten.

Die einmalige Konfiguration würde dann in etwa so aussehen:


sudo chown 0 raspberry-remote/send
sudo chmod u+s raspberry-remote/send
1

Was möchtest Du wissen?