Bilder von Image-Grabber auf NAS wegspeichern (separate Systeme)

Hallo Zusammen,

ich habe folgendes Problem / Wunsch:

Ich habe mittlerweile einen HM-Klingelsignalsensor. Damit kann ich beim Drücken der Klingel mit dem Image-Grabber ein Bild meiner Webcam speichern.

Mein Problem ist, es handelt sich um drei Systeme:

  • Webcam
  • IPS auf einem ASUS Tinkerboard S
  • QNAP TS453BE als Speicher

Das „schießen“ des Bildes ist kein Problem. (Aus IPS)
Aber wie bekomme ich das auf dem NAS gespeichert? Ich könnte einen NFS-Share nehmen, oder einen SMB / Samba-Share oder was auch immer. Ich bin da relativ offen, weiß aber nicht wie ich das Bild „nehme“ und dann in den Netzwerkspeicher speichern kann.

Gruß,
Maeffjus

Das Bild bekommst du über IPS_GetMediaContent als Base64 kodierter String. Den kannst du dann mit file_put_contents und base64_decode entsprechend auf das SMB/NFS Share schieben.

paresy

Danke für die Antwort!
Ich meine aber noch etwas anders:

Kann ich mich aus IPS raus bei dem NAS autentifizieren?
Also mittels Code im IPS „direkt“ ins NAS schreiben? (Wäre wohl am besten SAMBA / SMB)

Gruß,
Maeffjus

Das würde nur über FTP gehen.

paresy

Die Aussage finde ich jetzt sehr eingeschränkt ;).

Ich mounte auf meinem PI verschiedene Pfade meiner QNAP über NFS, dort kann ich einstellen, dass über NFS nur die PI IP zugreifen darf.

Über den Weg zähle ich die Menge der Kamareabilder, lösche ältere Unterordner inkl Bildern und kann natürlich auch auf so einen Pfad schreiben.

Das ganze geht mit SMB natürlich auch, erzeugt aber Overhead und ist somit langsamer als NFS.

Wobei Michael natürlich Recht hat bezüglich „aus IPS heraus“, dann möchtest du ja nichts auf OS Ebene machen.

Sooo Leute - vielen Dank!
Funktioniert bestens, ich benutze NFS, was am einfachsten ist (nur für IPS freigegeben) und schiebe das Bild mit Zeitstempel dann aufs NAS.

Ich habe das als ganzen Block mit dem NSF-Mount zusammen (wenn bereits gemountet ist schade es nichts).
Es kann nämlich sein, dass das NAS mal neu gestartet wird, dann fehlt der Mount - meine ich jedenfalls :smiley:
Mir ist es aber zu lästig das mittels eines Reboots des NAS zu testen.

Hier der Code, falls es jemand brauchen kann:

//Bild Speichern Start 
exec("sudo mount -t nfs -o soft 192.168.1.110:/cam /mnt/cam"); 
$bild = base64_decode(IPS_GetMediaContent(46436));
$time = time();
$timestamp = date("Y-m-d_H-i-s");
file_put_contents("/mnt/cam/Doorcam_{$timestamp}_Klingel.jpg", $bild);
//Bild Speichern Ende

Zur Info für Leute wie mich die nicht ganz sooo bewandert sind:

[ul]
[li]192.168.1.110:/cam= IP des NAS mit dem Name des NFS-Shares
[/li][li]/mnt/cam = Mountpoint (mit sudo mkdir unter /mnt einen Ordner erstellen)
[/li][li]IPS_GetMediaContent(46436) = Hier kommt die ID des BILDES vom Image-Grabber rein, nicht die ID des Grabbers!
[/li][/ul]

Gruß,
Maeffjus