Bluetooth Low Energy platform Agnostic Klient
Project description
=====
bleak
=====
.. image:: https://raw.githubusercontent.com/hbldh/bleak/master/Bleak_logo.png
:target: https://github.com/hbldh/bleak
:alt: Bleak Logo
:scale: 50%
.. image:: https://dev.azure.com/hbldh/github/_apis/build/status/hbldh.bleak?branchName=master
:target: https://dev.azure.com/hbldh/github/_build/latest?definitionId=4&branchName=master
.. image:: https://img.shields.io/pypi/v/bleak.svg
:target: https://pypi.python.org/pypi/bleak
.. image:: https://readthedocs.org/projects/bleak/badge/?version=latest
:target: https://bleak.readthedocs.io/en/latest/?badge=latest
:alt: Documentation Status
.. image:: https://img.shields.io/badge/code%20style-black-000000.svg
:target: https://github.com/psf/black
Bleak is an acronym for Bluetooth Low Energy platform Agnostic Klient.
* Free software: MIT license
* Documentation: https://bleak.readthedocs.io.
Bleak is a GATT client software, capable of connecting to BLE devices
acting as GATT servers. It is designed to provide a asynchronous,
cross-platform Python API to connect and communicate with e.g. sensors.
Installation
------------
.. code-block:: bash
$ pip install bleak
Features
--------
* Supports Windows 10, version 16299 (Fall Creators Update) or greater
* Supports Linux distributions with BlueZ >= 5.43
* Plans on macOS support via Core Bluetooth API (see `develop` branch for progress)
Bleak supports reading, writing and getting notifications from
GATT servers, as well as a function for discovering BLE devices.
Usage
-----
To discover Bluetooth devices that can be connected to:
.. code-block:: python
import asyncio
from bleak import discover
async def run():
devices = await discover()
for d in devices:
print(d)
loop = asyncio.get_event_loop()
loop.run_until_complete(run())
Connect to a Bluetooth device and read its model number:
.. code-block:: python
import asyncio
from bleak import BleakClient
address = "24:71:89:cc:09:05"
MODEL_NBR_UUID = "00002a24-0000-1000-8000-00805f9b34fb"
async def run(address, loop):
async with BleakClient(address, loop=loop) as client:
model_number = await client.read_gatt_char(MODEL_NBR_UUID)
print("Model Number: {0}".format("".join(map(chr, model_number))))
loop = asyncio.get_event_loop()
loop.run_until_complete(run(address, loop))
See examples folder for more code, among other example code for connecting to a
`TI SensorTag CC2650 <http://www.ti.com/ww/en/wireless_connectivity/sensortag/>`_
=======
History
=======
0.5.1 (2019-10-09)
------------------
* Active Scanning on Windows, #99 potentially solving #95
* Longer timeout in service discovery on BlueZ
* Added `timeout` to constructors and connect methods
* Fix for `get_services` on macOS. Relates to #101
* Fixes for disconnect callback on BlueZ, #86 and #83
* Fixed reading of device name in BlueZ. It is not readable as regular characteristic. #104
* Removed logger feedback in BlueZ discovery method.
* More verbose exceptions on macOS, #117 and #107
0.5.0 (2019-08-02)
------------------
* macOS support added (thanks to @kevincar)
* Merged #90 which fixed #89: Leaking callbacks in BlueZ
* Merged #92 which fixed #91, Prevent leaking of DBus connections on discovery
* Merged #96: Regex patterns
* Merged #86 which fixed #83 and #82
* Recovered old .NET discovery method to try for #95
* Merged #80: macOS development
0.4.3 (2019-06-30)
------------------
* Fix for #76
* Fix for #69
* Fix for #74
* Fix for #68
* Fix for #70
* Merged #66
0.4.2 (2019-05-17)
------------------
* Fix for missed part of PR #61.
0.4.1 (2019-05-17)
------------------
* Merging of PR #61, improvements and fixes for multiple issues for BlueZ backend
* Implementation of issue #57
* Fixing issue #59
* Documentation fixes.
0.4.0 (2019-04-10)
------------------
* Transferred code from the BleakUWPBridge C# support project to pythonnet code
* Fixed BlueZ >= 5.48 issues regarding Battery Service
* Fix for issue #55
0.3.0 (2019-03-18)
------------------
* Fix for issue #53: Windows and Python 3.7 error
* Azure Pipelines used for CI
0.2.4 (2018-11-30)
------------------
* Fix for issue #52: Timing issue getting characteristics
* Additional fix for issue #51.
* Bugfix for string method for BLEDevice.
0.2.3 (2018-11-28)
------------------
* Fix for issue #51: ``dpkg-query not found on all Linux systems``
0.2.2 (2018-11-08)
------------------
* Made it compliant with Python 3.5 by removing f-strings
0.2.1 (2018-06-28)
------------------
* Improved logging on .NET discover method
* Some type annotation fixes in .NET code
0.2.0 (2018-04-26)
------------------
* Project added to Github
* First version on PyPI.
* Working Linux (BlueZ DBus API) backend.
* Working Windows (UWP Bluetooth API) backend.
0.1.0 (2017-10-23)
------------------
* Bleak created.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
bleak-0.5.1.tar.gz
(81.3 kB
view hashes)
Built Distribution
bleak-0.5.1-py2.py3-none-any.whl
(84.7 kB
view hashes)
Close
Hashes for bleak-0.5.1-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 69a5cf037cea17fd1f0eff57f20edf0d00a132b96f7962c9affd2876078567c1 |
|
MD5 | c9c1ca20602faed2716e6eef9d7ef01d |
|
BLAKE2b-256 | ce3225df87dfa1657c09beb47c49a247f04ee46929ca5be044504615b019a03c |