Konfigurieren des Raspberry Pi 3 und der BeagleBoards für drahtlose Verbindungen
Zur Verfügung gestellt von Europäische Fachredakteure von DigiKey
2016-06-24
Der günstige Einplatinenrechner Raspberry Pi hat enormen Erfolg und bietet Systementwicklern eine preiswerte Controller-Platine, die im branchenüblichen Debian Linux programmiert werden kann. Was dem Pi bisher gefehlt hat, waren integrierte Drahtlosfunktionen. Die Einplatinenrechner Raspberry Pi A und B und Pi2 benötigten alle ein externes Wi-Fi- oder Bluetooth-Dongle, um Drahtlosverbindungen herzustellen. Die neueste Version der Karte, der Raspberry Pi 3, verfügt über einen zusätzlichen 64-Bit Quad-Core-ARM® Cortex®-A53-Prozessor mit einer auf 1,2 GHz erhöhten Frequenz und wird samt Wi-Fi und Bluetooth Smart 4.0 für einen ähnlichen Preis wie frühere Platinen angeboten. Die Platinen waren vor der Markteinführung viele Monate lang in der Vorproduktion und sind über Lieferanten wie Seeed verfügbar.
Dies schafft enorme Möglichkeiten für den Einsatz der Platine im Internet der Dinge (IoT), da sie leicht mit einem Router oder Gateway verbunden werden kann, um Daten von Sensoren zu liefern oder von einem Smartphone oder internetfähigen Endgerät aus Steuerungsfunktionen zu übernehmen. Der Quad-Core-Prozessor bietet außerdem mehr Rechenleistung für eine lokale Analyse von Daten und lokale Ausführung einer breiteren Palette von Steueralgorithmen – und kürzere Reaktionszeiten.
Für viele dieser IoT-Anwendungen wird kein Bildschirm verwendet, sodass die Platinen „headless“ konfiguriert werden. Dazu wird die Ethernet-Verbindung mit einem Endgerät oder einem seriellen Konsolenkabel verwendet. Die Software zur Herstellung dieser Verbindung ist im Standard-Software-Image enthalten, das zum Raspbian-Betriebssystem auf einer in die Platine gesteckten SD-Karte gehört.
Raspbian basiert auf Debian Linux und wird regelmäßig mit Bibliotheken aus der Raspberry Pi Foundation aktualisiert und mit dem Installationsprogramm NOOBS auf der Platine installiert. Die Foundation hat es jedoch bewusst sehr einfach gemacht, die root-Partition auf der SD-Karte durch eine andere ARM Linux-Distribution zu ersetzen, damit andere Betriebssysteme verwendet werden können. Diese können zur Verwendung mit der Platine vor Herstellung einer Verbindung von einem PC oder Laptop auf die SD-Karte geladen werden.

Abbildung 1: Die Raspberry Pi 3 Platine fügt Wi-Fi und Bluetooth Smart auf derselben Platine hinzu wie einen 1,2 GHz Quad-Core ARM Cortex-A53-Prozessor.
Mit Raspbian ist der erste Schritt zur Konfigurierung der Drahtlosverbindung die Suche nach den lokalen Netzwerken. Dies erfolgt mithilfe des Befehls sudo im Format
: sudo iwlist wlan0 scan
So erhalten Sie eine Liste aller Wi-Fi-Netzwerke sowie der Sicherheit der Verbindungen und anderer Angaben.
Zum Verbinden der Platine wird der Name des gewählten Wi-Fi-Netzwerks unter der ESSID (Extended Service Set Identification) aufgeführt. Diese beinhaltet auch die zu verwendende Authentifizierungsmethode, entweder WEP, WPA oder WPA2.
Damit erhalten Sie die Daten, die für die Konfigurationsdatei benötigt werden. Der Zugriff darauf erfolgt mit dem Befehl:
: sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
Am Ende der Datei befinden sich die Wi-Fi-Einstellungen, die für das lokale Netzwerk geändert werden müssen:
Im Block network= muss bei ssid="" das lokale Netzwerk stehen, und bei psk="" muss das Wi-Fi-Kennwort stehen.
Anschließend wird die Konfigurationsdatei gespeichert. Drücken Sie dazu STRG+X und dann Y auf der Tastatur und dann zur Bestätigung die Eingabetaste. Die Konfigurationsdatei wird normalerweise innerhalb weniger Sekunden aktualisiert und versucht, eine Verbindung zum Wi-Fi-Netzwerk aufzubauen. Kommt die Verbindung zum Wi-Fi nicht zustande, kann ein Neustart mit sudo reboot erforderlich sein. Wurde die Verbindung erfolgreich hergestellt, kann dies mit dem Befehl ifconfig verifiziert werden:
: ifconfig wlan0
Wird im Feld inet addr field eine IP-Adresse angezeigt, ist die Verbindung erfolgreich und die IP-Adresse ist für die Remoteverbindung der Platine nützlich.
Verbinden eines Bluetooth-Peripheriegeräts
Einer der Vorteile des Raspberry Pi 3 ist die integrierte Bluetooth-Fähigkeit. Damit kann ein Bluetooth-Peripheriegerät leicht an die Platine angeschlossen werden, um IoT-Netzwerke aufzubauen.
Die beste Methode für die Verbindung mit einem Bluetooth-Gerät ist der Befehl bluetoothctl aus der Befehlszeilenoberfläche, die im Raspbian-Betriebssystem enthalten ist.
Für andere Betriebssysteme kann ein Bluetooth-Modul mit diesem Befehl installiert werden:
: sudo apt-get install pi-bluetooth
Zum Ausführen von bluetoothctl muss der Bluetooth-Chip mit diesem Befehl eingeschaltet werden:
: power on
Damit erhalten Sie eine Liste der Geräte, die zuvor an die Platine angeschlossen waren. Mit dem Befehl
: scan on
wird er in den Suchmodus versetzt, um Bluetooth-Geräte in der Nähe zu finden.
Anschließend muss ein Agent eingeschaltet werden, um das Kombinieren des Peripheriegeräts mit der Platine zu handhaben:
: agent on
Die MAC-Adresse des Peripheriegeräts ist erforderlich, um das Kombinieren durchzuführen, und diese ist in der Regel auf der Peripheriegerät aufgedruckt und wird mit diesem Befehl eingegeben:
: pair MAC Address
Es kann auch eine Aufforderung zur Eingabe eines Kennworts für Peripheriegeräte wie z. B. eine Bluetooth-Tastatur erscheinen.
Soll das Peripheriegerät regelmäßig benutzt werden, kann es zur Liste vertrauenswürdiger Geräte hinzugefügt werden. Dazu verwenden Sie den Befehl:
: trust MAC address
Anschließend wird mit diesem Befehl eine Verbindung hergestellt:
: connect MAC address
BeagleBone Green
Andere beliebte preisgünstige Einplatinencomputer wie der BeagleBone Green haben keine eingebettete Drahtlosfunktion auf der Platine und benötigen einen Adapter oder ein Dongle, das für eine Wi-Fi-Verbindung konfiguriert werden muss. Dies kann in Abhängigkeit vom verwendeten Dongle variieren. Im Allgemeinen werden sie aber über das Betriebssystem gehandhabt, und das ist beim BeagleBone Green die Version 3.8 der Debian-Linux-Distribution.

