Bluetooth auf dem Raspberry Pi 3 einrichten

© Shane White, 123RF

Blueberry

Raspbian unterstützte schon immer Bluetooth. Dank günstiger USB-Dongles war es nie ein Problem, einen RasPi aufzurüsten. Der RasPi 3 beherrscht die Technik bereits ab Werk. Damit fällt die letzte Hürde, diesen Funkstandard zu nutzen.

Obwohl WLAN beim Einrichten einigen Aufwand erfordert, hat es sich als Funktechnik zum Übertragen größerer Datenmengen durchgesetzt. Im Nahbereich besitzt Bluetooth hingegen einige Vorteile. Obwohl Linux die Technik schon seit Langem unterstützt, fristete sie im Alltag eher ein Schattendasein. Dieser Artikel gibt eine Einführung in die Bluetooth-Architektur und erklärt, wie Linux den Standard unterstützt. Außerdem zeigen wir, welche Programme Sie für die Einrichtung benötigen. Einige Praxisbeispiele demonstrieren, dass der RasPi mithilfe von Bluetooth weitere Anwendungsgebiete abdeckt.

"Bluetooth" (englisch für Blauzahn) war der Codename eines Standardisierungsprojekts für den Nahfunk, der letztlich auch bei der Veröffentlichung der Technik erhalten blieb. Der Name ist eine Reverenz an den dänischen König Harald Blauzahn, der durch seine Kommunikationsfähigkeiten die verfeindeten Teile von Norwegen und Dänemark einte. Bei der Namenswahl spielte sicher eine Rolle, dass die Firmen Ericsson und Nokia maßgeblich an der Entwicklung des Standards beteiligt waren. Auch das aus den altnorwegischen Runen H und B bestehende Bluetooth-Logo erinnert an den Namensgeber.

Blau ist alle Theorie

Historisch gesehen entstand Bluetooth, um die Probleme von Infrarot-Verbindungen (IrDA) zu überwinden, die Sichtkontakt benötigen. Einsatzziel war die Kommunikation von Peripheriegeräten mit einem PC. Dementsprechend gering fiel die ursprünglich notwendige und vom Standard vorgegebene Datenrate aus: In der ersten Version betrug das theoretische Maximum 732,2 kbit/s. Heute liegt das Limit (seit BT 2.0 + EDR) bei 2,1 Mbit/s. Das Bluetooth-Modul auf dem Raspberry Pi 3 (Abbildung 1) arbeitet nach dem Standard Bluetooth 4.1 Low Energy.

Abbildung 1: Das Antennenmodul des Raspberry Pi 3 liegt zwischen GPIO und Display-Schnittstelle.

Bluetooth funkt im 2,4 MHz-Band in 79 Kanälen von 2,402 bis 2,480 MHz. Bekannte Störer in diesem Bereich sind WLAN und die Mikrowelle, während DECT in Europa ein anderes Funkband nutzt. Diverse Techniken (Kanalspringen, Korrekturcodes) erhöhen die Robustheit und den Datendurchsatz, selbst wenn andere Geräte auf denselben Frequenzen funken.

Obwohl technisch meist für Punkt-zu-Punkt Verbindungen eingesetzt, spannen Bluetooth-Geräte ein kleines Netz mit bis zu acht Teilnehmern auf (die Adresse umfasst 3 Bit). Außerdem gibt es einen Parkmodus mit 8-Bit-Adresse, über den insgesamt 255 Geräte die Synchronisation untereinander aufrechterhalten. Es gibt einen Master, der den Slaves Zeitscheiben für die Kommunikation zuteilt. Geräte dürfen gleichzeitig an mehreren Pico-Netzen teilnehmen, aber nur einmal als Master.

Bluetooth stellt zwei physikalische Datenkanäle bereit, einmal für die synchrone Kommunikation (Sprache) und einmal für paketvermittelte Synchronisation (Daten). Beides passiert auch quasi gleichzeitig: So übertragen Headsets die Befehle für die Lautstärkeregelung über den Datenkanal parallel zur Sprachverbindung.

