Projekt: Steckdosen schalten mit Pi

  • Hallo,
    ich habe ein kleines Raspberry-Projekt durchgezogen. Ich suchte schon lange nach einer Möglichkeit, meinen "Server" (Zotac ID14 mit Win 8.1, eine Backup-USB-Festplatte, zwei Festplatten mit Filmen in einem USB-Gehäuse und eine USB-Festplatte ebenfalls mit Filmen) von jedem PC (5 Stück alle mit Win 8.1) in meiner Wohnung aus starten und herunterfahren zu können. Dabei sollten im einfachsten Fall alle Geräte über den Webbrowser ein- und ausgeschaltet werden.

    Einen Pi und eine gut umzubauende Steckdosenleiste hatte ich noch herumfliegen und so machte ich mich auf, eine Schaltung zu bauen. Im Endeffekt werden vier Steckdosen über 4 GPIO-Pins, einem ULN2003 als Treiber und vier Solid-State-Relais Sharp S202 S02 gesteuert. An der fünften Steckdose hängt die Stromversorgung des Pi.

    Die Software besteht aus Python-Scripts, die mir die GPIOs schalten. Diese werden über PHP-Dateien auf dem Pi aufgerufen, welche ich mit einer ganz einfachen HTML-Datei ansteuere. (Ich weiß, das ist nicht die elegante Art, aber für meine Zwecke und meinem Kenntnisstand von Python und PHP reicht es)
    In Zukunft werde ich mir wahrscheinlich noch eine ansehnlichere Webdatei basteln.

    Das funktioniert alles einwandfrei. Das Einzige, was mich jetzt noch interessiert, wäre folgende Fragen:

    1.) Wenn jemand gerade einen Film auf einer Festplatte schaut und ein Anderer will die Festplatte oder alle vier Geräte abschalten, ist es für die offenen Dateien gefährlich. Gibt es eine Möglichkeit, dass ich per Python oder PHP die offenen Dateien auf dem Server abfragen und eine Warnung auf allen Windows-PCs schalten kann, dass noch Dateien offen sind?
    Zur Zeit mache ich das mit der Warnung in der HTML-Datei und dem Nachfragen, wer noch welche Filme schaut.
    Der Samba-Server bietet die Möglichkeit, mit "net rpc file" nach offenen Dateien zu suchen, aber leider klappt das nicht bei mir. Wenn ich im Terminal "net rpc file -U Netzwerk-Name%Passwort" eingebe, bekomme ich als Rückmeldung nur "Anonymous login successful", keine Dateien angezeigt. Dateien sind aber offen, was ich in der Computerverwaltung von Windows sehen kann.
    Andererseits kann ich z.B. mit "net rpc -S ip-adresse -U Netzwerk-Name%Passwort shutdown -t 0 -f" den Server herunterfahren.
    Was mach ich beim net rpc file noch falsch?
    Ach ja: Auf dem Pi läuft Jessie Lite.

    2.) Ich hätte gerne eine Einschaltkontrolle für die vier Geräte, soll heißen, dass die Ein-Symbole (siehe Anhang) in der HTML-Datei "ausgegraut" werden und nicht anklickbar sind, wenn das Gerät schon läuft. Ist sowas auch möglich?
    Die HTML-Datei ist auf dem Pi, wird aber ausschließlich in Windows-PCs genutzt.

    Wenn Interesse besteht, kann ich den Schaltplan hochladen.


  • ....eine Schaltung zu bauen. Im Endeffekt werden vier Steckdosen über 4 GPIO-Pins, einem ULN2003 als Treiber und vier Solid-State-Relais Sharp S202 S02 gesteuert. An der fünften Steckdose hängt die Stromversorgung des Pi.
    Das funktioniert alles einwandfrei. Das Einzige, was mich jetzt noch interessiert, wäre folgende Fragen:

    gut, du hast die 230V~ überlebt, weisst also was du tust!
    S202S02 + Treiber war auch eine gute Wahl, ist auch meine Wahl.


    2.) Ich hätte gerne eine Einschaltkontrolle für die vier Geräte, soll heißen, dass die Ein-Symbole (siehe Anhang) in der HTML-Datei "ausgegraut" werden und nicht anklickbar sind, wenn das Gerät schon läuft. Ist sowas auch möglich?

    zur Software kann ich nix sagen aber Kontrolle der 230V~ on da gibt es einiges
    https://www.mikrocontroller.net/articles/230V

    das gefällt mir am Besten:
    https://www.mikrocontroller.net/wikifiles/4/47…uC_Port-Pin.png

    oder

    ein kleines USB Netzteil
    http://www.pollin.de/shop/dt/NTQyOD…_5_V_0_3_A.html

    lasst die PIs & ESPs am Leben !
    Energiesparen:
    Das Gehirn kann in Standby gehen. Abschalten spart aber noch mehr Energie, was immer mehr nutzen. Dieter Nuhr
    (ich kann leider nicht schneller fahren, vor mir fährt ein GTi)

  • Hallo jar,
    erstmal danke für deine Antwort. Ich habe die 230V überlebt, weil ich Elektroniker bin und fast mein ganzes Leben lang mit Netzspannung zu tun habe. Dementsprechend bin ich sehr vorsichtig bei solchen Spannungen.

    An den geschalteten Steckdosen ist jeweils eine LED zur Kontrolle, die man aber von den anderen PCs in anderen Zimmern aus natürlich nicht sehen kann. Da habe ich mich wohl zu ungenau ausgedrückt.
    Ich bräuchte eine optische Anzeige in meiner HTML-Datei, wenn ein Gerät (hauptsächlich geht es mir um den Server) eingeschaltet ist. Also entweder den Link (Bild) zum Einschalten ausgrauen, oder einen andersfarbigen Hintergrund für das Bild. Abfragen, ob der Server eingeschaltet ist, kann man ja mit einem Ping auf die Netzwerkadresse, z.B. über ein Python-Script. Nur wie ich das Ergebnis dann in die HTML-Dateil übernehmen kann, leuchtet mir nicht so ganz ein.
    Vielleicht hat ja jemand eine Idee.*

    Wichtiger ist mir allerdings die erste Frage. Bis jetzt bin ich mit den Samba-Befehlen noch nicht weiter gekommen. Irgendwie muss es doch möglich sein, die geöffneten Dateien auf dem Windows-Rechner über Raspbian anzeigen zu lassen...

    *Ich bin blöd! Am einfachsten wird es sein, direkt die GPIO-Pins des Pi abzufragen und das Ergebnis weiter zu verarbeiten. Wie ich das allerdings mache, weiß ich noch nicht.
    Das Naheliegendste sieht man immer erst zum Schluß!

    Einmal editiert, zuletzt von Hollip (9. Februar 2016 um 14:52)


  • ...Ich habe die 230V überlebt, weil ich Elektroniker bin und fast mein ganzes Leben lang mit Netzspannung zu tun habe. Dementsprechend bin ich sehr vorsichtig bei solchen Spannungen.

    gut!


    An den geschalteten Steckdosen ist jeweils eine LED zur Kontrolle, die man aber von den anderen PCs in anderen Zimmern aus natürlich nicht sehen kann. Da habe ich mich wohl zu ungenau ausgedrückt.
    Ich bräuchte eine optische Anzeige in meiner HTML-Datei

    dafür hatte ich dir die Links geschickt wie an einem Inputport am PI das detektiert werden kann, am GPIO schickst du doch die Einschaltsignale zur S202S02 und mit der gezeigten Schaltung bekommst du die Rückmeldung ob 230V~ auch an sind.

    Das muss nun per Software in deine HTML

    Ich habe nur Atmel C-Sourcen wie das in eine HTML reinkommt.

    Ich ändere auf meinem Webserver das GIF für on off im HTML Code

    lasst die PIs & ESPs am Leben !
    Energiesparen:
    Das Gehirn kann in Standby gehen. Abschalten spart aber noch mehr Energie, was immer mehr nutzen. Dieter Nuhr
    (ich kann leider nicht schneller fahren, vor mir fährt ein GTi)

  • Ich habe mir die Links angeschaut. Eigentlich habe ich die Hardwarebasteleien abgeschlossen und wollte an der Steckerleiste und dem Pi jetzt nichts mehr verändern. Mir reicht es, die GPIOs abzufragen und diesen Status dann in der HTML-Datei anzuzeigen. Vielleicht kann man das ja mit PHP erledigen, das ja auch if...else Abfragen zulässt. Das werde ich mal ausprobieren.


  • Ich habe mir die Links angeschaut. Eigentlich habe ich die Hardwarebasteleien abgeschlossen und wollte an der Steckerleiste und dem Pi jetzt nichts mehr verändern. Mir reicht es, die GPIOs abzufragen und diesen Status dann in der HTML-Datei anzuzeigen. Vielleicht kann man das ja mit PHP erledigen, das ja auch if...else Abfragen zulässt. Das werde ich mal ausprobieren.

    na ja du weisst dann nur das deine S202S02 eingeschaltet sein sollten!

    ob wirklich Spannung an der Steckdose ist weisst du nicht!

    Ich dachte das wäre dein Ziel?


    aber egal wenn du einen S202S02 vom PI einschaltest weisst du das, dann kannst du auch das auf der HTML Seite darstellen durch ein GIF LED on und auch austauschen zu LED off

    lasst die PIs & ESPs am Leben !
    Energiesparen:
    Das Gehirn kann in Standby gehen. Abschalten spart aber noch mehr Energie, was immer mehr nutzen. Dieter Nuhr
    (ich kann leider nicht schneller fahren, vor mir fährt ein GTi)


  • Ich dachte das wäre dein Ziel?

    Nein. Es geht mir darum zu wissen, ob schon ein Anderer das jeweilige Gerät angeschaltet hat, damit ich nicht nochmal draufklicke (obwohl das ja eigentlich nichts machen sollte). Das soll nur zur Info sein.
    Ich gehe davon aus, dass dann die Steckdose eingeschaltet ist. Wenn nicht, ist etwas kaputt und ich kann es daran sehen, dass ich das Gerät über das Netzwerk nicht ansprechen kann.
    Danke dir auf jeden Fall für deine Antworten.

    @Alle: Es wäre schön, wenn ich auch für meine erste Frage ein paar Tipps bekäme.


  • Nein. Es geht mir darum zu wissen, ob schon ein Anderer das jeweilige Gerät angeschaltet hat, damit ich nicht nochmal draufklicke (obwohl das ja eigentlich nichts machen sollte). Das soll nur zur Info sein.

    das würdest du auch mit der 230V Rückmeldung zum PI sehen......

    Ich verstehe dein Anliegen nicht wirklich, entweder der PI hat die Oberkontrolle ob die 230V ein sind per S202S02 dann weiss der PI ob eingeschaltet ist, oder du hast 2 Schalter parallel S202s02 und einen mechanischen Schalter, dann wüsstest du nur ob der mech. Schalter betätigt ist wenn du die 230V abfragst.

    lasst die PIs & ESPs am Leben !
    Energiesparen:
    Das Gehirn kann in Standby gehen. Abschalten spart aber noch mehr Energie, was immer mehr nutzen. Dieter Nuhr
    (ich kann leider nicht schneller fahren, vor mir fährt ein GTi)


  • das würdest du auch mit der 230V Rückmeldung zum PI sehen......

    Das ist mir klar, nur wollte ich halt jetzt nicht nochmal den Lötkolben auspacken.

    Was ist denn daran nicht zu verstehen? Ich will nur an einem vom Server entfernten PC wissen, ob die Geräte schon laufen oder ich sie noch einschalten muss. Ganz einfach!
    Es gibt auch keine zwei parallele Schalter. Die Steckdosenleiste wird einzig und allein vom Pi gesteuert.
    Das Thema ist jetzt auch gegessen, ich frage die vier GPIOs ab und signalisiere den Status in der HTML-Datei.


  • Es gibt auch keine zwei parallele Schalter. Die Steckdosenleiste wird einzig und allein vom Pi gesteuert.

    na denn ist ja alles geklärt


    nur wollte ich halt jetzt nicht nochmal den Lötkolben auspacken.

    musst du doch nicht


    Was ist denn daran nicht zu verstehen?

    weil du so verquer schreibst


    Ich will nur an einem vom Server entfernten PC wissen, ob die Geräte schon laufen oder ich sie noch einschalten muss.

    das weisst du doch



    Das Thema ist jetzt auch gegessen, ich frage die vier GPIOs ab und signalisiere den Status in der HTML-Datei.

    sag ich doch

    lasst die PIs & ESPs am Leben !
    Energiesparen:
    Das Gehirn kann in Standby gehen. Abschalten spart aber noch mehr Energie, was immer mehr nutzen. Dieter Nuhr
    (ich kann leider nicht schneller fahren, vor mir fährt ein GTi)

Jetzt mitmachen!

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