Wohnzimmer PC

Wer kennt das nicht: Die Musik landet heutzutage auf Handys und Festplatten und der gute alte CD-Player geht in Rente. Die Hersteller bietet verschiedene Lösungen an um MP3 & Co. im Wohnzimmer abzuspielen z.B. mit dem Handy und Bluetooth-Lautsprecher aber das finde ich alles nicht wirklich brauchbar und zu unflexibel.

Ein kleiner Media-PC für´s Wohnzimmer musste her. Meine Wahl fiel auf einen Zotac ZBOX ID41. Das ist nicht mehr der neuste Rechner, dafür aber relativ preiswert und von der Leistung völlig ausreichend für meine Zwecke. Alternativen mit diesem Formfaktor gibt es aber aktuell viele…von Zotac, die Intel NUCs und andere…

zbox

Der Rechner hat einen 1,8 GHz Atom mit 512 MB Hautpspeicher, eine nvidia Grafikkarte und jede Menge Schnittstellen. Als Betriebssystem habe ich ein Ubuntu 14.04 LTS installiert. Als Mediacenter kommt XBMC (demnächst “Kodi”) in der Version aktuell “13.2 Gotham” zum Einsatz.

Die Steuerung des Rechners geschieht über einen rahmenlosen 19″ Touchscreen von ELO den ich günstig in der Bucht gesteigert habe. Der Touchscreen sollte in die Wand eingelassen werden, der Rechner sollte irgendwo hinter der Couch verschwinden.

Unser Hausbau kam gelegen um alles ordentlich im Wohnzimmer zu integrieren. Oben links im Bild ist die Ausparung für den Monitor. Per Kabelkanal geht es an eine Ausgangsdose die später hinter der Coach ist. In den Kabelkanal kommt ein DVI-Kabel, ein USB-Kabel für den Touchscreen und ein Steuerkabel um bei dem ELO-Monitor das externe Bedienelement für Helligkeit, Kontrast etc. bei Bedarf anschliessen zu können.

IMG_1756

Den Monitor habe ich mit einem ausgeschnittenen Alu-Rahmen verschraubt den ich den Verputzern als Maß für die Ausparung gegeben hatte. das Netzteil des Monitors habe ich hinter dem Monitor in einer extra Vertiefung verstaut.

IMG_1832

Durch das dicke Leerrohr am Boden kamen ein HDMI-Kabel für den Fernsehanschluss (der ist in der Ecke wo das Abflussrohr steht), und ein mit 10m relativ langes optisches TOS-Link-Kabel welches aber problemlos funktioniert.

IMG_1834

Der Alu-Ramen inkl. Monitor habe ich mit Montagekleber in die Aussparung geklebt. Das hält sehr gut, ich bekomme es aber auch wieder (mit etwas Gewalt) ab.

Fertig eingebaut schaut das Ganze dann so aus. Um den Halterahmen zu verdecken ist um den Monitor ein weißer Alurahmen der mit doppelseitigem Klebeband befestigt ist. Für beide Rahmen nochmal vielen Dank an Ingo für das Schneiden mit dem Waterjet:-)

xbmc1

Der Rechners startet direkt per Autostart ins XBMC. Die Daten (Bilder, Musik, Videos) liegen auf einem NAS im Keller. Als Skin für den XBMC kommt der Touchscreen-freundliche “Joggler” zum Einsatz. Ohne Tastatur geht es leider nicht immer daher hängt eine sehr kleine Bluetooth-Tastatur von Keysonic (KSK-3200 RF) mit integriertem Trackball dran.

xbmc2

XBMC zeigt nach wenigen Minuten ohne Touch und weitere Eingaben eine Diashow als “Bildschirmschoner” mittels entsprechendem Slideshow-Plugin. Nach einer Stunde geht der Monitor in Standby.

Leider unterstützt XBMC (noch) keine vernünftige Dualscreen-Lösung so das ich Filme per VLC, etc. direkt aus dem Ubuntu schaue.

