InfoFrame: Digitaler Bilderrahmen (Anzeige von Anrufen, E-Mails, Termine, Wetter...)

Hat auch wer ne Idee zu meiner Frage?

schau dir mal die Funktion an, mit der die Texte auf den Hintergrund geschrieben werden:

function imagettftextboxopt(&$image, $size, $angle, $left, $top, $color, $fontfile, $text, array $opt = array())

(unter library)

und experimentiere mit $color ...
 
Ok, danke mal ..leider weiss ich nicht wo ich da anfangen soll ;-)
 
Farbe ändern

Hi Bolle
*Vorher ein Backup von den beiden Dateien machen!*

in der index.php legst du dir einen Text Style an:

Nach der Zeile:

$style['textcolor'] = ImageColorAllocate ($im, 255, 255, 255);

fügst du:

$style['textcolorgelb'] = ImageColorAllocate ($im, 255, 255, 0);

an.

In der CalenderPlugin.php ersetzt du diesen Block im Output Bereich:

// print appointment text and button
drawGlassButton($image, $color, 32, $yoffset+8 );
imagettftextboxopt($image, 12, 0, 50, $yoffset, $style['textcolor'], $style['font'], $text, $opt_entry);


dadurch:
// print appointment text and button
drawGlassButton($image, $color, 32, $yoffset+8 );
if( $begin_date == $today )
imagettftextboxopt($image, 12, 0, 50, $yoffset, $style['textcolorgelb'], $style['font'], $text, $opt_entry);
else
imagettftextboxopt($image, 12, 0, 50, $yoffset, $style['textcolor'], $style['font'], $text, $opt_entry);


Leider konnte ich es nicht testen, weil ich das CalendarPlugin nicht verwende.

Viele Grüße
Michi
 
@Michi!

Danke funktioniert einwandfrei so!! Supi wirklich!!

Greetz Boolle
 
@ht81
Hallo waf1tb,

schau mal bitte Post Nr. 43 und folgende im Fred an. Dort gibt es was zu beachten mit dem Hash. Evtl. hilft es weiter. Wie hast Du die FritzBox in den Samsung eingetragen? 192.168.178.2:5050/ oder ohne /?

habe jetzt mal beide varianten ausprobiert, auch mit den beiden zahlen wie im post 43.

Bekomme jetzt auch ein ein Bild auf den Bilderrahmen, aber es aktualiesiert sich nicht es bleibt bei der Zeit stehen, oder wechselt 1 Minute vor und wieder zurück immer im wechsel.
Es sei den ich aktiwire und deaktiwire einmal manuell den cach im Samsung Webinterfach.
Dann habe ich wieder die aktuelle Zeit aber er bleibt dann auch wieder bei der Stehen bis ich es wieder nanuell mache.
 
Bluetooth und Infoframeprojekt

wäre das möglich , dass man dieses Projekt auch mit Hilfe von bluetooth anstatt mit Wlan betreibt?

Der Hintergund ist der, dass es ja kaum noch Frames mit Wlan gibt. Bluetooth im Gegenzug haben relativ viele Rahmen...
 
Ich möchte nur mal ganz leise erwähnen, dass Bamboo für dieses Projekt ein gesondertes Forum und ein Wiki bereitgestellt hat. Während dieser Thread hier inzwischen völlig unübersichtlich geworden ist, herrscht dort drüben beschauliche Stille. :confused:
 
Zuletzt bearbeitet:
Background Images

zum Skript mit wechselnden Hintergrundbildern anbei eine kleine Auswahl
 

Anhänge

  • 800x600.zip
    567.4 KB · Aufrufe: 92
Kurstafel

