Schlagwort-Archive: Raspberry Pi

[Raspberry Pi] CUL in Fhem einbinden

Endlich habe ich es geschafft die Stehlampen im Garten an den FS20 Umschalter anzuschließen. Über die Fernbedienung konnte ich die einzelnen Ausgänge bereits schalten, nun sollte es auch über Fhem möglich sein.

In der Dokumentation hatte ich gelesen das es reicht die CUL anzuschließen und den Fhem neu zu starten. Kurz nach dem Neustart kam folgende Meldung auf der Kommandozeile:

Use of uninitialized value in string ne at ./FHEM/99_CULflash.pm line 63.

Die Meldung tritt auf wenn man beim einstecken den kleinen Taster nicht eingedrückt hat. Also nochmal raus, Taster drücken, einstecken und Fhem neu starten.

Jedoch blinkte die CUL nicht und In den fhem logs kam folgende Meldungen
Can't open /dev/ttyAMA0: Keine Berechtigung

Ich änderte die Rechte auf /dev/ttAMA0 und startete Fhem neu, diesmal erhielt ich folgende Meldung:
usb create starting
Opening CUL device /dev/ttyAMA0
Setting CUL baudrate to 38400
CUL device opened
usb create end

Was mich jedoch wunderte ist, das in den Dokumentationen von /dev/ttyACM0 die Rede ist und die CUL auch nicht blinkte. In einem Forum stieß ich auf die Lösung, wenn Fhem auf dem Rasbperry Pi läuft gibt es Probleme beim einspielen der Firmware.

Also lud ich mich mir FLIP für Windows von Atmel herunter und die benötigte Firmware. Nach der Installation der Software ließ sich die Firmware ohne Probleme aufspielen und die CUL blinkte.
Nun gab es unter Linux auch das Device /dev/ttyACM0 und in der fhem.cfg fügte ich folgende Zeile hinzu:
define CUL1 CUL /dev/ttyACM0@9600 1234

Einbinden in Fhem

Ich hatte erst am nächsten Tag Zeit den FS20 Aktor in Fhem einzubinden. Als ich Fhem im Browser aufrief gab es bereits den Raum FS20, darunter befanden sich vier Schalter.
Ich klickte den ersten Schalter an und siehe da, die Lampen gingen an. Anscheinend erkennt die CUL alle FS20 Vorgänge und leitet sie an den Fhem weiter, dieser erstellt den passenden Schalter.
Nun musste ich nur noch in der fhem.cfg die angelegten Schalter nach meinen Wünschen umbenennen.

fhem fs20

Automatisch angelegte Schalter

Fhem registriert es wenn ich die Lampen per Fernbedienung schalte und ändert den Status im Webfrontend.

cul

CUL gekauft www.busware.de

[Raspberry Pi] Sendeleistung des 433Mhz Senders erhöhen

In dem Artikel hatte ich den 433 MHz Sender direkt an die 5 Volt des Rasbperry Pi’s angeschlossen. Die Reichweite würde ich auf 8 – 10 Meter schätzen, in der Entfernung habe ich eine Steckdose die sich zeitweilig nicht schalten lässt. Die maximale Reichweite des Senders erhält man, wenn der Sender mit 12 Volt betrieben wird. Laut Datenblatt ist 12 Volt die höchste Spannung die angelegt werden darf.
Ich habe den Sender mittlerweile auf eine Platine gelötet und zu Testzwecken über die Batterie(12 Volt) aus der Fernbedienung mit Spannung versorgt. Ich kann nicht sagen wie die Reichweite mit 12 Volt ist, die problematische Steckdose lässt sich jetzt jedoch ohne Probleme schalten.

Bei externer Spannungsversorgung
Wenn der Sender nicht über den Raspberry Pi mit Spannung versorgt wird, muss der Minuspol der Batterie mit dem Ground des Raspberry Pi´s verbunden werden. Wenn man die beiden Pole nicht miteinander verbindet, sendet der Sender nicht.

Damit die Fernbedienung wegfällt, könnte man die Kontakte auslösten und auf der Platine wieder ein löten. Ansonsten würde in meinem Fall sicherlich eine 9 Volt Batterie über einen Batterieclip reichen.

Spannungsversorgung mit 9 Volt

Spannungsversorgung mit 9 Volt

Spannungsversorgung mit 12 Volt

Spannungsversorgung mit 12 Volt

