Projekt: Steckdosen schalten mit Pi

Holgip

Lt. Commander
Registriert
Dez. 2012
Beiträge
1.759
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 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.

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

Wenn Interesse besteht, kann ich den Schaltplan hochladen.

Gruß

Holgip

Index_html Pi.JPG
 
Zuletzt bearbeitet: (Mist, Anhang vergessen)
Wenn der Server mit Linux betrieben werden würde, wärs "relativ" einfach. Hier könnte man sich dann vom Pi auf dem Server per SSH verbinden und mittels Shell-Befehl "lsof" herausfinden, ob eine Datei auf einer Festplatten geöffnet ist und dann im python oder php script entsprechend reagieren.

Vermutlich wäre sowas ähnlich auch mit Windows möglich (telnet Verbindung, oder evtl. SSH-Server installieren).

Aber eine Sache noch: "Trennst" du die Stromleitung ohne die Festplatte vorher am PC abzumelden (sicheres Entfernen)? - auch das könnt im extremfall zu Datenverlust führen (Write-Chache, ...).
 
Hallo cc_aero,
Danke für deine Antwort.
Leider wird der Server auch mit Windows betrieben. Ich schaue mir mal den Isof Befehl an, vielleicht kann man da irgendetwas mit machen. Auch den SSH-Server schaue ich mir an.
Der Write-Cache ist bei allen Festplatten ausgeschaltet. Ich habe sie schon immer "händisch" getrennt, wenn sie nicht mehr benutzt wurden (vorher über die Computerverwaltung die geöffneten Dateien angeschaut, aber das will ich ja auch automatisieren).
 
Zurück
Oben