Archiv des Autors: hermann

[Raspbmc] VDR Aufnahmen wieder geben

Hin und wieder nehme ich etwas mit dem Linuxvideorekorder auf. Zum ansehen hatte ich mich dann immer an den Rechner gesetzt auf dem auch der VDR lief. Damit ich die Aufnahmen auf meinem alten Mediapc ansehen konnte, musste die Aufnahmen mit projectx und avidemux bearbeiten.

Nun wollte ich wissen ob der Raspberry Pi in der Lage ist die Aufnahmen wieder zu geben. Hierfür habe ich auf dem VDR eine Samba-Freigabe eingerichtet, die ich in den Raspbmc einbinden konnte. Leider konnte der Raspbmc die ts Dateien zwar wiedergegeben, jedoch nur den Ton. Nach einer kurzen Suche fand ich heraus, das für das abspielen der ts Dateien eine mpeg2 Lizenz benötigt wird.

Die Lizenz kann über die Seite http://www.raspberrypi.com/mpeg-2-license-key/ gekauft werden, hierfür ist jedoch die Seriennummer der CPU erforderlich.

Um die zu ermitteln meldet sich man per ssh auf dem Raspberry Pi an.
ssh pi@"ip adresse"

Das Kennwort ist raspberry

Quelle: http://www.raspbmc.com/wiki/user/using-ssh/

Mit Hilfe von cat kann die Seriennummer ausgelesen werden:
cat /proc/cpuinfo
Processor : ARMv6-compatible processor rev 7 (v6l)
BogoMIPS : 795.44
Features : swp half thumb fastmult vfp edsp java tls
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x0
CPU part : 0xb76
CPU revision : 7

Hardware : BCM2708
Revision : 000f
Serial : 00000000XXXXXXXX

In diesem Fall wird die Seriennummer 00000000XXXXXXXX für den Kauf der Lizenz benötigt.

Nach dem Kauf erhält man eine Email mit dem benötigtem Lizenzkey. Angeblich kann es ca 72 Stunden dauern kann bis die Lizenz eintrifft, bei mir dauerte es ca 3 Stunden.

Um den Codec zu aktivieren wird der Lizenzkey in der Datei /boot/config.txt wie folgt hinterlegt:
decode_MPG2="Lizenzkey"

Nach einem Neustart des Raspberry Pi´s können mpeg2 Dateien abgespielt werden.

[Centos] neue virtuelle Festplatte ohne Neustart einlesen

Bei virtuellen Maschinen lässt sich im laufenden Betrieb eine weitere Festplatte hinzufügen. Damit dass Betriebssystem, in diesem Fall centos, die Festplatte erkennt ist kein Neustart erforderlich. Ein einfacher rescan reicht dafür aus.

echo "- - -" > /sys/class/scsi_host/host#/scan

# steht für den SCSI Controller zum Beispiel 0 1 2

Im Anschluss kann die Festplatte in centos eingebunden werden.

[Raspberry Pi] fhem installation und erste Steckdose

Da es ein wenig mühsam ist die Steckdosen immer per Script zu schalten, habe ich mir fhem installiert.
Als erstes die aktuelle Version herunterladen wget http://fhem.de/fhem-5.3.deb und installieren dpkg -i fhem-5.3.deb.
Zuvor musste ich noch ein paar Pakete installieren:
apt-get install perl libdevice-serialport-perl
apt-get install libio-socket-ssl-perl

Nach der Installation liegt das fhem unter /opt und läuft unter dem Benutzer fhem. Erreichbar ist die Weboberfläche über die URL http://ip adresse:8083/fhem für den normalen Rechner.
Für Smartphone gibt es eine angepasste Ansicht unter http://ip adresse:8084/fhem und die URL http://ip adresse:8085/fhem ist für Tablets.

Die erste Steckdose

In der /opt/fhem/fhem.cfg habe ich als erstes einen Schalter angelegt.

define Licht_Telefon dummy
legt den Schalter an
attr Licht_Telefon eventMap on:an off:aus
ändert die Beschriftung der Schaltfläche von on zu an
attr Licht_Telefon room Flur
weißt den Schalter dem Raum Flur zu

