olympum / waterrower-ble

A WaterRower S4 adapter to the Bluetooth LE Cycling Power Service
MIT License
84 stars 16 forks source link

Add speed ant+/BLE broadcast? #5

Open venturanc opened 7 years ago

venturanc commented 7 years ago

Hi again! Was looking at the waterrower tonight to see if I could figure out how to attach a magnet to the paddle or clutch and calibrate it to get relatively accurate pace and distance automatically into my garmin files with an extra ant+ speed sensor.

But on your blog, you talk about using power from the rower to calculate a pace: (pace = (2.8/power)^(1/3)

It looks like the ant-plus library you're using has a speed cadence sensor profile. Would it be complicated to add a speed-cadence sensor broadcast too for speed only? I will poke around and maybe I can figure it out based on your examples but I'm not too optimistic in my abilities. It would be pretty awesome though, to be able to record the speed/distance/power/hr (hr from my hr strap) for each workout right on the garmin!

ublink commented 7 years ago

Curious to your intent for integrating into Garmin files? Olympum's focus here seems to be able to use the Cycle-Power characteristic to drive currently available applications (ie. Zwift, Strava, Wahoo) as those apps are able to consume the cycle-power characteristic.

venturanc commented 7 years ago

Yes, I use it to waterrow on zwift, and those files get sync'd to Strava, but zwift and Strava include incorrect distances as if biking into the files and there is no way to edit those uploaded distances (that I know of) so for training log purposes, I also record and upload to Garmin connect, which allows me to manually change the distance rowed to match the s4 monitor, but I still don't get splits easily unless manually entered... If my rower or raspberry pi was broadcasting a speed, then the distance would automatically be stored in my master training log (garmin) and all that would be left to do is to change the activity type to rowing.

ublink commented 7 years ago

img_5559

A little iOS BLE project I've been working on based on Olympum's node service.

(also, persists calories, distance, speed to db)

venturanc commented 7 years ago

That looks cool! I'll check it out when you're done.

ublink commented 7 years ago

My point is, it's certainly possible to broadcast all of the data coming from the S4 computer over usb->ble and consume it. This app does everything that junk waterrower software does plus a lot more.

olympum commented 7 years ago

nice work @ublink. If you check my oarsman project you will see I take the distance there, but honestly, it's not accurate all all, at least not compared with the "standard" (Concept2). Instead of taking it from the WR I'd recommend using the C2 formula to map power to 500m split time and then use that to broadcast speed via a BLE or ANT+ profile. totally doable, and way more accurate than the strange algorithm that WR uses.

venturanc commented 7 years ago

Yeah, I'm open to whatever solution I can use to spend my time exercising, not managing data and trying to manually change/sync files to keep my training log. That's why I originally was looking for ant+ or BLE speed/distance integration, for completeness of the data file.

olympum commented 7 years ago

I see what you are after. One could expose another sensor with the speed+cadence profile data over BLE and ANT+. If you connect from a Garmin or other app, you can pick up the power+cadence sensor and the speed+cadence sensor and save that FIT/TCX to your training log. I have not had a use for this (I only care about power readings), but I can see why other people might want to track distance.