Bild von Website kopieren und auf WLAN- SD- Karte übertragen / hochladen

Begonnen von Loctite, 07 November 2019, 20:54:26

Vorheriges Thema - Nächstes Thema

Loctite

Hallo.
Ich möchte ein Bild von einer Internetseite downloaden und auf eine Wlan SD Karte abspeichern.
Ist so was mit FHEM möglich ?

Die Idee kam mir durch IFTTT. Dort gibt es die Erweiterung "Space" die mir das aktuelle Bild der Nasa in ein DOC Dokument in GoogleDrive speichert, was jetzt nicht so der Bringer ist.
Nun die Idee: Ein digitaler Bilderrahmen mit einer Wlan SD Karte und eine Möglichkeit ein Bild dort zu speichern.
Ob nun mit FHEM oder IFTTT oder was anderem ist mehr oder weniger egal.
Ich vermute es sind eh mehrere Schritte notwendig. FHEM läuft bei mir auf einem Raspberry Pi 3.
Per Script ginge da bestimmt was, aber wenn das auch in FHEM funktionieren würde, wäre es mir lieber. Das andere würde eher in Vergessenheit geraten, in FHEM schaue ich immer mal wieder rein.

fiedel

Verwendet man die richtigen Suchbegriffe (bild von webseite automatisiert speichern perl), kommt das heraus. Wie das Bild zum WLAN- Bilderrahmen gelangt findest du nun mit Sicherheit auch noch.  ;)

Gruß
Frank
FeatureLevel: 6.1 auf Wyse N03D ; Deb. 11 ; Perl: v5.14.2 ; IO: HM-MOD-RPI-PCB + VCCU|CUL 868 V 1.66|LinkUSBi |TEK603
HM: SEC-SCO|SCI-3-FM|LC-SW4-PCB|ES-PMSW1-PL|RC-4-2|SEN-MDIR-O|SEC-WDS-2
CUL: HMS100TF|FS20 S4A-2 ; OWDevice: DS18S20|DS2401|DS2406|DS2423

Loctite

Leider ändert sich die URL immer, also kann ich das mit wget vermutlich nicht machen.
Die Seite die ich hier gepostet habe, enthält aber immer nur ein Bild.
So wie es angezeigt wird, auch in einer vernünftigen Auflösung. Folgt man dem Link, ist es viel größer, was unnötig ist.
Also wäre das optimale, nur das Bild von dieser Seite direkt abzuspeichern...HTTPMOD kann das bestimmt, aber bis jetzt weiß ich noch nicht wie  :-\

Loctite

So, bin mit HTTPMOD schon mal so weit gekommen, das die URL des Bildes in einem reading steht.
Ich vermute das Speichern muss anders geregelt werden.
Ein at oder notify mit system() und wget würde bestimmt gehen, aber wie bekomme ich die URL die im reading steht in die Befehlszeile ?

{system( 'wget https://apod.nasa.gov/apod/' , (ReadingsVal("nasa_http","nasa_jpg",0)) , '-O' ,'./nasa/pic_of_day.jpg')}

Ich habe es mit doppelten Anführungszeichen " versucht, das ReadingsVal auch in geschweifte Klammern, die Zeile wird aber anscheinend nicht richtig "verbunden" nenne ich es mal, denn ich erhalte immer ein
PERL WARNING: Can't exec "wget https://apod.nasa.gov/apod/": Datei oder Verzeichnis nicht gefunden at (eval 318370) line 1.

Kann mir dazu jemand weiterhelfen ?

Loctite

Ich glaube das hat sich erledigt.
Diese Toshiba Wlan Karten haben ja weder FTP noch einen SMB zugriff/Freigabe oder wie auch immer man das nennt.
Ich habe versucht eine Datei über die Konsole an die IP zu senden:

scp pic.jpg 192.168.178.200:/DavWWWRoot
Als Fehlermeldung erhalte ich : ssh: connect to host 192.168.178.200 port 22: Connection refused

Ich habe keine Ahnung wie die Übertragung überhaupt funktioniert. Tippe ich die IP im Webbrowser ein, komme ich auf eine Übersichtsseite.
Hänge ich ein /upload.cgi an, kann eine Datei hochgeladen werden.
Im Windows Explorer erscheint die Karte zwar unter "Netzwerk" mit der IP, ein einfaches anklicken funktioniert aber nicht.
Ein Netzlaufwerk kann mit \\192.168.178.200\DavWWWRoot eingebunden werden, das funktioniert.
Gebe ich im Datei Explorer //192.168.178.200 ein funktioniert es auch (hier mit // anstelle von \\ )

Ich würde ja jetzt sagen, wenn von Windows Seiten Dateien "hochgeladen" werden können, sollte das per Linux ja sicher auch gehen, oder ?



fiedel

#5
Beschreiben muss auch von Linux aus gehen. Das hier sollte dich weiterbringen.
Zur Konfiguration der Karte als WebDAV- Laufwek schreibt er hier. Unter Linux wird sie dann sinngemäß so eingebunden (weiter unten die Beschreibungen für den Mountpoint, da wir ja kein GUI haben).

Übrigens ändere mal den Titel z.B. auf "Bild von Website kopieren und auf WLAN- SD- Karte übertragen / hochladen"
FeatureLevel: 6.1 auf Wyse N03D ; Deb. 11 ; Perl: v5.14.2 ; IO: HM-MOD-RPI-PCB + VCCU|CUL 868 V 1.66|LinkUSBi |TEK603
HM: SEC-SCO|SCI-3-FM|LC-SW4-PCB|ES-PMSW1-PL|RC-4-2|SEN-MDIR-O|SEC-WDS-2
CUL: HMS100TF|FS20 S4A-2 ; OWDevice: DS18S20|DS2401|DS2406|DS2423

steffen83

Ich habe das in einem ähnlichen Fall so gelöst:

sudo wget -m  https://www.ditzum-touristik.de/cambew/ha-mi-EINBINDEN-IN-DRITTE-SEITEN-VERBOTEN.php -e robots=off
sudo mv /opt/fhem/www.ditzum-touristik.de/cambew/Hafen/*.jpg /tmp/hafen.jpg
sudo rm -r www.ditzum-touristik.de/


Somit habe ich am Ende des Scripts die Datei hafen.jpg im tmp Ordner
Raspberry Pi 3 (Noobs, aktuelle Fhem und Pilight) | FHEMduino | HM-OCCU-SDK | HM-Sec-SCo | HM-Sec-SD-2 | HM-CC-RT-DN | HM-LC-Bl1PBU-FM