Interface with the Suito Elite bike trainer and run workouts similar to Trainer Road
This repository is organized into a series of blog posts describing the steps I took. The blog posts are in the 'Posts" folder.
The posts are organized as follows
Part 1 - Establish a BLE connection
Part 2 - Use a packet sniffer to monitor normal device control
Part 3 - Use bleak library to establish BLE connection in python
Part 4 - Device control, send and receive commands and bit twiddling
Part 5 - Integrating PostgreSQL
Part 6 - First attempts at program design
Part 7 - Setting up the DatabaseHandler class and its methods
Part 8 - Setting up bluetooth callbacks and the WorkoutPlayer class
Part 9 - Setting up the start_workout() method
Part 10 - Testing and debugging
Part 11 - Adding a basic UI
Part 12 - Checking edge cases and error handling
Below is a sudo-UML class diagram illustrating the structure of the program.