## page was renamed from DasTesnoAutomat = DasTesnoAparat (or CarPi) = The aim is to find a better solution for car audio than the ancient CD player. By attaching a small Linux box into car's bus one could 1. emulate a very large, practically endless CD changer 1. view song and other data on the car's built-in display 1. browse through large quantities of songs (and other services) via a 2nd (larger) touch screen display == HW == * Raspberry Pi http://www.raspberrypi.org/ * with a fast SD card for the OS. Might also store some MP3s there if there's enough space * USB v6 adapter from http://www.reslers.de/IBUS/index.html to get access to the car's I-Bus * Reverse-engineered bus messages http://web.archive.org/web/20041204074622/www.openbmw.org/bus/ * A touch screen for more convenient usage (large playlists etc) * I prefer to keep the OEM look inside the car so there are 3 options: * Buy a used original 16/9 display, disassemble it and plant a new 7" screen inside it keeping just the frame and buttons * Capturing signals from the the original buttons around the display is a major pain but the outcome can be incredible * http://www.mp3car.com/hardware-development/139907-button-interface-to-bordmonitor-on-bmw-e39-and-e46-4.html#post1425437 * http://www.mp3car.com/vbulletin/hardware-development/139907-button-interface-to-bordmonitor-on-bmw-e39-and-e46-4.html * Plant a new 7" screen inside a 2DIN radio bezel. This can be actually quite nice but is far from OEM-look * Keep the original CD player (with its small 1-line text display) as a "status" display and for more involving things attach a larger display to be kept hidden in the glove box or somewhere else * Actually, a cheap (used) tablet could be an option too * Its possible to embed one into a 2DIN radio bezel or place it somewhere else * The tablet could browse and control playlists over WLAN from the Pi * With some SW its possible to power up/shutdown a tablet automatically depending on if its charging or not * But are those things really robust enough to be mounted into the dashboard? I really wouldn't like to take the whole thing apart just to reset the tablet * Some components to think about * http://www.ebay.ie/itm/18cm-7-LCD-TOUCHSCREEN-AUTO-PC-MONITOR-12V-VGA-USB-/330682619123?pt=Auto_TFT_Monitore&hash=item4cfe3854f3 * http://www.jimms.fi/tuote/TV-907D * http://www.jimms.fi/tuote/TV-908 * http://www.cartft.com/catalog/il/1229 * does Linux support USB displays? * http://www.cartft.com/catalog/il/442 * USB hard drive for MP3s, podcasts etc * A nice box for the Pi * Some future, nice-to-have kind of things: * 3G dongle for Internet access * Send an SMS when the car's alarm goes off? * With some relays controlling of motor and cabin heaters * BT dongle for streaming audio (A2DP) and calls from my cell phone * BlueZ has support for many BT profiles http://www.bluez.org/ * USB or Bluetooth GPS dongle * Enables maps and navigation * USB Wifi stick == SW == * Fedora and Debian both support arm-linux * XBMC http://www.raspbmc.com/ * Eventually Android if 256M is enough memory and a cheap resistive touch screen works * I-Bus library for communicating over the bus http://projects.tevs.eu/OpenBM/wiki/Software/Gateway * There something here http://sourceforge.net/projects/ibusmp3/ from 2006, have to see if its usable * This looks much more promising http://projects.tevs.eu/OpenBM/wiki/Software/Gateway * CDC emulator SW which actually will play the songs from a SD card or from a USB drive, will probably write this myself == The work plan == The order in which I'm going to do stuff is something like this: * Once Pi arrives, install a distro and check that it works * Then attach the I-Bus adapter and check that it is recognised by Linux * Find/write the I-Bus library and try to get a "Hello World" text to the car's current, built-in radio display * Write the CDC emulator SW. Now, we should be able to enjoy virtually endless music from numerous playlists :) * Attack the display challenge, try to find a reasonable touch screen and make it work * If successful, install XBMC or some other media player environment * Then install GPRS, GPS, BT, Wifi etc === Some random notes for myself === * It seems like touch screens output USB HID mouse events from the touch part? * http://www.youtube.com/watch?v=iGKqMJOoF-o * To save energy, we need to power-off Pi * Also, the car stereo expects a response from the CD changer every few seconds via I-Bus, otherwise it thinks that the CDC is not there * Pi's boot time (20-30 sec) might be too slow to get music playing when the car stereo is up and running * Thus we might need a small embedded controller that can be powered all the time or woken up quickly to listen for I-Bus messages and then switch the Pi on/off * Planning to use Arduino for this * Another option is a RuuviTracker (http://www.ruuvipenkki.fi/ruuvitracker/Etusivu) but its not available yet * Alternatively, the controller could start when the car gets a signal to unlock the doors and then immediately switch Pi on. This would give us usually some seconds before the user expects to hear music from the speakers :)