This is a CAN-BUS enabled python MP3 player running on a raspberry pi
Hey there, thanks for the interest in my project!
There have been some changes in the past, mainly in capturing data from the bus and uploading them to my server automatically.
Actually I'm very busy at the moment and can't find time to write much about it.
But I would like to show you some results and data.
First: This is what the captured data looks like:
Feel free to check the data out at car.jb0.de!
Also there are the discovered addresses. I would love to see an open canbus database where you can upload all kind of can messages for all kinds of vehicles. But unfortunately I was not able to find such a database, so I wrote down my gathered data in a google calc document which you also can check out.
There are information for the SW-CAN and the MS-CAN Bus, also detailed notes about the packages sent to the display and diagnostic request messages by the vendors diagnosis system "Tech2".
Hope someone can use that information. If you know a better way to distribute that data, let me know!
I am really sorry (again) for the long delay between the updates. I am currently quite busy and happy to even find some time for my projects.
What's new? I 3D-printed a housing for the raspberry and the other components and installed it permanently into my car.
It is now stable enough to remove the possibility of booting it while driving by pulling the 12V-Plug from the cigarette lighter...
Also the hard wired connection to the CAN-bus makes a way better connection than my previously used jumper-wires to the diagnostic port.
Also I added the display of some vehicle related information (engine-temp, voltage, speed, rpm) which I am getting from the controllers with a diagnostic request. My plan is to figure out the packages on the bus holding that information without the need of sending those diagnostic requests.
I made a little visualization tool to identify the specific diagnostic values. That's how the results look like:
You can find more detailed information about the values and diagnostic requests at my blog.
I would love to share the canbus-data in a more practical way than writing them as text to my blog, but so far I was unable to find a usable open database for vehicle-related canbus packages. If I am just missing it and something like that already exists, please point me there! Thanks!
If you want to take a look at my not-yet-cleaned-up source code, you can do so at GitHub.
This is a quick write-up of the current progress, I posted some more images an schematics at my project page, if you would like to take a closer look.
In the case I missed to write about some important things, or you wold like to know some more details, feel free to ask!
I'm sorry for the long delay to this update...
This project made a huge step as the MP3-Player now actually plays MP3's.
I build a python-script that uses the pygame library to control the playback of audio files.
It also uses the SocketCAN implementation of the python-can lib to listen to steering wheel commands and write song titles to the display.
I will describe the program in the details-section later and I will move the development from my personal repo to github (and, of course, link it here!).
The script also waits for the original "Aux" message to make sure it only sends the text when the radio actually is in aux mode (otherwise it would overwrite the radio station etc).
This currently makes some problems because the radio sends some different messages transferring "Aux". So far, i found 4 different messages. This makes the detection not 100% reliable.
Also my current setup is connected by jumper wires to the OBD-port of the car. This is great for testing but makes no reliable vibration-proof connection. So I need to build a housing and wire everything to the cars electric.
Next updates will follow soon!