4
I did manage to play sound and record using my Marshall MID headphones using a Raspberry Pi Zero W, which has a builtin WiFi + Bluetooth adapter, but no audio jack.
Please note that there are different approaches using different tools such as bluez alsa and pulseaudio, hcitool, bluetoothctl.
Install bluez-alsa
Bluez Alsa let's you play sound on a ...
3
No you can't use the built in WiFi or Bluetooth radio to communicate with ANT!
WiFi also can't emulate Bluetooth or ANT as they all use the 2.4GHz ISM free frequency band.
3
I did:
sudo modprobe btusb # add the btusb module to the kernel
sudo systemctl start bluetooth.service
And it works!
$ sudo systemctl status bluetooth.service
● bluetooth.service - Bluetooth service
Loaded: loaded (/etc/systemd/system/bluetooth.service; enabled; vendor preset: enabled)
Active: active (running) since Fri 2020-11-06 21:38:45 CET; 6s ...
2
I assume you are using a Raspberry Pi OS based on Buster. It is curious that systemd does not give you any output what's going on with the bluetooth.service. The status should at least contain additional lines why it fails to start, something similar to this with some red lines:
Nov 02 12:00:48 raspberrypi systemd[1]: Starting Bluetooth service...
Nov 02 12:...
2
Yes, BlueZ is included in the latest versions of Raspberry Pi OS. To check that it is running on your system, use the command service bluetooth status.
BlueZ's API for interfacing with various languages are documented at: https://git.kernel.org/pub/scm/bluetooth/bluez.git/tree/doc
There is the the mgmt API for system level tasks and the D-Bus API for ...
2
There are a lot of parts to your question. I would recommend that you break the problem down into a series of smaller problems. Maybe:
Get advertisement working with hard coded values
Add reading values from file
Scanner on ESP32
Get advertisement working with hard coded values
You have mentioned that you want to use the Bluepy library. There are a number ...
2
I don't think bluetoothctl was ever intended to work in this way. While I am sure you could get it to work, BlueZ are often changing the commands in bluetoothctl so your script is likely to break when newer versions on bluetoothctl are released.
A more programmatic way of doing this is using the documented DBus API.
https://git.kernel.org/pub/scm/bluetooth/...
1
What has worked for me:
agent on
default-agent
power on
connect [mac-addr] (instead of pair [mac-addr])
The missing steps for me were power on and using connect instead of pair. Now it's working and my life is peachy.
1
The package you've asked about - python3-bluez is available in the current package repository (buster). This may be verified as follows:
$ apt-cache search python3-bluez
python3-bluez - Python 3 wrappers around BlueZ for rapid bluetooth development
If it can't be found in openhabian, then the problem is with openhabian, and you will have to submit the ...
1
rfcomm is one of the tools that has been deprecated by the BlueZ team as working at that low level can lead to unpleasant things happening on the system because those tools by passed the the bluetooth daemon that is running.
There are higher levels of API available to use that go through tbe Bluetooth daemon.
A couple of Python examples of how to create an ...
1
I had exactly the same problem and I resolve it just now.
In my case I had not set the copy gconv libraries option in the Linaro external toolchain options of my buildroot distribution. I set it and now all works fine.
1
I have found to get reliable connection to Android phones it is best to put the controller into le only mode. This is done in the /etc/bluetooth/main.conf file. Ensure that it contains the following:
ControllerMode = le
That means from /etc/bluetooth/main.conf:
Restricts all controllers to the specified transport. Default value is "dual", i.e. ...
1
"Android" is a broad family of devices, each with different BT hardware and drivers, and as a result with different behavior and quirks. If you own a device from a major brand, searching or asking about this specific device will bring more relevant results than just searching or asking about "Andoroid 7.0".
Having said that, there is a couple of generic ...
answered Jun 27 '19 at 13:11
Dmitry Grigoryev
17.9k44 gold badges3232 silver badges9595 bronze badges
1
After much strife, my issue was solved by installing blueman and using its wizard to pair the remote.
1
I'll mark this as an answer because I could make it possible with the libraries written in javascript noble and bleno
1
A possible solution is to add users to groups e.g.
sudo gpasswd -a pi pulse
sudo gpasswd -a pi lp
sudo gpasswd -a pulse lp
sudo gpasswd -a pi audio
sudo gpasswd -a pulse audio
1
Taken from raspberryPi.org
To pair type pair xx:xx:xx:xx:xx:xx where xx:xx:xx:xx:xx:xx is your BD address of the
device you want to pair
Next type trust xx:xx:xx:xx:xx:xx
You should read the full thread from the link, this can help you.
Basicly the idea is to pair bluetooth device without user gui.
[The raspberry is much faster without a Desktop ...
1
Figured out the reason why it was not working.
On checking the logs of pulseaudio, I found that it was not able to find the module-combine-sink library.
I copied the libraries manually in /usr/lib/pulse-9.0/modules, restarted the pulseaudio, and it started working as expected, i.e. audio routed to both devices.
Only top voted, non community-wiki answers of a minimum length are eligible
Related Tags
bluez × 40bluetooth × 37
raspbian × 8
python × 7
dbus × 4
pi-3 × 3
pi-3b+ × 3
raspbian-stretch × 2
python-3 × 2
alsa × 2
peripherals × 2
pulseaudio × 2
pi-4 × 2
hid × 2
ssh × 1
raspbian-jessie × 1
serial × 1
pi-zero × 1
pi-zero-w × 1
arduino × 1
connection × 1
server × 1
headless × 1
android × 1
c × 1