I want to run on my smart treadmill and get EXACT speed and grade information via BLE. Previously, I created an Arduino ESP-32 solution running as a BLE server that runs on the treadmill. This server works well with Zwift etc, so I know it works. Now the plan is to create a CLIENT on my fenix-5. Eventually, I want to save and thereafter load my treadmill runs into Strava. In the far away future, I would like to control my treadmill from the fenix-5 (using watch buttons to speed-up, tilt up etc) . In the far,far,far away future, I would like to automatically adjust treadmill speed and grade based on complicated pre-planned-workouts (intervals, hill repeat etc).
REFERENCE INFO
Plan to read data from:
- Fitness Machine Service UUID: 0x1826
- Fitness Machine Feature Characteristic 0x2acc
- Treadmill Data Characteristic 0x2acd
- 2902 Enable Notify Descriptor 0x2902
- This is required so client gets more than one data point.
- 2902 Enable Notify Descriptor 0x2902
- Supported Speed Range Characteristic 0x2ad4
- Supported Incline Range Characteristic 0x2ad5
- Keep Alive UUID
Long Form "standard" UUIDs take the form of
xxxxxxxx-0000-1000-8000-00805F9B34FB
where xxxxxxxx is the zero-padded short-form uuid (see above)
E.G. Fitness Machine Service long UUID would be 00001826-0000-1000-8000-00805F9B34FB