Aus Raspberry Pi Geek 03/2016

Der Raspberry Pi 3 Model B im Detail (Seite 2)

Abbildung 3: Der grafische Desktop von Raspbian bringt von Haus aus alles mit, um eine WLAN-Verbindung zum Router einzurichten.

Abbildung 3: Der grafische Desktop von Raspbian bringt von Haus aus alles mit, um eine WLAN-Verbindung zum Router einzurichten.

Abbildung 4: Für das Terminal bieten sich textbasierte Tools zum Einloggen in das heimische Drahtlosnetzwerk an, wie etwa Wicd-curses.

Abbildung 4: Für das Terminal bieten sich textbasierte Tools zum Einloggen in das heimische Drahtlosnetzwerk an, wie etwa Wicd-curses.

Das erledigen Sie zum einen auf dem grafischen Desktop über Preferences | Raspberry Pi Configuration auf der Registerkarte Localisation mit dem Knopf Set WiFi Country. Alternativ bearbeitet Sie die Datei /etc/default/crda und modifizieren dort die letzte Zeile zu REGDOMAIN=DE (DE steht für Deutschland). Auch via Raspi-config lässt sich diese Einstellung vornehmen. So gehen Sie sicher, dass der RasPi tatsächlich mit der erlaubten Sendeleistung funkt. In Europa schalten Sie mit der richtigen Einstellung außerdem die in den USA verbotenen Kanäle 12 und 13 frei.

Die neue WLAN-Funktion bietet vor allem im drahtlos vernetzten Internet of Things viele interessante Möglichkeiten. So bauen Sie jetzt etwa einen RasPi mit einem Kameramodul zur Überwachungslösung aus, auf die Sie per WLAN zugreifen. Alternativ platzieren Sie einen RasPi mit Sensoren am GPIO und übermitteln die Messdaten per WLAN. Oder Sie rüsten den RasPi mit einem Unicorn-HAT (einem RGB-LED-Matrixdisplay) auf, montieren ihn als Uhr oder sich verändernde Lampe an die Wand und steuern das Projekt über WLAN. Eine weitere interessante Einsatzmöglichkeit liegt darin, einen sonst autark betriebenen Raspberry Pi über einen mobilen Hotspot auf dem Smartphone kurzzeitig ins Netz zu bringen und so Updates einzuspielen oder Messwerte zu übertragen.

Den Monitor-Modus zum Überwachen eines WLANs unterstützt der BCM43438 zwar nicht, dafür aber den Access-Point-Modus. So spannen Sie beispielsweise mit dem kostenlosen Anonymebox-Image von Pi3g [3] ab Version 2.17 ein Funknetzwerk zum anonymen Surfen auf. Eine kurze Anleitung für erste eigene Experimente finden Sie im Kasten “Access Point mit Bridgeutils und Hostapd”.

Access Point mit Bridgeutils und Hostapd

Ein per Netzwerkkabel mit einem Router verbundener Raspberry Pi lässt sich schnell zum Access Point ausbauen, der WLAN-Geräte ins LAN bringt. Dazu ergänzen Sie zunächst die Konfigurationsdatei /etc/network/interfaces um die Zeilen aus Listing 1, wobei Sie alle bereits vorhandenen wlan0 betreffenden Zeilen mittels einer Raute # auskommentieren.

Für den Access-Point-Modus installieren Sie dann die Pakete hostapd und bridge-utils (Listing 2). Anschließend erstellen Sie die Datei /etc/hostapd/hostapd.conf und befüllen diese mit dem Inhalt aus Listing 3. Dabei sollten Sie die Variablen ssid (den Namen des vom RasPi aufgespannten WLANs) und die wpa_passphrase (den Netzwerkschlüssel) nach eigenen Vorstellungen anpassen. Sicherheitshalber ändern Sie die Rechte der Datei nach dem Speichern so, dass nur Root sie lesen darf:

$ sudo chmod 600 /etc/hostapd/hostapd.conf

Zu guter Letzt tragen Sie in /etc/default/hostapd den Pfad zur Konfigurationsdatei ein:

DAEMON_CONF="/etc/hostapd/hostapd.conf"

Nun starten Sie den Raspberry Pi neu. Beim Hochfahren geht der RasPi-Access-Point dann automatisch in Betrieb.

Listing 1

 

allow-hotplug wlan0
iface wlan0 inet manual
auto br0
iface br0 inet manual
bridge_ports eth0 wlan0
bridge_fd 0
bridge_stp off

Listing 2

 

$ sudo apt-get update
$ sudo apt-get install hostapd bridge-utils

Listing 3

 

bridge=br0
interface=wlan0
ssid=pi3-hotspot
hw_mode=g
channel=7
ieee80211n=1
ht_capab=[MAX-AMSDU-3839]
wmm_enabled=1
country_code=DE
ieee80211d=1
macaddr_acl=0
auth_algs=1
ignore_broadcast_ssid=0
wpa=2
wpa_passphrase=pi3g.com
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP
rsn_pairwise=CCMP

Bluetooth und serielle Schnittstelle

