Schaltbare Steckerleisten (APC PDUs) mit PHP und SNMP steuern

1482463962 (23. December 2016)

Vor einiger Zeit hatte ich die Möglichkeit, einige PDUs des Fabrikats APC AP7920 zu einem günstigen Preis zu erstehen. Diese PDUs “Power Distribution Units” oder in diesem Fall “switchable Power Distribution Units”, also “schaltbare Stromverteiler”, sind über viele unterschiedliche Protokolle ansprechbar und geben die Möglichkeit über diese Protokolle gesteuert zu werden. Im Enterprise-Umfeld kommen diese Geräte zum Einsatz, um z. B. per Fernsteuerung Server oder andere Geräte vom Stromnetz zu trennen.

Unterstützte Protokolle sind hierbei (keine vollständige Liste):

  • telnet
  • SSH
  • HTTP(S)
  • SNMP

Ich hatte nun also die Geräte mit 8 IEC 60320 C13-Anschlüssen. Daher wird nun zum Anschluss herkömmlicher Geräte noch ein IEC 60320 C14 auf CEE 7/3 (Schuko)-Adapter benötigt. Diesen kann man sich mit Geschick und entsprechenden Teilen selbst zusammenbauen (der C14-Anschluss einzeln kostet jedoch schon rund 2,20 Euro je Stück in Deutschland) oder fertig kaufen (Preis etwa 3,70 Euro bei einer Kabellänge von 1 Meter).

Das Script im Browser

Da die manuelle Umschaltung per Befehl oder dem mitgelieferten Webinterface jedoch recht aufwendig ist, habe ich mir Gedanken gemacht, wie ich die PDU möglichst simpel steuern kann. Nach einiger Überlegung habe ich dann SNMP in Verbindung mit PHP und einem RaspberryPi ins Auge gefasst. Jede herkömmliche Webserver-Installation kann hier verwendet werden. Die Möglichkeit der Steuerung von mehreren Geräten ist auch gegeben.

Zum Beispiel stelle ich mir vor, dass wie vor einiger Zeit (ich weiß nicht wie das heute ist) im Unperfekthaus in Essen ein Tablet (im Unperfekthaus war es jeweils ein IBM-Notebook) am Eingang eines Raumes platziert wird, mit dem dann die Steuerung verschiedener Beleuchtungen vorgenommen werden kann (im Unperfekthaus war es nur die Raumreservierung, wenn ich richtig liege). Wobei sich für diesen Zweck wohl auch günstige Funksteckdosen anbieten – hier geht es jedoch um die Bastelei, nicht darum, dass man es auch anders machen kann.

Ein Bundle, welches eine Dummy-Datei mit den Instruktionen zur Beschaffung der benötigten MIB-Datei, eine simple Lösung (simple-index.php) und eine etwas komplexere Lösung (index.php) beinhaltet, stelle ich auf Github und hier zum Download zur Verfügung. Achtung: Nutzung auf eigene Gefahr. In der komplexeren Lösung sind Ressourcen (Bootstrap, jQuery) von fremden Quellen eingebunden.

Video:

Bilder:

Quellen:

Tags: , , , , ,

Leave a Reply

Your email address will not be published.