hier mein Versuch, ein Bild mit aktuellen Kursen (DAX etc.) zu erstellen. (auch auf die Gefahr, daß der Interessentenkreis u.U. sehr klein ist ;-) )
Was angezeigt werden soll, kann man dann anpassen. Die Daten werden mit der yahoo-Api abgefragt (siehe auch http://www.gummy-stuff.org/Yahoo-data.htm). Der Dow Jones klappt irgendwie nicht - falls das jmd schafft, bitte um Info. Da ich bei PHP auch ein Newbie bin, ist der Code vielleicht noch nicht der Weißheit letzter Schluß. Kommentare sind willkommen !

Code:
<?php

// set error handling to only report errors (no warnings, infos...)
//error_reporting( E_ALL );
error_reporting( E_ERROR );
// set locale for date/time formatting
$loc = setlocale(LC_ALL, 'de_DE.UTF8', 'de_DE', 'de', 'ge');
 
// set the width and height of the new image in pixels
$image_width = 800;
$image_height = 600;

// create simple black image
$im = ImageCreateTrueColor($image_width, $image_height);
$backgroundcol = ImageColorAllocate($im, 0, 0, 0);
ImageFillToBorder($im, 0, 0, $backgroundcol, $backgroundcol);
$bg = 'resources/pix/bg_13.jpg';
$im = @ImageCreateFromJpeg ($bg); /* Versuch, Datei zu öffnen */

//kurse holen
// load the stock quotes: we are opening it for reading
// http://finance.yahoo.com/d/quotes.csv?s=  STOCK SYMBOLS  &f=  FORMAT TAGS siehe auch http://www.gummy-stuff.org/Yahoo-data.htm
$stocks = array();
	$_url = "http://download.finance.yahoo.com/d/quotes.csv?s=" ; 
	$symbols ="^GDAXI+^ATX+^IXIC+^GSPC+CLX10.NYM+GCV10.CMX+EURUSD=X" ;
	$tags = "nl1c" ;
	$URL = $_url.$symbols."&f=".$tags ;
	
   	$row = 1;                                      // Anzahl der Arrays
	$handle = fopen ($URL,"r");              // Datei zum Lesen öffnen
	while ( ($data = fgetcsv ($handle, 1000, ",")) !== FALSE ) { // Daten werden aus der Datei
                                               // in ein Array $data gelesen
    $num = count ($data);                      // Felder im Array $data
                                               // werden gezählt
    #print "<p> $num fields in line $row: <br>\n";
    $row++;                                    // Anzahl der Arrays wird 
                                               // inkrementiert
    for ($c=0; $c < $num; $c++) {              // FOR-Schleife, um Felder 
        #print $data[$c] . "<br>\n";            // des Arrays auszugeben
		$stocks[$row][$c] = $data[$c];
	}
}
fclose ($handle);

//***************************************************************************************************
//   Output
//***************************************************************************************************

// styles
$style = array(); 
$style['textcolor'] = ImageColorAllocate ($im, 255, 255, 255);
$style['font'] = 'resources/calibri.ttf';
$style['fontb'] = 'resources/calibrib.ttf';

function datumDeutsch($datumsstring){
	$englisch = array("Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun", "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December", "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec");
	$deutsch = array("Montag", "Dienstag", "Mittwoch", "Donnerstag", "Freitag", "Samstag", "Sonntag", "Mo", "Di", "Mi", "Do", "Fr", "Sa", "So", "Januar", "Februar", "M&auml;rz", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember", "Jan", "Feb", "M&auml;r", "Apr", "Mai", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dez");
	return str_replace($englisch, $deutsch, $datumsstring);
}

// function imageftext(&$image, $size, $angle, $left, $top, $color, $fontfile, $text)
// Überschrift + Linie
imagefttext ($im, 28, 0, 20, 50, $style['textcolor'], $style['fontb'], strftime("%H:%M - %A, %d. %B %Y"));
imagesetthickness($im, 3);
imageline($im, 15, 80, $image_width-20, 80, $style['textcolor']);

# RGB-Farbtabell http://gucky.uni-muenster.de/cgi-bin/rgbtab
$offset = 50 ;
$y = 150 ;
$anzahl = count ($stocks);
for ($l = 0; $l < $anzahl;) {
  imagefttext ($im, 24, 0, 20, $y+$offset*$l, $style['textcolor'], $style['fontb'], $stocks[$l+2][0]);
  imagefttext ($im, 24, 0, 350, $y+$offset*$l, $style['textcolor'], $style['fontb'], number_format($stocks[$l+2][1], 2, ',', '.'));
  $teil = explode (" - ", $stocks[$l+2][2]);
  if (floatval ($teil[1]) >= 0 ){
  $style['textcolor'] = ImageColorAllocate ($im, 0, 139, 069); #Grün
  }else {
  $style['textcolor'] = ImageColorAllocate ($im, 238, 0, 0);} #Rot
  imagefttext ($im, 24, 0, 490, $y+$offset*$l , $style['textcolor'], $style['fontb'], $teil[0]);
  imagefttext ($im, 24, 0, 590, $y+$offset*$l , $style['textcolor'], $style['fontb'], $teil[1]);
  $style['textcolor'] = ImageColorAllocate ($im, 255, 255, 255); # und wieder auf weiss
   $l = $l + 1 ;
  } ;

// set the HTTP header type to jpeg
header("Content-type: image/jpeg"); 

// send the new PNG image to the browser
#Imagejpeg($im);
Imagejpeg($im, "pics/infoframe-dax.jpg");
 
// destroy the reference pointer to the image in memory to free up resources
ImageDestroy($im); 
 
?>
 
Kurstafel

da ganze sieht dann so aus
 

Anhänge

  • infoframe-dax.jpg
    infoframe-dax.jpg
    82.7 KB · Aufrufe: 235
Hi muskalowski!
Vielen Dank für deine Mühe. Habe zwar keine Aktien, aber die Seite macht zumindest für Besucher etwas her.
Um eine zu unruhige Anzeige beim Seitenwechsel zu vermeiden habe ich Zeit, Datum und Linie in meiner neuen indexKurse.php an die normale index.php angepasst (und die Daten dort entnommen). Dazu wird auch nötig die includes . require once mit zu übernehmen!
$y habe ich auf 200 gesetzt. Platz ist ja ausreichend da.
 
meine index.php hatte ich diesbezüglich angepaßt, um mehr Platz für die Plugins zu bekommen.

bzgl Ebay bin ich mittlerweile bei esniper gelandet. Da komme ich aber derzeit nicht weiter, weil die Anmeldung aufgrund von Problemen bei den SSL-Zertifikaten nicht klappt. Falls da einer weiter weiß ...
 
Keine Feeds zu sehen

Moin,

vor kurzem habe ich mir einen Polaroid CPU-01015B Bilderrahmen zugelegt, der über WLAN und UPNP Zugriff Dateien von meinem hausinternen Linuxserver anzeigen kann. Also auch die von Infoframe generierten Bilder.

Ich habe nun erstmal Infoframe konfiguriert, um diese im Webbrowser zu testen. Kalender und Wetter funktionieren problemlos, leider nicht das Feedplugin. Egal was ich dort einstelle, es werden keine Feeds angezeigt. Im cache-Verzeichnis liegt eine feed_1.xml Datei, die Daten werden also zumindest abgeholt.

Hat jemand eine Idee, wo ich nun weitersuchen sollte?
Die Fehlermeldungen aus dem php.log helfen bisher nicht weiter.

Hier mein entsprechender Abschnitt aus der config.ini:

Code:
; NDR2-Staumeldungen - nur Schleswig-Holstein
feed_url_1 = "http://www.ndr.de/regional/verkehr/feed105-verkehr_region-sh_format-rss.xml"
max_age_in_minutes_1 = 5
max_displayed_items_1 = 4

Danke und Gruß
Stefan
 
Hallo 1nordlicht,

versuche mal den Feed ohne Zeitbegrenzung darzustellen. Also ganz normal und ohne Filter. Wahrscheinlich ist die Zeit von 5 min Aktuallität zu gering und deswegen zeigt er nichts an.
 
Moin,

versuche mal den Feed ohne Zeitbegrenzung darzustellen. Also ganz normal und ohne Filter. Wahrscheinlich ist die Zeit von 5 min Aktuallität zu gering und deswegen zeigt er nichts an.

Super, Danke! Das war's. Und ja eigentlich auch logisch :rolleyes:

Gruß
Stefan
 
Hallo 1nordlicht,

gern geschehen. Man macht nunmal diese Fehler und lernt. Frag mich mal warum ich Dir sofort helfen konnte ;)
 
