Servus!
Ich möchte gerne (auf nem Raspi unter Raspbian Buster) MP3s auf einem Bluetooth-Lautsprecher ausgeben. Ich finde bislang keine Infos, wie ich Bluetooth-Lautsprecher unter Python koppeln kann.
Auf der Shell klappt das soweit - Koppeln mit nem Tools bluetoothctl klappt, und mittels mplayer kann ich dann per ALSA auch MP3s darauf abspielen. Bluetoothctl auf dem Raspi ist aber alles andere als scripting-freundlich, daher möchte ich's in Python implmentieren.
Kann mir hier jemand auf die Sprünge helfen?
Bluetooth Lautsprecher und pygame
Ja, hätte ich erwähnen sollen: der bluetoothd arbeitet damit. Und nix anderes benutzt am Ende Bluetoothctl: https://git.kernel.org/pub/scm/bluetoot ... ent/main.c
Mit ein bisschen Glück und https://dbus.freedesktop.org/doc/dbus-monitor.1.html kannst du ggf die session mit bluetoothctl aufzeichnen & dann “einfach” wieder abspielen.
Mit ein bisschen Glück und https://dbus.freedesktop.org/doc/dbus-monitor.1.html kannst du ggf die session mit bluetoothctl aufzeichnen & dann “einfach” wieder abspielen.
OK... Die Idee ist also, die Sequenz der DBus-Mssages aufzuzeichnen und in der eigenen Anwendung wieder abzuspielen. Quasi eine "Replay-Attacke". Ja, das könnte funktionieren, ist aber IMHO ein eher schlechter Ansatz. Immerhin kann sich das Interface am bluetoothd ja mal ändern, und dann funzt diese Sequenz nicht mehr und keiner kann sagen, warum. Es sind ja auch Timings einzuhalten, denn ich kann ein Gerät ja nur dann connecten, wenn es zuvor beim Scan aufgetaucht ist.
Gibt's denn in Python keine API, um auf Bluetooth einen Scan zu starten, ein Device zu pairen, und zu connecten?
Gibt's denn in Python keine API, um auf Bluetooth einen Scan zu starten, ein Device zu pairen, und zu connecten?
Ich hab nen besseren Weg gefunden: Bluetool.
https://pypi.org/project/bluetool/#description
Das bietet eine API, die zu lesbarem Code führt. Scheint auch soweit recht robust zu sein, solange ich nur einen Lautsprecher verwende. Der Wechsel auf einen anderen per Bluetooth angeschlossenen Speaker scheint etwas hakelig zu sein, da muss ich noch ein wenig probieren. Einziger Nachteil, läuft out-of-the-box nur unter Python 2.7, nicht aber unter Python 3. Mal schauen, ob ich's portiert bekomme.
Danke für Deinen Input.
https://pypi.org/project/bluetool/#description
Das bietet eine API, die zu lesbarem Code führt. Scheint auch soweit recht robust zu sein, solange ich nur einen Lautsprecher verwende. Der Wechsel auf einen anderen per Bluetooth angeschlossenen Speaker scheint etwas hakelig zu sein, da muss ich noch ein wenig probieren. Einziger Nachteil, läuft out-of-the-box nur unter Python 2.7, nicht aber unter Python 3. Mal schauen, ob ich's portiert bekomme.
Danke für Deinen Input.