Abbildung 2: Die BeagleBone Green-Platine nutzt einen 1 GHz Sitara-Prozessor mit ARM Cortex-A8-Kern.
Ein Problem bei einer Wi-Fi-Verbindung auf der Platine ist, dass sich Groundplane und Powerplane der Grove-Anschlüsse neben dem USB-Anschluss befinden, wo ein Wi-Fi-Adapter eingesteckt werden würde. Dies dämpft des Signal und führt zu einer schlechten Verbindung. Für viele „headless“-Embedded-Anwendungen werden diese Anschlüsse nicht benötigt und können über den Gerätebaum ausgeschaltet werden. Der Befehl dafür steht in der Datei uEnv.tx.
Eine andere Möglichkeit zur Vermeidung des Problems ist die Verwendung eines kurzen USB-Verlängerungskabels, sodass der Wi-Fi-Adapter ein kleines Stück von der Platine entfernt platziert werden kann.
Die Platine muss auch genug Leistung für den Wi-Fi-Adapter haben; dazu ist eine 5-Volt-Versorgung mit einem Strom von mindestens 1 Ampere erforderlich.
Der erste Schritt ist in jedem Fall die Verbindung des USB-Anschlusses auf der Platine mit einem PC mittels SSH, und ein Kernel-Upgrade gewährleistet, dass die neuesten Bibliotheken für den Wi-Fi-Adapter zur Verfügung stehen:
: cd /opt/scripts/tools/
: ./update_kernel.sh
Das Kernel-Image sollte automatisch heruntergeladen und installiert werden, gefolgt von einem Neustart.
Das Hinzufügen eines kleinen Skripts zum automatischen Einschalten des Adapters, wenn die Platine bootet, trägt dazu bei, dass all die verschiedenen Adapter verwendet werden können. Dazu verwendet man
: cd ~
: ntpdate -b -s -u pool.ntp.org
: apt-get update && apt-get install git
: git clone https://github.com/adafruit/wifi-reset.git
: cd wifi-reset
: chmod +x install.sh
: ./install.sh
Dieses Skript schaltet automatisch den Adapter ein, wenn die Platine gebootet wird, anschließend wird mit dem Befehl iwconfig eine Liste verfügbarer Netzwerke abgerufen, und die ESSID, die für die Datei /etc/network/interfaces benötigt wird, um die gewünschte Verbindung anzugeben.
Zum Konfigurieren der Datei wird der Editorbefehl nano verwendet:
: nano /etc/network/interfaces
Daraufhin wird ein kommentierter Konfigurationsblock für Wi-Fi angezeigt:
# WiFi Example
#auto wlan0
#iface wlan0 inet dhcp
# wpa-ssid "essid"
# wpa-psk "password"
Werden die Kommentare entfernt und „essid“ und „password“ durch den Namen und das Kennwort des gewünschten Netzwerks ersetzt, ist der Adapter konfiguriert. Die Verbindung kann manuell mit dem Befehl ifup wln0 getestet werden, der die IP-Adresse der Verbindung abruft, die dann wieder für die Fernadressierung der Platine hilfreich ist. Ein Neustart der Platine sollte nun das Skript abrufen, mit dem der Adapter eingeschaltet und die Netzwerkverbindung konfiguriert werden kann.
Fazit
Die Erweiterung des Raspberry Pi 3 um Wi-Fi und Bluetooth Smart ermöglicht eine neue Reihe eingebetteter „headless“-Anwendungen für Entwickler mit einem einfachen Konfigurationsprozess. So wird ein einfacher Fernzugriff von PCs, Smartphones und Cloud-Diensten auf die Platine möglich. Benutzer anderer Platinen können jedoch nach wie vor Drahtlosadapter verwenden, um dasselbe Funktionalitätsniveau zu erreichen.
Haftungsausschluss: Die Meinungen, Überzeugungen und Standpunkte der verschiedenen Autoren und/oder Forumsteilnehmer dieser Website spiegeln nicht notwendigerweise die Meinungen, Überzeugungen und Standpunkte der DigiKey oder offiziellen Politik der DigiKey wider.




