Bluetooth LowEnergy wrapper for different python backends. This gives you a nice API so that you can use different Bluetooth implementations on different platforms.
This library was initially implemented as part of the miflora library, but then refactored out, so that it can be used on other projects as well.
As there is unfortunately no universally working Bluetooth Low Energy library for Python, the project currently offers support for three Bluetooth implementations:
- bluepy library (recommended library)
- bluez tools (via a wrapper around gatttool)
- pygatt for Bluegiga BLED112-based devices
To use the bluepy library you have to install it on your machine, in most cases this can be done via:
pip3 install bluepy
This is the recommended backend to be used. In comparision to the gatttool wrapper, it is much faster in getting the data and also more stable.
To use the bluez wrapper, you need to install the bluez tools on your machine. No additional python libraries are required. Some distrubutions moved the gatttool binary to a separate package. Make sure you have this binaray available on your machine.
If you have a Blue Giga based device that is supported by pygatt, you have to install the bluepy library on your machine. In most cases this can be done via:
pip3 install pygatt
See the depending projects below on how to use the library.
These projects are using btlewrap: