Immer wieder taucht die Frage auf, wie GPIOs aus PHP-Scripts heraus gesteuert bzw. ausgelesen werden können. Hier finden Sie einige Lösungsvorschläge.
Hardware-unterstütztes OpenGL
Mit den seit 10. Feb. 2016 verfügbaren Updates zu Raspbian Jessie werden neue Grafiktreiber verfügbar, mit denen die 3D-Funktionen des Broadcom-Chips erstmals auch unter Raspbian getestet werden können. Die 3D-Funktionen haben momentan noch experimentellen Status und müssen epxlizit aktiviert werden.
Bluetooth-Lautsprecher verwenden
Quasi als Fortsetzung zu Bluetooth-Konfiguration mit bluetoothctl fasst dieser Artikel zusammen, wie Sie einen Bluetooth-Lautsprecher auf dem Raspberry Pi verwenden. Vorausgesetzt wird abermals Raspbian Jessie.
Bluetooth-Konfiguration mit bluetoothctl
Soeben habe ich versucht, diverse Bluetooth-Geräte mit dem Bluetooth-Konfigurationswerkzeugen von Raspbian Jessie zu konfigurieren. Also Installation der Werkzeuge mit apt-get install bluetooth blueman
und sicherheitshalber ein Neustart. Danach erscheint im Panel des Raspbian-Desktops das Bluetooth-Icon, dessen Menüeinträge in den aus früheren Raspbian-Versionen bekannten Bluetooth-Manager führen.
Nicht geändert hat sich leider die miserable Qualität dieses Tools: Von meinen Testkandidaten (eine Maus, zwei Tastaturen, eine Lautsprecherbox) gelang nur bei der Maus und bei der Lautsprecherbox das Pairing. In allen anderen Fällen war es nicht möglich, die Geräte mit dem Raspberry Pi zu verbinden. Trostlos!
Wohl oder übel habe ich nun versucht, die Konfiguration auf Kommandoebene durchzuführen. Das von Raspbian Wheezy bekannte Werkzeug bluez-simple-agent
steht unter Jessie nicht mehr zur Verfügung. Eine gute Alternative ist das Kommando bluetoothctl
.
Raspbian-Fernsteuerung mit RDP
Anstatt Ihren Raspberry Pi mit Bildschirm, Tastatur und Maus zu verbinden, können Sie Ihre Raspbian-Installation auch über eine Netzwerkverbindung von Ihrem Notebook/PC aus fernsteuern. Solange Sie keine grafischen Programme benötigen, gelingt das am effizientesten und sichersten mittels SSH. Wenn Sie hingegen auch die grafische Benutzeroberfläche sehen und bedienen möchten, müssen Sie das Grafiksystem sowie die Interaktion mit Tastatur und Maus auf einen anderen Rechner quasi umleiten. Zu diesem Zweck haben wir Ihnen hier im Blog VNC als Lösung vorgestellt.
Es muss nicht immer VNC sein…
Ein Leser unseres Buchs hat mich kürzlich auf eine viel einfachere Alternative aufmerksam gemacht, die ich in meiner auf Unix/Linux fokussierten Sicht übersehen habe: Das Remote Desktop Protocol (RDP) ist ein von Microsoft entwickeltes Protokoll zur Darstellung eines Bildschirminhalts sowie zur Steuerung eines über das Netzwerk erreichbaren Computers. Obwohl dieses Protokoll zur Steuerung von Windows-Rechner gedacht ist, wird es auch von Linux unterstützt.
(Aktualisiert: 31.3.2017, 18.3.3021)
VNC-Server mit Systemd starten
Vor einiger Zeit habe ich eine recht umfangreiche Anleitung zusammengestellt, wie man auf einem Raspberry Pi einen VNC-Server einrichtet. Diese Anleitung trifft zum größten Teil weiterhin zu. Da Raspbian Jessie nun aber Systemd als Init-System verwendet, liegt es nahe, den automatischen Start des VNC-Servers mittels Systemd zu konfigurieren.
On-Board-LEDs des Raspberry Pi steuern
Es gibt sicher 1000 Anleitungen, wie Sie eine Leuchtdiode über einen Vorwiderstand mit einem GPIO-Pin verbinden und diese dann per Python, bash oder in sonst einer Programmiersprache ein- und wieder ausschalten. Aber wussten Sie, dass Sie auch manche im Raspberry Pi eingebauten LEDs per Software ein- und ausschalten können?
Update 20.8.2017: Die LED-Steuerung durch das gpio
-Kommando funktioniert nur beim Raspberry Pi 2, nicht beim Raspberry Pi 3.
KlingelPi: der Türglockenverstärker
Manchmal, wenn ich im Arbeitszimmer sitze und ein Headset trage, höre ich die Türglocke nicht – oder erst nach dem siebten vehementen Klingeln, woraufhin der Postzusteller gern mal süffisant fragt, ob man gerade im Westflügel war.
Um das zu verhindern, möchte ich einen Raspberry Pi Zero einsetzen, der erkennt, wenn die Türglocke läutet. Die üblichen Klingeltrafos arbeiten mit 8 bis 12 V Wechselstrom, was für dem Raspberry Pi recht unhandlich ist. Um das Schließen des Wechselstromkreises direkt als Eingang zu benutzen, müsste man die Wechselspannung erst gleichrichten und dann auf eine Spannung herunterdrosseln, die der Raspi verarbeiten kann. Das geht alles, ist aber aufwändig und erfordert auch mehr Verdrahtung, als in das Türglockengehäuse passt.
Ich habe deshalb einen anderen Weg gewählt und einfach einen Geräuschsensor an den Raspberry Pi angeschlossen. So sieht er aus:
HDMI-Auflösung manuell einstellen
Seit neuesten verweigert Raspbian auf einem meiner Testsysteme die richtige Erkennung des Monitors. Die Grafikoberfläche nutzt nur magere 640×480 Pixel. Das ist insofern bemerkenswert, als ich diesen uralten Monitor (Produktionsdatum Sep. 2008) nun schon seit drei Jahren für diverse Raspberry-Pis verwendet habe — und nie Probleme hatte.
Abhilfe schafft in solchen Fällen die Einstellung der Parameter hdmi_group
und hdmi_mode
. Eine Referenz aller zulässigen Einstellungen finden Sie auf elinux.org.
# in /boot/config.txt
...
# group 1 für TV-Geräte, group 2 für Computer-Monitore
hdmi_group=2
# 1920x1200 @ 60 Hz
hdmi_mode=69
Seither läuft der Grafikmodus von Raspbian wieder zufriedenstellend.
Update 10.8.2016: Wieder Probleme, diesmal mit einem modernen Monitor
Heute habe ich meinen Pi3 mit einem ASUS PB287Q verbunden, also einem modernen 4k-Monitor. Ich wollte natürlich nur die normale HD-Auflösung nutzen, aber stattdessen bekam ich wieder 640×480 Pixel :-(
Abhilfe schufen in diesem Fall die folgenden Einstellungen:
# in /boot/config.txt
...
# es ist wirklich ein HDMI-Monitor angeschlossen, auch
# wenn der Pi3 das nicht erkennt
hdmi_force_hotplug=1
# 1920x1200 @ 60 Hz mit reduziertem Blanking
hdmi_group=2
hdmi_mode=68
Kann es sein, dass der Raspberry Pi mit jedem Modell wählerischer wird, was die richtige Erkennung des HDMI-Monitors betrifft?
sonic-pi-Update dauert ewig
Wenn Sie unter Raspbian Jessie ein Update durchführen (apt-get update && apt-get dist-upgrade
), brauchen Sie momentan viel Geduld: Das Update des Pakets sonic-pi
dauert (fast) ewig — je nach Geschwindigkeit der SD-Karte durchaus eine ganze Stunde! Während dieser Zeit gibt es keine Fortschrittsanzeige, d.h. man könnte den Eindruck gewinnen, apt-get
ist abgestürzt.
Haben Sie Geduld und unterbrechen Sie den Vorgang nicht durch Strg+C oder durch einen Neustart des Recherns! Sie riskieren eine defekte Paketdatenbank. Das Paket-Update dauert zwar sehr lange, aber es wird korrekt abgeschlossen (siehe auch das Raspberry-Pi-Forum).
sonic-pi ist eine Art programmierbarer Synthesizer. Wenn Sie dieses Programm ohnedies nicht brauchen, ist es am besten, sein Paket vor dem Update gleich ganz zu entfernen, also:
sudo apt-get remove sonic-pi
sudo apt-get update
sudo apt-get dist-upgrade