chuyskywalker
10 kW
I would like a device that logs "ALL THE THINGS" for a PR/CA setup.
What I Want
A small device I can add to the a bike which will connect to the CycleAnalyst, the Phaserunner, and a GPS receiever and create a combined log of the data from all three. I would like the device to have a WiFi adapter and be able to host a simple webapp which can manage the on-device logs (ie: hit up http://192.168.../ and download/delete logs). I wish to use this data for ride/bike analytics and to sync up to other recording devices (action cameras with their own GPS data) for ride telemetry.
What I've Found So Far
On the market today, certainly, is the Grin offered Analogger, but there are several issues with it. 1) The logs aren't timestamped; this makes using the data later on for overlays a major hassle. 2) The GPS data is logged separately in a format that, while a standard, doesn't carry the bike data along with it. Thus, 3) you can only get a combined file of the data by using Grin's online app to merge them (ok, maybe that can be done locally, but more steps!). Finally, and most importantly, it doesn't log any data from the Phaserunner, in which I think there are some interesting tidbits which would be great to have.
There looks to have been an effort, several years ago, to do more-or-less exactly what I'm after with this software I found called the cycle_analyst_logger. Sadly, the software seems quite out of date and I can't get it running. (It's got a long dependency chain of things built for ruby 2, and it seems a current version of ruby is 3 -- I don't know enough ruby to slog through trying to get everything upgraded.)
There are also some more purpose-oriented solutions, like the SparkFun OpenLog Artemis which is a bit of a one-stop shop for getting various sensor data combined into a single log file, but it seems to only support a single serial connection, and there are no adapters to "extend" that to more. It also doesn't offer that http endpoint, so getting data off it is the whole "pop out the sd card" routine I'd like to avoid.
I do have a RPI4, and spent the afternoon re-installing the OS and got it all configured and installed so I can stream stats from the CA -- heck, with a little CLI trickery, I can even solve the "no timestamps issue" just
I have a few ESP32's sitting around, so that's an option as well. Apparently they can have up to 3 hardware serial channels going, which is good since you'd need one for each of the CA, PR, and GPS. The rpi, though, seems a little friendlier with it's full OS ecosystem and the device isn't physically huge. Almost without a doubt, the esp32 setup would use less power, but on an ebike this is only on while in motion, so I don't see it being a super huge issue.
What I Could Use Advice On
I guess I'm closest with the rPi at this point (it seems adding a wifi dongle and a usb gps is, actually, pretty easy). So, given that, the big hurdle I'm facing is getting data from the phaserunner. Any sage pointer on how to do that?
Alternatively, are there other solutions that I've missed which get me a lot closer?
What I Want
A small device I can add to the a bike which will connect to the CycleAnalyst, the Phaserunner, and a GPS receiever and create a combined log of the data from all three. I would like the device to have a WiFi adapter and be able to host a simple webapp which can manage the on-device logs (ie: hit up http://192.168.../ and download/delete logs). I wish to use this data for ride/bike analytics and to sync up to other recording devices (action cameras with their own GPS data) for ride telemetry.
What I've Found So Far
On the market today, certainly, is the Grin offered Analogger, but there are several issues with it. 1) The logs aren't timestamped; this makes using the data later on for overlays a major hassle. 2) The GPS data is logged separately in a format that, while a standard, doesn't carry the bike data along with it. Thus, 3) you can only get a combined file of the data by using Grin's online app to merge them (ok, maybe that can be done locally, but more steps!). Finally, and most importantly, it doesn't log any data from the Phaserunner, in which I think there are some interesting tidbits which would be great to have.
There looks to have been an effort, several years ago, to do more-or-less exactly what I'm after with this software I found called the cycle_analyst_logger. Sadly, the software seems quite out of date and I can't get it running. (It's got a long dependency chain of things built for ruby 2, and it seems a current version of ruby is 3 -- I don't know enough ruby to slog through trying to get everything upgraded.)
There are also some more purpose-oriented solutions, like the SparkFun OpenLog Artemis which is a bit of a one-stop shop for getting various sensor data combined into a single log file, but it seems to only support a single serial connection, and there are no adapters to "extend" that to more. It also doesn't offer that http endpoint, so getting data off it is the whole "pop out the sd card" routine I'd like to avoid.
I do have a RPI4, and spent the afternoon re-installing the OS and got it all configured and installed so I can stream stats from the CA -- heck, with a little CLI trickery, I can even solve the "no timestamps issue" just
cat /dev/ttyUSB0 | grep --line-buffered -v '^$' | ts "%Y-%m-%dT%H:%M:%.S%z"
. Still, no phaserunner stats and no GPS data, though. (It's a shame the PR doesn't have the same simple "stream data out" setup as the CA, but after seeing the list of available information, I can understand why this isn't really feasible.)I have a few ESP32's sitting around, so that's an option as well. Apparently they can have up to 3 hardware serial channels going, which is good since you'd need one for each of the CA, PR, and GPS. The rpi, though, seems a little friendlier with it's full OS ecosystem and the device isn't physically huge. Almost without a doubt, the esp32 setup would use less power, but on an ebike this is only on while in motion, so I don't see it being a super huge issue.
What I Could Use Advice On
I guess I'm closest with the rPi at this point (it seems adding a wifi dongle and a usb gps is, actually, pretty easy). So, given that, the big hurdle I'm facing is getting data from the phaserunner. Any sage pointer on how to do that?
Alternatively, are there other solutions that I've missed which get me a lot closer?