The automobile is a place where you are often cut off from your own data, especially while driving.  Of course there is always the smartphone, but its integration with the automobile often amounts to just synchronizing your contacts with your car, so you can use the speakerphone, if you have a car capable of that.  That is fine, but it is not enough.  More desirable things can be done with a little better integration.

For instance: turn down environmental controls when car has left office; turn up environmental controls at home if the car has left office, but only once car is proceeding towards the home for 10 consecutive minutes (or configurable value).  Overridable via voice command.

Or: Ten minutes after leaving the house, you ask car “did I leave the stove on?”; car replies “yes”. “Shut the stove off”; “Successful”. (Yes I will need to modify the stove.)  But, excellent once working.  I won't just lose 20 minutes of my day, and however many dollars worth of energy heating the air in the kitchen.

These examples are of physical effects, but the non-physical is important too - they come from your thoughts, some of the most important things you have.  Another extremely important thing you have is time.  This integration is designed to streamline usage of machines to obtain data requests (as well as physical results) so you can use your time for what you like.

"Do I have any important email?" "Hows the stock market?" "What's the latest on Hackaday?" These non-physical data requests, but contextualized to you and your preferences - the Processors may be located elsewhere, your home, office, on your actual smartphone, so you don't have to set up a separate instance with everything in your car.  

The Automobile Integron is not really too different from the normal, living-space based Integron being described in the main Reactron project.  It uses a BeagleBone Black to process and synthesize speech, and has the same RF connectivity.  Added are a GPS module, a GPRS module, and a camera for gesture interactions instead of PIR sensors.  If the living-space based ones could move around, in changing environmental and lighting conditions, I would consider making all of this standard.  The other difference is that the indicator lights are reduced to two separated LEDs.  

One is meant to be seen from outside the car (on the driver's door).  The car originally came with an LED on the door lock stem.  It is a 3mm LED and blinks when the car is locked and the anti-theft system is on.  This LED can probably be directly replaced with a bi-color common cathode LED (red/blue) where the red one is attached to the existing system, and the blue is attached to the Reactron Integron.  

The other possibility is that I use a 3mm diameter light pipe tied to a NeoPixel, and take the input to this original LED as a digital input to the microcontroller. I may do that, because then I am free to use any colors I like.  I also plan to use this approach for the other LED which is meant to be seen from the driver's seat.  There is a screw cover to remove the instrument cluster that just pops out.  There is a convenient hole back into the dash, behind the cluster.  I will mount a diffuser lens on this cover plate and use a NeoPixel as a built in annunciator light.  I will also take the instrument cluster brightness as an input to adjust the brightness of the NeoPixel.

This is enough to give the driver visual indications if necessary.  Everything else should be done verbally.

The car is an old car with almost 200,000 miles on it, so I don't mind messing with it.  But also, as I expect to replace it eventually, maybe soon, I want to make sure the tech is easily removable and modular, not so specific to this model car.

The BeagleBone black and RF module will fit in a convenient space above the rear-view mirror, where there is ample space, and 12V power, even when the car is off. 

This is also a great location (I think) because it is inside the car, so weather-protected, but also very close to the windshield, so it is RF permeable.  I will have to see how the GPS and GPRS modules fare, they may need to be pushed all the way forward, or remoted to the back window deck to get good connectivity upwards.  The RF I just need to have fairly horizontal lines of sight.

Currently, this car has this RF transceiver in it.

It is in the engine compartment, up near the front grille, which is primarily plastic.  This has worked well for me, I use it to allow my network to detect the car's presence and turn my coffee maker on when I arrive, so that it is ready right away.  There are some drawbacks with putting this in the engine compartment.  It needs to be weather protected so that is why it is in the PVC capsule.  This thing gets pretty dirty, so maintenance is... dirty.  It is only RF visible along one axis, since the whole rest of the car blocks the transmission.  Moving it inside and in the roof of the car, should give it a nearly 360 degree, horizontal coverage.

The GPS module I chose is this one from Adafruit:

And the cellular module I have worked with so far is this one from Sparkfun:

Though it seems a bit finicky.  I've heard that Adafruit has some new cellular modules that are excellent, so I am going to check those out if they come back in stock.  At this point I really just want the GPRS connectivity, I'm only sending a little data to the rest of my private network, where it is worked on and a result returned.  I don't need to build a fully-featured cellphone, I already have one and it works just fine.  If I get ambitious, maybe I will put in a simple cell phone voice interface to allow a second emergency channel, or in case I forget my phone while in the car.  My gut feeling is I will never get to that.

The car does have microphones and the ability to integrate to the sound system for speakerphone, but I intend to override this with the voice interactivity functions of the Integron unit.  Conveniently, the microphones are accessible from the overhead space I have identified to house the unit.

That overhead area has a blank panel that I can use to fit a small camera.  It will be trained on the driver's window, allowing me to unlock the car via complex gesture, or perhaps facial recognition.  Yes, I've locked my keys in the trunk before.  I sometimes put the key down to pick stuff up out of the trunk, and thinking it is in my pocket, I close the trunk.  Silly human.  

I have to check on the camera angles, but it may be possible to see far enough at good enough resolution to do facial recognition such that the door always unlocks as I approach, just before I get there.  That would make the door unlocking workflow that much more efficient.  That is an optional feature that I may get to, we shall see.  At any rate, the plan is, while I have the door apart, just put two signal relays (lock and unlock) in parallel with this switch:

So the actual connection to the car itself is really minimal.

I am considering a separate unit to attach to CANbus and get all the car's vitals, etc.  If I ever get to that, it can just be a separate node on the network that the Integron can query.  The Integron is only electrically connected to the car via power (and ground), the door switch, and the door LED.  From the power connection I can also get the battery voltage, which might be important if the BeagleBone Black consumes a lot of power.  I will need an alert so I don't run the battery dead.  Depending on power consumption, I may consider a separate battery, or just an additional one in parallel.  It's a big car, there's plenty of space.