Das Python Script, welches die eigentliche Steckdose schaltet, wird über folgenden Codeschnipsel angesprochen:

define NLicht_Telefon notify Licht_Telefon { \
if ("%" ne "aus") {\
system "/fhem/flur.py 1 1&";;\
}\
else {\
system "/fhem/flur.py 1 0&";;\
}\
Log 1, "notify wird ausgeführt mit @ %";;\
}

Der Ordner und das Script gehören dem Benutzer fhem.

Damit der fhem Benutzer das Script ausführen kann, muss in der /etc/rc.local vor exit 0 folgendes hinterlegt werden:
sudo -u fhem /usr/local/bin/gpio export 17 out

Nach einem Server neustart kann die Steckdose über die Weboberfläche geschaltet werden.

fhem

Danke Henning für deine Konfiguration.

die täglichen Gefahren eines Systemadministrators

In jedem Beruf gibt es gewissen Gefahrenquellen, dem Maurer kann ein Stein auf den Kopf fallen, der Postbote wird vom Hund gebissen und der Seemann geht über die Reeling. Auch beim Beruf des Systemadministrators gibt es Gefahrenquellen, die hier natürlich total übertrieben und ein wenig ausgedacht dargestellt werden.

– als erstes wäre die Strangulation im Patchschrank (Netzwerkschrank)
– Schnittverletzungen durch billige und schlecht verarbeitete Computergehäuse
– Getränkepackungen ( inkl. Restinhalt) die seit Wochen neben oder auf dem Rechner stehen und so aufgebläht sind, das sie bei der nächsten Berührung platzen könnten
– blaue Flecke durch Tritte die man evtl bekommt. wenn man unterm Tisch einen Rechner anschließt und dabei übersehen wird

Für letzteres gibt es jetzt einen kleinen Aufsteller

admin-work

admin-work1

[IIS] Request format is unrecognized for URL unexpectedly ending in ‚/jsdebug‘.

Beim installieren einer Anwendung auf einem Windows 2008 R2 Server die den IIS voraussetzt, verlief die Installation ohne Probleme. Grundvoraussetzung der Anwendung war die vorherige Installation vom .NET Framework 4.0 .
Nach der Installation war die Anwendung per URL Aufruf erreichbar, jedoch fehlten unter einigen Menüpunkten Inhalte.

In der Ereignissanzeige von Windows stand folgendes:

Exception type: InvalidOperationException
Exception message: Request format is unrecognized for URL unexpectedly ending in '/jsdebug'.
at System.Web.Services.Protocols.WebServiceHandlerFactory.CoreGetHandler(Type type, HttpContext context, HttpRequest request, HttpResponse response)
at System.Web.Services.Protocols.WebServiceHandlerFactory.GetHandler(HttpContext context, String verb, String url, String filePath)
at System.Web.HttpApplication.MaterializeHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)

Thread Information

Stack trace: at System.Web.Services.Protocols.WebServiceHandlerFactory.CoreGetHandler(Type type, HttpContext context, HttpRequest request, HttpResponse response)
at System.Web.Services.Protocols.WebServiceHandlerFactory.GetHandler(HttpContext context, String verb, String url, String filePath)
at System.Web.HttpApplication.MaterializeHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)

Lösung

ASP net muss noch im IIS registriert werden, dafür muss
folgendes auf der Kommandozeile ausgeführt werden:
c:\Windows\Microsoft.NET\Framework\v4.0.30319>aspnet_regiis.exe -i

Als Ausgabe erhält man folgendes:
Start installing ASP.NET (4.0.30319).
......
Finished installing ASP.NET (4.0.30319).

Im Anschluss konnte die Anwendung ohne Probleme genutzt werden und die Fehlermeldung stand ebenfalls nicht mehr in der Ereignissanzeige.

Weitere Informationen gut es hier:
http://msdn.microsoft.com/de-de/library/k6h9cz8h(v=vs.80).aspx