You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
NateSchoolfield 5849fc5b6d More README updates 1 year ago
.gitignore Added heartrate alarm 1 year ago
README More README updates 1 year ago
bluesleep.py Added heartrate alarm 1 year ago
constants.py Moved bytepatterns into constants.py, tweaked random vibration intensity 1 year ago
miband.py Cleanup 1 year ago
requirements.txt Resetting 1 year ago
sleepdata.py Added heartrate alarm 1 year ago
vibrate.py Fixed variable name to not conflict with base function names 1 year ago

README

BLESleep: A project to implement sleep tracking and nightmare interruption on Linux using the Mi Band 4 fitness tracker
It is inspired by the "Nightware" device, which is an FDA approved medical device: https://www.fda.gov/news-events/press-announcements/fda-permits-marketing-new-device-designed-reduce-sleep-disturbance-related-nightmares-certain-adults

This project is based on the satcar77/miband4 project.

USAGE:
You will need to create two .txt files in the base directory:
auth_key.txt: the authentication key for your miband 4. See https://github.com/argrento/huami-token for details on obtaining this.
mac.txt: the Bluetooth MAC address for your miband 4.


CURRENT STATUS:
The project now supports basic "heartrate alarming". Currently it's configured to send a 10-second random vibration pattern if the heartrate increase percentage goes above 17% of the lowest HR value for the last 10 readings, with a 20-minute delay between vibrations. This was tested on the Miband5, which has a better HR sensor, though I've not yet fully figured out the gyroscope data. Right now only HR and vibration are supported on the Miband5.


GOALS:
* Publish statistics to Google Sheets or other easy-to-use target. I'd like to make this usable by non-technical folks, so S3 buckets and CloudWatch are out of scope.
* Incorporate an LSTM neural network as the detection algorithm. This will require a dedicated "training period", as each user will likely produce different signals.
* Create a GUI dashboard to display sleep statistics and other controls. My vision for the end product is a standalone RasPi device with a 7" touchscreen display.
* Add support for multiple (cheap) fitness trackers. I'd like this work to be usable by low-income folks who can't afford Apple Watches.
* Create a holistic sleep-tracking interface to provide users the ability to clearly observe the effects of things like changes in routine, medication, diet, etc.


DISCLAIMER:
None of the statements on this web site have been evaluated by the FDA. Furthermore, none of the statements herein should be construed as dispensing medical advice, or making claims regarding the cure or treatment of diseases. These statements have not been evaluated by the Food and Drug Administration. This project is not intended to diagnose, treat, cure, or prevent any diseases.