Live data from Hacker News

Hacking a $200 Under Desk Exercise Bike

codaris.github.io

41–50 of 137 posts

Re: Hacking a $200 Under Desk Exercise Bike

#42

Great article. One thing I’m curious about is the process for interpreting what the raw bytes in each packet mean. Is this just kind a trial and error thing? Are there different serialization formats you should look for? Thanks!

Trial and error. You start with the assumption that the developers are working logically and that they will have chosen the simplest solution.

A few of my initial assumptions turned out to be wrong. For example, since I did see some word (16bit) values I assumed all the values would be words. That's probably what I would have done. But that turned out to be incorrect once I started looking at the values (it's a mix of bytes and words).

Re: Hacking a $200 Under Desk Exercise Bike

#44
post #18

Earlier quoted context omitted.

> it is probably better to go for an old fashioned _walk_ For cardiofitness you need to get your heartrate over a certain threshold. A walk won't do that.

For longevity, AFAIK you don't need that degree of cardiofitness, and walking is sufficient. It's possible to reduce longevity through running too fast, for example. Cultures that have noted longevity are not known for having an exercise culture either, rather they are moderately active throughout/several times a day. Unfortunately I can't find my sources right now, so take that as just something some guy said on the…

Two guys. I've seen a lot of confirmation from medical researchers that moderate rate walking (easy to converse meanwhile) does provide some aerobic benefit as well as improve strength and balance. Faster walking (difficult to converse) delivers more aerobic benefit still, to the extent that for folks over 55, it's suggested that fast walking is sufficient to get aerobic benefits.

And if that's not enough, you can always speedwalk.

Re: Hacking a $200 Under Desk Exercise Bike

#45
I wish I could use a (Mac) desktop application to talk to my Fitbit. It looks like there was one years ago.

(First and foremost, I'm at my computer all day long. If it has trouble syncing, I'm right there and not going anywhere. I hate having to find my phone and try to get the data synced just to see how well fitbit thinks I slept last night. Also, would be nice to access my data from my device without involving the cloud.)

Re: Hacking a $200 Under Desk Exercise Bike

#49
post #45

I wish I could use a (Mac) desktop application to talk to my Fitbit. It looks like there was one years ago. (First and foremost, I'm at my computer all day long. If it has trouble syncing, I'm right there and not going anywhere. I hate having to find my phone and try to get the data synced just to see how well fitbit thinks I slept last night. Also, would be nice to access my data from my device without involving the…

My wife bought me a new fitbit for Christmas (mine is getting old, frequently just loses it's charge, etc). It would not allow me to initialize it without syncing to my phone, which had to be running their app. I wound up returning it because I don't _want_ to run their app on my phone.

I even looked into if it might be possible to work around the issue. Turns out, the fitbit, which is advertised as having a GPS, actually uses your phone's GPS. It has one of it's own, but it's apparently absolute garbage; it's inaccurate and it drains the battery extremely fast.

I'm still using my barely functionalit fitbit charge 2.

Re: Hacking a $200 Under Desk Exercise Bike

#50

Great article. One thing I’m curious about is the process for interpreting what the raw bytes in each packet mean. Is this just kind a trial and error thing? Are there different serialization formats you should look for? Thanks!

Mostly it is a matter of making one change to the inputs you control at a time and then seeing what changes. Trial and error, but there typically isn't a lot of error as you quickly see what inputs cause what changes and learn to ignore the other fields. Though if the protocol uses encryption you are probably screwed.

If I wanted to figure out the fields he doesn't understand I'd rig up some sort of stepper motor/servo to the pedals so I can precisely control the input, and then start changing things. Go from 0 - 120 rpm in .5 rpm increments, with a change every 15 seconds. Then go from 0 - 60 (or 90) rpm, but over many different accelerations.

I used to work for a company that made automotive scan tools and we did this all the time with the automakers official scan tools. Even though the auto makers gave us a lot of documentation, what they did and what the docs say they do is different. (We even had a full time employee who worked at GM's offices with access to GM's source code and rights to pass on the algorithms used: and we still found it valuable to do the above to GM scan tools to work out what they really did)

Post reply on HN