Ibiyemi Abiodun
« main pageFebruary 2019 to August 2022
bluez-rs
is a Rust library that allows users to access Bluetooth APIs under Linux.
I originally created it because I wanted to make a custom bluetooth stereo system for my mom’s 2004 Volvo XC 90, which did not support Bluetooth.
The first tool I reached for to make this happen was the Raspberry Pi. However,
on the Raspberry Pi, it wasn’t easy to implement Bluetooth audio streaming in an
integrated fashion. There were out-of-the-box solutions, but I wanted a single
binary that would wire the user interface of this hypothetical stereo directly
to the Bluetooth audio stream. I got to work investigating how Bluetooth works
on Linux, and I accidentally ended up writing a Bluetooth Linux API. This is the
bluez
crate, which implements the BlueZ Linux API for controlling Bluetooth.