I'm using a Raspberry Pi with node js for the server and client side, a STM32 MCU Nucleo with a CNY 70 sensor and a servo to get data from the trainer and set the resistance.
The "server side" was coded with nodejs and does the following:
- loading of track data
- writing new track data
- calculating trackpoints
- reading sensor data
- calculating resistance (based on speed, slope and weight)
- providing a REST service for the client
- providing a webpage for the client (currently the UI)
I did a similar thing with my bike trainer. I use it to control the throttle in flightgear. Here is a link to the software I wrote: "https://github.com/toddwestley/bike_track_emulation" Previously, I used a USB-1208 to accomplish the same. I am in debt to the Wahoo sensor and gatttool.