JOY-IT RPI4 CASE MM IR Instructions [de]

MULTIMEDIA CASE
für den Raspberry Pi 4
Expertenanleitung
www.joy-it.net
Pascalstr. 8 47506 Neukirchen-Vluyn
1. INHALTSVERZEICHNIS
2. Verwendung mit Raspberry Pi OS
2.1 Einrichten der seriellen Schnittstelle
2.2 IR-Empfänger
2.2.1 learningMode
2.3 Shutdown - Skript
2.4 RGB-LEDs
2.4.1 LED-Farbmodi
2.4.2 Installation Hyperion
2.5 Lüer
2.6 Sowareupdates für die Platine
2.7 UART Control
3. Verwendung mit Kodi 19 Matrix
3.1 Einrichtung
3.2 Multimedia Case Configuration
3.3 Multimedia Case LED Configuration
3.4 HDMI CEC
3.5 IR Control Configuration
4. Weitere Informationen
5. Support
Diese Anleitung ist eine Expertenanleitung und ist nur sinnvoll zu nutzen, wenn das Multimedia Case mit einem anderen
Betriebssystem als unserem vorbereiteten LibreElec-Image ver-
wendet werden soll. Die grundlegende Anleitung finden Sie hier.
i
www.joy-it.net
Pascalstr. 8 47506 Neukirchen-Vluyn
2. VERWENDUNG MIT RASPBERRY PI OS
Das Gehäuse besitzt verschiedene Funktionen, wie zum Beispiel eine
Lüersteuerung oder LED-Steuerung, welche Sie in Verbindung mit dem
Raspberry Pi verwenden können. In diesem Kapitel finden Sie eine beispielhae Anwendung dieser Funktionen in Raspberry Pi OS und eine genauere Erklärung der einzelnen Funktionen. Dazu bieten wir Ihnen passende Codebeispiele an. Diese Codebeispiele können Sie sich hier herunterladen und mit Hilfe einer SSH-Verbindung auf Ihren Raspberry Pi laden, oder Sie geben den folgenden Befehl in die Konsole Ihres Raspberry Pis ein:
sudo raspi-config
2.1 Einrichten der seriellen Schnittstelle
Mit Hilfe von serieller Kommunikation ist der Raspberry Pi in der Lage mit der Platine des Multimedia Cases zu kommunizieren. Diese muss separat am Raspberry Pi aktiviert werden.
unzip /home/pi/MultimediaCase.zip && rm /home/pi/MultimediaCase.zip
Wenn Sie sich nun die Beispielcodes heruntergeladen haben, müssen Sie diese zunächst durch einen Befehl entpacken, wobei Sie im gleichen Schritt auch wieder die zip-Datei entfernen können. Beachten Sie dabei
jedoch, dass das Verzeichnis, in dem die Datei liegt, nicht mit dem
Verzeichnis von dem Befehl übereinstimmen muss. Dieser lautet:
Die serielle Schnittstelle wird für die Kommunikation zwischen
Raspberry Pi und Platine benötigt. In manchen Skripten /
Funktionen (
learningMode
, LED-Farbmodi und
shutdown-
function)
wird ein String, abhängig vom Skript, vom Raspberry Pi zur
Platine gesendet, um dieses spezifische Programm auszuführen.
i
Um die serielle Schnittstelle zu aktivieren, geben Sie den folgenden Befehl in die Konsole ein, um die Einstellungen aufzurufen:
Wählen Sie dort
3 Interface Options → P6 Serial Port
aus.
wget https://joy-it.net/public/MultimediaCase.zip
www.joy-it.net
Pascalstr. 8 47506 Neukirchen-Vluyn
Nun wird Ihnen die Frage
Would you like a login shell to be accessible
over serial?
gestellt, welche Sie verneinen.
Die nächste Frage
Would you like the serial port hardware to be enab-
led?
bestätigen Sie.
Verlassen Sie jetzt das raspi-config Konfigurationstool und starten Sie Ihren Raspberry Pi zunächst nicht neu.
Jetzt müssen Sie in der
config.txt
drei Zeilen hinzufügen. Önen Sie die
Datei mit dem folgenden Befehl:
sudo nano /boot/config.txt
Fügen Sie dort die folgenden drei Zeilen in die Datei am Ende ein:
dtoverlay=pi3-miniuart-bt core_freq=250
Speichern Sie die Änderungen mit STRG + O und verlassen Sie den Editor mit STRG + X. Starten Sie nun den Raspberry Pi mit dem folgenden Befehl neu:
sudo reboot
www.joy-it.net
Pascalstr. 8 47506 Neukirchen-Vluyn
2.2 Infrarot-Empfänger
In dem Gehäuse ist ein Infrarot-Empfänger verbaut, welcher in der Front
positioniert ist (gegenüberliegend der Anschlüsse). Dieser ermöglicht
unter anderem die Steuerung mittels einer Fernbedienung, um zum Bei­spiel den Raspberry Pi hoch– und herunterzufahren. Dadurch können Sie auch gegebenenfalls auf Maus und Tastatur verzichten. Der Infrarot­Sensor TSOP4838 ist mit dem GPIO 7 verbunden.
2.2.1 learningMode Das Skript
learningMode.py
ist ein Programm, welches die Einrichtung eines PowerO-Buttons einer beliebigen Fernbedienung ermöglicht. Der PowerO-Button dient dabei als Taste, welche das Multimedia Case hoch und herunterfährt. Dies kann eine beliebige Taste auf einer separaten Fernbedienung sein oder eine noch nicht belegte Taste einer Fernbedie­nung, welche Sie bereits mit einem anderen Gerät verwenden.
Im Skript wird mittels serieller Kommunikation (siehe 2.1) der String
\x0D X04 \x0D vom Raspberry Pi zur Platine des Multimedia Cases
gesendet. Dieser String versetzt die Platine in den sogenannten
learning-
Mode
.
Der
learningMode
dient dazu den PowerO-Button zu deklarieren. In diesem Modus müssen Sie die gewünschte Taste dreimal betätigen, um diese zu setzen. Die LEDs werden in verschiedenen Farben aufleuchten
damit der
learningMode
von außen erkenntlich wird.
sudo python3 /home/pi/MultimediaCase/learningMode.py
Sie können den
learningMode
mit dem folgenden Befehl ausführen:
Nach jedem Drücken der Taste leuchten die LEDs weiß, um zu Bestätigen, dass ein Infrarot-Signal empfangen wurde. Falls Sie eine andere Taste drücken sollten, leuchten die LEDs rot und das Programm setzt sich zurück. Dann müssen Sie erneut dreimal eine Taste
betätigen.
Die LEDs werden grün aufleuchten, wenn der PowerO-Button erfolgreich gesetzt worden ist.
Der PowerO-Button kann beliebig o neu programmiert werden, in dem der
learningMode
erneut aufgerufen wird.
i
www.joy-it.net
Pascalstr. 8 47506 Neukirchen-Vluyn
Sie finden weitere Informationen zum learningMode in Bezug auf Kodi in
Kapitel 3.1 Multimedia Case Configuration, welcher mit Hilfe dieses
Skriptes deklariert wird.
2.3 Shutdown-Skript
Sie können den Raspberry Pi mittels der Platine des Multimedia Cases herunterfahren. Dies können Sie mittels eines PowerO-Buttons (siehe
2.2.1 learningMode) oder mit dem Knopf direkt am Gehäuse durchfüh-
ren. Hierfür wird das Shutdown-Skript benötigt, damit der Raspberry Pi heruntergefahren wird und nicht nur die Stromversorgung getrennt wird. Wenn nun der PowerO-Button oder der Knopf am Multimedia Case gedrückt wird, sendet das Multimedia Case seriell dem Raspberry Pi den
String xxxShutdownRaspberryPixxx\n\r. Durch das folgende Skript wird dann der String als Befehl interpretiert. Dieser Befehl lautet sudo
shutdown -h now und lässt den Raspberry Pi herunterfahren.
Nach dem Starten des Multimedia Case wird durch ein grünes Pulsieren der RGB-LEDs das Hochfahren des Systems angezeigt
- In dieser Zeit startet der Raspberry Pi sein Betriebssystem. Das angezeigte Pulsieren ist im Multimedia Case auf eine Zeit von 30s voreingestellt und geht danach in ein dauerhaes grünes Leuchten über, was die Betriebsbereitscha signalisiert. Sollte das Betriebssystem des Raspberry Pi schneller als in den 30s hochgefahren sein, kann man das besagte Pulsieren mittels dem
Senden des Strings \x0D X05 \x0D über UART vorzeitig beenden,
sodass das erfolgreiche Hochfahren korrekt angezeigt wird. Mehr zum Aktivieren der seriellen Schnittstelle finden Sie in Kapitel 2.1. Diese Methode haben wir ebenfalls in unser Skript der Shutdown­Funktion integriert.
i
Das Multimedia Case indiziert das Hochfahren mit einem grünen Blinken der LEDs. Nach 30s geht dieses Blinken standardmäßig
in ein dauerhaes Leuchten über. Das Herunterfahren des Multi­media Cases wird durch ein rotes Blinken der LEDs angezeigt. Wenn das Multimedia Case die Stromversorgung vom Raspberry Pi getrennt hat, leuchten die LEDs dauerha rot.
i
www.joy-it.net
Pascalstr. 8 47506 Neukirchen-Vluyn
sudo python3 /home/pi/MultimediaCase/shutdown-function.py &
Sie können mit dem folgenden Befehl das Programm im Hintergrund ausführen, damit das Terminal weiterhin zur Verfügung steht.
Wir empfehlen das Programm in den Autostart hinzuzufügen, damit der Raspberry Pi immer automatisch das Skript beim Start aufru und dauer­ha im Hintergrund aktiviert bleibt. Dazu önen Sie die Datei
rc.local
mit
dem folgenden Befehl:
sudo nano /etc/rc.local
Fügen Sie dort die folgende Zeile vor dem
exit 0
ein. Achten Sie darauf,
dass Ihr Verzeichnis, in dem das Skript liegt, abweichen kann.
python3 /home/pi/MultimediaCase/shutdown-function.py & exit 0
LED 1 LED 2
LED 3
LED 4
2.4 RGB-LEDs
Das Gehäuse besitzt an jeder Ecke eine RGB-LED. Die WS2812B LEDs sind in einer Reihe geschaltet und können mittels GPIO 18 farblich eingestellt werden. Dieser Pin ist an dem PWM-Modul vom Raspberry Pi angeschlos­sen. Es ist zwingend erforderlich, bei LEDs des Typen WS2812B zeitkriti­sche Signale (PWM) zu verwenden, da es ansonsten zu Störungen kom­men kann.
Um die LEDs einzurichten empfehlen wir Hyperion. Hyperion ist eine Open-Source Umgebungslicht Implementation, welche mit vielen Platt­formen kompatibel ist. Es bietet Ihnen auch die Möglichkeit weitere LEDs hinzuzufügen, um eine Hintergrundbeleuchtung an Ihren Monitor anzu­bringen und auch Eekte auf Ihren LEDs abspielen zulassen. Dazu benöti­gen Sie kein weiteres Wissen über die Datenverarbeitung der LEDs.
Datenverarbeitung der LEDs
Dadurch das WS2812B LEDs in einer Reihe geschaltet / String
angeordnet sind, durchläu das Signal alle LEDs hintereinander. Dabei nimmt sich jede LED ein Datenpaket. Es müssen immer vier Datenpakete gesendet werden, damit alle LEDs ein Datenpaket erhal­ten. Diese Datenpaketen enthalten Werte im GRB-Farbraum.
i
www.joy-it.net
Pascalstr. 8 47506 Neukirchen-Vluyn
2.4.1 LED-Farbmodi Die Firmware der Platine unterstützt ab Version 1.0.1 verschiedene LED­Farbmodi. Diese Modi übernehmen auch die Steuerung der LEDs, wenn der Raspberry Pi heruntergefahren wird. Man stellt den LED Mode mittels eines Strings ein, welcher seriell an die Platine übertragen wird.
Mode 0 - Standard Farbmodus
Dies ist der Standard Farbmodus, welcher im Ursprungszustand
eingestellt ist. Hierbei leuchten die LEDs dauerha rot, wenn der Raspberry Pi ausgeschaltet ist und grün, wenn dieser aktiv ist. Das Hoch- und Herunterfahren wird durch das Pulsieren von grün oder
rot gekennzeichnet. Der String \x0D LM0 \x0D stellt dabei diesen Mode ein.
Mode 1 - Nur pulsieren In diesem Farbmodus wird nur das Hoch- und Herunterfahren vom Raspberry Pi mittels Pulsieren angezeigt. Sobald der Raspberry Pi ausgeschaltet oder angeschaltet ist, sind die LEDs ausgeschaltet.
Für diesen Farbmodus müssen Sie diesen String \x0D LM1 \x0D
seriell an die Platine senden.
Mode 2 - Nur quittieren In diesem Farbmodus wird Ihnen nur das Hoch- und Herunterfahren
quittiert. Dabei leuchten die LEDs nur kurz auf, wenn das Signal
zum Hoch- und Herunterfahren empfangen wurde, um anzuzeigen das dieses Signal eingegangen ist. Der String \x0D LM2 \x0D wird
dabei verwendet, um die Platine einzustellen.
Sie können diese Strings seriell mittels eines Python-Skripts an die Platine senden. Im folgenden finden Sie eine beispielhae Formulierung, wie dies aussehen könnte:
Wenn Sie den Klinkenstecker verwenden wollen, müssen Sie zunächst die LEDs Abschalten, da es sonst zu Störungen
kommen kann. Es werde beide PWM0-Pins für die Audioausgabe
über den Klinkenstecker benötigt.
i
Loading...
+ 16 hidden pages