Bleson is a cross platform Python 3 module for accessing Bluetooth LE API's.
The (planned) supported Bluetooth LE roles are: Observer, Advertiser (inc. Beacon), Peripheral and Central.
The supported platforms are: Linux (e.g. Raspberry Pi), macOS and Windows 10.
There is also early support for MicroPython running on Noridc's nRF5x devices (e.g. from the micro:bit and up)
Other highlights:
- The same Bleson API is used across all platforms.
- Only standard OS provided Bluetooth LE API's are used.
- Bleson does not impose a 'mainloop' on user scripts on any platform.
- A compiler is not needed to install Bleson or for updating any system components, in most scenarios.
Currently in an early Alpha stage.
Only the Observing and Scanning roles are currently implemented and are not necessarily complete on each platform, in summary:
Linux: Observing and Advertising works, it is the most functional of all 3 platforms.
Mac: Observing and Advertising works, but the actual published Advertisement data is ultimately decided by the OS.
Windows: Observing works but Advertising used hardcoded test payload data for now.
You can find the latest documentation and examples online here.
For each platform's installation please see these installation instructions.
For the impatient, try this on any of the supported platforms:
pip3 install bleson python3 -m bleson --observer
Note: You may need to run 'pip3' with sudo on your platform, unless you use a virtualenv or --user options
Note: You may need to run 'python' for python3 on your platform. (e.g. Windows)
All feedback is welcomed and greatly appreciated, please feel free to:
- Post a suggestion or question on the Bleson GoogleGroup
- Raise a GitHub Issue
- Submit a PR
Thanks!