Sorry missed answering this one
Yes you can connect to the canbus using something like an Arduino
No idea if if it's full compliant
But an Arduino Nano and a MCP2515 CAN adapter works, there's no point in reinventing the wheel, the canhacker software and MCP2515 library already exists and work
It's a faff to set up, computer baud rate, can adapter baud rate, ECU baud rate, for example there's several versions of the MCP2515 with different baud rate, it your matchs the original it will just work, if it's different you have to alter the config file (forgotten what it's called) before up loading the sketch to the nano
When you get it working you end up with a list of dev id on one side and the value on the other
I can't remember what I was trying to achieve at the time, but the problem I encountered was, simple things was doable as the PIDs are standard, but if you wanted to do some that more model specific like say turn a fan on or off you don't know what the PID is
You could sit there taking wait for the fans to switch on, take a snapshot repeat until you see a pattern, this value before and this value after
I lost the will going down this route, you can do a very similar thing with the elm327
Using a elm327 terminal you can set the protocol, send a header, send data, get an answer or something like that, I couldn't find an app that would auto do some of the typing in the first steps instead of having to type them in every time, I am sure one will exist, but I lost interest after downloading a few
I don't think the ELM327 would work as a canbus wide sniffer, there is a command for monitoring all, but at around 500 kbps I doubt it can send it all back to to the computer quick enough before a buffer overrun error, could be wrong, you can limit the date used and monitor, I not tried this but it's no different to a scan tool app just with the nice graphics