Smart Mirror Hilfe

Hallo liebe Smart-Mirror Verrückte ;),

in letzter Zeit sind die Besucher Zahlen des Blogs durch die Decke geschossen, was natürlich super Klasse ist! Dadurch kamen aber auch viele Probleme, Fragen und Wünsche in den Kommentaren auf, weshalb ich nun diesen Eintrag hier schreibe.

Als erstes möchte ich ein paar Worte über die Video-Einblendung verlieren, da diese wohl die größten Probleme bereitet. Auch ich hatte in den letzten Tagen einige Probleme damit; Allerdings weniger mit dem Video an sich als vielmehr mit dem Ultraschall-Sensor. Ich weiß nicht ob ich da einfach ein Montagsmodell erwischthabe, ob das Teil einfach zu ungenau ist, oder ob die Position (direkt an der Wand) den Sensor verwirrt hat, denn dieser hat immer mal wieder fehlerhafte Einser oder Nullen ausgespuckt. Das hat dann dazu geführt, dass das Video entweder einfach so mal gestartet ist, ohne dass ich es mit der Hand wollte oder er hat einfach nix gestartet, obwohl ich mit der Hand darunter war. Das war verdammt nervig und auch einige versuche das Problem mit Software in den Griff zu bekommen sind gescheitert. Darum werde ich zusätzlich zum Ultraschall Sensor Tutorial noch ein Button Tutorial veröffentlichen. Das ganze ist sogar noch einfacher als der Ultraschall Sensor und auch vom Code her deutlich schlanker und schneller.

Das nächste ist die Video-Einblendung an sich. Auch hier konnte ich endlich endlich ein paar Fehler reproduzieren. Denn bei meinen Versuchen den Button zum laufen zu bekommen habe ich auch gemerkt, dass da was mit der Video-Einblendung nicht stimmt. Als erstes habe ich den Browser daran gehindert die Seiten zu Cachen (wie das geht seht ihr hier (Autostart Datei)). Das hat aber auch nur bedingt geholfen. Das was wirklich geholfen hat, ist den Browser mittels „F5“ neuladen und mit „sudo reboot“ den Pi neustarten. Klingt komisch ist aber so. Nach ein paar „F5″er hat das Video einwandfrei funktioniert – und tut es heute noch. Leider kann ich immernoch nicht sagen, warum das so ist. Denn vom Code her funktioniert alles wie es soll. (Was man einfach überprüfen kann, indem man mit einem anderen PC/Browser einfach mal die Mirror Seite aufruft. Startet dort das Video wie gewünscht liegt das einfach nur am Chromium Browser) Nur scheint der Browser da manchmal einfach nicht mitzukommen. Auch bei einer kleinen Recherche im Internet berichten immer wieder Leute, dass Chromium einige Probleme mit HTML5 Videos hat. Wer eine andere Version des Chromium verwendet, sollte unbedingt darauf achten, dass er auch die passende ffmpeg Version mit installiert. Auch sollte mindestens ein Raspberry Pi 2 verwendet werden. Mehr kann ich dazu leider nicht sagen.