Der Raspberry Pi 3 unterstützt Bluetooth 4.1, sowohl als Bluetooth Classic wie auch als Bluetooth Low Energy (BLE). Das ermöglicht, eine große Auswahl von Peripheriegeräten mit dem RasPi zu koppeln, von Mäusen und Tastaturen über Headsets bis hin zu Smartphones. Auf diesem Weg spielen Sie drahtlos Musik ab, tauschen Dateien zwischen dem RasPi und anderen Bluetooth-fähigen Geräten aus oder teilen die Internetverbindung des Smartphones mit dem Raspberry Pi. BLE kommt vor allem für IoT- und Smart-Home-Anwendungen infrage. Sensoren benötigen damit nur eine kleine Batterie, um mehrere Jahre zu funktionieren. Die Auswahl der angebotenen Geräte reicht von Schrittzählern über Bewegungs- oder Rauchmelder bis hin zu Schaltsteckdosen.

Bluetooth unter Linux erfordert, je nach Einsatzzweck, die Installation von weiteren Paketen und eine entsprechende Systemkonfiguration. So müssen Sie etwa für den Einsatz eines Bluetooth-Headsets erst das Paket pulseaudio-module-bluetooth nachinstallieren. Anderenfalls verweigert die Software die Verbindung, da das entsprechende Profil a2dp-sink fehlt. Simon Long, der User Experience Engineer der Raspberry Pi Foundation, untersucht derzeit, wie sich die Bluetooth-Benutzerschnittstelle am besten in Raspbian integrieren lässt. Falls Sie auf eine Plug&Play-Erfahrung mit Bluetooth hoffen, müssen Sie sich aktuell allerdings eher auf eine Enttäuschung einstellen.

Auch mit der Kodi-Distribution OpenELEC klappt der Einsatz von Bluetooth auf unserem Test-RasPi-3 auf Anhieb nur mit einem Bluetooth-Keyboard. Der Versuch, ein Smartphone oder diverse Headsets zu verbinden, scheitert mit der Meldung Bluetooth Error protocol not available. Für Ihre ersten Schritte mit Bluetooth in Raspbian empfehlen wir, dem Kasten “Keyboards via Bluetooth anbinden” ein wenig Aufmerksamkeit zu schenken.

Keyboards via Bluetooth anbinden

Auf dem aktuellen Raspbian-Image ist das für Bluetooth benötigte Paket bluez bereits installiert. Öffnen Sie einen Bluetooth-Prompt (Listing 4, Zeile 1) und lassen Sie sich mit list die verfügbaren Controller anzeigen (Listing 4, Zeile 3). Dabei steht das pi3neo in Zeile 4 für den Hostnamen des Systems.

Anschließend – und eher prophylaktisch, weil er sich bereits im richtigen Modus befinden sollte – schalten Sie den Controller an und versetzen ihn in den Kopplungsmodus (Zeile 5 bis 8). Danach aktivieren Sie auch auf dem zu verbindenden Bluetooth-Gerät den Kopplungsmodus. In der Regel gilt es, dafür eine Taste auf dem Gerät für eine etwas längere Zeit gedrückt zu halten.

Anschließend lassen Sie den Controller nach Bluetooth-Geräten suchen (Zeile 9) und beenden den Scan, sobald das System das gewünschte Gerät findet (Zeile 22) – im Beispiel ein Mini-Keyboard ID0070A von Logilink. In der Ausgabe erkennen Sie die Tastatur anhand des Namens (Zeile 16 und 17). Merken Sie sich die zugehörige, eindeutige Bluetooth-Adresse (BT-MAC) – hier lautet sie 3C:29:A7:17:03:40.

Nun koppeln Sie das Bluetooth-Gerät mithilfe dieser BT-MAC an den RasPi (Zeile 23 bis 34). Manche Geräte verbinden sich direkt. Andere fordern vom Benutzer eine PIN – so auch unsere Tastatur (PIN 334004). Nach Eingabe der PIN und Betätigen per [Eingabe] führt das System die Kopplung durch.

Damit sich das Gerät zukünftig automatisch verbindet, fügen Sie es der Liste der vertrauenswürdigen Devices hinzu (Zeile 35). Anschließend starten Sie die Verbindung (Zeile 38). Das Keyboard lässt sich danach umgehend benutzen. Zu guter Letzt schließen Sie die Bluetooth-Kommandozeile wieder (Zeile 41).

Das System baut künftig nach dem Aus- und wieder Einschalten des Geräts oder einem Neustart des Raspberry Pi die Verbindung selbstständig wieder auf.

Listing 4

 

