2008 Impala SS - The Connected Car
A lot of people have been talking about the "connected car". Well, this is my plan on how I'm going to create my own connected car. I'll be discussing hardware and software that I'll use to accomplish my goal. I want it to sync up with my media automatically when I park at home. I don't ever want to have to worry about it properly shutting down.
I want to automate my car. I want my car to know who I am and set things accordingly. I want it to detect me walking up to it from a distance and turn on, warm up the seats, etc. When I reach my work parking lot, or my apartment parking lot, I want my volume to turn down. I want to be able to get gps and obd logs from my desktop at work/home, or via my cellphone. I want to set a shopping list of destinations when I'm planning places to shop on the weekend and have it automatically route me to the places I want to go. I want to do this from my desktop or phone so it's ready to go by the time I get in the car.
Can all this be done? Yes, and here's how:
This is what I have to work with:
- Sheeva plug
- Atom330/ION mitx mobo
- GPS BU353
- Wifi Dongle
- Bluetooth Dongle
- Fusion Brain
How it will work
I've never had very good luck with smart power supplies. My m1atx has failed to shutdown my pc or hardkill it too many times which causes me grief. For a little more money, I can get a Sheevaplug ($99) and do so much more with it. The sheevaplug will be connected up via USB to the fusionbrain and communicate with it via some c# script and FBd (fusionbrain daemon). I'll intercept the ignition on/off and send a shutdown/hibernate/sleep command to my pc over ethernet. If it doesn't turn off in X minutes, I'll hard kill it. The sheeva, which draws much less power, will remain on to monitor battery voltage, if voltage goes too low, the sheeva will shutdown everything including itself. Hopefully this will never happen, but just in case.
So that seems a little overkill for a smart controller eh? But that's not all the sheevaplug will do. It'll be connected to wifi and bluetooth and will be running an apache webserver with a php type interface (bugbyte is creating this kind of setup with his sheeva). I may even add a 3G modem later on and connect it up to the internets. Because it'll be connected, and be exposing a web interface, I'll be able to do a number of things remotely. i'll be able to download my gps and obd2 logs onto my desktop, initiate a sync, or even start my car and control it's functions remotely. The sheeva will also act as a router for the carpc. The PC will connect to the network via the sheeva and the sheeva will also be able to get information from the PC and control it.
Proximity (currently called wifiproximity), is a generic event based scripting utility that allows you to do stuff based upon how far you are away from objects. It comes preinstalled on LinuxICE2. This object could be a GPS coordinate, a WIFI AP, or a bluetooth phone. Proximity will run on the sheeva and do some cool things. I'll have it send nGhost commands on the PC to turn down the volume when I'm in the parking lot of my apt or work. I'll have it initiate a sync up with my media server when it detects that my home AP is in close enough range. When the car is in my work parking lot and it detects my cell phone's bluetooth radio in range, I want it to power up the car and the PC. When I get even closer, I script it to unlock my doors. When I get to some place and walk far enough away from the car, i'll have it lock the doors.
nobdy (previously obdgpslogger)
gps and obd will be done on the PC. nobdy has a logger plugin and will be able to speak gmlan. This means I don't need to use a keyfob -> fusion brain and allows me to control much more things in the vehicle.
bluemonkey is the app that will tie all the above applications together in a logical way. It'll manage power states, security, and be controllable via the internet and IRC. I'll be able to chat with my car! Further details can be found