Hallo liebe Raspberry Freunde,
ich habe aktuell ein Projekt mit dem Raspberry Pi, einem Touchscreen, einer Cam und Kivy am laufen.
Es läuft soweit auch alles sehr gut, nur leider habe ich noch ein kleines aber wichtiges Problem.
Ich erstelle mir jede Sekunde von der Cam ein Bild und will dies in Kivy updaten. Dies funktioniert auch soweit, also er updatet jede Sekunden dieses, aber er "reloaded" es nicht, er zieht einfach das Bild aus einem alten Buffer sozusagen raus und verwendet dieses wieder.
Vielleicht hab ich Glück und jemand kennt sich mit Kivy aus und kann mir dabei helfen, wie ich diesen "Buffer" vor erneutem laden löschen kann.
Hier noch der wichtige Python Codeausschnitt:
#Update die CamBilder alle "UpdateCamZeit"-Sek
def Cam_Update(self, dt):
global bild_counter, var_pfad_alt
if os.path.isfile('/Bilder/livecam.jpg'):
os.popen('cp /Bilder/livecam.jpg /Bilder/livecam_bildschirm_1.jpg')
self.Bild = '/Bilder/livecam_bildschirm_1.jpg'
und der dazugehörige Kivy Ausschnitt:
<Hauptfenster>:
BoxLayout:
BoxLayout:
orientation: "vertical"
Image:
id: Bild
source: root.Bild
size_hint_x: 1
size_hint_y: 1
Also noch kurz erklärt: "Cam_Update" wird jede Sekunde upgedatet und überschreibt dann die source: root.Bild mit dem neuen Bild.
Mit verschiedenen Versuchen hab ich aber herausgefunden, dass er in "Bild" immer wieder das erste "jpg" lädt, obwohl sich das bild "livecam_bildschirm_1.jpg" bereits geändert hat. Deswegen vermute ich auf einen dazugehörigen Buffer, aber ich finde keine Möglichkeit diesen zu cleanen bzw zu umgehen.
Schon mal vielen Dank an alle die versuchen mir zu helfen.
Viele liebe Grüße an alle fleißigen Raspberry Pi Bastler