One of the possibilities of using Carberry is to create a multimedia center for car. There are many distros that allows the use of Raspberry Pi as multimedia center but through the help of Carberry you can even incorporate the steering wheel controls functionality.
In our demonstration we decided to use XBMC, more precisely the distribution RaspBMC, and to connect the Raspberry to the auxiliary Audio/Video input of a JVC radio installed in a Volkswagen Passat.
Carberry was connected in series to the canbus of the car in order to filter out the commands necessary to manage the playback , such as Seek- /Seek+ /Source, and to leave unchanged other buttons such as Vol- /Vol +/Phone. On the testing car there was also a steering wheel commands interface radio JVC compatible in order to verify the real filtering of the steering wheel commands by Carberry.
XBMC version used is Frodo 12.2 (therefore not yet optimized for Raspberry Pi) and for display need during video production, the default skin has not been used (Confluence) although lighter and faster.
How we did this: Step 1: Prepare the operating system As already said previously to create this demo we opted for RaspBMC, once installed the system on a SD 8GB we have made the necessary changes for Carberry communication. The procedure for amending the operating system is available on the Wiki: http://www.carberry.it/wiki/carberry:rp ... n_yourself
Step 2: activate XBMC JSON-RPC To allow the remote control of XBMC we opted for the use of JSON-RPC controls through socket. To enable this function it is sufficient to activate the remote control capability in the XBMC setting. XBMC on start will open a socket on port 9090 that allows to send the commands.
To send the commands we wrote an application that reads the steering wheel commands through the Carberry daemon and send the command to socket opened by XBMC. The source of this application will be available in the next few days.
Available functions for this car are the following: Seek - (short): Left Seek + (short): Right Seek - (long): Up Seek + (long): Down OK (short): Enter/Show OSD Menu OK (long): Back OK (2 times short): Toggle Fullscreen Mode
Step 3: Connection to the radio To connect Raspberry to the radio we have used simple RCA cables and the radio JVC Audio/Video input . The management of the automatic power on and power off of Raspberry is managed by Carberry via the car key status.
I Really enjoy seeing this progress. But now we need to look at how to integrate both the engine CAN-BUS system and the various other CAN-BUS systems like park assist sensors and reverse cameras with an all-in-one XMBC OS package as to potentially cut out the need for the OEM radio unit entirely. I would not be surprised if there was a USB-TV/RADIO unit that could be used. The potentials are awesome. But I do fear that the Raspberry PI could be a bit under powered for an all-in-one unit that I am dreaming of.
I have been thinking about trying to work on an object detection algorithm which could work in conjunction with the PDC system as using a single camera for object detection is not easy or accurate and dual camera allow for better depth perception.
Anyways I love the whole concept and look forward to ordering my own Carberry board.
There are plenty of 8inch LCD units with capacitive touch that support multiple inputs such as D-SUB (VGA), HDMI and composite connections so the concepts can really come alive it a great way.
Hi Texan, I don't know so much about Raspberry camera acquisition possibilities, I don't know if it has the power to manage the video input and information from canbus in order to make a complete parking system... Anyway you could try =)
About XBMC you need to consider that is not optimized to work on Raspberry Soc, it hasn't hardware acceleration and for this reason the menu is really slow. You need to consider also that during the demo we used a very very heavy skin because was more readable instead of the original one.
If a future version of XBMC will come with hardware acceleration we will see the real power of Raspberry
teXan wrote:The potentials are awesome. But I do fear that the Raspberry PI could be a bit under powered for an all-in-one unit that I am dreaming of.
If you retain that Raspberry Pi is under powered, but you need of Carberry services (CAN bus, GMLAN, Resistive SWC, IOs etc,) you can use Carberry standalone (without Raspberry Pi) and connect your preferred (and powerful) car-pc via USB device port on Carberry and talk with it via ASCII commands as on Raspberry UART. Also with Carberry IOs you can manage power supply to you carputer.
I like your system very much, and I think I will order one soon to see what I can do with it in my car.
Regarding the under power issues, my idea would be to use a different Raspberry (since they are cheap) for different purposes and connect them together via a standard LAN or something. That way one would handle the CAN bus communication, one would handle the infotainment and drive the infotainment screen, and maybe one would be used (if the infotainment raspberry can't take it) for a rear view camera, but then I would install multiple camera's to make it worthwhile (if I have a dedicated raspberry just for that why not).
Would that work? I would prefer a standard RJ45 connector, I know there are slim (but expensive) CAT5 cables out there so that would not be an issue. Maybe even have a switch inside the car to connect all of them
But at least this way they would be modular, and any of them could work regardless if any other systems fail.
I wanted to do this since a long time but the only thing missing was a nice way to interact with the CAN bus, but with your solution that seems to be solved.
Just one idea, is there a way to sniff the CAN bus so I can learn new commands? For example maybe my car has some extra buttons on the steering column I could use, or maybe I want to detect when a window is opened and trigger some other action, things like that.
manu144x really interesting. Would you use a raspberry model 2? That one is more powerful than model A, but maybe not enaught. Using 2 modular rasps may be interesting to see but I don´t have money enaught... I´m like you very interesnted at sniff the CAN bus and other codes, it could help to add arduino sensors or push buttons... things like that. Please, have anyone an idea?