Camera Supervising

  • Moin,

    Projekt:
    attachment.php?aid=3676


    Es handelt sich hierbei um eine webbasierte Überwachungs- und Kamerasteuerungsanlage. Die App ist an eine verschlüsselte (SHA256) sqlite3 DB gekoppelt. Es können nur registrierte User nach erfolgter Anmeldung die Kamera steuern, Bilder & Videos aufnehmen und die Alarmanlage an- und ausschalten. Zur Alarmanlage sei noch gesagt, dass diese - sobald der Bewegungmelder eine Bewegung meldet - automatisch ein SMS verschickt wird, ein Bild aufgenommen, ein Video aufgenommen und per Mail das Bild bzw. die Bilder verschickt werden. Das Alarmsystem kann per Mail sowie auch per Web-App an- und ausgeschaltet werden.

    Eines meiner persönlichen Voraussetzungen war, alles in Python zu schreiben und dabei den bescheidenen RPi CPU möglichst zu schonen. Darum verzichte ich auch extra auf viele fertige Anwendungen wie mjpge-streamer, motion etc und erfinde sozusagen das Rad neu bzw greife nur auf Python Module zurück.

    Der Grund für dieses Projekt hat seinen Ursprung darin, dass ich meinem ehemaligen Vermieter misstraut habe. Ich wollte den Sack also in flagranti erwischen, wie er in meiner Bude rumspuckt und so fing ich an, im www zu recherchieren. Lange Rede kurzer Sinn; ich hab mir nach und nach folgendes besorgt, geschrieben und gebastelt:

    Komponenten (hart):

    • Raspberry Pi, Typ B - Rev. 2, 512MB RAM
    • Pi-Case (Black)
    • Raspberry Pi® Camera
    • Pi-Pan-Kit (2x Tower Pro SG 90 Servos, 1x 6 Channel Servo Controller for Raspberry Pi)
    • Pi-Light
    • Bewegungmelder (PIR)
    • USB WiFi (802.11b/g/n) Module with Antenna for Raspberry Pi LB-LINK
    • Steckernetzteil 5V 1.2A

    Komponenten (weich):

    • picamera
    • bottle
    • servoblaster
    • gevent
    • CherryPy Server mit SSL Zertifikat
    • sqlite3
    • passlib (Authentifizierungsmethode zum Verhindern einer timing side-channel Attacke)

    Erledigt:

    • Hardware zusammen gebaut und ein wenig gepimt
    • webbasierte Kamerasteuerung
    • Alarmsystem Stand-Alone sowie über Web-App
    • Live Stream (mjpg)
    • Warpper und Ringpuffer, damit mehrere Clients gleichzeitig den Stream sehen können

    ToDo (nach Priorität):

    • Warpper und Ringpuffer, damit mehrere Clients gleichzeitig den Stream sehen können
    • h.264 Lieve-Stream in Echtzeit (wird so nicht gehen, da sämtliche Browser mit den Rohdaten h.264 nicht anfangen können)
    • Motion-Tracking (Kamera folgt automatisch der erkannten Bewegung mittels cv - sofern die CPU das überhaupt verkraftet)
    • Design der Web-App (css etc)

    Fotos unter:
    Pi-Pan Kit

    PS:
    Dieser Thread wird laufend aktualisiert, bis hoffentlich in absehbarer Zeit der grüne Haken erscheint. Danach ist der komplette Quelltext freigegeben (hier und auf github)

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!