Lenovo HW01 
Library to work with Lenovo HW01. To be used in place of Android Lenovo Healthy app.
Dependencies
Traffic analysis
In order to analyse communication between official Android app Lenovo Healthy and Lenovo HW01 device, additional app NordicSemiconductor/Android-nRF-Connect is used to perform traffic logging.
It allows us to write an API library to interact with the watch without using the official Android app.
Debugging
Scan for Bluetooth devices:
$> sudo hcitool lescan
LE Scan ...
XX:XX:XX:XX:XX:XX HW01
Connect to Bluetooth device:
sudo gatttool --device=XX:XX:XX:XX:XX:XX -I -t random
[XX:XX:XX:XX:XX:XX][LE]> connect
Attempting to connect to XX:XX:XX:XX:XX:XX
Connection successful
List device characteristics:
[XX:XX:XX:XX:XX:XX][LE]> primary
attr handle: 0x0001, end grp handle: 0x0007 uuid: 00001800-0000-1000-8000-00805f9b34fb
attr handle: 0x0008, end grp handle: 0x0008 uuid: 00001801-0000-1000-8000-00805f9b34fb
attr handle: 0x0009, end grp handle: 0x000e uuid: 0000190a-0000-1000-8000-00805f9b34fb
attr handle: 0x000f, end grp handle: 0x0014 uuid: 0000190b-0000-1000-8000-00805f9b34fb
attr handle: 0x0015, end grp handle: 0xffff uuid: 0000fee7-0000-1000-8000-00805f9b34fb
Documentation
Test
pip install -r dev-requirements.txt
./setup.py nosetests
References
- creotiv/MiBand2
- My journey towards Reverse Engineering a Smart Band — Bluetooth-LE RE
- Xiaomi Mi Band BLE Protocol reverse-engineering and API
- How I hacked my Xiaomi MiBand 2 fitness tracker — a step-by-step Linux guide
- Get Started with Bluetooth Low Energy on Linux
- NordicSemiconductor/Android-nRF-Connect
Metadata
Release files for hw01 1.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| hw01-1.0.0.tar.gz | 5.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| hw01-1.0.0-py2.py3-none-any.whl | Python 3, Python 2 | none | any | Details |
Total release size: 10.7 kB
Release files / hw01-1.0.0.tar.gz
| Download URL | hw01-1.0.0.tar.gz |
|---|---|
| Size | 5.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
3c61b73860ab41ab9335e1f1c42acb4a5b41bb730522a40c7fce38718c508794
|
|
BLAKE2b-256 checksum How to use checksums |
687674d253ff57d92f9396cb805879bda9406982970c752df6e42c0a9430c9a1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/1.12.1 pkginfo/1.4.2 requests/2.19.1 setuptools/39.0.1 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.6.5
|
Release files / hw01-1.0.0-py2.py3-none-any.whl
| Download URL | hw01-1.0.0-py2.py3-none-any.whl |
|---|---|
| Size | 5.4 kB |
| Tags | Python 2 Python 3 |
|
SHA-256 checksum How to use checksums |
373847ee532fcdca476d4517f46f7ed58792896903e8fca47981ab05512848f7
|
|
BLAKE2b-256 checksum How to use checksums |
8d8b712ed321381743d38a6e4fcf973e5953b0a9141809373c953aa1a7007a57
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/1.12.1 pkginfo/1.4.2 requests/2.19.1 setuptools/39.0.1 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.6.5
|