USB-Mikroskop über python steuern

  • Hallo zusammen,

    ich habe ein USB-Mikroskop für meinen Raspberry Pi, das alle 10s ein Bild aufnehmen soll. Momentan funktioniert dies über das folgende Programm:

    ffmpeg -y -f v4l2 -video_size 1280x720 -i /dev/video0 \

    -r 0.1 \

    -vf "drawtext=text=%{localtime}:fontcolor=white@1.0:fontsize=26:borderw=1:x=980:y=25" \

    -qscale:v 2 /home/pi/img%%-%d.jpg

    Wie kann ich alle Funktionen erhalten und das Programm in Thonny schreiben/ausführen?

    Ich will das Programm nicht mit Thonny aus dem nano-Editor öffnen, sondern ein neues Programm quasi schreiben, dass ich direkt in Thonny ausführen kann.

    Ich bin noch recht unerfahren und bräuchte Jemanden, der mir das verständlich schritt für schritt erklärt.

    Danke schon mal im Voraus!

    LG guesswho462

  • Moinsen,

    Du nimmst doch bestimmt Bezug auf diesen Beitrag ?
    Hat die Programmänderung mit :

    from subprocess import Popen

    process = Popen(['/home/pi/Mikroskop.sh'])

    nicht funktioniert ?

    Wenn du sagst, daß aller Zeit Einheit X ein Photo gemacht werden soll, warum machst du das nicht so:

    Python
    from subprocess import Popen
    
    Anzahl_Bilder = 5
    for _ in range(Anzahl_Bilder):
        relais.on()
        Popen(['/home/pi/Mikroskop.sh',])
        sleep(5) # Belichtungszeit
        relais.off()
        sleep(1) # Verweilzeit zwischen den Bildern

    Und dabei änderst du deinen SH-Script dahingehen, das nur 1 Bild aufgenommen wird.

    Franky

    Franky

  • Hi Franky,

    Doch es funktioniert grundsätzlich schon, aber bei vielen Bildern hintereinander kommt der Lichtring mit dem Bildermachen aus dem Takt quasi. Es ist dann nur jedes zweite oder dritte Bild beleuchtet, weil sich das von der Zeit her irgendwie verschiebt. Deshalb wollte ich einen WEg finden, die sh-Datei los zu werden um die Zeit zwischen den Bildern besser bestimmen zu können. Es braucht immer etwas Zeit bis die sh-Datei ausgeführt wird und bis die Schleife wieder von neu los geht.

    Die "Schleife" in der sh-Datei brauche ich aber, da bei einer einzelnen Aufnahme das Bild schwarz ist nur nur nach drei Bildern ein normales Bild raus kommt.

    Verstehst du was ich mein?

  • Moinsen,

    Siehe #2 .

    Hast du schon versucht Pro Bildaufnahmebefehl aus der Shell , d.h. in der Shell wird nur ein Bild aufgenommen, in dieser Form einer Schleife auszuführen, dass der Python-Script das Taktsignal dahingehend vorgibt.
    Schleife
    Licht an, ggf. Wartezeit, Shellbefehl für 1 Bild, irgendwas auch immer, Licht aus, eigentliche Verweilzeit zwischen den Bildern

    Franky

    Franky

  • Moinsen,

    Du sollst doch den Shellbefehl, diese Miroskop.sh Datei dazu dahingehend anpassen, oder abändern, dass dieser SH Script nur eine einzige Aufnahme macht.

    Ja das habe ich schon ausprobiert und die Bilder werden schwarz wenn man das dahingehend verändert. Ich brauche in der Sh-Datei diesen Befehl, dass mehrere Bilder hintereinander gemacht werden, sonst werden sie nix.

    Ich davhte auch, dass das eigentlich egal sein müsste, in welchem Programm ich sage wie viele Bilder es sein sollen... Ist es aber leider irgendwie nicht....

  • Hallo,

    ich bin noch auf microscope gestoßen. Erfahrung habe ich damit nicht, aber eventuell kannst du dein Mikroskop damit vollständig über Python steuern. Kannst dich ja mal einlesen.

    Wobei ich zuvor die Idee von noisefloor testen würde und dabei nocht check=True setzen. Sollte nach dem ausführen des Codes eine Fehlermeldung kommen, bitte vollständig hier posten.

    run(['/home/pi/Mikroskop.sh',], check=True)

    Grüße

    Dennis

    🎧 With the music execution and the talk of revolution, it bleeds in me and it goes 🎧

  • Hallo,

    Der Lichtring geht weder an noch aus dann..weils gar nicht dazu kommt.

    kannst du mal deinen Code zeigen? In dem Code hier im Thread wird das Relaise auf 'on' gesetzt bevor du die *.sh-Datei aufrufst.

    Du musst ja in der *.sh - Datei auch keine Dauerschleife laufen lassen, wenn das zweite Bild immer gut ist, dann lass das Mikroskop zwei Bilder machen und dann wird die *.sh-Datei verlassen und in Python schälst du das Relaise wieder aus.

    Oder eben alles in einer Sprache, dazu gabs ja schon Hinweise.

    Grüße

    Dennis

    🎧 With the music execution and the talk of revolution, it bleeds in me and it goes 🎧

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!