Strom schalten mit dem Rasperry Pi

Strom schalten mit dem Raspberry Pi

Hier zeige ich Euch wie Ihr mit einfachen Mitteln und günstiger Pi Hardware Strom mit den Raspberry über Euer Netzwerk schalten und damit z.B. auch über OpenHab steuern könnt.Wir verwenden dafür die sogenannten GPIO Pins des Pi’s und setzen das Ganze in Python um.


Warnung: Arbeiten an 230 Volt Haushaltsstrom sollte nur von einer Elektro Fachkraft durchgeführt werden ! Ein Stromschlag mit dieser Spannung kann tödlich sein !

Was wird benötigt ?
  • Raspberry Pi Model (hier Pi2 Model B)
  • USB Netzteil
  • Verbindungskabel Female-Female (z.B. so was)
  • Relaisboard mit 5V Betriebsspannung(ich verwende das)
  • ggfs. Keyboard und Montior
Raspberry GPIO Pin Layout

Bevor es losgeht benötigt Ihr(am besten als Ausdruck) das sogenannte GPIO Pin Layout. GPIO bedeutet: General Purpose Input Output. Diese PIN’s sind durchnummeriert und werden zur Kommunikation mit anderen Elektronikbauteilen verwendet. Das Pin Layout beschreibt welcher PIN welche Funktion hat. Grundsätzlich gibt es 3 verschiedene Arten von Pins:

  1. Spannung (VCC)
  2. Masse (Ground)
  3. GPIOs

Bei der Spannung gibt es sowohl 3 Volt als auch 5 Volt. Im Bild auf der linken Seite seht Ihr das Pin-Layout meines Pi’s.

Verbindung zum Relaisboard

Am Relaisboard findet Ihr ähnlich wie beim Raspberry, eine Pin-Leiste. Diese Pins müsst Ihr mit den korrekten Pins des Pi’s verbinden. Bevor Ihr nun die Verbindungen herstellt kontrolliert bitte genau ob Ihr auch den richten Pin erwischt habt. Ich hab es selbst nie ausprobiert, könnte mir aber vorstellen, dass im ungünstigsten Fall einer falschen Verbindung(z.B. Versorgungsspannung direkt auf Masse) Schäden an den Bauteilen enstehen können – also immer doppelt kontrollieren.

Nun zum Anschluss: Das Relaisboard benötigt eine Versorgungsspannung. Diese ist mit dem Wort VCC auf meinem Relaisboard gekennzeichnet. Da mein Relaisboard als Versorgungsspannung 5V benötigt verbinde ich diese direkt mit 5Volt Pin des Pi’s. Danach verbindet Ihr den Pin GND oder Ground mit einem Masse-Pin des Pi’s. Evtl. leuchtet jetzt schon eine LED auf dem Relaisboard die Euch signalisiert dass das Gerät nun betriebsbereit ist. Jetzt sucht Ihr Euch einen GPIO Pin auf dem Raspberry aus. Da Ihr vermutlich sonst noch nichts angeschlossen habt, habt Ihr die freie Auswahl. Hier im Beispiel verwenden wir GPIO2 auf Pin3. Diesen Pin verbindet Ihr nun mit “IN1” auf Eurem Relaisboard. Vermutlich passiert jetzt noch nichts.

Python Code

Nun kommt der spannende Teil… Meldet Euch an Eurem Pi(vermutlich als User pi) und kontrolliert zunächst ob Ihr Python installiert habt. Das sähe dann so aus:

Gut – hier ist Python installiert. Falls das nicht der fall sein sollte lässt sich das kurzfristig nachholen:

Nun legen wir uns der Ordnung halber ein passendes Verzeichnis an:

Hier hinein kommt unser erstes Stück Software. Nennen wir es Mal “blinker.py”.

Falls Ihr lieber nano oder einen anderen Editor verwenden möchtet macht das natürlich gerne.
Hier der Inhalt von blinker.py:

Wichtig zu wissen: Ein GPIO.cleanup() sorgt für ein sauberes Zurücksetzen der PIN Status. Passiert das nicht, haben die von Euch verwendeten PINs danach einen undefinierten Zustand welcher AN oder AUS sein kann. Damit dies auch im Falle eines Programmabbruchs (Ctrl + C) passiert packen wir die cleanup Methode auch nochmal in den Exception Block.

Nachdem Ihr die Datei abgespeichert und wieder geschlossen habt, machen wir das Ganze noch ausführbar:

Und nun kommt der spannende Moment. Wir führen das Programm aus. Wenn Ihr alles richtig gemacht habt solltet Ihr jetzt sehen(und hören) dass das erste Relais 20x hintereinander schaltet:

Please follow and like us:

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.