Dreambox als Babyfon/Überwachung

  • Hallo,


    irgendwo im alten Board oder auch woanders hab ich mal gelesen, daß es irgendeiner möglich gemacht hat, eine Webcam mit Netzwerkschnittstelle auf der Dream lauffähig zu machen.


    Hier nun meine Frage: Ist es möglich/traut es sich jemand zu, es zu programmieren/gibt es schon ein Plugin, mittels dem man eine Webcam im Kinderzimmer über dem Baby montiert als Bild im Bild auf dem Fernseher zum Laufen bringt. Am besten würde ich mir vorstellen, daß das Plugin eine Babybewegung auswerten und sich dann von selbst als PiP einblendet, ansonsten wie nicht vorhanden den normalen Dreamablauf nicht stört. Eventuell eine Tastenkombination zum sofortigen Einblenden und durch Nochmaldrücken wieder Ausblenden wäre schön.


    In ca. 4 Wochen kommt meine Klein-"Emely" auf die Welt - wäre toll, wenn bis dahin einer eine Lösung für mich hätte - bin im Linuxen leider nicht gar so firm...



    PS: falls noch andere an so etwas Interesse haben, so bitte ich dies hier ebefalls zu bekunden, vielleicht nimmt sich ein Hobbyprogrammierer dies dann etwas eher zu Herzen - falls es soetwas bislang noch nicht gibt...

    DM7000 - 80GB-HDD - 1GB-USB-Stick - 100Mbit-LAN
    DM600 - 20GB-HDD - 100Mbit-LAN

    Edited once, last by card0384 ().

  • wenn ich so bei Ebay schaue, welche IP-Webcams es da so gibt, scheint es so, daß man in der WebCam einstellen kann, daß das Cambild auf einen FTP-Server als Bild gesendet wird. Nun bräuchte man doch nur ein Plugin, welches dieses Bild ständig neu von dort läd (ich würde das Bild auf meinen Server hinschieben oder man schiebt es direkt in die Dreambox in ein freigegebenes Verzeichnis (am besten auf den USB-Stick, wegen den HDD-Laufgeräuschen oder vielleicht noch besser, ein kleines virtuelles RAM-Laufwerk, falls so etwas geht)). Das Plugin müsste nur überprüfen, ob sich am Bildinhalt etwas geändert hat (sagen wir mal als Beispiel der Inhalt sich um 5% geändert hat - müsste man als Variable einstellen bis man annehmbare Werte rausbekommt) und wenn dem so ist, wird das Bild und die nachfolgenden 10-15 sek. (auch als Variable einzustellen) auf dem Fernseher als PiP eingeblendet. Damit kann man selbst entscheiden, was man macht. Dort wäre dann eine Tastenkombination, welche das Bild dann als Vollbild (zwecks besserer Überprüfung) oder das Bild wieder ausblendet sinnvoll.

    DM7000 - 80GB-HDD - 1GB-USB-Stick - 100Mbit-LAN
    DM600 - 20GB-HDD - 100Mbit-LAN

  • Hi,


    meine Webcam habe ich bei ebay fuer wenig Geld erstanden. So viel taugt die dann auch. Wenig. Gottseidank fand ich irgendwo einen Hinweis, daß die Cam auch ein Standbild ausgibt (im Manual steht davon nicht, grmpf!):


    h**://<ip-der-cam>/still.jpg (wird bei anderen Cams sicher aehnlich sein).


    Da die Cam zum Verdruß auch noch eine nicht abschaltbare Authentifizieung erfordert, konnte ich mit ein bißchen googlen das hier ausfindig machen:


    wget -q h**p://user:password@<ip-der-cam>/still.jpg -O /tmp/baby.jpg


    D.h. mit wget und dem user + passwort kann man ein JPG von einer feststehenden URL laden und in einen beliebigen Filenamen schreiben (hier /tmp/baby.jpg). Tut auf meiner Dreambox bestens.


    Was nun noch fehlt ist eine Möglichkeit das JPG mittels einem Script (das wird nicht schwer zu erstellen sein) in ein Pop-Up-Fenster auf der Dreambox zu bringen. Siehe dazu meine gestrige Anfrage im Forum.


    Im Weatherplugin gibt es eine Webcam Funktion. Die kann man nat. auch nutzen. Ist aber etwas umständlich aufzurufen. Tut aber.


    Wenn ich mal Zeit habe, werde ich mich in die Plugin Programmierung mal etwas einarbeiten.


    Gruß Mamba


    PS: So ein Plugin koennte nat. auch eine Haustürüberwachung realisieren, wenn man kein Baby im Anmarsch hat. ;-)

    __________________________________
    Dreambox 800/7020, 250 GB HDD, 100 Mbit Lan

    Edited 6 times, last by mamba0815 ().

  • mamba0815
    genau so sehe ich das auch... Hast du auch solch eine Webcam, wie unter meinem Link?
    Das Bild wäre wohl im USB oder im tmp bestens aufgehoben - ich weiß nur nicht, ob der tmp-Bereich durch häufiges Beschreiben irgendwann die "Hufe hoch schraubt" - hat da einer Erkenntnisse? Da würde ich dann wohl eher vorziehen, den USB-Stick irgendwann mal abzuschießen...
    Die Frage ist ja hier nach wie vor, ob man das PIP-Plugin in eine neuere Version bringen kann, mittels der dann die Babyfon-Überwachung nach Bewegungsauswertung möglich wäre...
    Am besten wäre dazu, man baut den wget-Befehl direkt ins Plugin ein und prüft fortdauernd das Bild direkt auf der Cam, dann braucht man es gar nicht mehr auf die Dream zu laden...


    PS: neben der Haustürfunktion würde dies sogar dann mit jeder Webcam aus dem WWW funktionieren - immer wenn sich was tut, zeigts ein Bild an..

    DM7000 - 80GB-HDD - 1GB-USB-Stick - 100Mbit-LAN
    DM600 - 20GB-HDD - 100Mbit-LAN

  • Hi,


    >>Das Bild wäre wohl im USB oder im tmp bestens aufgehoben
    /tmp ist doch die Ramdisk der Dream, d.h. dort sollte man sooft hinschreiben koennen, wie man will. Dort packe ich es im Moment hin, um ein mit dem Weatherplugin auszulesen. Ist aber nicht ideal. Ton fehlt natuerlich auch, aber das ist eine andere Geschichte.


    Die Bewegungsauswertung sollte ueber MotionGuide gehen. Kann aber nicht sagen, ob die 7020 CPU so viel "huf" hat.


    h**p://www.lavrsen.dk/twiki/bin/view/Motion/MotionGuide


    >>... Hast du auch solch eine Webcam, wie unter meinem Link?
    Ja, genau die (nur mit der zus. WLAN Option, die ich aber im Moment nicht nutze). Das Teil ist der totale Trash. Die Firmware ist schrott, Updates findet man nirgends, d.h. das Produkt ist noch nicht mal auf der Homepage des Herstellers. Bin aber selbst schuld, da ich mich im Vorfeld des Kaufs nicht richtig informiert habe.


    Gruß Mamba

    __________________________________
    Dreambox 800/7020, 250 GB HDD, 100 Mbit Lan

  • mamba ,


    ja geht mir auch so mit der Cam, besonders beim WLAN-Betrieb kann ich dir jetzt schon sagen, daß du Probleme bekommen wirst. Das Teil will einfach kein WLAN aufbauen... Abhilfe habe ich in einem Forum irgendwo gelesen, es scheint wohl am Netzteil zu liegen. Die haben einfach beim Upgrade der Webcam auf WLAN vergessen, die Leistung des Netzteils zu erhöhen, da scheint die Spannung auf ein Level zu fallen, die dann kein WLAN mehr zulässt. Brauchst dann wohl ein stärkeres Netzteil - nur schon mal zur Info...
    Eins hab ich mal Probiert, wenn ich den Link http://user:password@<ip-der-cam>/still.jpg direkt mit den richtigen Werten im I-Explorer eingebe, kommt: Seite kann nicht angezeigt werden. Ist das normal? Eigentlich sollte der doch dann auch das Bild anzeigen..
    mmh.. merkwürdig...

    DM7000 - 80GB-HDD - 1GB-USB-Stick - 100Mbit-LAN
    DM600 - 20GB-HDD - 100Mbit-LAN

  • Hi,


    also bei mir kommt das Standbild, wenn ich die URL im IE aufrufe. Ohne Probleme.


    Danke für den Hinweis mit dem WLAN.


    Nun zurück zum Thread:


    Ein Babyphone Plugin sollte doch recht einfach zu schreiben sein. Man nehme ein vorverarbeitetes JPG und packe es in einen PIP Frame auf den TV Screen.


    Hast du schon mal irgendwo einen Beispiel Source Code dazu gefunden? Bin gerade auf der Suche. Evtl. kann uns ein Leser im Forum ein Beispiel für PIP (Standbild!) hier posten. Das wäre ein guter Startpunkt für eigene Erweiterungen.


    Gruß Mamba

    __________________________________
    Dreambox 800/7020, 250 GB HDD, 100 Mbit Lan

  • mamba


    Komisch, beim Mozilla gehts, nur beim internet-explodierer gehts nicht...


    Einen Beispiel Source hab ich leider nicht, ich kann dir aber eine andere Kleinigkeit geben, welche zwar nichts mit der Dream, aber mit der Idee zu tun hat.
    Probier mal dies als html-Datei:


    <script language="javascript">
    newImg = new Image();
    var imgsrc = "";
    function StreamError()
    {
    newImg.onload="";
    newImg.onerror="";
    newImg.src="http://www.domain.de/webcam/error.jpg";
    document.images.angelpage.src=newImg.src;
    }
    function StreamLoad()
    {
    uniq = new Date();
    uniq = uniq.getTime();
    document.images.angelpage.src=newImg.src;
    newImg.src=imgsrc+"?"+uniq;
    }
    function StreamInit()
    {
    imgsrc = document.images.angelpage.src;
    uniq = new Date();
    uniq = uniq.getTime();
    newImg.onload=StreamLoad;
    newImg.onerror=StreamError;
    newImg.src=imgsrc+"?"+uniq;
    document.images.angelpage.onload="";
    }
    document.write('<img src="http://user:password@<ip-der-cam>/still.jpg" name=angelpage onload="StreamInit()"


    alt=Interessantes mit JavaScript width=320 height=240>');
    </script>


    Musst natürlich deine Daten noch anpassen...

    DM7000 - 80GB-HDD - 1GB-USB-Stick - 100Mbit-LAN
    DM600 - 20GB-HDD - 100Mbit-LAN

  • Falls ich Zeit habe werde ich morgen Abend mal ein Beispiel anhängen, wie man ein 320x240 JPEG in 256 Graustufen am TV anzeigen kann. Sollte ja als Webcam genügen, oder?


    Ihr gebt ja sonst eh keine Ruhe... :P

    Ich bin nicht faul sondern im Energiesparmodus!

  • Hi LazyT,


    danke!


    >>Sollte ja als Webcam genügen, oder?


    Ja, genau so ist es.


    >>Ihr gebt ja sonst eh keine Ruhe...


    So kann man das sehen. Jungväter werden zur Ausdauer trainiert.


    :-)


    Gruß Mamba

    __________________________________
    Dreambox 800/7020, 250 GB HDD, 100 Mbit Lan

  • Hi card,


    >>falls es dich interessiert h**p://support.microsoft.com/?kbid=834489


    interessant. Kann ich hier nun auch nachvollziehen (nach Webupdate). Gott sei Dank schert sich die Dreambox darum nicht, denn mein Baby-TV-script lädt sich das Standbild mit dem alten Protokoll nach /tmp. Es ist nat. nicht verwundernswert, dass die malade Grantec Kamera auch hier (zum Thema Active-X plugin gibt es ja aehnlich kritische Aussagen) ein unsicheres Verfahren wählt.


    Gruß Mamba

    __________________________________
    Dreambox 800/7020, 250 GB HDD, 100 Mbit Lan

    Edited 2 times, last by mamba0815 ().

  • Quote

    ich glaub, so langsam kommt Schwung in die Sache...


    Ich habe nicht gesagt das ich euch das fertig mache. Ich gebe nur Hinweise. :P


    Quote

    Hast du selbst Kinder?


    Nö. Meine Zarte wird zwar immer dicker, aber ich hoffe das kommt vom Essen. :D .oO(hoffentlich liest sie hier nicht mit)

    Ich bin nicht faul sondern im Energiesparmodus!

  • So, hier also mal der erster Versuch.


    Man kann damit JPG's mit einer Auflösung von 640x480 / 320x240 / 160x120 ausgeben. Das ganze auf 160x120 runterskaliert (scaler=1) oder in Originalgröße (scaler=0). Dabei in Farbe (color=1) oder Graustufen (color=0). Die Anzeigezeit wird in Sekunden festgelegt (time=n).


    Aufruf: webcam <picture> <scaler> <color> <time>


    Beispiel: webcam /tmp/cam.jpg 0 1 5 <- zeigt das Bild /tmp/cam.jpg unskaliert in 256 Farben für 5 Sekunden an


    Problem dabei ist allerdings, dass die Framebuffer-Funktion FBIOGETCMAP auf der Dream nicht zu funktionieren scheint (bisher nur auf DM500 getestet). Das heißt, das die Enigma Farbpalette beim beenden nicht wiederhergestellt werden kann! Ihr müsst als Würgaround erstmal z.B. Teletext starten damit das wieder resettet wird. :(


    Bei einem Plugin wäre das Problem dann allerdings eh nicht vorhanden...

    Files

    • webcam.tar.gz

      (66.13 kB, downloaded 502 times, last: )

    Ich bin nicht faul sondern im Energiesparmodus!

  • Hi LazyT,


    tausend Dank!


    Habe das binary eben auf ner 7020 ausprobiert. Tut. Die E1 Farbpalette ist auch auf meiner Maschine nach dem Ausblenden des Bildes verfälscht.


    Werde mal etwas damit experimentieren. Ein script zu basteln, was nach dem jpg schaut und das binary aufruft, ist ja nun wahrlich kein Akt.


    Gruß Mamba

    __________________________________
    Dreambox 800/7020, 250 GB HDD, 100 Mbit Lan

    Edited 2 times, last by mamba0815 ().

  • Quote

    Ein script zu basteln, was nach dem jpg schaut und das binary aufruft, ist ja nun wahrlich kein Akt.


    Naja, eigentlich dachte ich das webcam so eine Art Daemon wird, der im Hintergrund läuft und die Arbeit deines Scriptes gleich mit übernimmt. ;)


    Solange die Palette jedoch nicht restored werden kann, ist's eh sinnlos...

    Ich bin nicht faul sondern im Energiesparmodus!

  • Hi LazyT,


    >>Naja, eigentlich dachte ich das webcam so eine Art Daemon wird


    ja, im Prinzip hast du recht. Im Moment bin ich aber erstmal froh, daß ich überhaupt ein JPG auf den TV Screen bringen kann. ;-)


    >>Solange die Palette jedoch nicht restored werden kann, ist's eh sinnlos...


    Korrekt.


    Kann einer der Dreamdeveloper was dazu sagen?


    Gruß Daddy Mamba

    __________________________________
    Dreambox 800/7020, 250 GB HDD, 100 Mbit Lan

  • LazyT


    prima, daß jetzt langsam Schwung in die Sache kommt.


    Sag mal, um den "umständlichen" Weg des Zwischenkopierens zu umgehen, würde dein Script auch mit


    webcam http://user:password@<ip-der-cam>/still.jpg 0 1 5


    umsetzbar sein? Könnte mir vorstellen, daß dies einen Zwischenschritt erspart und die eh schon begrenzten Dream-Resourcen etwas entlastet.


    Das Bild wird im übrigen bis 30 mal/Sekunde auf der Webcam aktualisiert, wenn man das Java-Script aufm PC aufruft, bekommt man einen richtig schönen flüssigen Film. Sieht absolut Klasse aus, die Kleine mit Infrarot zu sehen, wenn sie sich wurschtelt, dreht usw. (Hat schon fast eine Spur Vojeurismus an sich, aber bei einem reichlich 3 Monate Baby ist das bestimmt noch ok :P )
    Später hat mal einer geschrieben, braucht man dann eh WLAN-Roaming und GPS-Tracking, da ists mit der Webcam vorbei :D :D :D
    Die Ausgabe aufm Fernseher könnte auch so ablaufen...

    DM7000 - 80GB-HDD - 1GB-USB-Stick - 100Mbit-LAN
    DM600 - 20GB-HDD - 100Mbit-LAN

    Edited 2 times, last by card0384 ().

  • Quote

    Kann einer der Dreamdeveloper was dazu sagen?


    Habe mal bei Ghost angefragt, mal schauen.


    Quote

    Könnte mir vorstellen, daß dies einen Zwischenschritt erspart und die eh schon begrenzten Dream-Resourcen etwas entlastet.


    War doch erstmal ein Entwurf. Dachte ihr baut das dann noch weiter aus. :D


    Ist die Cam eigentlich dumm oder aktualisiert die das Bild nur wenn sich auch der Bildinhalt geändert hat?

    Ich bin nicht faul sondern im Energiesparmodus!

  • LazyT
    die Cam ist dumm, man stellt einfach die Parameter ein und los gehts. Ich zeigt dir ein Beispiel im Anhang.
    Problem ist auch, man könnte der Cam sagen, daß sie das Bild auf einen FTP-Server läd - da kommen aber dann tonnenweise Bilder an, die z.B. heißen bild120612311.jpg usw. Da wird jedesmal Zeit/Datum mit eingebaut, sprich man weiß nicht welches das aktuelle ist & der Ordner wird zugemüllt. Daher ist der Zugriff auf die Cam zu dem Bild still.jpg die beste Variante. Ich glaube du hattest mal irgendwo (oder wars ein anderer?) was von MD5-Hash-Vergleich geschrieben. Dies wird daher auch nicht klappen, da das Bild mit kleinen (feinen) Streifen versehen ist, welche sich ständig ändern. Man sieht diese zwar nicht unbedingt im Gesamteindruck, aber der MD5-Wert ist immer wieder ein anderer. Daher meine Idee des Bildausschnitts zu vergleichen im Abstand von x Sekunden. Sprich alle x Sekunden wird ein Bild gezogen, (der Bildausschnitt) mit dem vorherigen verglichen (dabei eine %-Abweichung zugrunde legen - wegen der kleinen Streifen) und bei Abweichung dann ein ständiges Bilder laden und auf den Fernseher als PiP schicken fortwährend, solange sich der Bildauschnitt ändert und danach + x-Sekunden. Im Falle der Anzeige wird dann die Taste x bei Bedarf gedrückt, um die fortlaufenden Bilder im Großbild zu sehen oder die Taste y für die PiP-Darstellung. Mit der Taste z kann auch zwischendurch mal das Bild, wie als wäre eine Bewegung drin, auf den Fernseher gezogen werden.