IP Cam in IP Symcon einbinden und steuern

Vor einiger Zeit habe ich mir die DodoCool IP Cam aus China bestellt, die ca 20€ gekostet hat. Ehrlich gesagt wusste ich vorher nicht genau, dass es eine “DodoCool” wird. Es sah einfach wie ein Foscam Clone aus und die sind erfahrungsgemäß ganz ok. Die reine Einbindung in IP Symcon geht über das Hinzufügen eines Objekts – in diesem Fall ein Media Objekt. Als Medientyp wählt man “Stream”. Die IP Cam muss MJPEG Streams supporten, da nur diese von IP Symcon auf diesem Weg eingebunden werden können. Als Stream muss man die URL zum Stream angeben. Das ist nicht so ganz trivial bei manchen Cams. Bei der DodoCool Cam ist das Standard WebInterface sehr mager und auch das Manual und Config Menü sind eher grausam. Hier ein Einblick:

DodoCool-Frontend

 

Um die Stream URL und die Befehle zur Bewegung rauszufinden, habe ich Teleriks Fiddler benutzt, frei nach dem Motto “It has an API? Let’s hack it”. Naja, “hacken” ist das nicht wirklich, aber die API-Aufrufe kriegt man darüber raus:

 

FiddlerTrace

 

Beim ersten Aufruf sieht man die URL http://192.168.0.10:99/videostream.cgi?user=admin&pwd=XXXXX

Das ging als Stream URL noch nicht, aber wenn man die URL zusammen mit den Bewegungsaufrufen kombiniert (die vielen blau markierten). Erhält man folgende URL für den MJPEG Stream:

http://192.168.0.10:99/videostream.cgi?loginuse=admin&loginpas=XXXXXX

Ich habe auch noch eine Foscam Doku im Netz gefunden, leider erst danach. Daraus hätte man es sich auch ableiten können. Nun können wir diesen Stream hinzufügen:

IPS-MediaObjectStream

 

Danach sieht man das Cam Bild im WebFront. Zum Testen kann man übrigens auch den Stream ganz gut über VLC Player wiedergeben. Das Bild alleine ist eher noch etwas langweilig. Oben im Fiddler Trace sieht man die ganzen HTTP Requests, die gemacht wurden als ich die Cam über ihre eigene GUI gesteuert habe. Heißt also, dass die ganzen “commands” vorhanden sind und einfach an die URL gehängt werden. D.h. links,rechts,hoch und runter fahren und jeweils die commands checken. Ich habe in meinem Fall jedoch mit “steps” bzw. “onestep” gearbeitet, da ich sonst mit degrees arbeiten müsste, was sich auf Anhieb nicht als leicht herausstellte.  Danach habe ich ein Variablenprofil erstellt, damit ich die 4 Buttons für die Richtungen im Frontend einzeigen kann.

IPS-Variablenprofil

Ich wollte zunächst die Werte im Variablenprofil gleich den commands haben, um diese direkt als IPS-Value in der Curl URL zu haben, jedoch wäre die Reihenfolge der Buttons dann nicht so, wie ich sie wollte (links,hoch,runter,rechts). Als nächstes müssen diese Buttons noch etwas auslösen … und zwar ein Script:

Man kann es natürlich noch um Patrouillen-Funktionen erweitern, ScreenShots bei Bewegung ablegen usw… Bei etwas mehr Zeit schaue ich es mir mal an.

 

One Response Comment

  • Toni.Dog  19/06/2015 at 00:04

    Sehr guter Artikel! Werde das gleich mal ausprobieren…

    Reply

Leave A Comment

Please enter your name. Please enter an valid email address. Please enter a message.