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. These project is not intended to diagnose, treat, cure, or prevent any diseases.