Virtually ride indoors with Google Street View and bluetooth bike power meters (Web Bluetooth API)
Try it out https://chadj.github.io/gpedal/
Virtually ride indoors with Google Street View and bluetooth bike power meters (Web Bluetooth API)
Home Page: https://chadj.github.io/gpedal/
License: MIT License
Virtually ride indoors with Google Street View and bluetooth bike power meters (Web Bluetooth API)
Try it out https://chadj.github.io/gpedal/
Hi Chad and thank you for your amazing software!
I didn't try to set up everything for use it with my trainer, but I'm using with the virtual power meter. I was wondering if there's an option to move on a specific point to skip a part of the gpx, something like using it as a video player.
Is it possible? do you think it could be?
Thank you!
Hi Chad,
Just started using your GPedal with my TACX trainer. Great piece of software. Is there a way to calibrate the trainer to the software. I have virtually rode on routes I have done previously, and my MPH is down by about 2 MPH.
thanks
Graham
I have a Macbook pro 2016 running Catalina fully upgraded, and it runs Windows 10 in bootcamp.
I have an Omnium nonsmart trainer & the bike has a Garmin cadence 2 & speed 2 bluetooth low power (smart) sensors.
In Mac OS I can't get Chrome to recognise the Garmin speed 2 & cadence 2 sensors, so they dont appear in GPedal apps setup cadence dropdown; and in Chrome GPedal does not respond to clicking on the "begin" button by opening the app in a Chrome "sub/new" window (a GPX file selected) with the google street view active.
However, in Mac OS in Safari obviously it wont recognise the sensors but it will open the app in a new window, and if i adjust the virtual power slider it will then travel thru the selected map.
If I boot into Windows 10 I can get the sensors recognised in Chrome.
GPedal will then also recognise & name display both speed & cadence in the GPedal setup window. Im not sure whether to pair only the cadence as the cadence is labeled in GPedals drop down box, although it doesnt seem to make a difference if both or one or the other or both are selected.
The setup app responds to the "begin" button being clicked by opening a new window to the GPX file selected, however the rev display does not seem to function, flickering from displaying 0 to displaying (always) 40... And the movement thru the points in street view does not relate to the RPM with any response; although, again, if i set the virtual power meter to a value, street view will then move on independent of the sensors, as in Safari in Mac OS.
Basically no coherent response or display of sensor data.
If I select the Cyclops power meter that disables the virtual power meter, obvs.
Anyway I love the app and enjoy it as it automatically guides me thru a map, only I would like to have it with the sort of VR that would come if the movement thru street view was controlled by sensors.
Can you offer any advice? Is it my set up that is contributing...
Thank you for your hard work & dedication!
Best regards
Matt
Firstly - thanks so much @chadj - This is an awesome project!
I was thinking about implementing feedback to my trainer (roadbike on stand) with some custom hardware. I was planning to output the hill-grade to a bluetooth serial device, or possibly just to a http server to turn a step motor. I can probably manage this but I had a question about speed vs cadence. I have both meters but as I understand the application currently only looks at cadence, from which it derives speed and power?
Javascript is not my strong suit but I am going to try to see if I can flip things around so speed is the driven variable. Just want to make sure this approach makes sense. I also considered whether it would be easier to hack this by using speed as cadence with some scaling.
Have you considered implementing the FTMS (fitness machine service over bluetooth) protocol to support setting the resistance of compatible smart trainers according to gradient?
https://www.bluetooth.org/DocMan/handlers/DownloadDoc.ashx?doc_id=423422
I am a developer (JS, C#, Web) and haven't yet purchased a smart trainer but have been looking around and this seems like it would be way better than riding in a virtual world?
After some rearranging I have a PC next to my TacX again, and I'm thinking of using gpedal again. I've enjoyed it before, and I'm hoping you can add a feature without a lot of change: manipulating the view via keyboard.
Up arrow: look straight forward
Down arrow: straight backward
Right/left arrow: move 45 degrees at each press
Thanks much for what you've done so far, and I'll probably be riding up a canyon with gpedal this evening. :-)
Congratulations Chad for your GPedal program. It is a very nice idea to make use of Google Street Viewer for biking anywhere in the planet. May I share with you several issues I am experiencing with GPedal?
Thank you very much Chad,
Javier
I just wanted to say that this is incredibly cool.
Hi Chad,
super cool project ! Where did you find the Bluetooth API spec for the trainers? Took your software for a spin yesterday ๐ฏ
Best,
Bernhard.
This is the answer from the oauth when trying to connect to Strava:
{
"message": "Bad Request",
"errors": [
{
"resource": "Authorize",
"field": "scope",
"code": "invalid"
}
]
}
The fix is simple: in the ui.js (line 214) you have to change the scope=write to scope=activity:write according to: https://developers.strava.com/docs/authentication/
Hi,
Great app, love the idea. I have tried it today on Win10 machine, Edge and latest Google Chrome browser. And while the track loads fine, my trainer connects, the street view remains still and does not follow the ride progress. Any idea what could be going on, or how to debug the app?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.