Family Calendar

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Meine aktuelle Projektidee ist ein elektronischer Familienkalender für unseren Wohnungsflur. Im Prinzip soll das wie folgt ablaufen:

    Der RPi ruft in regelmäßigen Abständen die Online-Kalender von meiner Frau, unserem Sohn und mir ab. Die Daten werden in einer Datenbank gespeichert, aggregiert und auf einer Anzeige ausgegeben. Bonus-Feature wären ein oder zwei Taster, mit denen man zwischen verschiedenen Anzeigevarianten (Tagesjournal, 2-Tages-Ansicht, ToDo-Liste) umschalten kann.

    Derzeit steht für mich die Frage im Raum, welche Art der Anzeige sich für mein Vorhaben eignet. Der Kalender soll dauerhaft Sichtbar sein, damit man auch im Vorbeigehen schnell mal sieht, was so ansteht. Ein TFT-Display halte ich für einen ziemlichen Stromfresser, wenn es bis zu 24 Stunden am Tag laufen soll. Außerdem werde ich von meiner Frau kaum die Zustimmung dafür bekommen, unseren Flur mit so einem Teil zu "verschönern". Mein Favorit wäre ein bistabiles Display, also entweder eine Form von E-Paper oder ein Flip-Dot-Display. Bei beiden habe ich ein relatives Beschaffungsproblem, weil die Dinger offenbar nicht über die gängigen Internet-Shops vertrieben werden. E-Paper scheint es außerdem nur in relativ kleinen Größen zu geben. Mir wäre da eine Anzeige in der Größe von ca. 120x80cm ganz recht.

    Jetzt werde ich einen Hersteller dieser Flip-Dot-Anzeigen (http://www.flipdots.com) einmal anschreiben und fragen, was die Dinger so kosten. Vielleicht probiere ich das Ganze dann auch erst einmal mit günstigen LED-Matrix-Bausteinen aus und entscheide dann, welches Display ich am Ende verwende.

    Für Tipps und Fragen bin ich mehr als offen. Schreibt mir einfach, was ihr zu meinem Projekt denkt. Ich werde hier über meine Fortschritte berichten.

    Einmal editiert, zuletzt von dilbert1981 (29. Januar 2013 um 19:00)

    • Offizieller Beitrag

    Wie ich finde eine super Idee. Habe auch Google befragt und konnte lediglich dieses E-Paper finden welches etwas größer (10,2") ist als ein iPad.
    http://www.ineltek.com/de/products/do…/PZ102AT011.pdf

    Wenn du natürlich 120x80cm haben möchtest wird es schwierig etwas zu finden was so groß und dazu auch noch so Stromsparend. Flip-Dots sind natürlich eine klasse Idee. Du müsstest aber ziemlich kleine "Dots" haben damit du die Auflösung schaffst und es auch noch lesbar ist wenn du davor stehst. Und das geht glaube ich richtig ins Geld.

    Was hältst du denn von einen 19 Zoll LED Chassismonitor? Mein Gedanke ist es, mit einer Kamera oder einem Bewegungssensor/Lichtsensor den Bildschirm einschaltest sobald jemand vorbei schaut. Danach läuft er eine bestimmte Zeit und wird wieder abgeschaltet.

    http://www.jk-electronic.de/html/19-LED-industriemonitor.html
    http://www.jk-electronic.de/pdf/19-chassismonitor.pdf

    Ich bin gespannt was so eine Flip-Dot Anzeige kostet und wie dein Projekt weitergeht! =)

    Well in my humble opinion, of course without offending anyone who thinks differently from my point of view, but also by looking into this matter in a different way and without fighting and by trying to make it clear and by considering each and every one's opinion, I honestly believe that I completely forgot what I was going to say.

  • Vielen Dank für die sehr hilfreichen Tipps!

    Ich habe mich jetzt noch ein wenig mit den Flip-Dot-Panels beschäftigt. Der Hersteller bietet Module mit 14x28 Pixeln (Pixelgröße 8,9mm) mit den Maßen 142x288,4mm an. Bei 5 Reihen mit je 4 Modulen käme ich also auf eine Gesamtgröße von 115,36x71cm, was so in etwa meiner Wunschgröße entspricht. Das Display hätte eine Auflösung von 70x112 Pixeln. Wenn wir jetzt mal von reiner Textdarstellung mit fester Laufweite ausgehen, könnte man so im Hochformat maximal 14 Zeilen mit je 11 Zeichen darstellen. Das sähe dann in etwa so aus:
    [font="Courier New"]
    Mo 14:30 P
    Treffen im
    Café
    Bernstein
    -----------
    Mo 18:00 P
    Chorprobe
    -----------
    Di 09:00 M
    Daily Scrum
    -----------
    Di 19:00 A
    gemeinsames
    Abendessen
    [/font]

    Das Querformat ist hier wahrscheinlich sinnvoller. Damit kämen wir auf 8 Zeilen mit je 18 Zeichen:
    [font="Courier New"]
    Mo 14:30 Mama
    Treffen im Café...
    ------------------
    Mo 18:00 Papa
    Chorprobe
    ------------------
    Di 9:00 Mama
    Daily Scrum
    [/font]

    Mit ein wenig Rumgewurschtel bei den Trennlinien könnte man hier sogar Platz für zwei weitere Zeilen rausholen. Jetzt bleibt allerdings die Frage, wieviel mich 20 dieser Panels kosten würden. Ich versuche mal, das herauszufinden.

    Eine Alternative wären wirklich 2 oder 3 E-Paper-Displays mit je 10" im Querformat untereinander. 50x22cm sind für eine Anzeige mit 1280x3072 Pixel schon eine respektable Größe und als Wandkalender allemal groß genug, um auch im Vorbeigehen einen Überblick zu erhalten. Die Flip-Dots finde ich allerdings optisch um einiges spannender.
    Selbstleuchtende Anzeigen, wie ein LED-Display würde ich allerdings für die Endversion ausschließen, weil ich es im Wohnbereich doch als störend empfinde, wenn einem ständig etwas entgegen strahlt.

    An die Ansteuerung des Displays will ich jetzt noch garnicht denken. Die Linux- und PHP-Seite dürfte kein Problem sein aber mit der Ansteuerung von Elektronikkomponenten hatte ich bislang absolut nichts am Hut. Das ist allerdings auch der Reiz an diesem Projekt.

  • Die Flipdots sind eine schöne Sache aber nur für größere Entfernungen. Die kleinen Punkte haben 9mm Durchmesser, damit bist Du bei etwa 7cm Buchstabenhöhe.
    Außerdem solltest Du die Lautstärke beim Umschalten bedenken, stell Dich mal im Bahnhof/Flughafen unter so eine Anzeige.

  • Die Flip-Dots scheiden aus ökonomischen Gründen aus. Ein Panel kostet über 400 EUR. In der Summe käme ich also selbst in einer stark abgespeckten Variante mindestens auf 3500 EUR. Dafür kann ich nicht nur jedes Familienmitglied, sondern auch jeden Raum einschließlich Klo und Keller mit einem Nexus 7-Tablet samt Wandhalterung ausstatten und dort eine Kalender-App laufen lassen. Wenn mir jetzt also nicht zufällig ein gebrauchtes Panel unter kommt, werde ich wohl auf eine E-Paper-Lösung (ggf. tatsächlich mit 1-2 Kindles) zurückgreifen.

    Die Lautstärke hätte mich nicht abgeschreckt. Zum einen ist das nicht die laute Mechanik, die man von den Flip-Anzeigen am Flughafen kennt (ich habe gestern irgendwo im Netz ein Video gesehen, da war die Geräuschentwicklung der Flip-Dots sehr human) und zum anderen würde sich der Kalender nur 1-2mal am Tag updaten. Die Sache mit der Pixelgröße hat mich auch beschäftigt. Deswegen habe ich mir mal ein paar Text-Schnipsel in Originalgröße in einer Matrix-Schrift ausgedruckt und an die Wand gehängt. Es wäre lesbar gewesen.

    So, jetzt mal mein Projektplan:

    • RPi bestellen (erledigt)
    • Distribustion aufspielen und ausprobieren. Mit dem System vertraut machen (erledigt)
    • LAMP installieren. Mache ich heute und morgen fertig.
    • In Symfony2 einarbeiten. Jetzt mag man mich fragen, ob ein Framework für den Abruf einiger URLs, das Speichern in der Datenbank und die Ausgabe von 3-4 verschiedenen Ansichten nicht ein wenig übertrieben ist. Nein, ist es nicht. Außerdem ist dieses Projekt eine gute Gelegenheit, einmal in die aktuelle Symfony-Version hinein zu schnuppern.
    • CalerndarAggregator-Plugin erstellen.
    • Model planen, Migrationen schreiben.
    • Import-Filter für verschiedene Kalender-Formate suchen, ggf. eigene schreiben.
    • Import-Task erstellen.
    • View für TFT-Bildschirmausgabe erstellen (simple HTML-Ausgabe für Browser im Vollbildmodus).
    • DIsplay (E-Paper, LED-Matrix, whatever) bestellen und mit der Ansteuerung vertraut machen,
    • View für Ausgabe auf dem endgültigen Display erstellen.
    • Gehäuse basteln, montieren
    • ggf. Software-Package erstellen und veröffentlichen
  • So, nachdem ich heute mal wieder auf mein Projekt aufmerksam gemacht wurde, will ich hier kurz einen Zwischenstand wiedergeben.

    In letzter Zeit habe ich mich neben der Server-Seite besonders mit der Display-Problematik beschäftigt. In Frage kamen verschiedene Display-Typen mit verschiedenen Vor- und Nachteilen, die ich einmal Stichpunktartig zusammenfasse.

    TFT-Computer-Bildschirm:
    + relativ günstig in der Anschaffung
    + fertige Wandbefestigungen verfügbar
    + großes Format
    + hohe Auflösung
    + sehr einfache Ansteuerung über HDMI
    - verbraucht viel Strom bei ständigem Betrieb
    - leuchtet, was im Wohnraum nicht besonders gut ausschaut

    Flipdot-Matrix:
    + ist ein echter Hingucker
    + verbraucht nur beim Refresh Strom
    - nur sehr geringe Auflösung möglich
    - schlechte Textdarstellung bei geringem Abstand des Betrachters
    - ggf. Lautstärke beim Refresh
    - Anschaffungskosten deutlich über der 3000 EUR Marke
    - komplizierte Ansteuerung

    LED-Matrix:
    + schaut gut aus, obwohl es leuchtet
    + relativ geringer Stromverbrauch
    - geringe Auflösung aber besser als Flipdot-Matrix
    - Anschaffungskosten um die 200-300 EUR (inkl. Steuertechnik)
    - komplizierte Ansteuerung

    Kindle (in dieser Variante http://www.mpetroff.net/archives/2012/…ther-display/):
    + gute Auflösung
    + leuchtet nicht
    + sehr gute Lesbarkeit
    + kompakte Bauform
    + relativ leichte Ansteuerung
    + geringer Stromverbrauch bei seltenen Refreshs (jedenfalls, wenn man das WLAN zwischendrin deaktiviert)
    + niedrige Anschaffungskosten
    + auch mehrere Displays möglich
    - relativ kleines Format, lieber wäre mir DIN A4 oder DIN A3

    Wie ihr wohl ahnen könnt, verfolge ich nur die Variante mit dem Kindle weiter. Damit ich nicht den Kindle meiner Frau Jailbreaken muss (was sie mir verbieten wird), schaue ich jetzt nach einem gebrauchten Kindle oder bestelle mir einen neuen.

  • Ich habe mir jetzt einmal einige Gedanken zur Darstellung des Kalenders auf dem Kindle gemacht und einige Entwürfe erstellt. Dabei zeigt sich schnell, dass eine gute Kalenderansicht gar nicht so leicht umzusetzen ist und doch eine Menge an Hirnschmalz erfordert. Mir steht eine Auflösung von 600x800 Pixeln zur Verfügung, was eigentlich nicht schlecht ist.

    Die einfachste Variante wäre eine simple Listenansicht in einer Tagesagenda. Unter dem Wochentag und Datum werden zunächst die Ganztagstermine wie Geburtstage, Feiertage oder Urlaube angezeigt. Darunter kommen dann einfach hintereinander alle Termine mit Uhrzeit und einem Icon der jeweiligen Person bzw. des Quellkalenders.

    Leider muss man hier schon genau hinschauen, um zu sehen dass alle drei Familienmitglieder gleichzeitig einen Termin haben und somit niemand auf's Kind aufpassen kann. Deswegen habe ich es mit einer herkömmlichen Tagesansicht versucht, bei der ich allerdings freie Zeiten ausgeblendet Habe, um Platz auf dem Screen zu sparen:

    Wie man sieht, bekomme ich so nur zwei Paralleltermine auf den Bildschirm. Ich habe relativ viel herumprobiert aber mit Zeitleiste und Icons (ich weiß, dass da trotzdem noch ein Bisschen Platz ist) krieg ich keine drei Spalten für Termine unter. Außerdem ist die Zeit-Information letztlich redundant, was ich auch nicht so optimal finde. Meine nächste Variante ist eine sehr ähnliche Darstellung, nur ohne den Kalender. Ich lasse also die Zeitskala weg und schon habe ich mehr Platz für die Termine:

    Dabei mache ich mir zu Nutze, dass der Betrachter ohnehin ein chronologisch sortiertes Kalenderblatt als mentales Modell hat. Er kann sich die Skala denken und weiß allein durch die Position der Terminfelder, in welcher Beziehung die Termine zu einander stehen. Es ist meinem Entwurf geschuldet, dass die Proportionen hier nicht ganz stimmen. Das Prinzip sollte aber klar werden. Diese Darstellung hat aber immer noch einen großen Haken. Sie lässt sich nicht generisch auf beliebig viele gleichzeitige Termine anwenden. Mehr als drei sind nicht drin und rein theoretisch könnte es vier oder mehr geben. Deswegen habe ich versucht, die einfache Liste aus dem ersten Entwurf mit diesem zu kombinieren:

    Hier werden Überschneidungen durch Gruppierung dargestellt und der zeitliche Versatz der Termine durch eine Einrückung vorne oder hinten. Die Darstellung ist recht leicht zu implementieren, weil sie keine Anordnung in Spalten benötigt. Sie lässt außerdem viel Platz für längere Terminbeschreibungen, wie z.B. den Ort.

    Ein Problem ist allerdings, dass es in der ersten Version keine Möglichkeit zur Navigation gibt und man somit weder scrollen, noch blättern kann. Es muss also immer alles wichtige auf einer Seite sichtbar sein. Eine Möglichkeit wäre, die Schriftgröße und Abstände in einem gewissen Rahmen dynamisch zu verkleinern, wenn mehr Termine angezeigt werden müssen. Aber auch das stößt schnell an Grenzen. Deswegen will ich mir eine Logik überlegen, nach der weniger wichtige Informationen schrittweise ausgeblendet werden können.

    Bleibt die Frage, wie man von den Rohdaten zu so einer PNG-Grafik für den Kindle kommt. Anders als Matthew Petroff mit seiner Wetterstation (siehe voriges Post) kommt für mich der Weg über einen SVG-Vektor nicht in Frage. Matthew muss nur ein paar Werte und Bilder in Platzhalter einfügen. Mein Kalender erfordert einiges an Layout, inklusive Zeilenumbrüchen und so weiter. Ein HTML-File wäre als Grundlage für die Ausgabe nicht schlecht. Weil ich mit Symfony arbeite, habe ja bereits ein starkes Templating-Werkzeug. Ich werde mich in den nächsten Tagen also mit der Möglichkeit, HTML in PNG zu konvertieren. Im ersten Anlauf bin ich auf Webkit2PNG (http://www.paulhammond.org/webkit2png/) gestoßen.

    • Offizieller Beitrag

    Sehr interessant das ganze. Der Kindle kann also pngs darstellen? Wie steuerst du ihn?
    Du könntest mit PHP dynamisch solche Grafiken erstellen. Da gibt es nette Klassen zu oder du machst es selber. Ist aber mit etwas Fleiß und PHP Kenntnissen verbunden.
    http://php.net/manual/en/ref.image.php

    Hilft dir das weiter?

    Well in my humble opinion, of course without offending anyone who thinks differently from my point of view, but also by looking into this matter in a different way and without fighting and by trying to make it clear and by considering each and every one's opinion, I honestly believe that I completely forgot what I was going to say.

  • Die PHP-Kenntnisse sind nicht das Problem. Ich brauche aber so Dinge wie Textumbruch am Zeilenende, Tabellen, Rahmen und Formatvorlagen. Also eigentlich alles, was HTML von Haus aus kann. Da macht es wenig Sinn, das über die PHP-Grafik-Bibliothek zu lösen.

    Der Kindle kann PNG-Dateien im Vollbild darstellen, weil er eine Testbild-Funktion hat, die sich nach dem Jailbreak entsprechend nutzen lässt. Per cron wird zu bestimmten Zeiten das WLAN aktiviert, die PNG-Datei per wget vom Raspberry runtergeladen, WLAN wieder deaktiviert und der Bildschirmtest mit der heruntergeladenen Datei aufgerufen. Das Ganze funktioniert also nur nach dem PULL-Prinzip. Wahrscheinlich könnte man (für andere Anwendungen als meinen Kalender) eine Refresh-Rate von bis runter zu 10 Sekunden erreichen. Weniger macht aber schon allein wegen des E-Ink-Displays keinen Spaß.

    Gut ist, dass der Raspberry nicht zusammen mit dem Kindle an der Wand hängen muss, sondern im Arbeitszimmer beim Router liegt. Außerdem ist das meines Wissens nach die einzige Möglichkeit, grafische Inhalte vom Raspberry auf dem Kindle anzeigen zu lassen. Bei der Geschichte mit ner SSH-Session hat man ja lediglich einen Konsolen-Zugang.

  • Interessantes Projekt!

    Das Kindle hat doch auch einen integrierten Browser.
    Wäre es nicht möglich, den Kalender in diesem Browser anzuzeigen?
    Auch den Refresh könntest du dann einfach über JavaScript realisieren.

  • Zitat von sdvg pid=6944 dateline=1362262030


    Interessantes Projekt!

    Das Kindle hat doch auch einen integrierten Browser.
    Wäre es nicht möglich, den Kalender in diesem Browser anzuzeigen?
    Auch den Refresh könntest du dann einfach über JavaScript realisieren.

    Grundsätzlich schon. Der Browser hat aber leider keinen Fullscreen-Modus.

    • Offizieller Beitrag

    dilbert1981

    Da ich selber auf der Suche nach einem E-Paper Display bin habe ich auch noch mal etwas gesucht und habe folgendes Display gefunden.
    2.7 inch E-paper Display von embeddedartists.com
    http://www.embeddedartists.com/products/displ…d_27_epaper.php

    Natürlich ist es aufgrund der Displaygröße für dich uninteressant, aber der Displayhersteller bietet auch noch folgendes Display an:
    10.2” 1024 x 1280 (160 dpi) benötigt auch nur 3,3 Volt zum umschalten des Bildes.

    10.2_2.png?Action=thumbnail&Width=280&Height=280&Algorithm=proportional&USM=1


    Jetzt benötigen wir nur noch eine Möglichkeit das Display anzusteuern. Man könnte mal bei embeddedartists nachfragen , ob das Display ebenfalls in Planung ist für den Raspberry Pi. Zu dem 2,7 Zoll gibt es einen Controller sowie Sourcecode. Wird per C angesteuert und man muss nur ein S/W Bild in Hexadeziamalstücke zerteilen und in ein Array schreiben. ;)


    Hier das Datenblatt und Flyer:
    1P021-00_01_EZ102AT011_Panel only.pdf
    10.2Flyer.pdf

    Well in my humble opinion, of course without offending anyone who thinks differently from my point of view, but also by looking into this matter in a different way and without fighting and by trying to make it clear and by considering each and every one's opinion, I honestly believe that I completely forgot what I was going to say.

    Einmal editiert, zuletzt von ps915 (26. März 2013 um 15:55)

    • Offizieller Beitrag

    Selbst der Democode klappt nicht? Habe mal kurz reingeschaut und sieht recht simpel aus! ;)

    Well in my humble opinion, of course without offending anyone who thinks differently from my point of view, but also by looking into this matter in a different way and without fighting and by trying to make it clear and by considering each and every one's opinion, I honestly believe that I completely forgot what I was going to say.

  • Hallo Dilbert
    Leider bin ich Programmier-Technisch ein ziemlicher Anfänger. Mit etwas Unterstützung würde ich mich aber auch sehr gerne an solch ein Projekt wagen.
    Gibt es da schon etwas konkretes?

    Gruss aus der Schweiz
    Tinu

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!