§ sudo bluetoothctl -a
[...]
[bluetooth]# list
Controller B8:27:EB:C9:42:2B pi3neo [default]
[bluetooth]# power on
Changing power on succeeded
[bluetooth]# pairable on
Changing pairable on succeeded
[bluetooth]# scan on
Discovery started
[CHG] Controller B8:27:EB:C9:42:2B Discovering: yes
[CHG] Device 00:1A:7D:02:00:49 RSSI: -66
[CHG] Device D4:F5:13:52:2F:14 RSSI: -73
[NEW] Device 3C:29:A7:17:03:40 3C-29-A7-17-03-40
[CHG] Device 3C:29:A7:17:03:40 LegacyPairing: no
[CHG] Device 3C:29:A7:17:03:40 Name: ID0070A
[CHG] Device 3C:29:A7:17:03:40 Alias: ID0070A
[CHG] Device 3C:29:A7:17:03:40 LegacyPairing: yes
[CHG] Device 00:1A:7D:02:00:49 RSSI: -57
[CHG] Device 00:1A:7D:02:00:49 RSSI: -81
[CHG] Device 00:1A:7D:02:00:49 RSSI: -61
[bluetooth]# scan off
[bluetooth]# pair 3C:29:A7:17:03:40
Attempting to pair with 3C:29:A7:17:03:40
[CHG] Device 3C:29:A7:17:03:40 Connected: yes
[agent] PIN code: 334004
[CHG] Device 3C:29:A7:17:03:40 Modalias: bluetooth:v05ACp0239d011B
[CHG] Device 3C:29:A7:17:03:40 UUIDs:
        00001000-0000-1000-8000-00805f9b34fb
        00001124-0000-1000-8000-00805f9b34fb
        00001200-0000-1000-8000-00805f9b34fb
[CHG] Device 3C:29:A7:17:03:40 Paired: yes
Pairing successful
[CHG] Device 3C:29:A7:17:03:40 Connected: no
[bluetooth]# trust 3C:29:A7:17:03:40
[CHG] Device 3C:29:A7:17:03:40 Trusted: yes
Changing 3C:29:A7:17:03:40 trust succeeded
[bluetooth]# connect 3C:29:A7:17:03:40
Attempting to connect to 3C:29:A7:17:03:40
[CHG] Device 3C:29:A7:17:03:40 Connected: yes
Connection successful
[bluetooth]# quit
Agent unregistered
[DEL] Controller B8:27:EB:C9:42:2B pi3neo [default]

Hardwareseitig hängt das Bluetooth-Modul an der PL011-UART-Schnittstelle des RasPi. Bislang stand sie über die Pins 8 und 10 des GPIO-Ports als serielle Schnittstelle zur Verfügung. Die Entscheidung für diese Änderung fiel gemäß Raspberry-Pi-Ingenieur Phil Elwell aus Stabilitäts- und Leistungsgründen. Die GPIO-Pins 8 und 10 greifen nun stattdessen auf den Mini-UART zu.

Der Mini-UART arbeitet nun aber mit 115 200 Baud etwa achtmal langsamer als der PL011-UART und unterstützt keine Parity. Außerdem ist er an die Kernfrequenz des VideoCore IV gebunden, die Baudrate variiert also mit dessen Taktung. Elwell schlägt als Lösung vor, die Taktrate fest auf 250 MHz einzustellen. Alternativ ließen sich die beiden Schnittstellen auch austauschen oder Bluetooth mittels Device Tree Overlay abschalten. Möchten Sie die serielle Schnittstelle über GPIO nutzen, sollten Sie an diese Einschränkungen denken und entsprechende Einstellungen treffen.

Mittlerweile liegt der Bluetooth-Standard bereits in der Version 4.2 vor. Darin wurden unter anderem sicherheitsrelevante Aspekte überarbeitet, die Geschwindigkeit bestimmter Verbindungen verdoppelt und IPv6-Unterstützung für Endgeräte vorgesehen. Abgesehen von vermutlich weiteren Möglichkeiten des BCM43438 lässt sich ein Teil des Standards rein in Software umsetzen – im Fall von Linux im Bluetooth-Stack BlueZ [4].

Die neue CPU BCM2837

Wie schon beim Upgrade des RasPi 2 auf den BCM2836 findet sich auch auf dem BCM2837 wieder ein neuer CPU-Bereich. Es handelt sich um einen ARM Cortex-A53, der zwar weiterhin mit 4 Kernen arbeitet, diese jedoch mit 1,2 GHz taktet und mit 64 Bit arbeitet. Aus Sicht der Raspberry Pi Foundation macht die 64-Bit-CPU trotz des weiter auf 1 GByte begrenzten Arbeitsspeichers durchaus Sinn. Die neue 64-Bit-CPU dient im Moment schlicht als schnellerer 32-Bit-Prozessor: In der Tat überflügelt der Cortex-A53 nicht nur in Bezug auf die Rechenleistung mit 2,3 DMIPS/MHz den bisherigen 32-Bit-Cortex-A7 (1,9 DMIPS/MHz), sondern lässt sich auch höher takten. In synthetischen Benchmarks ergibt sich gegenüber dem BCM2836 eine Leistungssteigerung von 50 Prozent.

DIESEN ARTIKEL ALS PDF KAUFEN
EXPRESS-KAUF ALS PDFUmfang: 9 HeftseitenPreis €0,99
(inkl. 19% MwSt.)
RASPBERRY PI GEEK KAUFEN
EINZELNE AUSGABE Print-Ausgaben Digitale Ausgaben
ABONNEMENTS Print-Abos Digitales Abo
TABLET & SMARTPHONE APPS Raspberry Pi Geek bei Google Play Readly Logo
Nach oben