Raspberry Pi – Smart-Home mit EnOcean – Teil 3
Im letzten Teil habe ich euch ja bereits die Komponenten des kleinen Test EnOcean Smart-Home Netzwerks vorgestellt. Darunter auch die Erweiterungsplatine für den Raspberry Pi. Diese ist einfach auf die GPIO Schnittstelle aufzustecken. Einzig die Ausrichtung der Antenne bedarf dann noch einer kleinen Arbeit. Nun sollte das EnOcean Gateway auch schon funktionieren…naja noch nicht ganz.
Installation vom EnOcean Gateway
Bevor man die Platine korrekt benutzen kann müssen wir bei der GPIO Schnittstelle das Debugging ausschalten. Der Raspberry Pi verwendet GPIO Pins standardmäßig um Debuginformationen zu senden. In einem meiner letzten Artikel habe ich euch gezeigt wie man über diese Pins und einem USB Stecker auf das Linux Terminal zugreifen kann und das ganz ohne Netzwerk. Das ist über diese Funktion möglich. Für unsere EnOcean Platine ist dies aber störend, deshalb schalten wir das ab. Es gibt dafür 2 Möglichkeiten.
Methode 1 – manuell
Die manuelle Abschaltung bedarf etwas mehr Erfahrung und funktioniert wie folgt:
Schritt 1:
sudo nano /boot/cmdline.txt
in dieser Datei ersetzen wir die Zeile
dwc_otg.lpm_enable=0 console=ttyAMA0,115200 kgdboc=ttyAMA0,115200 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait
mit diesem Inhalt
dwc_otg.lpm_enable=0 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait
Schritt 2:
sudo nano /etc/inittab
in dieser Datei müssen wir die Zeile
T0:23:respawn:/sbin/getty -L ttyAMA0 115200 vt100
auskommentieren. Das geht indem wir einfach ein # vor der Zeile platzieren:
#T0:23:respawn:/sbin/getty -L ttyAMA0 115200 vt100
Das wars auch schon. Nach einem Neustart des Systems sollten keine Debuginformationen mehr gesendet werden und die Pins sind frei.
Methode 2 – mittels Skript
Wem die manuelle Methode zu kompliziert ist, für den gibt es ein fertiges Skript. Dieses kann man von GitHub herunterladen, Voraussetzung dafür ist jedoch, dass der Raspberry Pi eine funktionierende Internetverbindung hat. Das Skript installiert man mit dem folgenden Kommando:
sudo wget https://raw.github.com/lurch/rpi-serial-console/master/rpi-serial-console -O /usr/bin/rpi-serial-console && sudo chmod +x /usr/bin/rpi-serial-console
ausführen kann man das Skript so:
sudo rpi-serial-console disable
Auch hier ist ein Neustart nach der Änderung vorteilhaft. Je nach angewandter Methode sollte nun alles vorbereitet sein für die EnOcean Platine. Ein kleiner Tipp von mir: das Skript zeigt bei der Ausführung eine Meldung an. Ich hatte bei der manuellen Konfiguration einen Fehler gemacht, das Skript hat mich darauf hingewiesen.
Fazit
Die EnOcean Erweiterungsplatine benötigt etwas manuelle Konfiguration am System. Sobald man aber das GPIO Debugging ausgeschaltet hat funktioniert die Platine out of the box, das heißt einfach aufstecken und loslegen.
Im nächsten Teil zeige ich euch mit welcher Software ihr euer EnOcean Netzwerk einrichtet und nun endlich euer Smart-Home in betrieb nehmen könnt.
Teil 1 | Teil 2 | Teil 4 | Teil 5
Hi, habe Raspberry B und Raspberry B+ mit 2014-12-24-wheezy-raspbian mit update und upgrade installiert.
mit USB 300 Stick sehe ich mit „lsusb“ die seielle Schnittstelle aber bei „stty -F /dev/ttyUSB0 57600“ und „hexdump </dev/ttyUSB0" keinen output.
mit EnOcean Pi sehe mit "rpi-serial-console status", dass die Schnittstelle disable ist. Mit "hexdup </dev/ttyAMA0" aber auch keinen output.
Was muss jedesmal in der inittab-Datei stehen um einen entsprechenden "hexdump </dev/ttyAMA0" zu bekommen.
Auf der Seite: https://developer-blog.net/hardware/raspberrypi/raspberry-pi-smart-home-mit-enocean-teil-3/ ist unter ‚Methode 2‘ ein Schreibfehler in der Tastatureingabe.
Ist: sudo wget https://raw.github.com/lurch/rpi-serial-console/master/rpi-serial- console -O /usr/bi
Soll: sudo wget https://raw.github.com/lurch/rpi-serial-console/master/rpi-serial-console -O /usr/bi
Das Leerzeichen in ‚rpi-serial- console‘ muss weg!
Ansonsten eine gut verwendbare Beschreibung.
Viele Grüße
Eberhard
vielen Dank. Der Fehler wurde ausgebessert!
Hi,
wenn wir den Befehl ausführen (nach Variante 2):
root@raspberrypi ~ # sudo rpi-serial-console disable
erhalten wir folgende Fehlermeldung: /etc/inittab is missing
Woran liegt das?
verwendest du bereits Debian 8 (jessie) und nicht mehr 7 (wheezy)? Inittab wurde nämlich dort durch systemd ersetzt.
Wir nutzen das ganz neue system von raspbian. Nur /etc/systemd ist auch leer. 🙁
Wie können wir das ganze nun installieren? 🙁
Das sollte die Lösung sein:
bzw.
Hi,
laut www gibt es auch die möglichkeit
sudo raspi-config
–> 9 Advanced options -> A8 Serial -> No
Dann würde er wohl auch nicht geladen werden? 😕
Was ich aber nicht verstehe, wenn man es probiert (deinen oder auch meinen Weg) und dann das Modul anschließt, danach FHEM installiert sehe ich keine EnOcean Option über Unsorted…
Wie bekomme ich die Sache in FHEM rein? 🙁
Stehe leider vor dem gleichen Problem: nirgendwo konnte ich ein Info zu jessie und enocean pi finden. Ist wohl in dieser Kombination noch nicht so oft im Einsatz. Ich habe dann gelesen, dass man lediglich „serial-getty disable“ einstellen muss. Das klappt weder manuell noch mit raspi-config. Der Dienst wird bei mir nach dem booten immer gestartet. Was kann ich noch machen?
Viele Grüße Wolle
Schon irgendeine Lösung mit dem aktuellen Pi?
Sehen leider auch keinen Eintrag für EnOcean in FHEM… 🙁
Danke für die Hilfe!
das gleiche problem habe ich auch.