Announcement

Collapse
No announcement yet.

Voyager: Bluetooth OBDii for the Droid

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

  • Voyager: Bluetooth OBDii for the Droid

    Project name: Voyager:

    This is a little project I'm working on to connect my Droid phone with my vehicle through Bluetooth.

    So far the project is a great success. The only bottle neck is designing (learning curve, grrr) the user interface. All mode 01 codes are working great at this point.

    Right now I'm working to enhance the user interface. I'm thinking of decoupling the user interface from my communications logic so that anybody can write a user interface by making a TCP/IP connection to the Voyager service. Anybody interested?



    As we can see in the screenshot, the data is there, it just needs to be presented to the user in an appealing format.

    I've written the code with future enhancements in mind so the sky is the limit. If you have an idea feel free to request it in this thread and we can discuss.

  • #2
    Great job so far! I like the idea of disconnecting the UI from the comm logic. In fact, this is along the lines of what we aim to to with the OSDash project. For example, there could be an "OBDII user interface" service that is drawn upon when you run the program.

    Other users on different phones could use the interface even if they weren't running Voyager on a Droid. Several different interfaces could be designed and the user can choose them from the web interface.

    If you're interested, head over to the OSDash forum and see what the deal is. There's already a VIN and DTC web service proposed. These two could work together to compliment each other.
    Originally posted by ghettocruzer
    I was gung ho on building a PC [until] just recently. However, between my new phone having internet and GPS and all...and this kit...Im starting to have trouble justfiying it haha.
    Want to:
    -Find out about the new iBug iPad install?
    -Find out about carPC's in just 5 minutes? View the Car PC 101 video

    Comment


    • #4
      man, add the ability to accept input from a second touchscreen monitor, and play files from a usb hard drive, then FB support.. and i just wasted money on trying to get an actual computer in my car..
      that's kinda depressing.
      but really exciting too.
      ---------
      I'll do the bumbling, and i'll be the idiot.
      if you've got a "stupid" question, search for some of mine!

      Comment


      • #5
        Originally posted by Bugbyte View Post
        Great job so far! I like the idea of disconnecting the UI from the comm logic. In fact, this is along the lines of what we aim to to with the OSDash project. For example, there could be an "OBDII user interface" service that is drawn upon when you run the program.

        Other users on different phones could use the interface even if they weren't running Voyager on a Droid. Several different interfaces could be designed and the user can choose them from the web interface.
        Great perspective, thanks! I am still trying to wrap my head around OSDash, FB. etc. A lot of progress has been made by other users and I think it is beneficial for new apps to mesh with the existing framework. I'll continue to get up to speed and do what I can to "mesh".

        Comment


        • #6
          Right, so the basic idea would be to write the platform specific code for the Droid. Then, the skin could be supplied by the service. Obviously, you could code a default skin but with the web service, and people could select different skins using the web interface for OSDash. With user ID and password in place, you would store your personal settings.

          Since a VIN and DTC lookup service is proposed for OSDash, you could add that to your app without rolling your own.

          If someone writes a car maintenance and tracking service, again, you could use your app to supply OBD information to that service or use that service to supply your app with info, if it applies.

          Nobody has stepped up to write a client for the Droid yet but since the Linux client is open source, maybe someone will use that as a starting point and we can supply OSDash services to the Droid community.
          Originally posted by ghettocruzer
          I was gung ho on building a PC [until] just recently. However, between my new phone having internet and GPS and all...and this kit...Im starting to have trouble justfiying it haha.
          Want to:
          -Find out about the new iBug iPad install?
          -Find out about carPC's in just 5 minutes? View the Car PC 101 video

          Comment


          • #7
            Although what you are explaining sounds more like a Droid front-end for OSDash, I think it would be possible to have a single UI for OSDash and Voyager after I separate the Voyager UI from the Voyager Service.

            For the short term, it may be best to keep Voyager focused on Droid + Bluetooth + OBDii and spin it as "Droid is the carputer", and save "Droid connects to the carputer" for a future, fun project.

            Some long-term goals I have for Voyager:
            * Add support for vehicle specific OBD codes for things beyond the basic mode-1 PIDs
            * Analysis - analyze historical data and provide summaries and reporting
            * Add a timepedia chronoscope to view historical data on composite graphs (Load versus speed for example).
            * High-level diagnostics - one example might be to tell that the air filter is due to be replaced, based on historical datapoints from the appropriate mode-1 PID or PIDs combined.
            * Calculate vehicle weight, power, acceleration profile, etc etc.
            * Interface to a central database which stores vehicle metrics, statistics, trip info, etc. for reporting and data mining.
            * Interface with GM Driver Information Center (the dot matrix display in the dash)
            * Interface with OnStar, anything else on the CAN network.

            Comment


            • #8
              Sorry, not trying to throw you off track there. OSDash isn't a front end. It is a project to implement web services that can be used by whoever for whatever they want. Sure, front ends can use it but so can standalone apps. The idea is to write once, share across platforms. The mobile hobbyist universe is too small to have to reinvent the wheel all the time.

              In your case, support for vehicle specific OBD codes would be something that you could use an OSDash service to retrieve.

              The central database stuff would make a good OSDash service as well but hasn't been proposed by anyone yet.

              Keep up the good work!
              Originally posted by ghettocruzer
              I was gung ho on building a PC [until] just recently. However, between my new phone having internet and GPS and all...and this kit...Im starting to have trouble justfiying it haha.
              Want to:
              -Find out about the new iBug iPad install?
              -Find out about carPC's in just 5 minutes? View the Car PC 101 video

              Comment


              • #9
                Originally posted by regulatre View Post
                Although what you are explaining sounds more like a Droid front-end for OSDash, I think it would be possible to have a single UI for OSDash and Voyager after I separate the Voyager UI from the Voyager Service.

                For the short term, it may be best to keep Voyager focused on Droid + Bluetooth + OBDii and spin it as "Droid is the carputer", and save "Droid connects to the carputer" for a future, fun project.

                Some long-term goals I have for Voyager:
                * Add support for vehicle specific OBD codes for things beyond the basic mode-1 PIDs
                * High-level diagnostics - one example might be to tell that the air filter is due to be replaced, based on historical datapoints from the appropriate mode-1 PID or PIDs combined.
                No need to re-invent the wheel: http://www.mp3car.com/vbulletin/open...ubproject.html

                And like bugbyte said these features will be available from the OSDash project.
                openMobile - An open source C# Front End (why choose openMobile?)
                - Always Recruiting Developers -
                Like what you see? Donations are always welcome

                Comment


                • #10
                  Aah I'm getting up to speed, slowly . OSDash has a web component that Voyager could interface with to obtain information and upload information, thus offloading the amount of stuff (Logic and stored data) that has to be packaged with the app.

                  If the OBD data could be uploaded to an OSDash web server then some of the analytics I proposed might be carried out from the OSDash web site. Users might even have an option to compare their vehicle's performance to others' with the same year/make of car.

                  Thanks BugByte!

                  Comment


                  • #11
                    Exactly!

                    OSDash is a web framework with a variety of services that can be interfaced with by a variety of applications. It includes a client library to interface with the services but all of the APIs are public and documented so anything can interface with it. Theres also a web based UI for the services that users can use for exactly what you described.
                    openMobile - An open source C# Front End (why choose openMobile?)
                    - Always Recruiting Developers -
                    Like what you see? Donations are always welcome

                    Comment


                    • #12
                      Originally posted by justchat_1 View Post
                      No need to re-invent the wheel: http://www.mp3car.com/vbulletin/open...ubproject.html

                      And like bugbyte said these features will be available from the OSDash project.
                      Thanks JC! Although I hadn't proposed a diagnostic codes DB like what they are working on in that project I think its database could be nicely leveraged. For example if Voyager detects trouble codes present in the ECU, it could interrogate a web server and obtain detailed information, including web URLs for the user to learn more about each code.

                      Comment


                      • #13
                        Thats actually one of my projects....but we took it a step further -> translated each manufacturer specific DTC to a universal DTC and then use the combinations of universal DTCs to determine likely causes. So instead of just EVAP system leak detected we provide trouble shooting steps like 1) Ensure the gas cap is securely tightened....etc.

                        Edit:
                        nice impala btw
                        openMobile - An open source C# Front End (why choose openMobile?)
                        - Always Recruiting Developers -
                        Like what you see? Donations are always welcome

                        Comment


                        • #14
                          Bravo! I like it!
                          I saw some chatter on the thread about storing manufacturer specific codes in the database. It seemed to die down quickly but my interest is piqued.

                          I'm also sold on the OSDash ideas. To add an internet-aware adapter to the Voyager code base wouldn't take much work, in theory.

                          Comment


                          • #15
                            My droid is drooling. Good job, I was actually thinking about this last week.

                            Comment

                            Working...
                            X