In-car computer project

This forum is for topics specific to the Raspberry Pi and Arch Linux ARM

In-car computer project

Postby DrunkyMcStumble » Tue Apr 09, 2013 6:09 am

I'm currently working on a project to build and install a budget in-car computer using the following hardware:

  • Raspberry Pi Model B
  • Adafruit Ultimate GPS Breakout
  • Generic DAB/DVB Tuner
  • Mini WiFi router running in "Client Mode" for internet connection
  • Chalkboard Electronics 7" LCD HD Touchscreen
  • USB Adaptor for the car's Engine Management Computer for datalogging/diagnostics/etc.
  • A powered USB Hub to plug all these things into

At this very early stage of the build, all I've been doing so far is trialling different OS/software configurations on the Pi to see what works best. From a purely functional perspective, I want to be able to sit behind the drivers seat and, with a single touch or gesture, access the following front-end applications:

  • A media-centre type application with PVR capabilities; for music, movies, TV, radio, etc.
  • A turn-by-turn GPS Sat-Nav application
  • A basic web browser
  • A real-time engine performance monitoring/tuning/diagnostic app

Ideally, I'd like to have all these things rolled up into a single, dedicated program with a nice consistent interface; but I'd also like to complete this project some time this decade, so I'll have to settle for choosing between the various open-source solutions out there and doing the minimum amount of coding/hacking necessary to get them to play nice together.

In terms of software requirements, I'm looking for speed and reliability above all other considerations. Once the hardware's installed in my car's centre console in place the existing DIN stereo unit; doing hard-resets if something crashes, or accessing the terminal for whatever reason won't be an option. And I don't want to have to wait around for 20 minutes for everything to boot up every time I start my car before I can just listen to some music or whatever.

So for these reasons, every bit of software on the thing has to be lightweight, streamlined, stable and very customisable. Hence the reason I chose Arch Linux as the OS without a second thought. I'm open to suggestions for everything else, though.

Xorg seems to be a necessary evil, so I've tried to minimise its impact on system performance by coupling it with the lightweight login and window managers SLiM and DWM, respectively. I especially like that DWM has a small enough codebase that I can practically re-write it to behave exactly how I want; which means fullscreen-only windows, quick task-switching and minimal UI intrusion.

I've got to the point now where I'm experimenting with media-centre solutions and the only real choice in that regard seems to be XBMC. It runs well and looks great, but it doesn't want to play ball with Xorg/DWM. Even running it in windowed-mode, XBMC captures all incoming events and won't let me, for instance, task-switch to another running application or even close it using DWM's keyboard shortcuts. Since quick and simple task-switching is core to this project, I'm at a loss here.

Although I'm pretty good with C, this is my first big project using Linux and the ARM architecture and I'm using it as much for a learning exercise as for the end result. So I don't really know enough about how the event chain works in getting keyboard/mouse/touchscreen events to the right place to know how to go about "fixing" XBMC's behaviour. Any pointers?

Also, if there's any interest, I can post photos and updates as the project goes on.
DrunkyMcStumble
 
Posts: 4
Joined: Fri Mar 29, 2013 3:57 pm

Re: In-car computer project

Postby crashmaster » Wed Apr 10, 2013 1:53 am

A nice project but i don't know whether my thoughts are a kind of help ;)

Maybe "xautomation" from aur is worth to take a look to control X from something like a touchscreen program.
To keep things as simple as possible i would try to avoid the use of any WM. Most programs work fine in pure X so there's no need of window frames, full screen mode is always the best on small monitors.
I did something similar with a "displaylink" usb screen and the kernels "udl" driver - it works fine.
crashmaster
 
Posts: 119
Joined: Wed Mar 13, 2013 1:00 am

Re: In-car computer project

Postby moonman » Wed Apr 10, 2013 4:54 am

I am actually working on the same as well. Except I will be using my car stereo with a screen as monitor (it only supports composite input unfortunately) and my phone to control it (haven't yet figured out how though). I only started it yesterday and currently compiling opencpn for gps use.
Pogoplug V4 | GoFlex Home | Raspberry Pi 4 4GB | CuBox-i4 Pro | ClearFog | BeagleBone Black | Odroid U2 | Odroid C1 | Odroid XU4
-----------------------------------------------------------------------------------------------------------------------
[armv5] Updated U-Boot | [armv5] NAND Rescue System
moonman
Developer
 
Posts: 3388
Joined: Sat Jan 15, 2011 3:36 am

Re: In-car computer project

Postby moonman » Wed Apr 10, 2013 1:20 pm

here's the link if anybody is interested in opencpn:
$this->bbcode_second_pass_code('', 'http://dl.dropbox.com/u/15043728/ArchLinuxArm/RaspberryPI/opencpn/opencpn-3.2.0-1-armv6h.pkg.tar.xz')

install with
$this->bbcode_second_pass_code('', 'pacman -U http://dl.dropbox.com/u/15043728/ArchLinuxArm/RaspberryPI/opencpn/opencpn-3.2.0-1-armv6h.pkg.tar.xz')
Pogoplug V4 | GoFlex Home | Raspberry Pi 4 4GB | CuBox-i4 Pro | ClearFog | BeagleBone Black | Odroid U2 | Odroid C1 | Odroid XU4
-----------------------------------------------------------------------------------------------------------------------
[armv5] Updated U-Boot | [armv5] NAND Rescue System
moonman
Developer
 
Posts: 3388
Joined: Sat Jan 15, 2011 3:36 am


Return to Raspberry Pi

Who is online

Users browsing this forum: No registered users and 22 guests