Diese und weitere technische Details, zum Beispiel zur Weiterentwicklung des Protokolls oder zur Verbindungsaufnahme und Sicherheit, lassen sich etwa im Wikipedia-Artikel [1] zum Thema vertiefen. Die oben beschriebenen Möglichkeiten der Bluetooth-Hardware müssen zusätzlich aber auch von der Software unterstützt werden, dem sogenannten Bluetooth-Stack.

Bluetooth für Linux

Unter Linux entwickelt das Projekt Bluez [2] den Software-Stack für das Bluetooth-Protokoll. Da Linux auch die Basis von Android stellt, gilt der Stack als gut gepflegt. Allerdings stellen die Low-Level-Funktionen nur die halbe Miete dar. Da Bluetooth nicht die Art und Weise festlegt, wie die Komponenten miteinander kommunizieren, gibt es auch Protokolle (im Bluetooth-Jargon: "Profile"), die auf Anwendungsseite die Kommunikation regeln. Als Beispiel sei ein Headset genannt: Es muss sowohl Audio-Streams entgegennehmen als auch Telefonfunktionen unterstützen.

Im Rahmen des Bluez-Projekts pflegen die Entwickler auch grundlegende Profile [3]. Nicht jedes Profil schafft es jedoch in den Bluez-Kern [4]. Die Dateitransferprofile etwa stellt obexd bereit, die A2DP- und HFS-Profile benötigen hingegen PulseAudio. Für den praktischen Einsatz bedeutet all das, dass Sie für den vollen Funktionsumfang von Bluetooth eine Reihe von Softwarepaketen installieren müssen. Raspbian wäre aber nicht Raspbian, wenn das Standard-Image nicht schon das meiste erledigt hätte.

Diesen Artikel als PDF kaufen

Express-Kauf als PDF

Umfang: 7 Heftseiten

Preis € 0,99
(inkl. 19% MwSt.)

Raspberry Pi Geek kaufen

Einzelne Ausgabe
 
Abonnements
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Ähnliche Artikel

Aktuelle Ausgabe

12/2019
RasPi-Alternativen

Diese Ausgabe als PDF kaufen

Preis € 9,99
(inkl. 19% MwSt.)

Stellenmarkt

Neuigkeiten

  • Grußbotschaften

    Mit Sonic Pi zaubern Sie komplexe Sounds, die Sie bei Bedarf sogar noch während des Abspielens modifizieren.

  • Das Runde und das Eckige

    Mit dem MCP4725 ergänzen Sie einen RasPi um einem D/A-Wandler, der bei Bedarf noch weitere Funktionen erfüllt.

  • Alles unter Kontrolle

    Schon ein einfaches Mikrocontrollerboard wie das CY8CKIT-049-42xx bietet erstaunlich viele Möglichkeiten beim Ansteuern von Hardware.

  • Viele Kerne

    Das Spresense Development Board von Sony lässt sich mit der Arduino IDE programmieren und bringt auch ein eigenes Entwickler-SDK mit.

  • Exotische Früchte

    Der aus China stammende Orange Pi positioniert sich mit einem guten Preis und interessanten Features gegen die RasPi-Truppe. Kann er sich auch behaupten?

  • Flexibler Surfer

    Mit dem neuen RasPi 4 setzen Sie einen öffentlichen Webkiosk schnell und kostengünstig auf.

  • Auskunftsfreudig

    Viele Devices, so auch der E.ON-Aura-Controller, verwenden eine Schnittstelle namens REST, um Zustandsdaten zu übermitteln. Mit ein wenig Bastelei lesen Sie diese auch über Ihr Smartphone aus.

  • Doppelt gemessen

    Mit wenig Aufwand und einem Pi Zero realisieren Sie einen mobilen Zweikanal-Spannungsprüfer.

  • Elegant zusammengeführt

    Tizonia streamt Musik von Online-Quellen und lokalen Sammlungen. Die schlanke Architektur macht den Player zur guten Wahl für den Einsatz auf dem RasPi.

  • Kommunikativ

    Nicht jeder traut sich zu, sein eigenes Smartphone zu bauen. Allerdings kann jeder Linux-Nutzer den Raspberry Pi im Handumdrehen zu einem VoIP-Telefon aufrüsten.