funhzt der Polaroid auch mit dem Callmonitor order scheiterte es wider an der Aktualisierung?
 
funhzt der Polaroid auch mit dem Callmonitor order scheiterte es wider an der Aktualisierung?

Das kann ich nicht sagen, ich habe bisher auch nicht vor das Gerät als Callmonitor einzusetzen, höchstens für die Anruferliste. Der Polaroid hat eine minimale Refreshzeit von 10 Sekunden, daher ist das wohl etwas lang für Anrufe. Remote kann meinen keinen Refresh erzwingen, RSS kann er auch nicht.

Ich will ihn hauptsächlich für die Anzeige meiner Wetterstation einsetzen, zusätzlich Kalender und Verkehrsinfos. Der Polaroid startet nach dem einschalten nach etwa 5 Sekunden mit der zuletzt gewählten Diashow, in meinem Fall vom Netz. Als Server dient ein Linux-Rechner mit MiniDLNA als Medienserver. Ich habe das Teil für 52¤ bei ebay ersteigert, für die Eigenschaften und meine Nutzung ein unschlagbares Preis-/Leistungsberhältnis. ;-)

Gruß
Stefan
 
supi..Vielen Dank für deine ausführlich Info!!
 
Ich will ihn hauptsächlich für die Anzeige meiner Wetterstation einsetzen, zusätzlich Kalender und Verkehrsinfos.

Hier nun mein fertiges Ergebnis als Bild. Die Aktuellen Wetterdaten (alles im rechten oberen Viertel) kommen von meiner eigenen Wetterstation und mehreren Sensoren im und am Haus. Die liegen eh' schon in rrd-Datenbanken vor, die ich nur abgreife und darstelle. Den Kalender habe ich mit den Anregungen von bgx noch aufgehübscht, und die Formatierung etwas angepasst (ich empfinde die Uhrzeit vor dem Termin als praktischer). Zusätzlich zeige ich noch die Zeiten für Sonnenaufgang und -untergang an.

Was kommt noch:
- Eventuell weitere Sensordaten aus dem Haus, ggfs. auf einem wechselnden Screen.
- Wechselndes Hintergrundbild, die Bilder sollten dabei von einem UPNP Mediaserver kommen.
- zeitgesteuerter Inhalt: morgens Verkehrsinfos, abends was anderes ...

Danke an alle für die Ideen und Anregungen!
:D
Gruß
Stefan
 

Anhänge

  • infoframe.png
    infoframe.png
    222.3 KB · Aufrufe: 212
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.