You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+11-7Lines changed: 11 additions & 7 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,6 @@
1
1
# 🖤 BleakHeart
2
2
3
-
An asynchronous BLE Heart Monitor library that supports additional measurements (such as ECG and accelerometer data) available from Polar sensors through the Polar Measurement Data interface.
3
+
An asynchronous BLE Heart Monitor library that supports additional measurements available from Polar sensors through the Polar Measurement Data interface (currently, ECG and accelerometer data from the Polar H10, and PPG from the Polar Verity).
4
4
5
5
BleakHeart is written in Python using the [asyncio](https://docs.python.org/3/library/asyncio.html) framework; BLE communication is based on [Bleak](https://bleak.readthedocs.io/en/latest/#).
* Supports heart rate acquisition for devices supporting the standard BLE [heart rate service](https://www.bluetooth.com/specifications/specs/heart-rate-service-1-0/), including RR intervals, instant heart rate, energy expenditure and (client-based) time stamps;
17
-
* Reads Accelerometer and ECG signals from the Polar H10 chest strap;
18
-
* Offers partial support for measurements available from other Polar devices through the Polar Measurement Data interface;
17
+
* Reads Accelerometer and ECG signals from the Polar H10 chest strap;
18
+
* Reads PPG data from the Polar Verity, including in SDK mode;
19
+
* Offers partial support for other measurements available through the Polar Measurement Data interface, possibly from other devices;
19
20
* Normalises Polar sensor timestamps to Epoch time;
20
21
* Reads the battery charge state through the standard BLE [battery service](https://www.bluetooth.com/specifications/specs/battery-service/) (also available on other types of BLE devices);
21
22
* Compatible with Jupyter Notebooks (IPython version 7+, IPykernel version 5+).
@@ -27,7 +28,7 @@ BleakHeart supports a variety of software design choices. Specifically:
27
28
* Alternatively, data can be sent to a callback. Simple tasks such as sensor logging can be accomplished with only a minimal understanding of ```asyncio```;
28
29
* All data are tagged with their measurement type; thus the same queue or callback can be used to handle different types of measurements if desired.
29
30
30
-
Please see the [getting_started](examples/getting_started.ipynb) notebook in the examples directory, or click on the image below for a video introduction.
31
+
Please see the [getting_started](examples/getting_started.ipynb) notebook in the examples directory, or see this [video introduction](https://youtu.be/WzNl-cQH7HU).
@@ -36,13 +37,14 @@ The examples directory also contains detailed stand-alone examples for some of t
36
37
37
38
## Limitations
38
39
39
-
BleakHeart has mainly been tested on a Polar H10 chest strap (under Linux), since that is what I have available. However, reports from Windows and MacOS users have been positive. Other Polar devices are only partly supported; measurements other than ECG and acceleration are returned as raw bytearrays. Offline recording to the internal Polar H10 memory is not supported.
40
+
BleakHeart has mainly been tested on a Polar H10 chest strap under Linux and on a Verity sensor under Windows. However, reports from Windows and MacOS users have been positive. Other Polar devices are only partly supported; measurements other than ECG and acceleration on the H10, and PPG on the Verity, are returned as raw bytearrays. Offline recording to the internal Polar H10 memory is not supported.
40
41
41
42
## Credits and contributing
42
43
43
44
This software was originally developed and is maintained by [Fabrizio Smeraldi](http://www.eecs.qmul.ac.uk/~fabri/). Many thanks to
44
45
45
46
* Alex Ong - [alex-ong](https://github.com/alex-ong),
47
+
* Andy Scott - [scott86](https://github.com/scott86),
46
48
* Chris Spooner - [Chris-Spooner999](https://github.com/Chris-Spooner999),
@@ -63,9 +65,11 @@ This software is provided subject to the terms of the [Mozilla Public License ve
63
65
64
66
## Resources
65
67
66
-
* The official [Polar BLE SDK](https://github.com/polarofficial/polar-ble-sdk), contains software for Android and iOS and some interesting documentation, in particular:
68
+
* The official [Polar BLE SDK](https://github.com/polarofficial/polar-ble-sdk), contains software for Android and iOS and some interesting [documentation](https://github.com/polarofficial/polar-ble-sdk/blob/master/README.md), in particular:
67
69
* An explanation of [ECG on the Polar H10](https://github.com/polarofficial/polar-ble-sdk/blob/master/technical_documentation/H10_ECG_Explained.docx)
68
-
* A specification of the proprietary [Polar Measurement Data](https://github.com/polarofficial/polar-ble-sdk/blob/52ef4c4b77e5f83b0839f0f4f72623a9b9d79372/technical_documentation/Polar_Measurement_Data_Specification.pdf) service
70
+
* An older but detailed specification of the proprietary [Polar Measurement Data](https://github.com/polarofficial/polar-ble-sdk/blob/52ef4c4b77e5f83b0839f0f4f72623a9b9d79372/technical_documentation/Polar_Measurement_Data_Specification.pdf) service
71
+
* More details on the [PMD frame types](https://github.com/polarofficial/polar-ble-sdk/blob/master/technical_documentation/online_measurement.pdf)
72
+
* Decoding examples for the Verity ACC delta frames: see [here](https://github.com/polarofficial/polar-ble-sdk/issues/187) and [here](https://github.com/polarofficial/polar-ble-sdk/issues/443)
69
73
* An explanation of the [time system](https://github.com/polarofficial/polar-ble-sdk/blob/master/documentation/TimeSystemExplained.md) in Polar devices (BleakHeart transparently normalises this to Epoch time).
70
74
* The [Heart Rate service](https://www.bluetooth.com/specifications/specs/heart-rate-service-1-0/) specification, on the BLE SIG website.
71
75
* The [Battery service](https://www.bluetooth.com/specifications/specs/battery-service/) specification, on the BLE SIG website.
0 commit comments