Getestet mit:Raspbian Buster; Python 3.5; RPi 3B+
Voraussetzungen:Endlich! Raspberry Pi 3B+ Buster als Bluetooth Audio Player
0

Terminalsteuerung mit PExpect: automatische Bluetooth-Verbindung

PExpect ist ein praktisches Tool zur Automatisierung von Terminalinteraktionen. In diesem Tutorial wird gezeigt, wie eine Bluetooth-Verbindung mit einem Raspberry Pi mit PExpect automatisiert werden kann.

Installation
Befolge die obig verlinkte Anleitung zur Einrichtung des RPi als Bluetooth-Sink. Gib anschliessend im Terminal ein

Test
Aktiviere die Bluetooth-Funktion des Smartphones und gib anschliessend im Terminal

ein. Nach ein paar Sekunden erscheint eine Aufforderung zur Paarung auf dem Smartphone. Nach Bestaetigung kann sich das Smartphone mit dem RPi paaren, um Musik auf den RPi zu streamen.
Hinweis: Dies funktioniert nur, wenn das Smartphone gerade das einzige aktive Bluetooth-Geraet ist, da das Script sich naiv mit dem ersten gefundenen Geraet verbinden will.

Code erklaert
Das Script enthaelt zwei Funktionen: scan_bluetooth_agents gibt ein Dictionary der gefundenen Geraete zurueck und trust_device nimmt eine Geraete-Hardwareadresse als Eingabe und verbindet sich mit diesem Geraet.
PExpect erzeugt zuerst einen Prozess fuer einen Terminalprogramm, welches Nutzereingaben erwartet, und fuehrt dann schrittweise alle noetigen Befehle aus:

Gesamtes Script
Klicke auf Ganzes Script um das ganze Programm anzuzeigen.

Links
PExpect Dokumentation: https://pexpect.readthedocs.io/en/stable/

Knight of Pi

Johannes Bergs aka Knight of Pi. Diploma in Bioinformatics, some Webdesign and Python coding then. Living in the beautiful city of Vienna.

Kommentar

Time limit is exhausted. Please reload CAPTCHA.