Bilderrahmen mit IPS

Derzeit läuft ein sehr günstiges Androidtablett als Bilderrahmen. Die App war sehr günstig und kann das was ich brauche. Die anzuzeigenden Bilder sind in einem Verzeichnis am NAS gespeichert und werden vom Tablett angezeigt.
Jetzt hab ich mir gedacht, das könnte man ja auch mit IPS machen. Bilder kann es auch darstellen. Leider scheitert es schon beim auslesen des Verzeichnisses vom NAS. Ich bekomme gar nichts obwohl ich dem Gast am NAS lesenden Zugriff gewährt hab.
Weiters stellt sich für mich die Frage, wie ich das mit IPS machen könnte. Ich möchte es ja nur anzeigen. Vondaher denke ich eher nicht, dass mit einem Medium (Bild) funktionieren wird, da ja das Bild dann am IPS gespeichert wird. Eventuell könnte man es mit einer HTML Variable machen.
Zuallererst brauch ich mal den Verzeichnisinhalt.
Hat das schon mal jemand gemacht?

Was ich auch noch gerne machen würde, ist die Anzeige von diversen Daten auf dem Tablett. Zusätzlich zu den Bildern.

Keiner eine Idee? Im Moment scheitert es noch daran, die Dateinamen vom NAS zu lesen. Grundsätzlich hätte ich es, aber trotz dass ich dem Gast auf dem Share Leserechte gegeben hab, kommt nix zurück.

Hallo,
ich würde da vielleicht anders herangehen. Ich mein… Du willst Bilder aus einem Verzeichnis nacheinander anzeigen lassen. DAS Kann Dein Bilderrahmen schon. Was möchtest Du daran konkret ändern? Die einzigen Änderung die da herauslesen kann, ist diverse Daten mit darzustellen. Wie wäre es dann, wenn Du einfach die Daten die Du darstellen möchtest in eine Datei packst (die das Tablet auch Darstellen kann), und diese dann auf dem NAS in den Bilder Ordner packst. Der Bilderrahmen würde das „Bild“ dann doch sporadisch mit anzeigen. Dieses „Bild“ mit den Daten kann man dann ja immer wieder mal aktualisieren. Man kann sicherlich auch mehrere Datenbilder hochladen…

//Sven

Ja im Grunde hast du recht. Der Bilderrahmen - also das Tablet mit der App - zeigt aus dem Ordner mit etwa 900 Bilder immer eines zufällig an. Die Daten in ein Bild zu packen ist ja nicht das Problem. Doch die Wahrscheinlichkeit, dass es auch immer wieder angezeigt wird, ist relativ gering. Daher dachte ich an eine Teilung des Bildschirms. Oben eine oder zwei Zeilen für eine Anzeige - in einer HTML Variable, weil ich dann die Schrift anpassen kann - und unten halt dann die Bilder.
Ich muss aber zuerst mal das Problem mit dem Zugriff lösen.

also ich nehme den Inhaltswechsler zum Anzeigen ?! müsse nur das Verzeichnis der NAS umgebogen werden

An den dachte ich auch schon. Könntest du das eventuell etwas näher erläutern?

in so einem Fall würde mit hardlinks (win) arbeiten und das Verzeichnis ins media-VZ reinspiegeln aber der Inhaltswechslerwill ja definierte einzelne Bilder haben.

Ich konnte jetzt für mich eine Lösung finden. Da ich den Zugriff auf mein NAS nicht geschafft habe, läuft am IPS Server ein Prozess, der mir die Bilder in regelmäßigen Abständen in ein Unterverzeichnis vom Scripts kopiert. Da ich die Bilder so und so auf 800x600 verkleinere ist die Datenmenge überschaubar.
In einem Skript wird das Verzeichnis ausgelesen und das Ergebnis in ein Array geschrieben. Also die Dateinamen. Dann noch eine Randomfunktion und fertig.
Eventuell bau ich das noch etwas um, damit Bilder nicht doppelt pro Zyklus angezeigt werden.

das verlangt ja förmlich nach einem Modul :wink:

Na ja. So großartig ist der Code auch nicht :wink:

$bilder=array();
$i=0;
$index=0;
$idjsonvariable=13221;
$idmediavariable=59626;
$bilder=json_decode(getvalue($idjsonvariable),true);
$anzahl=count($bilder);
if($anzahl==0)
{
    $verzeichnis = "C:\\ProgramData\\Symcon\\scripts\\Bilderrahmen\\";
    if ( is_dir ( $verzeichnis ))
    {
        if ( $handle = opendir($verzeichnis) )
        {
            while (($file = readdir($handle)) !== false)
            {
                if ($file != "." and $file != "..")
                {
                    $bilder[$i]=$file;
                    $i++;
                }
            }
            closedir($handle);
        }
    }
}

$index=rand(0,$anzahl-1);
IPS_SetMediaFile($idmediavariable,"C:\\ProgramData\\Symcon\\scripts\\Bilderrahmen\\".$bilder[$index],false);
array_splice($bilder,$index,1);
setvalue($idjsonvariable,json_encode($bilder));

Die paar Zeilen dürfen aber gerne dafür verwendet werden.