Giter Club home page Giter Club logo

carbusinterface's Introduction

I'd love to hear if you find this project useful in any way. Please send a quick note to [email protected] or tweet @theksmithphx!

Car Bus Interface

An android application for interfacing with a vehicle's communication bus via Bluetooth OBD2 dongle (ELM327 compatible). It allows the Android device to respond to specific bus messages, such as those occurring when the user presses physical buttons inside the vehicle.

This is an evolution of the Steering Wheel Interface app, written to be more configurable and for Bluetooth dongles instead of USB.

Please visit the Wiki for how to get started using the app: https://github.com/theksmith/CarBusInterface/wiki

Copyright and License

Copyright 2016 Kristoffer Smith and other contributors.

This project is licensed under the MIT License - i.e. do what ya want, but give credit.

Ongoing Development

Pull requests are welcome! Please contact me if you'd like to do a major re-work or extension of the project.

Project home: https://github.com/theksmith/CarBusInterface

  • The project is currently setup for Android Studio 1.5.1. If you get build errors, be sure you are opening the folder "Android Studio Project", not this root folder!

  • No third party libraries are required.

Credits

Authors

Contributors

  • None yet

Acknowledgments

carbusinterface's People

Contributors

theksmith avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

carbusinterface's Issues

error when building/running in lollipop

Just downloaded your project and trying to build/run it but not having luck.
I’m using Nexus 7 running latest version of android.
appears that the apks in the “Recent Builds” don’t run — so I ran the source code in android studio and got the following error:

Attempt to invoke virtual method 'android.content.pm.ApplicationInfo android.content.Context.getApplicationInfo()' on a null object reference

05-25 21:08:27.448 14541-14541/com.theksmith.android.car_bus_interface I/art﹕ Not late-enabling -Xcheck:jni (already on)
05-25 21:08:27.469 14541-14541/com.theksmith.android.car_bus_interface D/CBIActivityMain﹕ appCheckForFirstRun()
05-25 21:08:27.481 14541-14541/com.theksmith.android.car_bus_interface D/CBIActivityMain﹕ onCreate() : action= android.intent.action.MAIN
05-25 21:08:27.481 14541-14541/com.theksmith.android.car_bus_interface D/CBIActivityMain﹕ serviceMainStart()
05-25 21:08:27.499 14541-14541/com.theksmith.android.car_bus_interface D/CBIServiceMain﹕ CBIServiceMain()
05-25 21:08:27.499 14541-14541/com.theksmith.android.car_bus_interface D/AndroidRuntime﹕ Shutting down VM
05-25 21:08:27.500 14541-14541/com.theksmith.android.car_bus_interface E/AndroidRuntime﹕ FATAL EXCEPTION: main
Process: com.theksmith.android.car_bus_interface, PID: 14541
java.lang.RuntimeException: Unable to instantiate service com.theksmith.android.car_bus_interface.CBIServiceMain: java.lang.NullPointerException: Attempt to invoke virtual method 'android.content.pm.ApplicationInfo android.content.Context.getApplicationInfo()' on a null object reference
at android.app.ActivityThread.handleCreateService(ActivityThread.java:2749)
at android.app.ActivityThread.access$1800(ActivityThread.java:151)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1386)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5257)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698)
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'android.content.pm.ApplicationInfo android.content.Context.getApplicationInfo()' on a null object reference
at android.content.ContextWrapper.getApplicationInfo(ContextWrapper.java:149)
at android.app.Notification$Builder.(Notification.java:2041)
at com.theksmith.android.car_bus_interface.CBIServiceMain.(CBIServiceMain.java:109)
at java.lang.reflect.Constructor.newInstance(Native Method)
at java.lang.Class.newInstance(Class.java:1606)
at android.app.ActivityThread.handleCreateService(ActivityThread.java:2746)
at android.app.ActivityThread.access$1800(ActivityThread.java:151)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1386)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5257)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698)

image

Building the project

Ok sorry for being a noob, how exactly do you build it. I have forked your repo, and opened the project in Android Studio 4.2 and it is asking for config? it says it is only for Android Studio 1.5.1 is that correct? That's a five year old version of android. Yikes!

3:22 PM	Gradle sync failed: Unsupported method: SyncIssue.getMultiLineMessage().
				The version of Gradle you connect to does not support that method.
				To resolve the problem you can change/upgrade the target version of Gradle you connect to.
				Alternatively, you can ignore this exception and read other information from the model.
				Consult IDE log for more details (Help | Show Log) (10 s 255 ms)

