I have a stalled project to read events from one of my car's CAN buses that I really need to get back to... The easily accessible OBD-II port is either the wrong network, or filters out the interior cabin stuff I'm interested in.
Even as a non-C/C++ person, it was honestly easier than I expected to get raw data: A small breadboard with an ESP32 chip and a CAN transceiver chip, power them both from my phone's USB-C port, and run an app to log serial output coming back over the same cable. I just need to plug the transceiver's high/low CAN wires into the right spots to start recording raw messages.
The biggest frustration, besides removing stubborn car paneling, is that so much of the CAN bus traffic is undocumented (no DBC) so I need to change things and look for time-correlated patterns.