Raspi schaltet Funksteckdosen

Aus FabLab Winti Wiki
Zur Navigation springen Zur Suche springen

Raspi schaltet Funksteckdosen ist ein Benutzerprojekt


Eigenverbrauchsoptimierung für PV-Anlagen
Benutzerprojekt
Projekt: Eigenverbrauchsoptimierung für PV-Anlagen
Benutzer: Renato Pichler
Bereich: Effizienzsteigerung
Technologie: Lasercutter / Programmierung / Elektronik


Raspi mit Display schaltet Funksteckdosen.jpg

Projektbeschreibung

Das Kästchen fragt beim Wechselrichter/Stromzähler die aktuellen Daten ab und schaltet Funksteckdosen bei Stromüberschuss ein. Die Ein- und Ausschaltleistungsschwellen können über den eingebauten Webserver eingestellt werden. Zudem werden die aktuellen Leistungsdaten in einem Display von Raspberry Pi 3 angezeigt.


Code

Der Code besteht aus PHP-Skripten und Python Skripten. Python, weil gewisse Hardware nur damit einfach angesprochen werden kann.

Display ansprechen

Python-Datei mit der das Display angesprochen wird: (Datei: LCD_show.py)

#!/usr/bin/env python
import sys
import lcddriver
from time import *
lcd = lcddriver.lcd()
lcd.lcd_clear()
lcd.lcd_display_string(sys.argv[1], 1)
lcd.lcd_display_string(sys.argv[2], 2)

Dieses Skript kann in PHP mit folgendem Code angesprochen: exec("sudo /home/pi/I2C-LCD/LCD_show.py 'Welcome!' 'Please wait.'", $result);

Der erste Parameter (Welcome!) wird in der 1. Zeile angezeigt, der 2. Parameter (Please wait.) in der 2. Zeile.

Netzwerk angeschlossen?

Hier ist der Code, der so lange das Programm aufhält, bis das Raspi im Netz angemeldet ist und eine IP-Adresse erhalten hat. Diese IP wird dann im Display angezeigt (mind. 3 Sekunden lang): https://pastebin.com/x2uCdbJF

Funksignal

Ich konnte mit dem Funkhandsender das gewünschte Signal einlesen, analysieren und dann nachbauen. Hier war das Timing wichtig. Über PHP/Python waren die Signale zu ungenau/langsam. Deshalb habe ich pigs verwendet. Der Vorteil dieser Bibliothek ist, dass man ein Skript zur Ansteuerung der GPIO dort ablegen kann, dass dann abläuft. So hat man die Nachteile der Interpretersprachen umgangen. Dennoch ist das Funksignal noch immer nicht perfekt. Daran muss ich noch arbeiten...

Sromverbrauch

Beim Aufstarten bis zu 600 mA. Im Leerlauf rund 400 mA.

Normalbetrieb: 410 mA. Maximal kurzzeitig 550 mA. Runter gefahren: 120 mA (LEDs 50%).

Zum Vergleich: Mit 3,5 Zoll Touchscreen an Stelle der 2-zeiligen LCD-Anzeige benötigt das Raspi rund 510 mA im Betrieb und rund 700 mA beim Aufstarten.

Berücksichtigte Probleme

Funkansteuerung der Funksteckdosen mit dem Sendemodul für 433 MHz. Dazu musste erst das Signal vom Handsender eingelesen, analysiert und dann nachgebaut werden. Diese Anleitung war dazu eine grosse Hilfe. Ansteuerung der GPIO um LEDs bei Stromüberschuss aufleuchten zu lassen. Einrichten des Webservers auf dem Raspi. Speichern der Daten in MySQL-Tabellen. Darstellen der Leistungsdaten in einem Diagramm. Das mit dem Lasercutter ausgeschnittene Gehäuse musste genau passen, damit das Display rein passt.

Projektstatus

Grundfunktionen laufen alle. Gerät ist bei mir in Betrieb wird aber weiter optimiert.

Ausbaumöglichkeiten

Andere Funksteckdosen (mit mehr Leistung) unterstützen. Derzeit werden nur die von Steffen mit 1 kW Leistung unterstützt. Funktioniert derzeit nur mit PV-Wechselrichter von Fronius. Da andere Wechselrichter auch eine Programmierschnittstelle (API) verfügen, könnte man es evtl. auch auf diesen zum Laufen bringen.