Da der Rechner fast immer läuft wenn jemand Zuhause ist, bietet er sich auch für die Startseite der Hausautomatisierung im Browser-Vollbildmodus an.

Gruß

Chris

 

 

 

Raspberry Pi in Watchdog-Loop

Da der Raspi bei mir durch die oft beschriebenen Probleme mit dem smsc95xx relativ wacklig auf dem Netzwerk und den beiden USB-Ports ist und dadurch in unregelmäßigen Abständen unmotiviert die Arbeit einstellt, hatte ich den Hardware-Watchdog des Raspi aktiviert. Dieser veranlasst in meinem Fall einen Neustart des Systems wenn länger als 15 Minuten nichts mehr in eine bestimmte Datei geschrieben wird. Wie die Einrichtung des Watchdog genau funktioniert, ist z.B. hier beschrieben.

Diese Woche war es nun plötzlich so, das der Raspi in einer Endlosschleife bootete und anschliessend sofort wieder ein Signal zum Shutdown bekam, bootete, shutdown, ….

Meine erste Vermutung war das Netzteil. Den gleichen Effekt gab es aber auch mit einem anderen Netzteil. Der Ersatz-Raspi mit der gleichen SD-Karte rebootete auch ständig. Also kein Hardware-Fehler!

Also Monitor angeschlossen und mal geschaut was da beim booten so passiert. Das letzte was der Raspi so von sich gab bevor er wieder neu startete war:

WDT device closed unexpectedly.  WDT will not stop!

WDT ist der Watchdog Timer. Dieser schien sich selbständig gemacht zu haben. Nun hieß es also irgendwie diesen Watchdog zu stoppen. Die Zeit zwischen einem möglichen Login, Befehl absetzen etc. ist aber so kurz, das ich es vor einem Shutdown nie geschafft habe irgendwas sinnvolles auf der Konsole zu tun.

Abhilfe schafft z.B. das Programm “pLink”. Die plink.exe ist Teil von puTTy und unter Windows im gleichen Verzeichnis wie die putty.exe zu finden. Hiermit muss nicht erst eine gesonderte SSH-Verbindung zum Server aufgebaut werden, sondern es kann direkt der entsprechende Befehl abgesetzt werden.

In meinem Fall habe ich dem Watchdog um seine Konfiguration beraubt, wodurch dieser beim nächsten Neustart (der ja höchstwahrscheinlich ein paar Sekunden später erfolgt) nicht mehr gestartet wird.

plink -ssh -pw <passwort> <benutzer>@<pi_ip> sudo mv /etc/watchdog.conf /etc/watchdog.alt

Beraubt um seine Konfigdatei, sollte der Watchdog beim nächsten Restart nicht mehr starten. Gespannt hab ich ein paar Sekunden gewartet aber es kam kein Neustart mehr.

Woran es letztendlich gelegen hat das der Watchdog diesen immerwährenden Neustart erzwungen hat weiß ich noch nicht. Auch die Konfiguration des Watchdogs muss ich nochmal prüfen. Jedenfalls läuft der Raspi nun wieder!

ehz – Baudrate in “Autostart”

Um die Baudrate für den Lesekopf im Artikel http://blog.bubux.de/?p=89 beim Start des Raspi automatisch zu setzen, kann der stty-Befehl in der Datei /etc/rc.local eingefügt werden.

Das schaut dann z.B. so aus:

#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.

# Print the IP address
_IP=$(hostname -I) || true
if [ "$_IP" ]; then
  printf "My IP address is %s\n" "$_IP"
fi

sudo stty -F /dev/ttyUSB1 1:0:8bd:0:3:1c:7f:15:4:5:1:0:11:13:1a:0:12:f:17:16:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0

exit 0

Bei jedem Neustart des Raspi wird die Baudrate für den Lesekopf, der im Beispiel das Device “ttyUSB1” ist, nun automatisch gesetzt. Das Device muss natürlich ggf. angepaßt werden.

Gruß Chris