Kodak W1020
[size=+2]Lösung mit externem Server[/size], also ohne fritz.box oder NAS. Dabei aktualisiert sich der Fotorahmen alle 2 Minuten:
[size=+1]"index.php"[/size] erweitern, sodass das Bild nicht nur ausgegeben, sondern auch zweimal gespeichert wird:
Code:
// send the new PNG image to the browser
//ImageJpeg($im);
//ImageJpeg($im,null,100);
[color=red]// Das Bild speichern
imageJpeg($im, 'cache/info.jpg');
imageJpeg($im, 'cache/info_clone.jpg');[/color]
// destroy the reference pointer to the image in memory to free up resources
ImageDestroy($im);
Neben der "index.php" auf dem Webserver eine leere Daten names "media.rss" anlegen, ggf. die Rechte auf der Datei auf "777" ändern. Jetzt nochmals die "index.php" ändern - dabei bitte "http://infoframe.euredomain.eu/" durch Eure URL ersetzen:
Code:
// close database connection
DbConnection::disconnect();
[color=red]// Feed aktualisieren
$feed='<?xml version="1.0"?>
<rss version="2.0"
xmlns:media="http://search.yahoo.com/mrss/"
>
<channel>
<title>InfoFrame</title>
<link>http://infoframe.euredomain.eu/</link>
<description>InfoFrameFeed</description>
<ttl>1</ttl>
<item>
<title>IF</title>
<link>http://infoframe.euredomain.eu/infoframe/cache/info.jpg</link>
<description><img src="http://infoframe.euredomain.eu/infoframe/cache/info.jpg" alt="" /></description>
<guid isPermaLink="false">'.md5(uniqid(mt_rand(), true)).'</guid>
<media:content url="http://infoframe.euredomain.eu/infoframe/cache/info.jpg" type="image/jpeg" />
<media:title>Bild1</media:title>
</item>
<item>
<title>IF2</title>
<link>http://infoframe.euredomain.eu/infoframe/cache/info_clone.jpg</link>
<description><img src="http://infoframe.euredomain.eu/infoframe/cache/info_clone.jpg" alt="" /></description>
<guid isPermaLink="false">'.md5(uniqid(mt_rand(), true)).'</guid>
<media:content url="http://infoframe.euredomain.eu/infoframe/cache/info_clone.jpg" type="image/jpeg" />
<media:title>Bild2</media:title>
</item>
</channel>
</rss>';
$file = fopen("media.rss", "w");
$geschrieben = fwrite($file, $feed);
fclose($file);[/color]
Auf dem Webserver oder ggf. im Freetz (siehe Eröffnungsbetrag) eine geplante Aufgabe (cronjob) anlegen:
Code:
*/1 * * * * wget -q -O /dev/null -nd http://infoframe.euredomain.eu/infoframe/index.php
Jetzt fehlt nur noch die Einbindung im Bilderrahmen selber. Dazu per Browser die IP des Bilderrahmens aufrufen, dort auf "Webmedien" - "Foto-RSS", dann auf "Hinzufügen", Art der Webseite "Andere", URL "http://infoframe.euredomain.eu/infoframe/media.rss", Name z.B. "InfoFrame (Online)".
Jetzt könnt Ihr am Bilderrahmen den eben erstellten RSS-Feed auswählen und er aktualisiert sich alle 2 Minuten. Eine Minute klappt leider nicht, dass die TTL des Feeds min. 1 Minute ist und der Cronjob auch nur minütlich funktioniert.
[size=+2]Lösung mit der Fritzbox[/size], wie im [post=1455475]Eröffnungsbeitrag von PacmannII[/post] vorgegeben. Dabei aktualisiert sich der Fotorahmen jede Minute:
Zuallererst wird, sofern schon eingerichtet der Cronjob
gelöscht:
Code:
* * * * * /var/tmp/infoframe/refresh.sh
[size=+1]"index.php"[/size] erweitern, sodass das Bild nicht nur ausgegeben, sondern auch zweimal gespeichert wird:
Code:
// send the new PNG image to the browser
//ImageJpeg($im);
//ImageJpeg($im,null,100);
[color=red]// Das Bild speichern
imageJpeg($im, 'cache/info.jpg');
imageJpeg($im, 'cache/info_clone.jpg');[/color]
// destroy the reference pointer to the image in memory to free up resources
ImageDestroy($im);
Als nächstes legen wir uns eine neue Datei
wait.sh (dort wo das Paket infoframe-fbox.zip hingepackt wurde) an:
Code:
#!/bin/bash
while [ "a"!="b" ]
do
echo "<?xml version=\"1.0\"?>
<rss version=\"2.0\"
xmlns:media=\"http://search.yahoo.com/mrss/\"
>
<channel>
<title>InfoFrame</title>
<link>http://fritz.box:5050/</link>
<description>InfoFrameFeed</description>
<ttl>1</ttl>
<item>
<title>IF</title>
<link>http://fritz.box:5050/info.jpg</link>
<description><img src="http://fritz.box:5050/info.jpg" alt="" /></description><guid isPermaLink=\"false\">" > /var/tmp/infoframe/index.html
date +%s1 | md5sum | sed 's! -!!g' >> /var/tmp/infoframe/index.html
echo "</guid>
<media:content url=\"http://fritz.box:5050/info.jpg\" type=\"image/jpeg\" />
<media:title>Bild1</media:title>
</item>
<item>
<title>IF2</title>
<link>http://fritz.box:5050/info_clone.jpg</link>
<description><img src="http://fritz.box:5050/info_clone.jpg" alt="" /></description><guid isPermaLink=\"false\">" >> /var/tmp/infoframe/index.html
date +%s2 | md5sum | sed 's! -!!g' >> /var/tmp/infoframe/index.html
echo "</guid>
<media:content url=\"http://fritz.box:5050/info_clone.jpg\" type=\"image/jpeg\" />
<media:title>Bild2</media:title>
</item>
<item>
<title>IF3</title>
<link>http://fritz.box:5050/info_1.jpg</link>
<description><img src="http://fritz.box:5050/info_1.jpg" alt="" /></description><guid isPermaLink=\"false\">" >> /var/tmp/infoframe/index.html
date +%s3 | md5sum | sed 's! -!!g' >> /var/tmp/infoframe/index.html
echo "</guid>
<media:content url=\"http://fritz.box:5050/info_1.jpg\" type=\"image/jpeg\" />
<media:title>Bild3</media:title>
</item>
<item>
<title>IF4</title>
<link>http://fritz.box:5050/info_2.jpg</link>
<description><img src="http://fritz.box:5050/info_2.jpg" alt="" /></description><guid isPermaLink=\"false\">" >> /var/tmp/infoframe/index.html
date +%s4 | md5sum | sed 's! -!!g' >> /var/tmp/infoframe/index.html
echo "</guid>
<media:content url=\"http://fritz.box:5050/info_2.jpg\" type=\"image/jpeg\" />
<media:title>Bild4</media:title>
</item>
<item>
<title>IF5</title>
<link>http://fritz.box:5050/info_3.jpg</link>
<description><img src="http://fritz.box:5050/info_3.jpg" alt="" /></description><guid isPermaLink=\"false\">" >> /var/tmp/infoframe/index.html
date +%s5 | md5sum | sed 's! -!!g' >> /var/tmp/infoframe/index.html
echo "</guid>
<media:content url=\"http://fritz.box:5050/info_3.jpg\" type=\"image/jpeg\" />
<media:title>Bild5</media:title>
</item>
<item>
<title>IF6</title>
<link>http://fritz.box:5050/info_4.jpg</link>
<description><img src="http://fritz.box:5050/info_4.jpg" alt="" /></description><guid isPermaLink=\"false\">" >> /var/tmp/infoframe/index.html
date +%s6 | md5sum | sed 's! -!!g' >> /var/tmp/infoframe/index.html
echo "</guid>
<media:content url=\"http://fritz.box:5050/info_4.jpg\" type=\"image/jpeg\" />
<media:title>Bild6</media:title>
</item>
<item>
<title>IF7</title>
<link>http://fritz.box:5050/info_5.jpg</link>
<description><img src="http://fritz.box:5050/info_5.jpg" alt="" /></description><guid isPermaLink=\"false\">" >> /var/tmp/infoframe/index.html
date +%s7 | md5sum | sed 's! -!!g' >> /var/tmp/infoframe/index.html
echo "</guid>
<media:content url=\"http://fritz.box:5050/info_5.jpg\" type=\"image/jpeg\" />
<media:title>Bild7</media:title>
</item>
<item>
<title>IF8</title>
<link>http://fritz.box:5050/info_6.jpg</link>
<description><img src="http://fritz.box:5050/info_6.jpg" alt="" /></description><guid isPermaLink=\"false\">" >> /var/tmp/infoframe/index.html
date +%s8 | md5sum | sed 's! -!!g' >> /var/tmp/infoframe/index.html
echo "</guid>
<media:content url=\"http://fritz.box:5050/info_6.jpg\" type=\"image/jpeg\" />
<media:title>Bild8</media:title>
</item>
<item>
<title>IF9</title>
<link>http://fritz.box:5050/info_7.jpg</link>
<description><img src="http://fritz.box:5050/info_7.jpg" alt="" /></description><guid isPermaLink=\"false\">" >> /var/tmp/infoframe/index.html
date +%s9 | md5sum | sed 's! -!!g' >> /var/tmp/infoframe/index.html
echo "</guid>
<media:content url=\"http://fritz.box:5050/info_7.jpg\" type=\"image/jpeg\" />
<media:title>Bild9</media:title>
</item>
<item>
<title>IF10</title>
<link>http://fritz.box:5050/info_8.jpg</link>
<description><img src="http://fritz.box:5050/info_8.jpg" alt="" /></description><guid isPermaLink=\"false\">" >> /var/tmp/infoframe/index.html
date +%sA | md5sum | sed 's! -!!g' >> /var/tmp/infoframe/index.html
echo "</guid>
<media:content url=\"http://fritz.box:5050/info_8.jpg\" type=\"image/jpeg\" />
<media:title>Bild10</media:title>
</item>
<item>
<title>IF11</title>
<link>http://fritz.box:5050/info_9.jpg</link>
<description><img src="http://fritz.box:5050/info_9.jpg" alt="" /></description><guid isPermaLink=\"false\">" >> /var/tmp/infoframe/index.html
date +%sB | md5sum | sed 's! -!!g' >> /var/tmp/infoframe/index.html
echo "</guid>
<media:content url=\"http://fritz.box:5050/info_9.jpg\" type=\"image/jpeg\" />
<media:title>Bild11</media:title>
</item>
<item>
<title>IF12</title>
<link>http://fritz.box:5050/info_10.jpg</link>
<description><img src="http://fritz.box:5050/info_10.jpg" alt="" /></description><guid isPermaLink=\"false\">" >> /var/tmp/infoframe/index.html
date +%sC | md5sum | sed 's! -!!g' >> /var/tmp/infoframe/index.html
echo "</guid>
<media:content url=\"http://fritz.box:5050/info_10.jpg\" type=\"image/jpeg\" />
<media:title>Bild12</media:title>
</item>
<item>
<title>IF13</title>
<link>http://fritz.box:5050/info_11.jpg</link>
<description><img src="http://fritz.box:5050/info_11.jpg" alt="" /></description><guid isPermaLink=\"false\">" >> /var/tmp/infoframe/index.html
date +%sD | md5sum | sed 's! -!!g' >> /var/tmp/infoframe/index.html
echo "</guid>
<media:content url=\"http://fritz.box:5050/info_11.jpg\" type=\"image/jpeg\" />
<media:title>Bild13</media:title>
</item>
<item>
<title>IF14</title>
<link>http://fritz.box:5050/info_12.jpg</link>
<description><img src="http://fritz.box:5050/info_12.jpg" alt="" /></description><guid isPermaLink=\"false\">" >> /var/tmp/infoframe/index.html
date +%sE | md5sum | sed 's! -!!g' >> /var/tmp/infoframe/index.html
echo "</guid>
<media:content url=\"http://fritz.box:5050/info_12.jpg\" type=\"image/jpeg\" />
<media:title>Bild14</media:title>
</item>
<item>
<title>IF15</title>
<link>http://fritz.box:5050/info_13.jpg</link>
<description><img src="http://fritz.box:5050/info_13.jpg" alt="" /></description><guid isPermaLink=\"false\">" >> /var/tmp/infoframe/index.html
date +%sF | md5sum | sed 's! -!!g' >> /var/tmp/infoframe/index.html
echo "</guid>
<media:content url=\"http://fritz.box:5050/info_13.jpg\" type=\"image/jpeg\" />
<media:title>Bild15</media:title>
</item>
<item>
<title>IF16</title>
<link>http://fritz.box:5050/info_14.jpg</link>
<description><img src="http://fritz.box:5050/info_14.jpg" alt="" /></description><guid isPermaLink=\"false\">" >> /var/tmp/infoframe/index.html
date +%sG | md5sum | sed 's! -!!g' >> /var/tmp/infoframe/index.html
echo "</guid>
<media:content url=\"http://fritz.box:5050/info_14.jpg\" type=\"image/jpeg\" />
<media:title>Bild16</media:title>
</item>
<item>
<title>IF17</title>
<link>http://fritz.box:5050/info_15.jpg</link>
<description><img src="http://fritz.box:5050/info_15.jpg" alt="" /></description><guid isPermaLink=\"false\">" >> /var/tmp/infoframe/index.html
date +%sH | md5sum | sed 's! -!!g' >> /var/tmp/infoframe/index.html
echo "</guid>
<media:content url=\"http://fritz.box:5050/info_15.jpg\" type=\"image/jpeg\" />
<media:title>Bild17</media:title>
</item>
<item>
<title>IF18</title>
<link>http://fritz.box:5050/info_16.jpg</link>
<description><img src="http://fritz.box:5050/info_16.jpg" alt="" /></description><guid isPermaLink=\"false\">" >> /var/tmp/infoframe/index.html
date +%sI | md5sum | sed 's! -!!g' >> /var/tmp/infoframe/index.html
echo "</guid>
<media:content url=\"http://fritz.box:5050/info_16.jpg\" type=\"image/jpeg\" />
<media:title>Bild18</media:title>
</item>
<item>
<title>IF19</title>
<link>http://fritz.box:5050/info_17.jpg</link>
<description><img src="http://fritz.box:5050/info_17.jpg" alt="" /></description><guid isPermaLink=\"false\">" >> /var/tmp/infoframe/index.html
date +%sJ | md5sum | sed 's! -!!g' >> /var/tmp/infoframe/index.html
echo "</guid>
<media:content url=\"http://fritz.box:5050/info_17.jpg\" type=\"image/jpeg\" />
<media:title>Bild19</media:title>
</item>
<item>
<title>IF20</title>
<link>http://fritz.box:5050/info_18.jpg</link>
<description><img src="http://fritz.box:5050/info_18.jpg" alt="" /></description><guid isPermaLink=\"false\">" >> /var/tmp/infoframe/index.html
date +%sK | md5sum | sed 's! -!!g' >> /var/tmp/infoframe/index.html
echo "</guid>
<media:content url=\"http://fritz.box:5050/info_18.jpg\" type=\"image/jpeg\" />
<media:title>Bild20</media:title>
</item>
<item>
<title>IF21</title>
<link>http://fritz.box:5050/info_19.jpg</link>
<description><img src="http://fritz.box:5050/info_19.jpg" alt="" /></description><guid isPermaLink=\"false\">" >> /var/tmp/infoframe/index.html
date +%sL | md5sum | sed 's! -!!g' >> /var/tmp/infoframe/index.html
echo "</guid>
<media:content url=\"http://fritz.box:5050/info_19.jpg\" type=\"image/jpeg\" />
<media:title>Bild21</media:title>
</item>
<item>
<title>IF22</title>
<link>http://fritz.box:5050/info_20.jpg</link>
<description><img src="http://fritz.box:5050/info_20.jpg" alt="" /></description><guid isPermaLink=\"false\">" >> /var/tmp/infoframe/index.html
date +%sM | md5sum | sed 's! -!!g' >> /var/tmp/infoframe/index.html
echo "</guid>
<media:content url=\"http://fritz.box:5050/info_20.jpg\" type=\"image/jpeg\" />
<media:title>Bild22</media:title>
</item>
<item>
<title>IF23</title>
<link>http://fritz.box:5050/info_21.jpg</link>
<description><img src="http://fritz.box:5050/info_21.jpg" alt="" /></description><guid isPermaLink=\"false\">" >> /var/tmp/infoframe/index.html
date +%sN | md5sum | sed 's! -!!g' >> /var/tmp/infoframe/index.html
echo "</guid>
<media:content url=\"http://fritz.box:5050/info_21.jpg\" type=\"image/jpeg\" />
<media:title>Bild23</media:title>
</item>
</channel>
</rss>" >> /var/tmp/infoframe/index.html
sh /var/tmp/infoframe/refresh.sh
sleep 30
done
exit 0
Jetzt modifizieren wir die vorhandene "setup.sh" und ersetzen den Inhalt hiermit:
Code:
#!/bin/sh
# setup infoframe handling
# make new directory for infoframe stuff in /var/tmp
mkdir /var/tmp/infoframe
# create webserver on port 5050 for serving images to picture frame
httpd -p 5050 -h /var/tmp/infoframe/ -r InfoFrame
# copy scripts from usb stick
cp /var/media/ftp/uStor01/infoframe/refresh.sh /var/tmp/infoframe
cp /var/media/ftp/uStor01/infoframe/error.jpg /var/tmp/infoframe
cp /var/media/ftp/uStor01/infoframe/download.sh /var/tmp/infoframe
cp /var/media/ftp/uStor01/infoframe/wait.sh /var/tmp/infoframe
# make clone
ln -s /var/tmp/infoframe/info.jpg /var/tmp/infoframe/info_clone.jpg
# make more clones
ln -s /var/tmp/infoframe/info.jpg /var/tmp/infoframe/info_1.jpg
ln -s /var/tmp/infoframe/info.jpg /var/tmp/infoframe/info_2.jpg
ln -s /var/tmp/infoframe/info.jpg /var/tmp/infoframe/info_3.jpg
ln -s /var/tmp/infoframe/info.jpg /var/tmp/infoframe/info_4.jpg
ln -s /var/tmp/infoframe/info.jpg /var/tmp/infoframe/info_5.jpg
ln -s /var/tmp/infoframe/info.jpg /var/tmp/infoframe/info_6.jpg
ln -s /var/tmp/infoframe/info.jpg /var/tmp/infoframe/info_7.jpg
ln -s /var/tmp/infoframe/info.jpg /var/tmp/infoframe/info_8.jpg
ln -s /var/tmp/infoframe/info.jpg /var/tmp/infoframe/info_9.jpg
ln -s /var/tmp/infoframe/info.jpg /var/tmp/infoframe/info_10.jpg
ln -s /var/tmp/infoframe/info.jpg /var/tmp/infoframe/info_11.jpg
ln -s /var/tmp/infoframe/info.jpg /var/tmp/infoframe/info_12.jpg
ln -s /var/tmp/infoframe/info.jpg /var/tmp/infoframe/info_13.jpg
ln -s /var/tmp/infoframe/info.jpg /var/tmp/infoframe/info_14.jpg
ln -s /var/tmp/infoframe/info.jpg /var/tmp/infoframe/info_15.jpg
ln -s /var/tmp/infoframe/info.jpg /var/tmp/infoframe/info_16.jpg
ln -s /var/tmp/infoframe/info.jpg /var/tmp/infoframe/info_17.jpg
ln -s /var/tmp/infoframe/info.jpg /var/tmp/infoframe/info_18.jpg
ln -s /var/tmp/infoframe/info.jpg /var/tmp/infoframe/info_19.jpg
ln -s /var/tmp/infoframe/info.jpg /var/tmp/infoframe/info_20.jpg
ln -s /var/tmp/infoframe/info.jpg /var/tmp/infoframe/info_21.jpg
ln -s /var/tmp/infoframe/info.jpg /var/tmp/infoframe/info_22.jpg
ln -s /var/tmp/infoframe/info.jpg /var/tmp/infoframe/info_23.jpg
ln -s /var/tmp/infoframe/info.jpg /var/tmp/infoframe/info_24.jpg
ln -s /var/tmp/infoframe/info.jpg /var/tmp/infoframe/info_25.jpg
# refresh picture for first time
sh /var/tmp/infoframe/wait.sh &
Im Anhang findet Ihr meine eingesetzte Lösung, ist noch etwas anderes. In der "download.sh" und der "refresh.sh" muss Eure ServerURL nachgetragen werden, in der "setup.sh" muss ggf. der Name Eures USB-Sticks geändert werden, sofern dieser nicht auch "uStor01" lautet.