The Raspberry Pi JavaFX In-Car System (Part 4)
By speakjava on Aug 04, 2013
The first thing is that I decided to extend the scope of my project in terms of integrating with my vehicle. Originally, I had planned to add a 7" touch screen somewhere that was visible whilst driving. Given the attention to detail that Audi's designers have taken over the interior this was not going to be simple. The company I had originally ordered the touchscreen from ran into production problems and after several months admitted that delivery of the screen would not be for "some time". Since I needed this for JavaOne in September I cancelled the order and started looking for a replacement. eBay is a great place to find items like this and I found a screen being marketed for the Raspberry Pi which was a "double DIN" fitting (which actually means it is twice the height of the ISO 7736 standard). Some more searching on eBay turned up a bezel that would enable me to replace the existing navigation/entertainment system in my car with my new, Raspberry Pi powered one (Given how much functionality the existing system has I don't see this as a long term replacement, more for experimentation).
Having received my screen I decided that for development and testing it would be better if I did not need to keep changing the centre console, so I set about making the screen/Pi combination easier to use standalone. Unfortunately, I couldn't find the perfect sized box at RS, but got one that could be adapted to my needs (the problem was it was too shallow, so I added some longer bolts and spacers). First up was to fit the screen into the top of the box, as shown in the pictures
I was happy that my project already required the use of some wood, as I believe all great software projects should involve some woodwork.
To mount Raspberry Pi I used the two vacant mounting points on the screen and attached a small perspex sheet to act as a platform for the Pi
Getting the holes in the right position took three attempts, as the positioning of the external cables was a bit tricky given the available space.
The Raspberry Pi was then mounted using the bolts shown above with some plastic spacers
The USB cables provided connections for a USB port and SD card reader which are part of the screen bezel. In the end I removed these as I did not plan to use them and they were taking up too much space.
Fitting the HDMI cable was a bit of a challenge. The distace between the HDMI port on the Pi and the one on the screen is about 3cm. The shortest cable I had was 1m! Using some cable ties and a sharp knife I was able to come up with a workable solution (not exactly pretty, but it works and won't be seen in the finshed 'product').
Since I wanted to include an accelerometer I mounted that on the bottom of the box so it wouldn't move around during development. The final internals are shown below. I added a short ethernet extension lead to simplify cabled network access, the WiPi dongle could be left in place and I ran a USB extension lead from the Pi to simplify switching between the touch screen and an external keyboard.
When assembled I had a pretty nifty looking Raspberry Pi computer
In the next installment I'll cover how I started on the JavaFX part to deliver realtime data on the screen.