My Android NFC Car BT Audio Setup


So, my Nexus One’s battery finally lost its last legs and I picked up a new Galaxy Nexus to replace it (easy choice, since it’s a nexus device and Google sells it for a bargain at their play store). Anyways, I drift. In the mood to try out the NFC capbilities of my newly acquired gadget I thought of doing something about my car audio setup (previously consisting of a stereo line connecting the aux port of the stereo to the headphone out of Nexus one using tasker to start music when connected).

Before I go into how I went about it, here is what it does now. When I keep the phone into my car’s phone holder, it automatically starts streaming music over BT from my car stereo and then when I keep it in my pocket, it stops.

Ingredients I used:

  • 1 Galaxy Nexus

  • 2 NFC tags (bought from tagstand guys. Makers of the awesome NFC Tasker Launcher app)

  • 1 male to male stereo cable

  • 1 Samsung HS3000 BT headset (since my car stereo doesn’t have BT. This little headset is awesome because it is cheap (25$ or so at amazon), has a stereo port where you can connect any headset or stereo cable, implements apt-x protocol for high fidelity audio streaming)

  • Android App: NFC Task Launcher

  • Android App: Tasker (NFC task launcher is enough for basic things but my task is a bit more involved)

  • Android App: Secure Settings plugin for Tasker/Locale

So, what I did is this:

Hardware:

Pasted one NFC tag to my car phone holder and kept another one in my wallet.

Connected the HS3000 headset to the car stereo through aux-in and to power through a car charger (it uses a standard micro usb port to charge).

Stuck the HS3000 near my dashboard. I could have hidden it in dashboard or somewhere but I also wanted to use it to take calls when they come in so I can use its mic for speaking and incoming audio sounds through the car speakers. You can also disconnect the internal battery by popping up the casing so that it turns on and off with the car but it isn’t necessary as it anyways turns off if there is no device connected for a while.

Software:

Created two tasks in Tasker. First as “Car Mode Enter” and second as “Car Mode Exit”. The car mode enter task basically does this:

  • If car mode is not already running (based on a variable)

    • Turn on Bluetooth (This also auto connects)

    • Crank up the Media Volume

    • If Battery level is above 40%

      • Keep the screen always on (using Secure Settings)
    • Else keep the screen on if power is connected (through car charger)

    • Crank up the brightness if it is day time (so that I can see the screen) and store the old value for restoring later.

    • If navigation is not on (through another variable set through another profile which monitors if a navigation or maps app is in foreground)

      • Load the Music app

      • Start playing music

    • Turn on the Read SMS profile cuz I’m a safe driver :) (Another profile in tasker which reads the incoming SMS’ sender’s name and asks if it should read the text (don’t want any embarrassing ones read out while others are there in my car ;)) and then proceeds to read the text if I speak “Yes”. For anything else or no input, it doesn’t read the text)

The car mode exit task undoes everything done in the car mode enter task and restores everything to how it was before entering the car mode.

Also created two tasks in NFC task launcher which just launch the car mode enter and exit tasks when tapped against 1 of the tags and wrote this task to the tags.

All together now:

So, we are done now. Now when I enter my car, I place the phone on the holder and nice music starts playing. When I get out, I tap it against my pocket (with the wallet) and everything is back at normal.

Let me know if you need any more information about the above setup or the tasker profile xml files. I use tasker for automating a whole other bunch of things as well. Will try to post that stuff soon along with any other NFC tricks I try out.


See also