The carputer: I'm not that far ahead
What is a carputer?
For me, it's a PC in the trunk that will provide some interesting features. For others, it's an extension of an in-car entertainment system. In the future, there are many more possibilities.
Why?
It's a fun project and I'm learning a lot while working on it. Not to mention all the usefull features I'll get out of it. For example, here's some of the things that I envision doing. For the most part the hardware is trivial commodity hardware. The innovative part is putting it together in a new way and finding (or writing) software that can make useful features out of the existing hardware.
The hardware
I'm not using anything overly fancy. So far, my hardware consists of:
- An old, small form factor (SFF) PC. It's a PII @233MHz with 64M RAM
- A small GPS antenna
- A WiFi card (occupying the only PCI slot in the PC)
The Software
After much searching, I decided on ArchLinux. It offers a full desktop GUI, and even though I don't need that, it's very easy to trim it down to the bare essentials. Sure, there's plentry of ultra-small distros, but that's not necessary (I've got a 20G disk)... I was looking for something that has many packages available and can easily have it boot time trimmed down.
Desired Feature List
Some of these are easy to do and others are difficult (some may not even be possible). All the hardware is present, it's just a matter of finding/writing the software to make these things happen.
- Use the GPS to log my driving
- Log where open wireless networks are so I can later ask where the nearest internet access is
- Offload pix from my digital camera while traveling (plug a USB cable that's run from the trunk to the center console)
- Upon finding an open WiFi connection, upload small data to my server at home (e.g. GPS logs).
- When my home WiFi access point is visible in-range, upload large datafiles (e.g. pictures) to my server at home.
- If my car gets stolen, I can call the police and tell them exactly where my car is.
When you also factor in that I already have an empeg as my sound system, the possibilities are further expanded.
- Wired ethernet from the empeg to the carputer to allow my home PC to talk to the empeg while in the garage. This will allow uploading of new music without bringing the empeg into the house.
- Audio announcements for things like:
- pictures copied from digicam, safe to unplug.
- open wifi is detected.
- read GPS stats (I've already ported Flite to the empeg) for coords, altitude, velocity, etc)
- read my email to me on my commute
Adding some other small pieces of hardware (webcam, OBDII interface, Palm), many more new possibilities arise:
- Mount USB webcam inside front grill so I can take pictures of vanity plates. It would be nice if I didn't have to fumble around while driving to get my camera out, aim, focus (not on the windshield) and take pix.
- Use of a Palm as a remote control... with so many features and a headless computer in the trunk, how else could I control it all. Oh, the IrDA port on the Palm is line of sight? No problem, I'll have it talk to the IrDA port on the empeg. Someone else already wrote a daemon for the empeg that will receive IR data and pass it on to various apps based on data type. e.g. beam a memo from a Palm (or my Accompli 009) to the empeg and it passes it to the TTS software which fades down the music, reads the message and fades the music back up.
- Use OBDII<->Serial adapter so the empeg can monitor my car. From what I understand, development on OBDII software for Linux is still in its infancy, but I'm interested in learning.
- If my car gets stolen, I can put a (digitally signed) file on my server at home and when the car checks in, that will be instructed it to use the OBDII interface to disable the ECU... now I can tell the police where my car is and that it's not moving. Perhaps even use the empeg to play a quote from HAL "I'm sorry Dave, I'm afraid I can't do that." :)
- I'm installing a 5 port 10/100 switch behind the head unit so I can have a couple RJ45 jacks in the car.
- Eventually, setup a laptop with mapping software that will get my location from the carputer and possibly even give me directions.
I'm sure there's other things that people can thing of that I've missed... I'm open to suggestions for other features :)