Raspberry Zero über SSH Kameravorschau

  • Hallo! Mein Name ist Michael


    Ich bin relativ neue mit dem Thema PI (Hatte mir bisher nur einen Octoprint-Server aufgebaut) und habe in der Suche nichts gefunden.


    Ich spiele gerade ein wenig mit einem PI-Zero und möchte ein in Richtung Zeitraffer/ Überwachungskamera probieren.

    Aus diesem Grund habe ich den Zero nur mit der Kamera verbunden, mit einem Huawei 2A Netzteil an Strom gehäng und greife über SSH und Remotedesktop zu.


    Leider wird mir in der Konfiguration aber keine Vorschaubild angezeigt (kann nicht - habe ich gefunden),

    Ich bin dann auf https://github.com/sixbacon/RPICameraGUI gestoßen.


    Leider kommt dort immer die Fehlermeldung


    Traceback (most recent call last):

    File "/home/pi/RPICameraGUI/RPICameraGUI.py", line 10, in <module>

    import wx

    ModuleNotFoundError: No module named 'wx'


    Ich habe jetzt schon diverse Anleitungen zum installieren des Panel probiert. Es klappt aber nie mit diversen Problemen.


    Kann mir jemand sagen, was ich tun muss bzw. wie ich die richtige Version von WX finde, die er auch "frisst"?


    Vielen Dank!

  • Hallo flokki1,


    du kannst anstelle von RDP den eingebauten VNC Server aktivieren und es mit dem experimental direct capture mode probieren. Wie das aktiviert wird, steht hier. Dann würdest du die Vorschau angezeigt bekommen. Die Kamerabefehle funktionieren allerdings auch ohne Vorschau oder GUI, du brauchst sie nur ins Terminal zu tippen (Dokumentation).

  • Hallo und vielen Dank für eure Hinweise. :)


    pip install wxPython - Habe ich jetzt 4x probiert. 2x scheint er bei 99 % Download abgebrochen zu haben. Da stand dann "getötet" und 2x spuckte er reichlich Fehler aus:


    Das Script starte ich in "Thonny" indem ich auf Run clicke.


    Den Hinweis zu VNC muss ich dann mal anschauen.

  • Dieses Programm ist von 2013. Seitdem hat sich einiges verändert. Du kannst meinen Quelltext mal mit Thonny testen. Ich bin aber kein Programmierer, das hatte ich nur für mein kleines Touchdisplay zum Testen geschrieben. Es schreibt die Befehle auch in die Konsole. Timelapse ist aber nicht dabei.

    • Official Post

    2x scheint er bei 99 % Download abgebrochen zu haben. Da stand dann "getötet"

    Das habe ich (leider) gerade feststellen müssen.


    Den von Tigerbeere vorgeschlagenen direct capture mode kannte ich noch garnicht. Funktioniert bei mir zumindest schon mal mit dem omxplayer. :thumbup:

  • Ihr müsstet mir bitte nochmal auf die Sprünge helfen:


    Tigerbeere: Nachdem ich den versteckten Link gefunden hab, hab ich es probiert und es macht auf jeden Fall Bilder. :) Eine Vorschau sehe ich aber nicht:

    Müsste/ wann müsste die kommen?


    Das VNC habe ich jetzt aktiviert und kann auch auf den PI zugreifen. Auffällig ist, dass die Auflösung sehr schlecht und alles sehr langsam ist. Aber auch da passiert beim Befehl "raspistill -t 0" nichts. Ich hatte ja auch gelesen, dass das bei solchen "Spiegelungen" nicht klappen kann. Hab ich einen Denkfehler?

  • Benutzt du am Client auch den offiziellen dazugehörigen Viewer? Den brauchst du für beides (flüssiges VNC und Vorschau im experimental mode). Hast du den experimental mode eingeschaltet? Ich benutze immer andere VNC Server / Viewer, daher habe ich die Vorschau über VNC noch nie gesehen. Flüssig sollte es aber trotzdem gehen, wenn am VNC Client der X Composition Manager deaktiviert wird.


    -------

    Du musst auch eine Auflösung einstellen und darfst keinen virtuellen Desktop benutzen. Dazu das Tutorial anschauen. Die Spoiler dort sind wichtig. Der Raspberry muss headless in den Desktop booten.


    --------

    Quote

    Müsste/ wann müsste die kommen?

    Die Vorschau wird auf dem Display ausgegeben, wenn du das Foto machst. Ich sehe die auf meinen direkt angeschlossenen Monitoren und Displays immer. Vielleicht fällt dir auf, dass es eine kurze Verzögerung gibt, wenn du das Foto auslöst. Währenddessen wird auch die Vorschau am HDMI Ausgang ausgegeben. Die ganze "delay" immer. Auch bei "no delay" werden 750ms als t- Wert genommen.


    Der Versuch mit VNC ist ja nur experimentell. hyle hat diesen capture Modus mit dem omxplayer getestet, daher sollte es mit der Kamera auch klappen.

    Edited 3 times, last by Tigerbeere: Ergänzungen ().

  • Ah ja - vielen Dank!


    So geht es.


    2 kleine OT-Fragen hätte ich noch an euch:


    - Liegt es an meinen Eistelllungen, dass sich die Links von Tigerbeere nicht sehen kann? ( Ich hab jetzt wieder verzweifelt einen "Tutorial" gesucht)


    - Ich hatte mir eine IR-Kamera gekauft. Für die aktuellen Versuche ist das aber hinderlich, weil sie ja hinter einer Scheibe steht und so im Dunklen nur der "IR-Blitz" festgehalten wird. Kann man das SW-seitig deaktivieren?

    • Official Post

    Ich verstehe ehrlich gesagt beide Fragen nicht. :blush:


    Was meinst Du mit "Links nicht angezeigt"? Was passiert wenn Du draufklickst?


    Zur zweiten Frage musst Du mal etwas ausführlicher werden welche Cam, welche Software dazu verwendet wird. Du meinst der "Blitz" spiegelt sich an der Scheibe oder?

  • Ich verstecke die Links nicht unsichtbar, sondern wie HTML-Links im Internet, genau wie hier Markierungen von Personen flokki1. Eigentlich sollte der Link im Browser eine andere Farbe haben. Bei mir sind die rot. Es steht halt kein https://www.examplefekjewhjhefje.comde da, meinst du das mit Verstecken (oder vielleicht farbenblind)?


    Softwareseitig nicht, du kannst höchstens IR-Fix anmachen, das ist der greyworld Filter. Die IR-Module haben meistens einen kleinen einstellbaren Widerstand, der ist aber nicht dafür gedacht das Licht im Dunkeln auszuschalten, sondern genau umgekehrt.


    hyle Die Software, die er benutzt, ist von mir für ganz kleine Displays geschrieben. Er ist Alphatester mit dem Zero :) Die GUI bastelt nur raspistill Befehle zusammen. Dann braucht man auf einem Touchdisplay keine Bildschirmtastatur um die Befehle mühsam ins Terminal zu tippen.


    Durch die IR-Module sieht man im Dunkeln nichts auf glatten Ablagen oder Scheiben nahe der Kamera. Es sollte nichts im Weg stehen. Anderenfalls wird alles überstrahlt und ist letztendlich weiß. Bei den Befehlen (von raspistill / raspivid / picamera) gibt es den AWB Modus greyworld. Der nimmt das rot aus den Bildern raus. Am Tag macht das Sinn, damit die Bilder nicht rosa aussehen. Nachts braucht man jedoch das rote Licht der Module, um etwas zu erkennen.

    Daher sind die Kameras mit automatisch schaltbaren IR Cut Filter und IR-LEDs am besten. Die machen gute Nachtsichtaufnahmen und am Tag keine roten Bilder.


    ------

    Weil das Thema noch SSH im Titel hat. Du kannst Dienste wie VNC durch SSH tunneln (verschlüsseln). Der Real Server ist standardmäßig verschlüsselt (das kann auch deaktiviert werden) aber nicht alle VNC Server verschlüsseln den Datenverkehr. Daher ist ein Tunnel schon sinnvoll.

    Code
    ssh -p 22 -N -f -L 5900:localhost:5900 pi@raspberrypi

    Den VNC Client dann auf localhost connecten.

    Edited 3 times, last by Tigerbeere: Ergänzungen ().

  • Ich verstecke die Links nicht unsichtbar, sondern wie HTML-Links im Internet, genau wie hier Markierungen von Personen flokki1. Eigentlich sollte der Link im Browser eine andere Farbe haben. Bei mir sind die rot. Es steht halt kein https://www.examplefekjewhjhefje.comde da, meinst du das mit Verstecken (oder vielleicht farbenblind)?

    Du hast den Daumen drauf: ich bin tatsächlich Rot-Grün-Blind und wenn da kein Rahmen drum ist, wie der der Nennung von Personen, sehe ich da 0,0. Sry.


    Quote

    hyle Die Software, die er benutzt, ist von mir für ganz kleine Displays geschrieben. Er ist Alphatester mit dem Zero :) Die GUI bastelt nur raspistill Befehle zusammen. Dann braucht man auf einem Touchdisplay keine Bildschirmtastatur um die Befehle mühsam ins Terminal zu tippen.

    Funktioniert sehr gut. :thumbup:


    Quote

    ------

    Weil das Thema noch SSH im Titel hat. Du kannst Dienste wie VNC durch SSH tunneln (verschlüsseln). Der Real Server ist standardmäßig verschlüsselt (das kann auch deaktiviert werden) aber nicht alle VNC Server verschlüsseln den Datenverkehr. Daher ist ein Tunnel schon sinnvoll.

    Code
    ssh -p 22 -N -f -L 5900:localhost:5900 pi@raspberrypi

    Den VNC Client dann auf localhost connecten.

    Das wäre Abteilung Datenschutz?

    Was bedeutet "auf localhost connecten"?

  • Danke Michael für das Lob und ich versuche Links zukünftig zu kennzeichnen.


    Auf localhost connecten heisst, dass du dann, wie im Beispiel von hyle nicht die 192.168.178.39 als IP Adresse nimmst, sondern "localhost" und Port 5900. Der Tunnel leitet den Port einfach weiter zwischen localhost (dem eigenen Rechner) und dem raspberry durch ssh.

    • Official Post

    aber nicht alle VNC Server verschlüsseln den Datenverkehr.

    Ich sags mal so: flokki1 verwendet den vorinstallierten Real-VNC-Server und ziemlich sicher auch den Real-VNC-Viewer. Das ist gut so, denn dann sind sowohl Geschwindigkeit der Anzeige, als auch die Verschlüsselung optimal. An dieser Stelle würde ich einen SSH-Tunnel (zumal im eigenen Netzwerk) als vernachlässigbar erachten. ;)

  • Das stimmt natürlich. Das war nur um den Bezug zum Thementitel herzustellen. Im vertrauenswürdigen LAN ist das nicht notwendig. Das klappt aber auch über das Internet und auch mit anderen Diensten wie normalen Webservern usw. Man spart sich dadurch vielleicht ein TLS-Zertifikat oder die VPN Konfiguration. Das ist praktisch, wenn der SSH Zugang sowieso zur Fernwartung genutzt wird oder man nicht weiß, ob der VNC Server verschlüsselt. Man spart sich dadurch (übers Internet) auch die Portfreigabe von den anderen Ports im Router, weil alles durch den Tunnel geschickt wird. Daher darfst du das gerne testen, wenn du den Zero zum Experimentieren benutzt. :)