Parallele Abfrage?

Wenn mehr als ein Gerät an den Raspberry angeschlossen werden sollen. Z.B. ein Regler und ein Wechselrichter oder mehrere Wechselrichter. Das Maximum sind 6 Geräte pro Raspberry Pi.

Moderator: Ulrich

Antworten
Payback2
Beiträge: 44
Registriert: Di 26. Mai 2020, 06:48
Hat sich bedankt: 3 Mal
Danksagung erhalten: 1 Mal

Parallele Abfrage?

Beitrag von Payback2 »

Hallo Ulrich,

besteht eigentlich die Möglichkeit, die Skripte für die einzelen Geräte parallel zu bearbeiten? Immerhin hat der Rasp 4b ja einen Vierkern Prozessor.

Beste Grüße,

Benutzeravatar
Ulrich
Administrator
Beiträge: 5503
Registriert: Sa 7. Nov 2015, 10:33
Wohnort: Essen
Hat sich bedankt: 152 Mal
Danksagung erhalten: 875 Mal
Kontaktdaten:

Re: Parallele Abfrage?

Beitrag von Ulrich »

Wer die Solaranzeige umprogrammiert könnte so etwas hin bekommen. Die Software ist ja Open Source. Ob der Aufwand sich lohnt kann ich leider nicht sagen.
-----------------------------------------------------
Ulrich . . . . . . . . [Projekt Administrator]

Payback2
Beiträge: 44
Registriert: Di 26. Mai 2020, 06:48
Hat sich bedankt: 3 Mal
Danksagung erhalten: 1 Mal

Re: Parallele Abfrage?

Beitrag von Payback2 »

;) ich schaue es mir mal an. Sollte ich erfolgreich sein, melde ich mich.

Beste Grüße

Payback2
Beiträge: 44
Registriert: Di 26. Mai 2020, 06:48
Hat sich bedankt: 3 Mal
Danksagung erhalten: 1 Mal

Re: Parallele Abfrage?

Beitrag von Payback2 »

Hallo Ulrich,

ich habe mir Deinen Code angeschaut. Damit ich weiß, ob ich auf dem richtigen Weg bin, kannst Du bitte meine Gedankengänge kurz prüfen?

Die Mulituser PHP Datei wird als cronjob gestartet und ruft über eine Schleife jeweils die spezifischen Config und die dazugehörige Geräte Datei auf. Alles per php und "require" Einbettung. Aus meiner Sicht machen dabei die Datenbank und MQTT Aufrufe keine Probleme, da sie für solche Anwendungsfälle optimiert sind. Das einzige Problem sehe ich, wenn parallel auf die Log Datei zugeriffen werden soll: Du hast zwar drei Versuche eingebaut, aber ich sehe ich trotzdem viel Potential für Zugriffskollisionen. Meine Idee wäre daher, statt jede einzelne Zeile direkt in die Datei zu schreiben, die Informationen erstmal in einem String zu sammeln und nur einmal am Ende der Schleife in die Datei zu schreiben. Um mögliche Zugriffskollisionen zu vermeiden, würde ich bei Problemen statt wie bisher eine feste Zeitspanne zu warten, eine zufällige wählen.

Passt das aus Deiner Sicht? Oder habe ich etwas übersehen?

Beste Grüße

Benutzeravatar
Ulrich
Administrator
Beiträge: 5503
Registriert: Sa 7. Nov 2015, 10:33
Wohnort: Essen
Hat sich bedankt: 152 Mal
Danksagung erhalten: 875 Mal
Kontaktdaten:

Re: Parallele Abfrage?

Beitrag von Ulrich »

Ja, man könnte die Programmierung auf vielfältige Weisen ändern und optimieren. Ich verstehe im Moment jedoch nicht dein Ziel. Auf was möchtest du hinaus?
Möchtest Du häufigere Abfragen bei mehr angeschlossenen Geräten oder geht es dir um eine Optimierung des Codes?
Alles was mit seriellen Verbindungen zu tun hat läuft bei einem parallelbetrieb nicht mehr so stabil. Wie du schon selber erkannt hast tauchen dann plötzlich ganz andere Probleme auf. Deshalb ist die Programmierung so seriell angelegt.
-----------------------------------------------------
Ulrich . . . . . . . . [Projekt Administrator]

Payback2
Beiträge: 44
Registriert: Di 26. Mai 2020, 06:48
Hat sich bedankt: 3 Mal
Danksagung erhalten: 1 Mal

Re: Parallele Abfrage?

Beitrag von Payback2 »

Danke für die schnelle Antwort! Mein Problem ist, dass ich ein 3 Phasen System mit 3 WR und je einem String habe, die über den 48V DC Bus Lastausgleich betreiben. Ich habe die Anlage jetzt ein paar Wochen laufen und Dank Deiner tollen Software ein paar merkwürdige Effekte festgestellt, unter Umständen ist einer der drei WR defekt... Bei der Analyse mit meinem Solarteur stört ihn, dass die Werte der WR jeweils 8 Sekunden auseinander liegen. Laut seiner Aussage, ist das elektrotechnisch eine Ewigkeit und die Werte daher nicht vergleichbar...
Ich möchte daher nicht öfter auslesen, sondern nur näher beieinander.

Beste Grüße

Antworten

Zurück zu „Multi-Regler-Version [ bis zu 6 Geräten an einem Raspberry Pi ]“