[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.

[Raspberry Pi] erster Schritt zur Hausautomation

Genial was alles mit dem Raspberry Pi möglich ist. Ursprünglich wollte ich mit dem FHEM Steckdosen aus der FS20 Reihe schalten, es geht jedoch auch einfacher bzw günstiger.

Hierfür kauft man sich einen kleinen 433 MHz Sender, der kann hier bestellt werden.

Um den Sender mit dem Raspberry Pi zu verbinden, habe ich Kabel aus einem altem PC Gehäuse genommen. Die Stecker die normalerweise z.B. den Resetschalter mit dem Mainboard verbinden, passen ebenfalls auf die Pins des Raspberry Pi. Ansonsten kann auch ein Floppykabel verwendet werden und als letzte Möglichkeit könnte man die Kabel direkt anlöten.

Die Anschlüsse des Senders sind ANT, VCC, DATA, GND. Als Antenne habe ich ein Kabel von 17 cm länge verwendet. An die anderen Anschlüsse habe ich die zuvor erwähnten Kabel aus dem PC Gehäuse gelötet.

Der Sender wird mit folgenden Pins verbunden:
ANT 17cm langes Kabel (grün)
VCC => Pin 2 5 V (rot)
DATA => Pin 11 GPIO 17 (weiß)
GND => Pin 6 GND (schwarz)

433 MHz Sender

433 MHz Sender


Eine Übersicht der Ports gibt es hier:http://wiki.laub-home.de/wiki/Raspberry_Pi_Sensoren_auslesen

Bevor alles weitere per git heruntergeladen und kompiliert werden kann, müssen ein Programme nachinstalliert werden.
apt-get update
apt-get install git gcc python-dev python-setuptools

Unter Raspbmc musste ich zusätzlich noch make installieren.

Dann müssen folgende Kommandos unter dem Benutzer root ausgeführt werden:

cd /usr/local/src
apt-get install git-core
git clone git://git.drogon.net/wiringPi
cd wiringPi
./build

git clone https://github.com/WiringPi/WiringPi-Python.git
cd WiringPi-Python
git submodule update --init
python setup.py install

Beim clone unter raspbmc von https://github.com habe ich folgende Fehlermeldung erhalten:

Cloning into 'WiringPi-Python'...
error: Problem with the SSL CA cert (path? access rights?) while accessing https://github.com/WiringPi/WiringPi-Python.git/info/refs
fatal: HTTP request failed

Das Problem konnte ich mit Hilfe von git config --global http.sslVerify false lösen.

Damit der pi Benutzer auf die GPIO17 zugreifen darf, müssen noch Rechte in der /etc/rc.local angepasst werden. Vor der Zeile exit 0 habe ich sudo -u pi /usr/local/bin/gpio export 17 out hinzugefügt und den Raspberry Pi neugestartet.

Als nächstes habe ich den Code für elro_wiringpi.py hier kopiert und in einer Datei gespeichert. Seinen Hauscode gibt man in der Zeile 96 an.

Dann ein chmod 755 elro_wiringpi.py und mit elro_wiringpi.py nummer ein/aus können die Funksteckdosen geschaltet werden.
Nummer = A=1 B=2 C=4 D=8 E=16
ein = 1
aus = 0

Ausprobiert habe ich es bislang mit den Funksteckdosen von Elro und Brennenstuhl.

Als ich das Script das erste Mal ausführen wollten, brach das Script mit einem Fehler ab.
./elro_writing.py 1 0
File "./elro_writing.py", line 36
import time
^
IndentationError: unexpected indent

Das Problem war, das beim kopieren des Codes in eine mit vi geöffnete Datei sich Leerzeichen und Tabs eingeschlichen hatten. Python ist an dieser Stelle sehr empfindlich.

Ich hatte das ganze ursprünglich unter Raspbmc ausprobiert. Als ich mit dem „rumspielen“ fertig war startete das xbmc nicht mehr, ob es einen Zusammenhang gibt kann ich nicht sagen. Jetzt habe mir jetzt eine zweite SD Karte zugelegt und auf dieser wheezy installiert und darüber schalte ich nun die Funksteckdosen. Als nächstes werde ich das ganze unter FHEM einbinden.

[Raspberry Pi] Raspbmc

Im Juli diesen Jahres bestellte ich mir den Raspberry Pi, er sollte ursprünglich im September geliefert werden. Durch Lieferengpässe etc wurde der Raspberry Pi dann erst im November geliefert. Immerhin habe ich dafür bereits die neue Version mit 512 MB bekommen. Das mitgelieferte Gehäuse ist wie ich es erwartet hatte perfekt, der zusammenbau ist sehr einfach und alle Anschlüsse sind gut zugänglich.

Die Installation von Raspbmc ist sehr sehr einfach.

Als erstes Installationsscript herunterladen und ausführbar machen:

wget http://svn.stmlabs.com/svn/raspbmc/testing/installers/python/install.py
chmod +x install.py

Dann die SD Karte mit dem PC verbinden und das Script starten.

sudo python install.py

Als erstes muss man die SD Karte auswählen, das Script lädt dann im Anschluss alle erforderlichen Dateien herunter.
Bei mir wurde die SD Karte bei der Auswahl nicht angezeigt, ich konnte sie aber trotzdem mit /dev/sdb angeben.

Nachdem das Script durchgelaufen ist, die SD Karte in den Raspberry Pi stecken und mit einer Verbindung zum Internet einschalten. Es dauert dann noch 15 – 20 Minuten dann ist das Raspbmc fertig installiert und kann genutzt werden.

Die Oberfläche ist wie bei allen xbmc Versionen sehr aufgeräumt und wie gewohnt einfach zu bedienen. Ich nutze für die Steuerung immer noch eine USB Maus, da die xbmc Android App zur Zeit noch nicht funktioniert und mir die X10 Fernbedienung ein wenig zu träge ist. Ich denke das es aber nicht mehr lange dauern wird bis die xbmc Remote App mit dem raspbmc nutzbar ist.

Die Wiedergabe von Medien ist sehr gut, selbst kleine HD Videos werden flüssig wiedergegeben. Das Einzigste was mich ein wenig stört ist, das die Audioausgabe aus dem Klinkenstecker recht leise ist. Die Bildwiedergabe über den Videoausgang ist sehr gut, HDMI konnte ich leider nicht testen da ich immer noch einen Röhrenfernseher habe.

Ob ich den Raspberry Pi weiterhin für xbmc benutze kann ich noch nicht genau sagen. Ich könnte mir auch gut vorstellen ihn für Hausautomation (FHEM) zu verwenden oder evtl reicht die Hardware auch für die Videoüberwachung aus (zoneminder).