Für die Leute die einen anderen RSS Feed nutzen als den Standard Süddeutsche Zeitungs Feed: Hier kann es zu dem Problem kommen, dass der erste und letzte Buchstabe fehlt. Das liegt daran, dass der SZ-RSS-Feed eine Sonderbehandlung braucht, um richtig dargestellt zu werden. Das ist bei anderen RSS-Feeds meistens nicht der Fall. Das Problem kann man einfach lösen, indem man Zeile 87-90 in der main.js auskommentriert. (Also vor jede Zeile ein // macht).

Das nächste Problem war der Kalender. Als erstes: Ja, in der aktuellen Version muss der Google Kalender auf öffentlich gestellt sein. Für iPhone User hat Uwe Peter eine kleine Anleitung gepostet. Für die, die mehrer Kalender einbinden wollen hat Christian in den Kommentaren eine Lösung präsentiert.

Nun zur main.css: Hier kann man sämtliche Formatierungs Funktionen ändern. Möchte man den Kalender in Schriftgröße 25 in der Mitte des Spiegels haben, so kann man das in dieser Datei ändern. Und zwar stehen in der index.php einige class=“xyz“ Dies deutet fast immer auf die passende Klasse in der main.css hin. Also such man die entsprechende Klasse in der main.css und kann dort lustig munter Sachen ändern. Allerdings sollte die vererbung beachtet werden! Welcher Syntax was bewirkt kann man z.b. hier nachlesen.

maincss_class.jpg

Wie kann ich herausfinden wo ein Fehler ist?

Nun auch dafür gibt es eine Möglichkeit. Und diese heißt: Chrome Browser. Diesen braucht ihr hierfür. Ist das gute Stück installiert klickt man oben Rechts auf die 3 Striche, dann auf „weitere Tools“ und dann „Entwickler Tools“. Damit öffnet man rechts eine Konsole. Nun tippt man in die Adresszeile die IP des Raspberrys ein – In meinem Fall also 192.168.0.140 – und setzt einen Haken bei „Disable Cache“.

Nun sollte sich das Interface öffnen. Gelichzeitig passiert etwas in der Konsole. Hier werden sämtliche zugriffe auf andere Dateien als die index.php angezeigt.

Über dem roten Kasten seht ihr jetzt die Zugriffe z.b. auf die verschiedenen Schriftarten (fonts), Dateien und auch die Temperature.php und Button.php. In dem roten Kasten werden Fehler in den Dateien angezeigt. Wenn alles passt, sollte das Fenster so aussehen, wie auf dem 2. Bild.

Exemplarisch ist auf dem 3. Bild ein Fehler zu sehen. Die erkennt man an dem roten x am linken Rand. In diesem Fall ist es ein 429 Fehler (kann getrost ignoriert werden). Im blauen Kästchen kann man jetzt sehen, welche Datei den Fehler auslöst. In diesem Fall ist also die jQuery.js schuld. Nach dem „:“ steht die Zeile in der vermutlich ein Fehler ist. Hier also Zeile 4.

Mit dieser Methode findet man die kleineren Fehler in den Dateien, wie z.b. eine fehlende Klammer oder Tippfehler  sehr schnell. Allerdings ist das natürlich keine Fehler-finde-Garantie.

So ich hoffe, dass damit einige Fragen beantwortet sind. Ich werde auch noch ein paar Bilder mit in die einzelnen Tutorials mit einfügen, damit alles vielleicht ein bisschen klarer wird. Außerdem kann zwischen den einzelnen Schritten ein sudo reboot wunder wirken 😉

Zum Schluss noch ein RIESIGES Dankeschön an alle die den Spendenknopf benützt haben. Ich weiß das wirklich sehr zu schätzen! Dankeee

Und nun viel Spaß beim rumbasteln.

PS.: Bald gibts neues Futter für unseren Raspberry Pi 😉

108 Kommentare zu „Smart Mirror Hilfe“

  1. Hallo zusammen,
    erstmal dickes Lob für deine tolle Anleitung =D
    Ich hab mal ne Frage: ich hab von Zitate-online.de die PHP in die Index.php eingefügt, wie von dir geschrieben. Es wird alles angezeigt auch da wo es soll, nur mein Problem mit Schriftgröße gefühlt 30. Der Schriftzug nimmt die Hälfte des Bildschirmes ein und ich weiß leider nicht wo ich das ändern kann. Auch in der main.css? Ich hab das unter dem dem Kalender auf der linken Seite.
    Vielen dank euch schonmal im vorraus
    LG Donic

    Gefällt mir

  2. Hallo,
    ich bin gerade dabei mir auch ein Smart Mirror zu basteln.
    Erstmal großen Dank für die super Anleitung hier, mit der ist es wirklich einfach, Danke dafür.
    Ich möchte gerne verschiedene Kalender mit Icons anzeigen lassen. Leider bin ich nicht gerade gut im programmieren. Könne mir einer da weiterhelfen ??
    Besten Dank schon einmal im Voraus

    Gefällt mir

  3. Hallo zusammen.

    Auch von mir Danke an dieser Stelle für das tolle Tutorial!!

    Ich bin fast fertig mit meinen Mirror und ich hänge an einer Stelle fest.
    Wahrscheinlich auch gar kein größer Fehler …

    Ich habe das Problem, dass meine Uhrzeit falsch angezeigt wird oben links. Worauf bezieht diese sich eigentlich?? Hat Sie mir dem Kalender zu tun?
    Das zweite sind die Kalender Einträge dort drunter. Wenn ich meinen Google Kalender freigebe entstehen dort Datenschutz Lücken? Oder Können nur Leute mit dem Links auf meinen Kalender zugreifen?
    Habe ihn noch nicht freigegeben und wollte erstmal fragen.

    Gruß Matthias

    Gefällt mir

    1. Hallo Leute,
      Die Uhrzeit bezieht sich natürlich auf die Uhrzeit vom Pi 😀 hab ich jetzt auch selbst gemerkt…
      Habe die im Terminal korekt eingestellt: sudo dpkg-reconfigure tzdata

      Bei den Kalender habe ich jetzt nur noch das Problem, dass hier einige alte Termine noch angezeigt werden.
      Ich suche noch weiter nach der Lösung.

      Gruß Matze

      Gefällt mir

  4. Hi,
    erstmal danke für diese tolle Anleitung.
    Ich habe es jetzt auch geschafft, alles angezeigt zu bekommen, wie ich es gerne hätte.
    Aber irgendwie bekomme ich das Wetter überhaupt nicht angezeigt, und ich finde nicht heraus woran es liegt.
    Die API ist vorhanden.
    Ich hoffe mir kann jemand helfen.

    Danke

    Gruß Daniel

    Gefällt mir

Kommentar verfassen

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s