Announcement

Collapse
No announcement yet.

An interesting solution to adding phone support to CarPC

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • An interesting solution to adding phone support to CarPC

    Hey everyone, I thought I'd share my solution to adding Bluetooth phone integration to my CarPC.

    Making your carPC talk to your cell phone should be easy, right? I mean, your cell phone has bluetooth... and your car PC has bluetooth (either built-in or with a USB adapter)... so what's the problem? Well, as I found out, there are a lot of problems. On the front-end side, Streetdeck has had BT support "coming soon" for years it seems, and Centrafuse's BT support didn't work worth a damn the last time I tried it.

    Then there's the other solutions, like PhoneControl.NET which is not even available anymore, plus it apparently sucks, and FreeFone, which also doesn't seem to work.

    I use a PocketPC smart phone, so integrating bluetooth hands-free shouldn't be this difficult. I knew trying to do it via the "computer" route would be a nightmare. So I went the hardware route.

    First, I did some research, and then bought a Parrot CK3000 bluetooth car kit.


    This kit seemed to do everything I needed, and the reviews said it was quite a nice kit. It also seemed like integrating it into my CarPC setup would be not too difficult.

    It's designed to cut off your car's speakers when a call comes in or when you dial a call, and has it's own internal amplifier. I didn't want that -- I wanted the CarPC to control those things. It turns out that the mute box's grey wires (for the + of the rear speakers) can be used to switch arbitrary voltage, such as 12V.

    So, here's what I did:

    First, I opened up the little control knob and soldered 4 wires onto the red and green phone buttons:


    These would later allow a relay to control the phone buttons. Here's what the box looks like once it's all closed up:


    Then, I added some more relays to my existing Arduino Box:


    The left three relays are controlled by the Arduino and are "outputs" -- the bottom left two are for the red and green button. The right three relays are "inputs" -- 12V from the car turns them on or off to trigger commands on the computer.

    In the case of the phone setup, I've wired the mute box so that when the mute is off (not in a call), the relay is switched on. As soon as a call comes in, the Parrot mute box cuts power to the relay. The Arduino sees this and sends a command to the computer, telling it that the mute has been initiated.

    When the CarPC computer gets this command, it carries out a series of instructions, such as pausing the music, increasing the volume for the phone, etc.

    To get the phone audio into the CarPC, I bought a "Line Output Converter" for $30 at a local car radio shop. This takes the amplified audio output from the Parrot box and connects it to the Line In on the sound card. With that done, the software now simply unmutes the Line In when a call is in place, and mutes it again when the call is complete.

    It also knows when a call is coming in -- when the mute signal occurs, but without me issuing a voice command to start "phone mode", it knows that it must be an incoming call.


    I installed this in my car yesterday, and so far it is working like a charm. But as with any solution, there are some negatives. Let's look at the pros and cons of my solution vs. a proper car PC bluetooth integration.

    My Solution w/ Parrot device:
    - Pro: Works 100% of the time.
    - Pro: No need for drivers or com ports or stacks
    - Pro: Works with all cell phones
    - Con: No caller-ID on-screen.
    - Con: No ability to dial via the screen.

    CarPC Bluetooth:
    - Pro: Caller-ID can work
    - Pro: Uses your existing audio connection and existing microphone
    - Pro: Can (with phone support) read your phone book
    - Pro: Can dial calls from Touchscreen of CarPC
    - Con: Unreliable!
    - Con: Different bluetooth adapters and stacks cause massive headaches
    - Con: No good software out there to do this properly.
    - Con: Doesn't work with all models of phone

    The biggest item for me is the reliability. When a call comes in while I am driving, the last thing I want is to be fiddling with my phone in my pocket, or dealing with bluetooth drivers that didn't seem to reconnect to the phone.

    Anyway, I'd love to hear your thoughts. If you have any more questions please feel free to ask!

    Cheers,
    -av
    Read about my Car PC at www.avbrand.com/projects/carpc -- LED sign now functional!

  • #2
    wow, this is a very nice approach. I like it. Am however confused by the Arduino box. Whats the purpose of that? also how are you sending the commands to your pc? via usb? Perhaps someday Parrot could create a usb version of this product with protocols that would allow for easier integration.

    I wish I was talented on the hardware side of things. you stuff is amazing

    Comment


    • #3
      I'm using the Arduino as a bridge between the USB ports on my computer, and the hard electronic relays.

      If you're not familiar with Arduino, they're little $30 microcontroller that's super easy to program.

      Anyway, in this case it does only two things: It monitors the status of the right three relays and reports those values back to the computer via USB, and it listens for commands to turn on or off the left three relays. It plugs into the PC via USB and shows up as a virtual com port, and sending commands to it is as easy as transmitting a single byte out to the com port (like 2 lines of code).

      I'm sure other people have built "USB control boxes" that simply switch relays on and off from a USB port, but you can't beat the $30 price tag on the arduino.

      Thanks for your nice comments!
      -av
      Read about my Car PC at www.avbrand.com/projects/carpc -- LED sign now functional!

      Comment


      • #4
        Nice approach!

        I'm curious, I'm running a wm6 device with freefone and belkin bluetooth adapter with little to no problems whatsoever (like 1 out of 20 times my bluetooth adapter doesn't connect on call answering/dialing), what issues were you having with freefone?

        Comment


        • #5
          I'm also using WM6, but I just couldn't get freefone to work. It seems both freephone and phonecontrol.net want to use a COM port to talk to your device, and I just didn't have one.

          How do you have yours set up?
          Read about my Car PC at www.avbrand.com/projects/carpc -- LED sign now functional!

          Comment


          • #6
            Exactly. So I started out with phonecontrol, totally not what I was looking for. Freefone came around and I realized that the phonecontrol software that runs on the wm6 device creates a virtual com port. So, I just use that software to connect to freefone and it works very good.

            Comment


            • #7
              It's great to see some development in this area so don't get me wrong, but Centrafuse 2.0 final's custom made Bluetooth stack works really well...... only issue is a generic one with all speaker based systems and that is feedback echo, but a Phoenix PCI card solved that one for me...........

              Comment


              • #8
                Majority of phone issues are because people buy crappy bluetooth adapters. A bluetooth adapter that costs $10 for the PC does not have the required hardware to expose itself to the PC for data (phonebook/texts) as well as an audio stream.
                Fusion Brain Version 6 Released!
                1.9in x 2.9in -- 47mm x 73mm
                30 Digital Outputs -- Directly drive a relay
                15 Analogue Inputs -- Read sensors like temperature, light, distance, acceleration, and more
                Buy now in the MP3Car.com Store

                Comment


                • #9
                  Originally posted by 2k1Toaster View Post
                  Majority of phone issues are because people buy crappy bluetooth adapters. A bluetooth adapter that costs $10 for the PC does not have the required hardware to expose itself to the PC for data (phonebook/texts) as well as an audio stream.
                  Bluetooth is bluetooth, pretty much. It's the stack that defines how the hardware operates.

                  -av
                  Read about my Car PC at www.avbrand.com/projects/carpc -- LED sign now functional!

                  Comment


                  • #10
                    Originally posted by AvWuff View Post
                    Bluetooth is bluetooth, pretty much. It's the stack that defines how the hardware operates.

                    -av
                    100% untrue.

                    Bluetooth is not bluetooth. There are a bagillion different standards. The one that is used for phones is HSP. (HeadSet Profile). This is on audio devices (like what you bought) and is NOT on the el cheapo bluetooth dongle you get in the bargain bin for a PC. Meaning buying crap components, that dont support HSP and trying to use it for phone control on the PC will not work.

                    The stack can only control what the physical hardware can support. Not all chips are the same, and for price reasons, they dont include things that arent usually needed. Not too many people pair a phone with a PC for an audio stream. Data stream yes, so it is included. Headset wise, no so cheap ones dont.

                    So programs that work well for those with working hardware, that dont work for you, suggest you have crap hardware making it not their fault.
                    Fusion Brain Version 6 Released!
                    1.9in x 2.9in -- 47mm x 73mm
                    30 Digital Outputs -- Directly drive a relay
                    15 Analogue Inputs -- Read sensors like temperature, light, distance, acceleration, and more
                    Buy now in the MP3Car.com Store

                    Comment


                    • #11
                      Actually, there are two profiles commonly used for phone control: the Headset profile, which provides basic audio, and the Handsfree profile, which provides more control and phonebook, caller ID, etc.

                      I've actually tried this with no less than three bluetooth adapters, none of which were cheap. I've also tried Centrafuse 2.0's stack (which is actually just the Bluesoleil stack, last time I tried it) and it just didn't work reliably.

                      The two phone control programs I listed (freefone and phonecontrol.net) don't seem to work with Windows Mobile phones. In fact, the only way people seem to be able to get them to work with WM is by using some sort of app that you install on your WM phone -- something I don't have and can't find anything about, since the author of PhoneControl.NET shafted all former customers by simply taking his site offline. As a software developer myself, when I no longer feel like working on a project, I just post it open-source on my site for anyone to use.

                      Don't assume I haven't spent hours upon hours trying to implement software-based solutions before I turned to this hardware one.

                      -av
                      Read about my Car PC at www.avbrand.com/projects/carpc -- LED sign now functional!

                      Comment


                      • #12
                        AvWulf - well done.... I may look at getting a second pad for mine.... although I would leave the audio to be routed via the speakers my self because I think that is a strong selling point of the Parrots my self.

                        Terran
                        My Project Site

                        Comment


                        • #13
                          Originally posted by ccsnet View Post
                          AvWulf - well done.... I may look at getting a second pad for mine.... although I would leave the audio to be routed via the speakers my self because I think that is a strong selling point of the Parrots my self.

                          Terran
                          Thanks!

                          Well, my reasoning was: I've got a powerful amp (the stereo) in the car already -- why would I want to let the Parrot's tiny little amp take over? Also, I wanted to be able to pause the music when a call came in, and to adjust the system volume accordingly.

                          When the audio line is active, it also unmutes the Line-In input.

                          -av
                          Read about my Car PC at www.avbrand.com/projects/carpc -- LED sign now functional!

                          Comment


                          • #14
                            This is a very nice solution using parts that are easy to obtain. What I would like to see is a simple boxed up bluetooth module (running a HSP/HFP service) with a Serial or USB plug to it.. it could have audio inputs/outputs or just route the audio through the USB ... there are so many of those devices on the market today for OEM/ODM integration (not to say already in use), it just just amazes me that nobody has made anything like that available yet... *cough* Mitch? *cough* Mitch? *cough*...
                            Ride Runner RR's Myspace

                            "Being happy is not about having what you want, it's about wanting what you have."
                            "The best things in life are always free - but that doesn't mean money can't buy you good things."

                            Comment


                            • #15
                              This is a very interesting way to go and the Arduino looks like it is well within my ability to tinker with. I guess you could address the display of numbers by using the CK3100 which has a built in display. The Arduino is very well priced even in this country.

                              However, following on from Guino's comments, how feasible would if be to marry the Arduino up with a Parrott CK5000 developers board or something like this?
                              http://www.blueradios.com/evaluationkit.htm which supports a dedicated PCM voice audio channel. Downside to this one is that you are stuck with the AT command set.

                              I'm off on a holiday for 3 weeks now, but will be interested to see what ideas spring up when I return.

                              Rod
                              RodW
                              2007 Toyota Hilux with a CarPC..

                              Worklog: http://www.mp3car.com/vbulletin/work...ota-hilux.html
                              OziExplorer GPS Embedded in RR: http://www.mp3car.com/vbulletin/sb-s...iexplorer.html

                              Comment

                              Working...
                              X