Listening to the BUS for VIM

This is less of an issue and more of a question as to whether this has the functionality. I am interested in disabling a "video in motion" feature. Essentially, the car can allow for a rear auxillary input in which you can display video, ie gauges, on the stock headunit. However, the stock functionality blocks this ability to have the video play while the vehicle is in motion.

My question is, can CarBusInterface listen to the BUS traffic and if it sees the command, block the given command, or immediately issue another command to disable it.

Given of course I know what the commands are. If the listening portion is possible, then it will be possible to find the command.

Tutorial

Hi there,

I was doing some data analysis and compared your application to some other apps and found that people are really loving tutorials on various setups like setting up their obd2 and it would be a great asset for your app if you include it too.

WiFi connection

Does anyone work on it? Is there any chance co connect via Wifi?

USB support

It's not an issue but it would be cool to have an option to use bluetooth or usb-serial. I saw your Steering-Wheel-Interface project, but it looks like you will not support it any more.

Increase android:versionCode

The android:versionCode is an integer that get's checked when an app checks for updates. Your verion "name" gets bumped, but for Android this is just renaming an already delpoyed verison, namely versionCode 1. Update this integer with every release.

Scanner

Hi,

I did some analysis on your applications and some other applications and found that people highly praise good scanners in such applications so as to easily connect their vehicles without going through a long procedure of typing all the details. It would be really good to have something like that in the applciation.

Release apks

It would be nice to have release apk's on GH release tags info.

use conditions

Hey there,

i would love to see a feature to use conditions like

  • is the car radio turned on?
  • is MP3 (Aux) the selected source?
  • is the radio muted or not?

I want to use the steering wheel to controll the media on my tablet in the car but only if the radio is set to mp3. The codes/ids to read that from canbus can be found on the internet (for example audiforum.us or janssuuh.nl)

not working reliably after upgrade to Lollipop 5.0.2 on Sony Xperia Z2 tablet

i upgraded my Sony Xperia Z2 tablet (Verizon model SGP561) from Kitkat 4.4.x to Lollipop 5.0.2 and now the app rarely works without first manually issuing a command in the debug terminal. there are no errors or crashes, and no errors were noticed in logcat either. the app appears to connect OK, but never begins receiving bus data from the ELM adapter without the manual command.

some part of the service looks like it may be "hanging" during launch. sending any command form the debug terminal causes the startup commands to be issued again and everything begins to work. note that just using the menu option "re-send startup commands" in the terminal does not work though.

i've tried manually launching the app as well as using the "automatic launch" setting, neither makes a difference.

i am using version 1.0 of the app (car_bus_interface_v1.0-debug.apk)

Tasker Command Support

Awesome app! It's great having Tasker monitor support, but is it possible to have support to send commands from Tasker as well?
I tried using an app called SerialBluetoothTasker, but something about it isn't working. I can see lights flash on the adapter when it sends the command, but I think maybe it cuts off the stream before the whole command is sent or something strange like that. I actually tried to write my own Java functions in Tasker as well but had the same results. Your app has been the only one that I can get to reliably send commands.

Create Build docs

It would be really nice if there were step by step build docs for new users. Currently it's guess work.

Not data on Debug Terminal

Hi, i use your app (build on android studio, not your direct apks) with Android 9 xiaomi mi 8.

i use also a ELM327 OBD2 Bluethoot on my Opel Astra K.

In your app, on debug terminal view i view nothing cuan bus records.

i have this error on logcat:

2020-02-13 13:40:25.718 31156-2079/com.theksmith.android.car_bus_interface W/CBIServiceMain: BTConnectThread.run() : failed to connect : exception= read failed, socket might closed or timeout, read ret: -1
java.io.IOException: read failed, socket might closed or timeout, read ret: -1
at android.bluetooth.BluetoothSocket.readAll(BluetoothSocket.java:762)
at android.bluetooth.BluetoothSocket.waitSocketSignal(BluetoothSocket.java:715)
at android.bluetooth.BluetoothSocket.connect(BluetoothSocket.java:404)
at com.theksmith.android.car_bus_interface.CBIServiceMain$BTConnectThread.run(CBIServiceMain.java:532)

what is the problem?
can i have a tutorial that explain how can use your app to debug every obd2 and canbus data?

regards,

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.