Ankündigung

Einklappen
Keine Ankündigung bisher.

Kamerabild nach Event....

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    Kamerabild nach Event....

    Hier mal, auf Nachfrage, meine Logik zum Speichern und senden eines Bildes einer Hikvision IP-Cam nach einem Event:

    Code:
    import urllib.request
    import shutil
    import time
    
    from urllib.request import Request, urlopen
    
    
    
        bild_url = 'http://192.168.178.100/streaming/channels/1/picture/?auth=XYZ' # Kamera URL für ein Einzelbild
        bild_dateiname1 = '_EG_Flur01.jpg'                    # Dateiname für die erste Datei
        bild_dateiname2 = '_EG_Flur02.jpg'                    # Dateiname für die zweite Datei
        bild_body = 'EG Flur'                                # Beschreibung für Pushbullet
    
        # Download ein file von einer `url` und lokales speichern unter einem file_name - Und mit Pushbullet senden:
        with urllib.request.urlopen(bild_url) as response, open('/tmp/cam'+bild_dateiname1, 'wb') as out_file:
            shutil.copyfileobj(response, out_file)
        filename1 = time.strftime('%Y%m%d_%H%M%S') + bild_dateiname1
        time.sleep(2)
        with urllib.request.urlopen(bild_url) as response, open('/tmp/cam'+bild_dateiname2, 'wb') as out_file:
            shutil.copyfileobj(response, out_file)
        filename2 = time.strftime('%Y%m%d_%H%M%S') + bild_dateiname2
        logger.info("Zwei Bilder von der Kamera geholt...")
        sh.pushbullet.file('/tmp/cam'+bild_dateiname1, body=bild_body)
        sh.pushbullet.file('/tmp/cam'+bild_dateiname2, body=bild_body)
    Die Logik dann einfach mit dem Event triggern....

    Grüße, Marc


    #2
    Super. Funktioniert !!!

    Kommentar


      #3
      Danke, funktioniert.

      bisher habe ich immer ein Script gehabt mit dem Inhalt:
      Code:
      curl "http://KAMERAIP/snapshot.cgi?user=XXXX&pwd=XXXXX" > /tmp/klingel.jpg
      welches dann beim drücken des Klingeltasters folgendermaßen aufgerufen wird:
      Code:
         # Bild von Klingel holen
         os.system('sh /usr/local/smarthome/bin/klingelimage.sh')
         sh.pushbullet.file("/tmp/klingel.jpg", body="Es hat geklingelt")
      aber deine Lösung ohne Medienbruch finde ich eleganter.

      Grüße Andreas
      Zuletzt geändert von McTao; 23.03.2018, 12:05. Grund: Schreibfehler

      Kommentar

      Lädt...
      X