I have an idea for an opensource project based on an ESP32 that can be used in conjunction with RaceChrono to emulate a GoPro 9/10 over BLE and forward start/stop events to other devices. My first target will be another cell phone running OpenCamera Remote, which accepts a simple REST API over wifi to control the shutter and filename, etc.
Unfortunately, I don't own a GoPro 9+, so I have been using the OpenGoPro BLE documentation to get started. So far I have RC recognizing my ESP32 as a GoPro and attempting to connect, but it quickly disconnects. Without divulging too much about your internal implementation, can you provide some hints regarding which BLE services/characteristics are being used by RC to control a GoPro over BLE?
Obviously, there are other ways to approach this same problem, so I am open to other solutions as well - including one of the RaceChrono DIY APIs if they already provide this functionality.
Comments
Also I cannot reveal any GoPro protocol internals for legal reasons, sorry.
Adding to the DIY APIs would make much more sense, but not sure if I will be re-visiting them very soon, as we have our hands full with some upcoming big features.