Fragen zur Einbindung einer WebCam

Hallo zusammen,

ich will das Bild einer WebCam im WebFront anzeigen. Eigentlich ganz simpel, aber…

Erst mal ein bißchen Hintergrund zum besseren Verständnis:

Ich hab’ mir eine neue WebCam gegönnt (Sony SNC-DH110T). Hatte davor 3 billige Cams, die aber ständig Bewegungen gemeldet haben, wenn z.B. die Sonne hinter einen Wolke hervorkommt… zielmlich nervig!

Jetzt stehe ich vor dem Problem: Wie binde ich das Ding in IPS vernünftig ein! Bei den drei alten Teilen habe ich das über den ImageGrabber gemacht, der ja wunderbar funktioniert. Leider habe ich bei der Sony Cam keine URL/URI gefunden, aus der ich das Bild als JPG lesen kann… Und das trotzt ewiger Suche in der Anleitung und im Web…

Dann kam mir die Idee, die Bilder periodisch per ftp abzulegen und von dort per IPS Script zu lesen. Abr wenn ich das über „Medien hinzufügen“ mache, wird die Datei nicht von selber aktualisiert… Gibt es dazu einen Befel in IPS?
Und ganz genrell mal die Frage: Wie würde man das Problem am besten lösen, wenn die WebCam keinen Zugriff auf das aktuelle Bild liefert?

Ich würde das Bild über eine html Box ausgeben.
Siehe auch: http://www.ip-symcon.de/forum/f56/bild-aktualisiert-16760/index2.html

Danke Thomas, aber leider ist der FTP-Server remote und nicht auf dem lokalen Dateisystem… Hast Du noch eine andere Idee?

Wie hast Du denn die die Datei vom ftp bis jetzt geholt?

Die WebCam bietet die Möglichkeit, die Datei auf einem FTP-Server zu speichern. Da nur mein NAS einen FTP-Server hat, lege ich die Bilder der WebCam alle 60 Sekunden dort ab…

Dann kopiere Sie doch in das webfront\user\xxx Vz. und rufe sie in einer html Box auf.

Naja, der Ftp könnte auch in China stehen um dort Bilder abzuholen. Wo oder was ist das Problem.

Wahrscheinlich bin ich zu blöd oder stehe gerade auf dem Schlauch…

Gibt es denn eine einfache Möglichkeit, dass die WebCam per FTP die Datei auch auf dem IPS Server speichert? Dafür brauceh ich doch wahrscheinlich einen FTP Server auf dem Rechner? Gibt es da Empfehlungen?

Oder kann ich aus einem IPS Script per FTP von meinem NAS die Datei auf den IPS Server kopieren/verschieben?

Oder kann ich aus einem IPS Script per FTP von meinem NAS die Datei auf den IPS Server kopieren/verschieben?
Kannst Du. Du kannst dir einen Ordner in Webfront/user anlegen und dort deine Bilder ablegen und auch in einem Script verwenden.

Hier hast mal was zu spielen. Es fehlt das abholen mit ftp_fget, speichern usw…

<?
//Serveradresse/Name
$conn_id = ftp_connect("192.168.1.10");

// Login mit Benutzername und Passwort
ftp_login($conn_id, "xxxxxx", "xxxxx");

// Nach Verzeichnis .... wechseln
ftp_chdir($conn_id, "Bilder");

// Zeitraum
$alter = 3600;

foreach(ftp_nlist($conn_id, ".") as $date)
{
   if(ftp_mdtm($conn_id, $date) < (time()-$alter))
   {
       echo $date." letzte Aktualisierung: " . date("d.m.Y H:i:s", ftp_mdtm($conn_id, $date))."
";
       //ftp_delete($conn_id, $date);
    }
}
ftp_close($conn_id);
?>

Vielen Dank Rainer!

Ich hab das Ganze jetzt mal mit folgendem Script probiert:

 
<?
 
// FTP SERVER-ADRESSE
$conn_id = ftp_connect("192.168.178.41");
 
// LOGIN MIT BENUTZERNAME UND KENNWORT
ftp_login($conn_id, "XYZ", "XYZ");
 
// NACH VERZECIHNIS... WECHSELN
ftp_chdir($conn_id, "ANCAM/an-cam10");
 
// AKTUELLES BILD VON WEBCAM 10 LESEN
ftp_get($conn_id, "an-cam10-image.jpg", "image.jpg", FTP_BINARY);
 
// VERBINDUNG SCHLIESSEN
ftp_close($conn_id);
 
?>

Allerdings läuft das Script ewig und bekomme ich dann die folgende Meldung ohne das eine Datei auf meinem IPS Rechner ist. Die müßte doch im Script Unterverzeichnis auftauchen, oder?

Warning: ftp_get(): PORT command successful in C:\IP-Symcon\scripts\57016.ips.php on line 13

Fatal error: Maximum execution time of 30 seconds exceeded in C:\IP-Symcon\scripts\57016.ips.php on line 16

Ich vermute mal, dass Windows 7 nicht das Schreiben von Dateien per FTP erlaubt, wenn ich nicht als Admin angemeldet bin (was ich natürlich nicht bin ;-)).

Any ideas wie ich das löse oder gibt es einen anderen Grund, dass das nicht funktioniert?

Das hat damit nichts zutun. Irgendwo musst Du das Bild aber noch speichern.

Hier mal ein schönes Beispiel.

PHP: ftp_fget - Manual

FTP_ASCII noch durch wie Du schon hast
FTP_BINARY ersetzen da ein Bild geholt werden soll.

Bin mir jetzt nicht sicher ob man gleich mehrere Verzeichnisebenen angeben kann.

Lass Dir doch mal mit ftp_pwd($conn_id); das aktuelle Verzeichnis ausgeben.

Ist aber nur so ein Gefühl.

Bin mir jetzt nicht sicher ob man gleich mehrere Verzeichnisebenen angeben kann.

Kann man, sonst musste man sich ja komplett durchhangeln. Mach ich bei der Wetterseite genauso und spring dann in die einzelnen Verzeichnisse.

Hallo zusammen, ich habe das jetzt anders und wie ich finde, deutlich eleganter gelöst: Ich habe mir FileZilla als FTP-Server auf meinem IPS-Server-Rechner installiert. Jetzt können die WebCams die Bilddateien direkt auf diesen Server übertragen und der NAS-Server kann auch mal zur ruhe kommen und in den Stromsparmodus wechseln… :smiley:

Jetzt ist eigentlich nur noch die Frage, wie ich die per Objekt -> Medien hinzufügen alle 60 Sekunden aktualisierte Bilddatei auch in IPS und dem WebFront aktulisiere… Aber das bekomme ich auch noch raus… :slight_smile: