OEM quality 7" tablet with steering wheel controls and backup camera
I've lurked the forum for years and have recently been experimenting with installing my tablet into the dash of my car. I decided it was time to post what I have learned along the way and things I learn in the future along the way.
The tablet that I have decided to use on this build is a Dell Streak 7". I like things to look and function like OEM and I have run into several hurdles along the way, so I'll list what I have planned and what I learn on my build below here.
Front End - I will be using Android 4.0 with Cornerstone on this install. There is already a working beta for this device over on XDA forums, once the bugs are worked out I will upgrade my tablet. The final build of 4.0 for the DS7 is said to support Cornerstone which will be perfect for switching between media/nav/OBD in an incar installation. More info on Cornerstone can be found here: http://www.onskreen.com/cornerstone/
Internet Connectivity - OEM functionality means that the device should be connected to the internet without the use of my cell phone. My solution for this is to use a Cradlepoint MBR1000 (http://www.cradlepoint.com/products/mbr1000) router with a Verizon USB hotspot. This router will handle any authentication needed so it's a simple power on, power off, and can be hidden away in the car. As a bonus it gives me the opportunity to attach other devices to the local network in this project.
Steering Wheel Controls - This one was a must for me and the solution is very basic. I will be using an Arduino Dueliminove with ethernet shield to handle inputs from the steering wheel controls and will transmit that information to the tablet through something I call DQVE (Dock, HTTP Query, Set Variable, Execute Command). The concept here is very basic. The Arduino gets a command from the steering wheel controls and sets a variable, then it calls the DQVE process.
- The DQVE process trips a USB pin so that the tablet thinks it has been docked
- Tasker intercepts the dock and performs an HTTP query to the IP address of the Arduino
- The HTTP query returns an XML file that is parsed and the variable is set
- Tasker performs the associated command
I will map mute, vol+/vol-, and track+/ track- to the specified commands and mode will launch Vlingo for voice command.
Backup Camera - Having a router in the car will allow me to install IP cameras and I can use the DQVE process to trigger tasker to launch an IPCam viewer application when the reverse lights are on.
Power Management - The plan is for the tablet to always be powered on. It's default resting state will have all connections and display off. The DQVE process will tell the tablet to wake up once the Arduino boots with key on. Loss of WiFi signal from the router for more than 30 seconds will cause the tablet to go back into hibernation, also triggered by Tasker. 12v power will be pulled from the BCM of my vehicle which stays on after the vehicle has been shut off for X amount of time, so that the tablet can recharge if needed.
Dimmer - This will function the same as the backup camera. When the Arduino sees that the dash lights are on or off it will set the variable and trigger the DQVE process so that tasker can update the screen brightness.
Amplification - Because the headphone out only supports two channels (left/right) I will end up mirroring the front and rear channels. I'm not overly concerned about this because I don't watch movies or listen to many things with surround sound. The tablet does not have enough juice to drive the factory speakers so a 4x50 RMS amp will be installed behind the tablet where the factory headunit used to sit.
I think those are all the key points I can think of right now, everything else is basically what app to use for what. Once the stable build of Android 4.0 is released on XDA this project can officially take flight. I'll update this with my thoughts and ramblings as they develop.