Ich habe ein Web-Interface für ein einfaches Himbeer-Pi-Projekt entwickelt. Es schaltet nur die Lichter ein und aus, aber ich habe versucht, eine Dimmfunktion mit PWM hinzuzufügen.Object Persistence in WSGI
Ich verwende modWSGI mit Apache und RPi.GPIO für GPIO-Zugriff. Für meinen Prototyp verwende ich (3) SN74HC595 in Reihe für die LED-Ausgänge und versuche, die OE-Linie zu PWM zu dimmen, um die Lichter zu dimmen.
Der Betrieb der Schieberegister ist einfach, weil sie die Ausgänge zwischen Updates halten. Damit PWM jedoch funktioniert, muss die GPIO.PWM-Instanz zwischen WSGI-Sitzungen aktiv bleiben. Damit habe ich Probleme. Ich arbeite seit ein paar Tagen daran und habe hier ein paar ähnliche Fragen gesehen. Aber nichts für aktive Objekte wie PWM, nur einfache Zähler und so.
Meine beiden Gedanken sind:
1) Verwenden Sie den globalen Bereich des PWM-Objekt zu halten und PWM.ChangeDutyCycle()
in der WSGI Funktion Helligkeit ändern. Dieser Ansatz hat früher funktioniert, aber es scheint, als ob es nicht hier wäre.
Oder 2) Erstellen Sie einen System-Level-Daemon (oder etwas) und Aufrufe an diese innerhalb meiner WSGI-Funktion.