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.
Alle Beiträge von Michael Kofler
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.
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
Pi Zero als DLNA-Server
DLNA steht für Digital Living Network Alliance (Wikipedia). Die in dieser Gruppe vereinten Hersteller von Unterhaltungselektronik haben sich auf diverse Standards geeinigt. So können DLNA-konforme Geräte beispielsweise unkompliziert im lokalen Netzwerk verfügbare Mediendateien (Bilder, Musik, Videos) anzeigen oder abspielen. Dieser Beitrag zeigt, wie Sie mit minimalem Aufwand aus einem Raspberry Pi einen DLNA-tauglichen Digital Media Server (DMS) machen.