Folgen

Wie weise ich Bluetooth den miniUART zu, und nutze PL011 UART für den RaZberry?

Der PL011 UART ist unabhängig von einem internen Frequenzgenerator ("clock") der mit schneller / langsamer laufender GPU variiert. Im Raspberry Pi 3 wurde der PL011 UART standardmäßig für Bluetooth verwendet, da er somit stabiler ist und außerdem auch eine höhere Durchsatzrate erlaubt.

Wer Bluetooth UND den RaZberry verwenden möchte, für Bluetooth nur eine geringere Bandbreite braucht, der kann die beiden UARTs vertauschen.

Somit wird zugewiesen:

PL011 -> RaZberry

miniUART -> Bluetooth

 

Wichtiger Hinweis:

Bitte beachten Sie zusätzlich unsere Hinweise zur Konfiguration von FHEM im folgenden Artikel:

https://pi3g.zendesk.com/hc/de/articles/209034785-Wie-deaktiviere-ich-Bluetooth-und-konfiguriere-ich-den-RaZberry-f%C3%BCr-ttyAMA0-

 

Vorgehensweise:

1. Bearbeiten Sie /boot/config.txt, fügen Sie folgende Zeile hinzu (entfernen Sie ggf. andere overlays die Bluetooth / den UART beeinflussen):

dtoverlay=pi3-miniuart-bt
enable_uart=1
core_freq=250

 Damit vertauschen Sie die UARTs und fixieren gleichzeitig die Core Frequenz, damit der miniUART für Bluetooth stabiler läuft (Hinweis: das hat auf die Leistungsfähigkeit der GPU nachteilige Auswirkungen, z.B. für H265 Softwaredekodierung).

Hinweis: theoretisch ist es auch möglich statt core_freq=250 - force_turbo zur Stabilisierung des miniUARTs zu aktivieren, was jedoch die Lebensdauer des Raspberry Pi negativ beeinträchtigen könnte. Wir empfehlen daher ausdrücklich core_freq=250.

 

2. Bearbeiten Sie /lib/systemd/system/hciuart.service

ersetzen Sie hier ttyAMA0 mit ttyS0 (das ist eine Null am Ende, kein "oh"), wie folgt:

[Unit]
Description=Configure Bluetooth Modems connected by UART
ConditionPathIsDirectory=/proc/device-tree/soc/gpio@7e200000/bt_pins
Before=bluetooth.service
After=dev-ttyS0.device

[Service]
Type=forking
ExecStart=/usr/bin/hciattach /dev/ttyS0 bcm43xx 921600 noflow -

[Install]
WantedBy=multi-user.target

Hinweis: es könnte sein, dass die Datenrate des miniUARTs von 921600 niedriger gesetzt werden muss, bspw. auf  115200 - bitte probieren Sie das in dieser Datei entsprechend anzupassen, falls Sie Probleme mit Bluetooth erleben. 

 

 3. Verzögern Sie den Start von FHEM um 10 Sekunden. Fügen Sie dazu in der ersten Zeile der Datei /etc/init.d/fhem die folgende Zeile neu ein:

sleep 10

 

 

 

Referenzen:

https://www.raspberrypi.org/forums/viewtopic.php?f=28&t=141195

http://www.fhemwiki.de/wiki/Raspberry_Pi_3:_GPIO-Port_Module_und_Bluetooth

 

War dieser Beitrag hilfreich?
0 von 0 fanden dies hilfreich
Haben Sie Fragen? Anfrage einreichen

0 Kommentare

Bitte melden Sie sich an, um einen Kommentar zu hinterlassen.
Powered by Zendesk