vrijdag 30 september 2022

Bluetooth

 Een Raspberry Pi Zero W (W van Wireless) is sinds een tijdje voorzien van een behoorlijke harde schijf om podcasts van gPodder op te slaan. Het opgeslagen geluid wilde ik per se per bluetooth afspelen. Deze kleine apparaatjes zijn voorzien van zowel Wi-Fi als Bluetooth. Uit bijdragen in het raspberry-forum weet ik inmiddels dat die twee draadloze protocollen elkaar nog wel eens dwars kunnen zitten...

Na dagen van experimenteren en met bijna volledige kennis van alle bluetooth apparaten bij de buren kreeg ik het maar niet voor elkaar om de paar apparaten om muziek af te spelen te verbinden met de zero w. De informatie die ik verzamelde via sudo bluetoothctl werd niet zichtbaar in het grafische schempje dat Add device... levert.


De geschikte kandidaten zijn/waren een goedkope bt-speaker van de Action, een bt-koptelefoon van Huawei (AM61) en een paar bt-speakers van Peaq (PPA100BT).

Nadat ik nog eens een blik wierp waar de zero w op mijn bureau lag bedacht ik me eens een andere plek voor het dingetje te bedenken. Drie à vier meter verderop had ik meteen de grote speakers van Peaq te pakken.

Enkele voorbeelden:
pi@pizerow:~ $ sudo bluetoothctl
Agent registered
[bluetooth]# list
Controller B8:27:EB:7C:AD:24 pizerow [default]
[bluetooth]# devices
Device 50:B4:BA:C9:99:F7 ACT-SPK-BT-04
[bluetooth]#

Command        Used to
list                       List available controllers
devices                List available devices
paired-devices     List paired devices
cancel-pairing [dev]        Cancel pairing with the device
discoverable <on/off>    Set controller discoverable mode
disconnect [dev]             Disconnect device
exit                                  Quit program
+++++++++++++++++++++++++++++++++++++++++++++++++++++++
[bluetooth]# help
Menu main:
Available commands:
-------------------
advertise                                       Advertise Options Submenu
scan                                              Scan Options Submenu
gatt                                               Generic Attribute Submenu
list                                                List available controllers
show [ctrl]                                    Controller information
select <ctrl>                                Select default controller
devices                                         List available devices
paired-devices                              List paired devices
system-alias <name>                   Set controller alias
reset-alias                                     Reset controller alias
power <on/off>                            Set controller power
pairable <on/off>                         Set controller pairable mode
discoverable <on/off>                  Set controller discoverable mode
discoverable-timeout [value]        Set discoverable timeout
agent <on/off/capability>             Enable/disable agent with given capability
default-agent                                 Set agent as the default one
advertise <on/off/type>                Enable/disable advertising with given type
set-alias <alias>                           Set device alias
scan <on/off>                               Scan for devices
info [dev]                                       Device information
pair [dev]                                       Pair with device
cancel-pairing [dev]                      Cancel pairing with device
trust [dev]                                      Trust device
untrust [dev]                                  Untrust device
block [dev]                                     Block device
unblock [dev]                                 Unblock device
remove <dev>                               Remove device
connect <dev>                              Connect device
disconnect [dev]                            Disconnect device
menu <name>                               Select submenu
version                                           Display version
quit                                                Quit program
exit                                                Quit program
help                                               Display help about this program
export                                            Print environment variables
[bluetooth]#
[bluetooth]# connect 50:B4:BA:C9:99:F7
Attempting to connect to 50:B4:BA:C9:99:F7
Failed to connect: org.bluez.Error.Failed
[bluetooth]# connect 50:B4:BA:C9:99:F7
Attempting to connect to 50:B4:BA:C9:99:F7
[CHG] Device 50:B4:BA:C9:99:F7 Connected: yes
Connection successful
[CHG] Device 50:B4:BA:C9:99:F7 ServicesResolved: yes
[ACT-SPK-BT-04]#