Snapshot

  • Bug / Problem
  • erledigt / gelöst

This site uses cookies. By continuing to browse this site, you are agreeing to our Cookie Policy.

Da in jedem Forum ein paar Regeln eingehalten werden müssen, möchte ich diese auch vorher hier festlegen und niederschreiben. Die grundsätzliche Netiquette setze ich bei Jedem voraus. Darüber hinaus möchte ich nur spezielle Regeln ansprechen:
- Unterlasse FullQuote sondern nutze Alternativen wie Inline-Quoting
-> siehe auch https://de.wikipedia.org/wiki/Fullquote vs. https://de.wikipedia.org/wiki/TOFU#Alternativen_zu_TOFU
- Unterlasse nichtssagende Antworten wie "Danke" oder "werde ich mal testen" oder ähnliches, sofern Du nicht der Threadersteller bist und einen Lösungsvorschlag angeboten bekommen hast.
- Vermeide Doppel-Posts (zwei Beiträge von Dir hintereinander) sondern editiere wenn möglich Deine Posts.

Danke...

  • Hallöchen nochmals,

    das erstellen eines Snapshot per PHP klappt zwar, aber es wäre natürlich schön, wenn dies mit der bereitgestellten Funktionalität maito und take_snapshot funktionieren würde.

    Hat einer das in Verbindung mit mjpg-streamer am Start?

    Ich bekomme immer:
    [doorpi.action.SingleActions.take_snapshot] error creating snapshot - maybe fswebcam is missing

    Den Umbau von Ewald kenne ich!

    In einem Event habe ich take_snapshot angesprochen. Klappt aber nicht.
    Die Mail kommt ohne Anhang, d.h. der Versand klappt schon mal.

    1. Muß etwas speziell angelegt werden?
    2. Muß für einen Snapshot der MJPG-Stream beendet werden?

    Auszug doorpi.ini:

    Source Code

    1. Sektion [DoorPi]
    2. snapshot_path = !BASEPATH!/../DoorPiWeb/snapshots/
    3. number_of_snapshots = 10
    4. snapshot_size = 1280x720
    und

    Source Code

    1. [EVENT_OnStartup]
    2. 10 = sleep:1
    3. 20 = take_snapshot
    4. 30 = mailto:******@********.de,DoorPi gestartet,DoorPi ist da!,true
    Danke. jbadmin

    The post was edited 1 time, last by jbadmin ().

  • RE: Snapshot

    jbadmin wrote:


    das erstellen eines Snapshot per PHP klappt zwar, aber es wäre natürlich schön, wenn dies mit der bereitgestellten Funktionalität maito und take_snapshot funktionieren würde.


    Alles was sich um Vid dreht, ist von anderen entwickelt wurden. Mir wäre es auch lieber es mit Python und im DoorPi Projekt selbst zu lösen.
    Dafür hab ich mir heute doch eine PiCam geholt und werde das vorbereiten.
    --
    MfG Thomas
  • RE: Snapshot

    Hallo jbadmin,
    meine Vermutung ist, das in den Modulen mailto.py und take_snapshot.py der Aufruf von fswebcam nicht ersetzt wurde.
    Meine Beschreibung zur Thematik findest Du im Hauptforum. Vielleicht hilft das bei der Fehlersuche weiter. In meinem Aufbau fehlt mittlerweile der mjpeg_streamer, da ich mit einer IP-Kamera im Netzwerk arbeite.
    Beitrag #1293

    Sehr wichtig ist auch die von Andreas (Nea) gemachte Beschreibung für die Implementation des mjpeg_streamers auf Git Hub Issue #130. Hier ist wirklich jeder Hinweis zu beachten.

    !!Achtung!! die im Beitrag #1293 beschriebene Fehlerbereinigung für mailto.py bitte nicht anwenden. Mir ist aufgefallen, dass die Deklaration in späteren Beiträgen beibehalten wurde und dafür im Programmcode, übrigens nur an einer Stelle, sub in subprocess geändert wurde.

    Eines ist mir noch aufgefallen:
    In Deiner doorpi.ini verwendest Du zuerst "take_snapshot", danach dann "mailto".
    Die Auswirkung ist, dass 2 Snapshots erzeugt werden. Einer mit dem Aufruf "take_snapshot", abgelegt in ...../DoorPiWeb/snapshots, der 2. Snapshot wird von mailto erzeugt, abgelegt als doorpi.jpg in /tmp.
    Das kann durchaus von Dir so gewollt sein. Ich wollte nur darauf aufmerksam machen, dass Du 2, quasi gleiche Snapshots unmittelbar hintereinander erzeugst.

    Gruß
    Ewald



    forum-raspberrypi.de/Thread-ha…port?pid=190874#pid190874
  • RE: Snapshot

    motom001 wrote:


    jbadmin wrote:


    das erstellen eines Snapshot per PHP klappt zwar, aber es wäre natürlich schön, wenn dies mit der bereitgestellten Funktionalität maito und take_snapshot funktionieren würde.


    Alles was sich um Vid dreht, ist von anderen entwickelt wurden. Mir wäre es auch lieber es mit Python und im DoorPi Projekt selbst zu lösen.
    Dafür hab ich mir heute doch eine PiCam geholt und werde das vorbereiten.


    Hallo Thomas,

    dann werde ich wohl auf Neuigkeiten von dir warten.
    Die Änderung der mailto und take_snapshot sind ja nicht updatesicher.

    Danke, jbadmin
  • RE: Snapshot

    Freiwillige Tester nach vorn:

    Branch: github.com/motom001/DoorPi/tree/action_take_snapshot_picam
    Installationsanleitung:
    Anleitung Pi2 + Jessie (Release 2016-02-26) mittels manueller Installation

    Source Code

    1. sudo pip uninstall -y doorpi
    2. sudo rm -r -f /tmp/DoorPi
    3. git clone https://github.com/motom001/DoorPi.git -b action_take_snapshot_picam /tmp/DoorPi
    4. cd /tmp/DoorPi
    5. sudo python ./setup.py install



    Auszug aus der Changelog:

    Version: 2.5.0.1 (2016-03-17)
    -------------------------------
    ! fix bug for mailto an take_snapshot

    send Mail with new pic from PiCam:
    ```
    [EVENT_AfterStartup]
    10 = take_snapshot
    20 = mailto:motom001@gmail.com,Mailversand mit Bild,Das ist das Bild als Mailtext,true
    ```

    send Mail with new pic from Webcam:
    ```
    [EVENT_AfterStartup]
    10 = take_snapshot:vvo-online.de/img/webcamimages/carolabruecke-4.jpg
    20 = mailto:motom001@gmail.com,Mailversand mit Bild,Das ist das Bild als Mailtext,true
    ```

    and settings for SMTP (checked with 1&1 SMTP-Account):
    ```
    [SMTP]
    server = smtp.1und1.de
    port = 587
    username = email@doorpi.org
    password = password
    from = email@doorpi.org
    use_ssl = false
    use_tls = true
    need_login = true
    ```
    --
    MfG Thomas

    The post was edited 1 time, last by motom001 ().

  • RE: Snapshot

    Hallöchen,
    erster Schnellschuss liefert im Log:
    2016-03-18 14:31:26,226 [TRACE]         [doorpi.action.base] run SnapShotAction with args () and kwargs {'snapshot_path': '/usr/local/etc/DoorPi/../DoorPiWeb/snapshots$
    2016-03-18 14:31:27,121 [TRACE]         [doorpi.conf.config_object] get_integer for key number_of_snapshots in section DoorPi (default: 10) returns 10
    2016-03-18 14:31:27,318 [ERROR]         [doorpi.action.handler] [G0EDE0] error while fire action SnapShotAction with args () and kwargs {'snapshot_path': '/usr/local/e$
    Traceback (most recent call last):
      File "/usr/local/etc/DoorPi/doorpi/action/handler.py", line 284, in fire_event_synchron
        result = action.run(silent)
      File "/usr/local/etc/DoorPi/doorpi/action/base.py", line 48, in run
        return self.__callback(**self.__kwargs)
      File "/usr/local/etc/DoorPi/doorpi/action/SingleActions/take_snapshot.py", line 49, in get_snapshot_from_picam
        with picamera.PiCamera() as camera:
      File "/usr/lib/python2.7/dist-packages/picamera/camera.py", line 488, in __init__
        self.STEREO_MODES[stereo_mode], stereo_decimate)
      File "/usr/lib/python2.7/dist-packages/picamera/camera.py", line 620, in _init_camera
        prefix="Camera component couldn't be enabled")
      File "/usr/lib/python2.7/dist-packages/picamera/exc.py", line 191, in mmal_check
        raise PiCameraMMALError(status, prefix)
    PiCameraMMALError: Camera component couldn't be enabled: Out of resources (other than memory)

    Werde aber heute Abend noch einmal schauen.
    Danke, jbadmin
  • RE: Snapshot

    Hallo Thomas,
    die Überarbeitung von "take_snapshot" ist Dir gut gelungen. Die .jpg werden jetzt mit einem vernünftigen Zeitstempel versehen und werden auch rollierend ersetzt. :)
    Abgefragt wird eine Netzwerkkamera, nicht eine raspberry kamera.

    Was bei mir zuerst nicht ging war der Mailversand. Das lag daran, das jetzt das Parameter "use_ssl" zwingend angegeben werden muss, bei mir mit dem Wert "ssl".

    Meine bisher funktionierende Konfiguration in der doorpi.ini (Original Namensfelder und Passwort ersetzt)

    Source Code

    1. [SMTP]
    2. from = Vorname.Nachnahme@gmx.de
    3. need_login = true
    4. password = 1234567890
    5. port = 587
    6. server = mail.gmx.net
    7. use_tls = true
    8. username = Vorname.Nachnahme@gmx.de


    Fehlermeldung aus doorpi.log

    Source Code

    1. 2016-03-19 07:17:12,768 [ERROR]   [doorpi.action.SingleActions.mailto] couldn't send email
    2. Traceback (most recent call last):
    3.  File "/usr/local/lib/python2.7/dist-packages/DoorPi-2.5.0.1-py2.7.egg/doorpi/action/SingleActions/mailto.py", line 36, in fire_action_mail
    4.    server = smtplib.SMTP_SSL(smtp_host, smtp_port)
    5.  File "/usr/lib/python2.7/smtplib.py", line 792, in __init__
    6.    SMTP.__init__(self, host, port, local_hostname, timeout)
    7.  File "/usr/lib/python2.7/smtplib.py", line 256, in __init__
    8.    (code, msg) = self.connect(host, port)
    9.  File "/usr/lib/python2.7/smtplib.py", line 316, in connect
    10.    self.sock = self._get_socket(host, port, self.timeout)
    11.  File "/usr/lib/python2.7/smtplib.py", line 798, in _get_socket
    12.    new_socket = ssl.wrap_socket(new_socket, self.keyfile, self.certfile)
    13.  File "/usr/lib/python2.7/ssl.py", line 891, in wrap_socket
    14.    ciphers=ciphers)
    15.  File "/usr/lib/python2.7/ssl.py", line 566, in __init__
    16.    self.do_handshake()
    17.  File "/usr/lib/python2.7/ssl.py", line 788, in do_handshake
    18.    self._sslobj.do_handshake()
    19. SSLError: [SSL: UNKNOWN_PROTOCOL] unknown protocol (_ssl.c:581)
    Display All

    The post was edited 1 time, last by RaspiEHU ().

  • RE: Snapshot

    Hallo Thomas,
    die Überarbeitung von "take_snapshot" ist Dir gut gelungen. Die .jpg werden jetzt mit einem vernünftigen Zeitstempel versehen und werden auch rollierend ersetzt. :)
    Abgefragt wird bei mir eine Netzwerkkamera, nicht eine raspberry kamera.

    Was bei mir zuerst nicht ging war der Mailversand. Das lag daran, das jetzt das Parameter "use_ssl" zwingend angegeben werden muss, bei mir mit dem Wert "use_ssl = False". Das war bisher nicht notwendig. ;)

    Gruß
    Ewald
  • RE: Snapshot

    Hallo,

    da ich jetzt erst wieder ein wenig Zeit hatte, habe ich mich nochmal mit dem Thema beschäftigt.

    2016-03-20 10:46:21,806 [TRACE] [doorpi.action.handler] [KPFRHS] try to fire action SnapShotAction with args () and kwargs {'snapshot_path': ''}
    2016-03-20 10:46:21,810 [TRACE] [doorpi.action.base] run SnapShotAction with args () and kwargs {'snapshot_path': ''}
    2016-03-20 10:46:22,751 [ERROR] [doorpi.action.handler] [KPFRHS] error while fire action SnapShotAction with args () and kwargs {'snapshot_path': ''} for event$
    Traceback (most recent call last):
    File "/usr/local/etc/DoorPi/doorpi/action/handler.py", line 284, in fire_event_synchron
    result = action.run(silent)
    File "/usr/local/etc/DoorPi/doorpi/action/base.py", line 48, in run
    return self.__callback(**self.__kwargs)
    File "/usr/local/etc/DoorPi/doorpi/action/SingleActions/take_snapshot.py", line 48, in get_snapshot_from_picam
    filename = get_next_filename(snapshot_path)
    File "/usr/local/etc/DoorPi/doorpi/action/SingleActions/take_snapshot.py", line 31, in get_next_filename
    os.makedirs(snapshot_path)
    File "/usr/lib/python2.7/os.py", line 157, in makedirs
    mkdir(name, mode)
    OSError: [Errno 2] No such file or directory: ''

    Leider bleibt ein ERROR im log wie beschrieben. Ich bin jetzt kein Spezi, aber meckert er nicht über eine Pfadangabe?

    Probiert habe ich in der Sektion [DoorPi]
    snapshot_path = !BASEPATH!/../DoorPiWeb/snapshots
    # snapshot_path = !BASEPATH!/doorpi/media/snapshots
    snapshot_path =

    Ich wäre um einen Denkanstoß eurerseits verlegen ;)

    Danke, jbadmin

    The post was edited 1 time, last by jbadmin ().

  • RE: Snapshot

    Hallo Thomas,

    doorpi wird als Dienst ausgeführt. Also automatisch beim Start.

    Die Verzeichnisse existieren alle!!!

    Was aber komisch ist: ps -ax liefert

      521 tty1     Ss+    0:00 /sbin/agetty --noclear tty1 linux
      759 ?        Sl     8:02 /usr/bin/python /usr/local/etc/DoorPi/main.py start --configfile /usr/local/etc/DoorPi/conf/doorpi.ini --trace
      760 ?        Ss     0:00 /usr/sbin/exim4 -bd -q30m
      858 ?        S      0:00 /usr/bin/python /usr/local/etc/DoorPi/main.py start --configfile /usr/local/etc/DoorPi/conf/doorpi.ini --trace
     1006 ?        Ss     0:00 sshd: pi [priv]

    Wird der doorpi zweimal gestartet?????? Und wenn ja, wo kann ich dies finden und beheben?

    Danke, jbadmin

    The post was edited 1 time, last by jbadmin ().

  • RE: Snapshot

    Hi Thomas,

    ok. Und wie komme ich nun meinem Problem auf die Schliche?

    Da ich manuell installiert habe, sind von mir die Skripte take_snapshot.py und mailto.py händisch geupdatet worden.
    Also der Inhalt der Skripte ist damit gemeint.

    Muß ich denn sonst noch eine Änderung vornehmen? Ich bin kein LINUX-Spezi!!!! Sorry.

    Danke und Gruß jbadmin
  • RE: Snapshot

    Wer kann mir bitte helfen!!!!!

    Ich versuche immer noch einen snapshot hinzubekommen.

    Jetzt habe ich die Installation neu aufgesetzt. Alles wie es soll!!!!

    Jetzt habe ich auch das Update eingespielt, aber das log meckert immer noch. Ich kapiere es einfach nicht!

    2016-03-21 20:45:42,788 [ERROR]         [doorpi.action.handler] [K1IF7O] error while fire action SnapShotAction with args () and kwargs {'snapshot_path': '/tmp'} for e$
    Traceback (most recent call last):
      File "/usr/local/lib/python2.7/dist-packages/DoorPi-2.5.0.1-py2.7.egg/doorpi/action/handler.py", line 284, in fire_event_synchron
        result = action.run(silent)
      File "/usr/local/lib/python2.7/dist-packages/DoorPi-2.5.0.1-py2.7.egg/doorpi/action/base.py", line 48, in run
        return self.__callback(**self.__kwargs)
      File "/usr/local/lib/python2.7/dist-packages/DoorPi-2.5.0.1-py2.7.egg/doorpi/action/SingleActions/take_snapshot.py", line 49, in get_snapshot_from_picam
        with picamera.PiCamera() as camera:
      File "/usr/lib/python2.7/dist-packages/picamera/camera.py", line 488, in __init__
        self.STEREO_MODES[stereo_mode], stereo_decimate)
      File "/usr/lib/python2.7/dist-packages/picamera/camera.py", line 620, in _init_camera
        prefix="Camera component couldn't be enabled")
      File "/usr/lib/python2.7/dist-packages/picamera/exc.py", line 191, in mmal_check
        raise PiCameraMMALError(status, prefix)
    PiCameraMMALError: Camera component couldn't be enabled: Out of resources (other than memory)

    Ich habe den mjpg_streamer jetzt mal ausgeschaltet.

    Arbeite ich mit dem Event mailto, so kommt im log

    2016-03-21 21:17:02,465 [ERROR] [doorpi.action.SingleActions.mailto] send not attachment for this mail: coercing to Unicode: need string or buffer, bool found
    Traceback (most recent call last):
    File "/usr/local/lib/python2.7/dist-packages/DoorPi-2.5.0.1-py2.7.egg/doorpi/action/SingleActions/mailto.py", line 59, in fire_action_mail
    with open(smtp_snapshot, "rb") as snapshot_file:
    TypeError: coercing to Unicode: need string or buffer, bool found

    20 = mailto:xxx@xxxx.de,DoorPi ist da!,DoorPi ist da!,true
    Er kommt also am Ende des Strings nicht mit dem true klar.

    Herzlichen Dank für eure Mühe, jbadmin

    The post was edited 1 time, last by jbadmin ().

  • RE: Snapshot

    Hallo Thomas,

    die "!" aus dem Aufruf raus war es nicht.

    Hier die URL:
     /usr/local/bin/mjpg_streamer -i "/usr/local/lib/input_uvc.so -d /dev/video0 -n -r 1024x768 -f 24 –q 80" -o "/usr/local/lib/output_http.so -n -w /usr/local/www -p 8082" >/dev/null 2>&1 &

    Gruß, jbadmin