Raspberry Pi 3 - Setting Up Bluetooth: Difference between revisions
m (Categorized: Installation) |
(Update Bluetooth instructions to use btattach and to reference Zero W model too.) |
||
Line 1: | Line 1: | ||
The Raspberry Pi Bluetooth chip varies by model. | |||
* Raspberry Pi 3 has BCM2837 connected to the hardware UART | |||
* Raspberry Pi 3B+ has BCM4345C0 connected to the hardware UART | |||
* Raspberry Pi Zero W has BCM43430A1 connected to the hardware UART | |||
You can get | You can get Bluetooth to work only if you are not using the UART (ttyAMA0) for anything else, for example serial console. | ||
Recent versions of Alpine Linux for Raspberry Pi come with the required Broadcom firmware files. | |||
If you need the UART for something else, you can use an USB Bluetooth adapter instead. | |||
You'll need the bluez package | You'll need the bluez package | ||
Line 8: | Line 13: | ||
{{cmd|apk add bluez}} | {{cmd|apk add bluez}} | ||
The Bluetooth controller is not automatically discovered on the UART. Test attaching it and check that the controller is found | |||
{{cmd| | {{cmd|btattach -B /dev/ttyAMA0 -P bcm -S 115200 -N &}} | ||
{{cmd|/etc/init.d/bluetooth start}} | |||
{{cmd| | {{cmd|<nowiki>bluetoothctl list | ||
Controller B8:27:EB:01:02:03 BlueZ 5.50 [default] | |||
</nowiki>}} | |||
If the interface is discovered after the attach, you can make attaching persistent by uncommenting | |||
the line next to "rpi bluetooth" in ''/etc/mdev.conf'' | |||
Start the bluetooth deamon at boot. This should load the right modules when you next reboot. | |||
{{cmd| | {{cmd|rc-update add bluetooth}} | ||
lbu commit && reboot}} | {{cmd|lbu commit && reboot}} | ||
The output from the | The output from the btattach above should be | ||
{{cmd| | {{cmd|Attaching Primary controller to /dev/ttyAMA0 | ||
Switched line discipline from 0 to 15 | |||
Device index 0 attached | |||
Device | |||
}} | }} | ||
Then it's a matter of doing what you normally do with your Bluetooth stack. | |||
[[Category:Installation]] | [[Category:Installation]] |
Revision as of 19:13, 20 August 2019
The Raspberry Pi Bluetooth chip varies by model.
- Raspberry Pi 3 has BCM2837 connected to the hardware UART
- Raspberry Pi 3B+ has BCM4345C0 connected to the hardware UART
- Raspberry Pi Zero W has BCM43430A1 connected to the hardware UART
You can get Bluetooth to work only if you are not using the UART (ttyAMA0) for anything else, for example serial console. Recent versions of Alpine Linux for Raspberry Pi come with the required Broadcom firmware files. If you need the UART for something else, you can use an USB Bluetooth adapter instead.
You'll need the bluez package
apk add bluez
The Bluetooth controller is not automatically discovered on the UART. Test attaching it and check that the controller is found
btattach -B /dev/ttyAMA0 -P bcm -S 115200 -N &
/etc/init.d/bluetooth start
bluetoothctl list Controller B8:27:EB:01:02:03 BlueZ 5.50 [default]
If the interface is discovered after the attach, you can make attaching persistent by uncommenting the line next to "rpi bluetooth" in /etc/mdev.conf
Start the bluetooth deamon at boot. This should load the right modules when you next reboot.
rc-update add bluetooth
lbu commit && reboot
The output from the btattach above should be
Attaching Primary controller to /dev/ttyAMA0 Switched line discipline from 0 to 15 Device index 0 attached
Then it's a matter of doing what you normally do with your Bluetooth stack.