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?
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…
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…
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?
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…
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…