Android Cluster Display Project - Relay Navigation, Music Info, OBD, Caller ID, more

Search This thread

talalalal

Senior Member
Oct 23, 2008
57
17
Background:
- Presently there doesn't seem to be a method of relaying information from our Android head units to OEM Instrument cluster displays (turn directions, speedcam alerts, OBD/Torque info, callerid, message alerts, etc.).
IMAG0123-1.jpg


- I've begun working on a system to relay and display such information from an android head unit to the instrument cluster display.
- As I have little/no development experience I've built current functionality using Tasker and associated plugins (Notification Listener, AutoRemote, etc.).

How it Works:
1. Turn by Turn Directions:
- When navigating with Google Maps a persistent notification is created in the notification drawer. This notification updates with simplified navigation information (next turn direction, distance to next turn, additional description [e.g. turn right onto random street], time/distance to destination, estimated arrival time).
-> The Tasker plugin 'Notification Listener' is able to track and extract information from this notification in real time.
-> A Tasker task utilises pattern matching to determine the main navigation action (Right Turn, Left Turn, Straight, Merge, U-Turn, Roundabout, etc.).
-> According to the pattern matching, IF then ELSE statements initiate additional actions, splitting the notification text to set the relevant parts of the text into different variables.
-> These variables are either directly displayed in a Tasker Scene, or their contents alter other elements (visibility of scene elements, Turn Icons).
-> One variable dictates the Turn Icon displayed in the Tasker Scene. For Example: When a right turn is detected by pattern matching, a variable is set to the file path of a right turn icon image. The same variable is changed according to the next turn direction. A single image in Tasker is set to display the image of that variable (and thus shows the next turn icon).

Current Development Status:
WORKING
a. Recognises and shows: - When no destination is entered in Google Maps - Message to continue onto a road to begin journey - Right & Left Turn icons - Straight icon - U-Turn icon.
b. Distance to next turn.

REQUIRED
a. Icons and messages to indicate: - Roundabout exits - Merge onto... - Arrival notification - Other unusual turn/navigation notifications.
b. Time to destination (I tried to integrate this but the extra split operation seemed to to increase lag in display of more important information such as distance to the next turn). I'm sure there's a good workaround for this.
c. Additional turn information text (e.g. turn right onto random street). This is an easy task, will implement soon.
d. Improvement of navigation information update frequency - Presently when there are frequent updates (e.g. when approaching a next turn at high speed the distance to next turn changes more frequently) there can be a minor lag between the next turn information in google maps (and notification) and its display in the Tasker Scene. Generally it's working fine though.

2. Speed Camera Alerts:
- Speed Camera information is loaded onto an app called 'Speed Trap Pro' (found on Play Store).
--> A Tasker plugin named 'Auto Speed Trap' alters Tasker variables (Distance to Camera, Camera type, etc.) when approaching a Speed Camera (GPS based).
--> A Tasker task is set to recognise when user is approaching a Speed Camera and temporarily change the image path of the turn indicator to a Speed Camera icon in the Tasker Scene (until speed camera is passed). Distance to the Speed Camera is also displayed.

WORKING
All implemented.
REQUIRED
Text showing distance to the next speed cam does not update frequently enough/smoothly.

3. Music Player Information:
- When a song is changed on the head unit, artist and song information can be temporarily shown in the area that usually shows next turn text (e.g. instead of 'turn right onto random street' it would show 'Led Zeppelin - Stairway to Heaven').

WORKING
Working.
REQUIRED
Could be developed to scroll song information when either the Artist or Song name is too long to fit on the screen.

4. Caller ID:
- This should display the caller ID of incoming calls (in the same area as the music player information).
- I'm not sure whether this information could be drawn directly from the head unit or if it would have to be relayed from the user's phone to the instrument cluster display client (described below).
- This can rely on Notification Listener and AutoRemote.
- when incoming call —> center media control answers.

NOT IMPLEMENTED

5. Message Alerts:
- This should display contact information and message text for new messages (SMS, Whatsapp, etc.).
- should save last 5 messages (only received during driving) —> allow scroll through under messaging tab —> allow reply (long press center button).
- Similar challenges to Call ID.

NOT IMPLEMENTED

6. OBD Information:
- This would draw real time vehicle information from a bluetooth OBD dongle and display it on the cluster display (e.g. 0-60 times, fuel consumption, etc.).
- Torque is a great Android app that interprets information from OBD data.
-> Presently there is no dedicated Tasker plugin for Torque, or other OBD apps, however a solution might be found in Torque's API:
http://torque-bhp.com/wiki/PluginDocumentation
-> Preferably Torque OBD information would be updated in real time.

7. Radar Detector Integration:
- I own a Valentine V1 Radar Detector. The Valentine V1 is able to connect to Android over Bluetooth (SPP).
- There is an API. It would be nice to integrate radar detection alerts into the Tasker Scene’s UI (like with regular speedcam alerts).
- Alternatively there is an app called YaV1 that can serve heads up alerts.

7. USER INTERFACE:
- Bluetooth or CANBUS steering wheel controls can be used to navigate the interface.
(e.g. http://www.satechi.net/index.php/satechi-bluetooth-button-series-media-button).
- These would be remapped to Tasker tasks to run different actions according to which screen is in view.
- Below is my proposed UI/UX:
Screen%20Shot%202015-11-21%20at%2015.37.12.png


Screen%20Shot%202015-11-21%20at%2015.37.40.png


- The interface requires implementation/ improvement and can be adapted for your particular cars.

8. SECOND DISPLAY SOFTWARE:
- All previous functions are presently running locally (i.e. on the device on which Google Maps Navigation/ Music Playing/ Calls/ Messages are taking placed [the head unit]).
- This information must be relayed to the console display.
- My present plan is to relay this information to a second android phone/client.
-> This could be done using the Tasker plugin 'AutoRemote'. AutoRemote is able to send Tasker variables from one device to another. This can work over Bluetooth, a local WIFI network, or online.
- It is important to devise this system in a way that will minimise latency between triggering of notifications on the Headunit or user phone, and their appearance on the instrument cluster display. This is particularly important for navigation information.
-> In order to achieve this, as few as possible variables should be sent from the head unit. Any actions that increase the number of the variables should take place on the client device rather than the head unit.

There are 2 ways in which this can be implemented (regarding navigation turn directions):
a. Google maps notifications can be extracted by the head unit, set as Tasker variables and sent to the client Android's Tasker over Bluetooth/Wifi.
-> Split actions will be applied on the client device.
-> The scene will run on the client android according to resultant variable information.

ADVANTAGES: - Less requirements from the client device.
DISADVANTAGES: - Latency may not be acceptable.

b. When a destination address is set in Google Maps its coordinates are set in a log file (I think! If not then the address can be processed into coordinates by a geocoder). These coordinates can be sent from the head unit to the client Android and set to launch Google Maps navigation on the client with the same destination as the head unit.

ADVANTAGES: - Many less variables will need to be sent by AutoNotification - Latency should be far lower.
DISADVANTAGES: -The client device will need to have a functioning GPS, to be positioned in a place where it functions (less obstructions), and to have a functioning internet connection.
THOUGHTS: I would tend towards option B.

SYSTEM MAP:
Below is a proposed system map. One potential problem is that there are multiple devices (OBD + Radar detector + Head Unit > Client Connection (AutoRemote)) connecting to the same device over the same Bluetooth profile (SPP). This doesn’t work for all devices - will have to test to find out.

Screen%20Shot%202015-11-21%20at%2015.38.02.png


An alternative method would use a 3g WIFI Modem to provide data to the devices and to transfer data over Autoremote. This would free the Head Unit > Android Client connection from relying on the SPP Bluetooth Profile. The OBD dongle could then be connected to the Head Unit, and the Radar detector connected to the Android Client.
Screen%20Shot%202015-11-21%20at%2015.37.53.png


8. SECOND DISPLAY HARDWARE:
- Once head unit information has been transferred and processed into a Tasker Scene on the Android client, it needs to be displayed on the instrument cluster display.
-> This can be implemented in 2 ways:
1. Replace the existing instrument panel display with a small display that can connect to an android phone/raspberry pi over MHL/Slimport/HDMI/VGA.
-> This is the smallest display I could find with a tested HDMI input. It is larger than the OEM cluster display on a VW so may cause problems:
http://www.buydisplay.com/default/er-tftv043-4

2. Output CanBus Information to the existing display (seems like it may be possible using this adaptor:
https://www.kickstarter.com/projects/etx/canbus-triple-the-car-hacking-platform).

THOUGHTS: I have decided to implement option A. This is not the smoothest solution as it requires replacement of instrument cluster display, but as I don't have any development experience, this is simply what I am able to achieve.

Where Do We Start:
1. Let me know your thoughts on the project.
2. I've attached Tasker project files and icons:
a. Import Tasker Project: https://dl.dropboxusercontent.com/u/4719739/Car_Present.prj.xml
b. Download icons onto your device: https://dl.dropboxusercontent.com/u/4719739/icons.zip
c. Change 'DIRECTIONWATCH' and 'SPEEDCAMIMAGE' variables: Set 'Notification Listener' Task variables to Right, Left, Straight, U-Turn icons, ' No Destination' to a vehicle icon of your choice (mine is for VW), 'Speedtrap' to the Speedtrap icon and 'Cancel Speedtrap' to the blank PNG. link the location you place each of the attached icons (different turns, vehicle logo, speedtrap, blank png for cancel speedtrap).
Install the following apps and Tasker plugins:
- Notification Listener: https://play.google.com/store/apps/details?id=com.balda.notificationlistener&hl=en
- Speed Trap Pro - optional if you want speed camera alert: https://play.google.com/store/apps/details?id=com.balda.speedtrappro
- Auto Speed Trap - as above: https://play.google.com/store/apps/details?id=com.balda.autospeedtrap

d. Launch the task 'Scene'.
e. Enter a destination and begin navigation in Google Maps.

- Let me know how it works.
- Feel free to discuss and chip in however you can.
 
Last edited:

Nova8316

Member
Jan 11, 2015
42
4
Hi,
Nice idea but it will be kind of diificult. I was also thinking myself that that can be acchived because we have all the information. But sending them back to the cluster is the hard part.

My Experience : VW cluster, Huifei with CanBus support.

There is already the needed function in one of the MTCA pps to send some information.
In my cluster, I can see : Music track / length, "Video" if a video is played, SD Card xhen music comes from SD Card, Radio frequency .....

The apps, depending on your choice in the Settings (Canbus settings) is sending information trought the MCU I think.
There are some functions like SendRadio(), SendMusic().....
That is the bad news because if we want to add some custom info, maybe we can't because we would have to modify also MCU img.

I've seen on other forums some guys successfully displaying all kind of information on their cluster, but it was a more hardware specific device (CANBUS + RS232.....).

Definitely possible, but a lot of work.
 

talalalal

Senior Member
Oct 23, 2008
57
17
Very cool project mate :good:

I dont have a cluster display or I would definitely be giving this a go!

Thanks. The other option is to use it on a second phone and tape it infront of the steering wheel. Would still function as a second display for all vital information.
 

talalalal

Senior Member
Oct 23, 2008
57
17
Hi,
Nice idea but it will be kind of diificult. I was also thinking myself that that can be acchived because we have all the information. But sending them back to the cluster is the hard part.

My Experience : VW cluster, Huifei with CanBus support.

There is already the needed function in one of the MTCA pps to send some information.
In my cluster, I can see : Music track / length, "Video" if a video is played, SD Card xhen music comes from SD Card, Radio frequency .....

The apps, depending on your choice in the Settings (Canbus settings) is sending information trought the MCU I think.
There are some functions like SendRadio(), SendMusic().....
That is the bad news because if we want to add some custom info, maybe we can't because we would have to modify also MCU img.

I've seen on other forums some guys successfully displaying all kind of information on their cluster, but it was a more hardware specific device (CANBUS + RS232.....).

Definitely possible, but a lot of work.

True. The cluster part is most difficult (and beyond my abilities). For the first stage I intend to connect an old phone to an external 3inch lcd and place it instead of the cluster display.The old phone will act as the client.
On a vw its pretty easy to take apart the cluster. Only problem might be if the lcd doesn't fit in place of the cluster display. Will take it apart soon to check.

One part I could use help with is the OBD/Torque data extraction. Has anyone managed to interface with torque that could extract data to Tasker?

I'll upload an updated version of the navigation and interface later today.
 

typos1

Senior Member
  • Apr 3, 2007
    9,407
    1,695
    UK
    As Nova8316 says, this is supported already on the MTCB head units via the "Car service" app, which appears or disappears depending on what CAN Bus setting the MCU is on, support is a bit patchy - some cars are not supported at all and some only partially, mainly the most popular cars are supposted VW Group for instance.

    The MCU basically talks to the CAN Bus system via the CAN Bus high/Tx and CAN Bus Low/Rx lines and/or the CAN Bus adapter. Would it not be easier to try and make this work for your car/more cars by trying to add functionality to the existing set up ?
     

    talalalal

    Senior Member
    Oct 23, 2008
    57
    17
    As Nova8316 says, this is supported already on the MTCB head units via the "Car service" app, which appears or disappears depending on what CAN Bus setting the MCU is on, support is a bit patchy - some cars are not supported at all and some only partially, mainly the most popular cars are supposted VW Group for instance.

    The MCU basically talks to the CAN Bus system via the CAN Bus high/Tx and CAN Bus Low/Rx lines and/or the CAN Bus adapter. Would it not be easier to try and make this work for your car/more cars by trying to add functionality to the existing set up ?

    Hi, sorry for super late reply. Busy months with work.

    1. Some of the features seem to be supported by the Car Service app, but not all. Are navigation directions supported? This is most important for me.

    2. Additionally, for me at least, my cluster display is old and doesn't support all functionality. This implementation would allow for a visually appealing display that supports infinite customisation (adding speed camera alerts other).

    3. I'd love to add the rest of the features via support of the existing display, I'm not a programmer, my abilities are presently limited to Tasker.

    - If anyone wants to help I can upload my latest implementation soon. I'm working on adding simple call and message alerts.

    I've decided to trigger Google Maps on the secondary display connected android device, rather than passing turn notifications one by one over Bluetooth. The way it should work is that when you enter a destination into Google Maps on the Head Unit --> the destination information will automatically be extracted and sent via Tasker and Autoremote to the secondary display connected android device.

    --> My problem here is that I haven't been able to extract current destination information from Google Maps. Can anyone suggest a way of doing this?
    I've tried a suggestion to run the following script:

    sqlite3 /data/data/com.google.android.apps.maps/databases/da_destination_history "select dest_address from destination_history order by time desc limit 1;"

    Unfortunately this script seems dated as I can't find the database da_destination_history on the latest iteration of Gmaps. Instead the following databases are found under google maps:
    ue3.db-journal, ue3.db, gmm_myplaces.db, gmm_storage.db, gmm_storage.db-journal, gmm_offline{some long number].db-wal, gmm_offline{some long number].db-shm, some more..

    Out of these files, gmm_storage.db does seem to contain the current destination address, but I can't find a way of identifying it as such within the file, thereby allowing operations to recognise and extract the destination address.

    Any help would be greatly appreciated.

    Thanks.
     

    typos1

    Senior Member
  • Apr 3, 2007
    9,407
    1,695
    UK
    I guess if you dont have the skills to code and your car display doesnt support what you want then this is the way to go.
     
    Last edited:

    Praha_Jim

    Member
    Apr 27, 2016
    10
    2
    I guess if you dont have the sills to code and your car display doesnt support what you want then this is the way to go.

    I've got a VW Passat 2012 and would gladly help with any testing needed. Not sure how helpful I can be with development but can try stuff out.
     

    psychegr

    Member
    Apr 10, 2016
    26
    10
    Hi,
    Nice idea but it will be kind of diificult. I was also thinking myself that that can be acchived because we have all the information. But sending them back to the cluster is the hard part.

    My Experience : VW cluster, Huifei with CanBus support.

    There is already the needed function in one of the MTCA pps to send some information.
    In my cluster, I can see : Music track / length, "Video" if a video is played, SD Card xhen music comes from SD Card, Radio frequency .....

    The apps, depending on your choice in the Settings (Canbus settings) is sending information trought the MCU I think.
    There are some functions like SendRadio(), SendMusic().....
    That is the bad news because if we want to add some custom info, maybe we can't because we would have to modify also MCU img.

    I've seen on other forums some guys successfully displaying all kind of information on their cluster, but it was a more hardware specific device (CANBUS + RS232.....).

    Definitely possible, but a lot of work.
    Hi,

    I did some research and i think that the MCU has nothing or little to do with sending and receiving messages/info from/to the car. The main unit communicates with the canbus converter using serial rx/TX at a 38400bps. This is where the mcu gets out of the game. The serial protocol between the HU and the canbus decoder is the same for all the HUs and canbus decoders. According to this all the hard job is done on the canbus decoder. The more PIDs that it supports, the more the HU can show you!
    I am working on the same thing for my Mercedes car. I need 3 things to do:

    1. Interpret the canbus PIDs.
    2. Interpret the serial protocol between the HU and the canbus converter.
    3. Write an app that listens to the serial port that the HU is connected to and start playing with messages.

    On the above the only difference for various cars is the supported canbus PIDs which are by no way the same between different car brands and sometimes between car models.

    So at the end i believe that i will build my own canbus converter for my car! (i have to re invent the wheel)
    If anyone has info about the serial protocol between the HU and the canbus decoder and willing to share, it would help a lot.

    Regards
     
    • Like
    Reactions: marchnz

    Nova8316

    Member
    Jan 11, 2015
    42
    4
    Hi,

    I did some research and i think that the MCU has nothing or little to do with sending and receiving messages/info from/to the car. The main unit communicates with the canbus converter using serial rx/TX at a 38400bps. This is where the mcu gets out of the game. The serial protocol between the HU and the canbus decoder is the same for all the HUs and canbus decoders. According to this all the hard job is done on the canbus decoder. The more PIDs that it supports, the more the HU can show you!
    I am working on the same thing for my Mercedes car. I need 3 things to do:

    1. Interpret the canbus PIDs.
    2. Interpret the serial protocol between the HU and the canbus converter.
    3. Write an app that listens to the serial port that the HU is connected to and start playing with messages.

    On the above the only difference for various cars is the supported canbus PIDs which are by no way the same between different car brands and sometimes between car models.

    So at the end i believe that i will build my own canbus converter for my car! (i have to re invent the wheel)
    If anyone has info about the serial protocol between the HU and the canbus decoder and willing to share, it would help a lot.

    Regards

    You can try to decompile the Vehicle.apk file which only read some PID from the canubus.
    You can dmsg with a terminal and see that one of the devtty is outputting some strings.
    Also, the Music app is sending the info through the MtcCanbusManager. This program is the one that send the correct strings to the canbus decoder.

    If you go with a standalone canbus decoder, you would do more things.
     

    psychegr

    Member
    Apr 10, 2016
    26
    10
    You can try to decompile the Vehicle.apk file which only read some PID from the canubus.
    You can dmsg with a terminal and see that one of the devtty is outputting some strings.
    Also, the Music app is sending the info through the MtcCanbusManager. This program is the one that send the correct strings to the canbus decoder.

    If you go with a standalone canbus decoder, you would do more things.

    Yes i already saw that the canbus decoder works with strings. Mtccanbusmanager does all the job sending/receiving the strings and broadcasting the messages to the correct apps.
    I cant find the Vehicle.apk as i am looking for it almost a month now and noone seems to be able to post it on the forum. MTCControlInfo.apk is the app that i have decompiled. Is it the same?
     

    typos1

    Senior Member
  • Apr 3, 2007
    9,407
    1,695
    UK
    Yes i already saw that the canbus decoder works with strings. Mtccanbusmanager does all the job sending/receiving the strings and broadcasting the messages to the correct apps.
    I cant find the Vehicle.apk as i am looking for it almost a month now and noone seems to be able to post it on the forum. MTCControlInfo.apk is the app that i have decompiled. Is it the same?

    Its in all ROMs, so you should be able to find it somewhere.
     

    typos1

    Senior Member
  • Apr 3, 2007
    9,407
    1,695
    UK
    Is this supposed to be the "Vehicle.apk"?

    There are quite a few different apks like vehicle.apk, control settings.apk, etc, they appear and disappear depending on what CAN Bus setting you have the unit on in factory settings, but if you get the latest ROM you should be able extract all of them from it.

    (I ll get round to replying to your pm soon BTW, been very busy)
     

    Roerbakeitje

    Senior Member
    Aug 8, 2015
    577
    65
    i realy like this project.. but i whant to go a step furter.
    what if we juse a cheap ass android smartwatch. and make from that a mini HUD. MY peugeot have black small display for the warning ligts. like a 4 by 5 cm. when you put a little HUD foly on it an project the smartwatch to it you have a mini HUD. with you tricks here it must work.

    maby an idea?
     

    Mr.Hotwire

    New member
    Oct 30, 2016
    1
    0
    Has this gone any further? I just bought a 2016 VW GLI, and I am not happy that the turn by turn does not show up in the MFD in the cluster. There HAS to be a way...
     

    Top Liked Posts

    • There are no posts matching your filters.
    • 4
      Background:
      - Presently there doesn't seem to be a method of relaying information from our Android head units to OEM Instrument cluster displays (turn directions, speedcam alerts, OBD/Torque info, callerid, message alerts, etc.).
      IMAG0123-1.jpg


      - I've begun working on a system to relay and display such information from an android head unit to the instrument cluster display.
      - As I have little/no development experience I've built current functionality using Tasker and associated plugins (Notification Listener, AutoRemote, etc.).

      How it Works:
      1. Turn by Turn Directions:
      - When navigating with Google Maps a persistent notification is created in the notification drawer. This notification updates with simplified navigation information (next turn direction, distance to next turn, additional description [e.g. turn right onto random street], time/distance to destination, estimated arrival time).
      -> The Tasker plugin 'Notification Listener' is able to track and extract information from this notification in real time.
      -> A Tasker task utilises pattern matching to determine the main navigation action (Right Turn, Left Turn, Straight, Merge, U-Turn, Roundabout, etc.).
      -> According to the pattern matching, IF then ELSE statements initiate additional actions, splitting the notification text to set the relevant parts of the text into different variables.
      -> These variables are either directly displayed in a Tasker Scene, or their contents alter other elements (visibility of scene elements, Turn Icons).
      -> One variable dictates the Turn Icon displayed in the Tasker Scene. For Example: When a right turn is detected by pattern matching, a variable is set to the file path of a right turn icon image. The same variable is changed according to the next turn direction. A single image in Tasker is set to display the image of that variable (and thus shows the next turn icon).

      Current Development Status:
      WORKING
      a. Recognises and shows: - When no destination is entered in Google Maps - Message to continue onto a road to begin journey - Right & Left Turn icons - Straight icon - U-Turn icon.
      b. Distance to next turn.

      REQUIRED
      a. Icons and messages to indicate: - Roundabout exits - Merge onto... - Arrival notification - Other unusual turn/navigation notifications.
      b. Time to destination (I tried to integrate this but the extra split operation seemed to to increase lag in display of more important information such as distance to the next turn). I'm sure there's a good workaround for this.
      c. Additional turn information text (e.g. turn right onto random street). This is an easy task, will implement soon.
      d. Improvement of navigation information update frequency - Presently when there are frequent updates (e.g. when approaching a next turn at high speed the distance to next turn changes more frequently) there can be a minor lag between the next turn information in google maps (and notification) and its display in the Tasker Scene. Generally it's working fine though.

      2. Speed Camera Alerts:
      - Speed Camera information is loaded onto an app called 'Speed Trap Pro' (found on Play Store).
      --> A Tasker plugin named 'Auto Speed Trap' alters Tasker variables (Distance to Camera, Camera type, etc.) when approaching a Speed Camera (GPS based).
      --> A Tasker task is set to recognise when user is approaching a Speed Camera and temporarily change the image path of the turn indicator to a Speed Camera icon in the Tasker Scene (until speed camera is passed). Distance to the Speed Camera is also displayed.

      WORKING
      All implemented.
      REQUIRED
      Text showing distance to the next speed cam does not update frequently enough/smoothly.

      3. Music Player Information:
      - When a song is changed on the head unit, artist and song information can be temporarily shown in the area that usually shows next turn text (e.g. instead of 'turn right onto random street' it would show 'Led Zeppelin - Stairway to Heaven').

      WORKING
      Working.
      REQUIRED
      Could be developed to scroll song information when either the Artist or Song name is too long to fit on the screen.

      4. Caller ID:
      - This should display the caller ID of incoming calls (in the same area as the music player information).
      - I'm not sure whether this information could be drawn directly from the head unit or if it would have to be relayed from the user's phone to the instrument cluster display client (described below).
      - This can rely on Notification Listener and AutoRemote.
      - when incoming call —> center media control answers.

      NOT IMPLEMENTED

      5. Message Alerts:
      - This should display contact information and message text for new messages (SMS, Whatsapp, etc.).
      - should save last 5 messages (only received during driving) —> allow scroll through under messaging tab —> allow reply (long press center button).
      - Similar challenges to Call ID.

      NOT IMPLEMENTED

      6. OBD Information:
      - This would draw real time vehicle information from a bluetooth OBD dongle and display it on the cluster display (e.g. 0-60 times, fuel consumption, etc.).
      - Torque is a great Android app that interprets information from OBD data.
      -> Presently there is no dedicated Tasker plugin for Torque, or other OBD apps, however a solution might be found in Torque's API:
      http://torque-bhp.com/wiki/PluginDocumentation
      -> Preferably Torque OBD information would be updated in real time.

      7. Radar Detector Integration:
      - I own a Valentine V1 Radar Detector. The Valentine V1 is able to connect to Android over Bluetooth (SPP).
      - There is an API. It would be nice to integrate radar detection alerts into the Tasker Scene’s UI (like with regular speedcam alerts).
      - Alternatively there is an app called YaV1 that can serve heads up alerts.

      7. USER INTERFACE:
      - Bluetooth or CANBUS steering wheel controls can be used to navigate the interface.
      (e.g. http://www.satechi.net/index.php/satechi-bluetooth-button-series-media-button).
      - These would be remapped to Tasker tasks to run different actions according to which screen is in view.
      - Below is my proposed UI/UX:
      Screen%20Shot%202015-11-21%20at%2015.37.12.png


      Screen%20Shot%202015-11-21%20at%2015.37.40.png


      - The interface requires implementation/ improvement and can be adapted for your particular cars.

      8. SECOND DISPLAY SOFTWARE:
      - All previous functions are presently running locally (i.e. on the device on which Google Maps Navigation/ Music Playing/ Calls/ Messages are taking placed [the head unit]).
      - This information must be relayed to the console display.
      - My present plan is to relay this information to a second android phone/client.
      -> This could be done using the Tasker plugin 'AutoRemote'. AutoRemote is able to send Tasker variables from one device to another. This can work over Bluetooth, a local WIFI network, or online.
      - It is important to devise this system in a way that will minimise latency between triggering of notifications on the Headunit or user phone, and their appearance on the instrument cluster display. This is particularly important for navigation information.
      -> In order to achieve this, as few as possible variables should be sent from the head unit. Any actions that increase the number of the variables should take place on the client device rather than the head unit.

      There are 2 ways in which this can be implemented (regarding navigation turn directions):
      a. Google maps notifications can be extracted by the head unit, set as Tasker variables and sent to the client Android's Tasker over Bluetooth/Wifi.
      -> Split actions will be applied on the client device.
      -> The scene will run on the client android according to resultant variable information.

      ADVANTAGES: - Less requirements from the client device.
      DISADVANTAGES: - Latency may not be acceptable.

      b. When a destination address is set in Google Maps its coordinates are set in a log file (I think! If not then the address can be processed into coordinates by a geocoder). These coordinates can be sent from the head unit to the client Android and set to launch Google Maps navigation on the client with the same destination as the head unit.

      ADVANTAGES: - Many less variables will need to be sent by AutoNotification - Latency should be far lower.
      DISADVANTAGES: -The client device will need to have a functioning GPS, to be positioned in a place where it functions (less obstructions), and to have a functioning internet connection.
      THOUGHTS: I would tend towards option B.

      SYSTEM MAP:
      Below is a proposed system map. One potential problem is that there are multiple devices (OBD + Radar detector + Head Unit > Client Connection (AutoRemote)) connecting to the same device over the same Bluetooth profile (SPP). This doesn’t work for all devices - will have to test to find out.

      Screen%20Shot%202015-11-21%20at%2015.38.02.png


      An alternative method would use a 3g WIFI Modem to provide data to the devices and to transfer data over Autoremote. This would free the Head Unit > Android Client connection from relying on the SPP Bluetooth Profile. The OBD dongle could then be connected to the Head Unit, and the Radar detector connected to the Android Client.
      Screen%20Shot%202015-11-21%20at%2015.37.53.png


      8. SECOND DISPLAY HARDWARE:
      - Once head unit information has been transferred and processed into a Tasker Scene on the Android client, it needs to be displayed on the instrument cluster display.
      -> This can be implemented in 2 ways:
      1. Replace the existing instrument panel display with a small display that can connect to an android phone/raspberry pi over MHL/Slimport/HDMI/VGA.
      -> This is the smallest display I could find with a tested HDMI input. It is larger than the OEM cluster display on a VW so may cause problems:
      http://www.buydisplay.com/default/er-tftv043-4

      2. Output CanBus Information to the existing display (seems like it may be possible using this adaptor:
      https://www.kickstarter.com/projects/etx/canbus-triple-the-car-hacking-platform).

      THOUGHTS: I have decided to implement option A. This is not the smoothest solution as it requires replacement of instrument cluster display, but as I don't have any development experience, this is simply what I am able to achieve.

      Where Do We Start:
      1. Let me know your thoughts on the project.
      2. I've attached Tasker project files and icons:
      a. Import Tasker Project: https://dl.dropboxusercontent.com/u/4719739/Car_Present.prj.xml
      b. Download icons onto your device: https://dl.dropboxusercontent.com/u/4719739/icons.zip
      c. Change 'DIRECTIONWATCH' and 'SPEEDCAMIMAGE' variables: Set 'Notification Listener' Task variables to Right, Left, Straight, U-Turn icons, ' No Destination' to a vehicle icon of your choice (mine is for VW), 'Speedtrap' to the Speedtrap icon and 'Cancel Speedtrap' to the blank PNG. link the location you place each of the attached icons (different turns, vehicle logo, speedtrap, blank png for cancel speedtrap).
      Install the following apps and Tasker plugins:
      - Notification Listener: https://play.google.com/store/apps/details?id=com.balda.notificationlistener&hl=en
      - Speed Trap Pro - optional if you want speed camera alert: https://play.google.com/store/apps/details?id=com.balda.speedtrappro
      - Auto Speed Trap - as above: https://play.google.com/store/apps/details?id=com.balda.autospeedtrap

      d. Launch the task 'Scene'.
      e. Enter a destination and begin navigation in Google Maps.

      - Let me know how it works.
      - Feel free to discuss and chip in however you can.
      2
      Hi,
      Nice idea but it will be kind of diificult. I was also thinking myself that that can be acchived because we have all the information. But sending them back to the cluster is the hard part.

      My Experience : VW cluster, Huifei with CanBus support.

      There is already the needed function in one of the MTCA pps to send some information.
      In my cluster, I can see : Music track / length, "Video" if a video is played, SD Card xhen music comes from SD Card, Radio frequency .....

      The apps, depending on your choice in the Settings (Canbus settings) is sending information trought the MCU I think.
      There are some functions like SendRadio(), SendMusic().....
      That is the bad news because if we want to add some custom info, maybe we can't because we would have to modify also MCU img.

      I've seen on other forums some guys successfully displaying all kind of information on their cluster, but it was a more hardware specific device (CANBUS + RS232.....).

      Definitely possible, but a lot of work.
      1
      Very cool project mate :good:

      I dont have a cluster display or I would definitely be giving this a go!
      1
      Extremely cool idea - once I get everything else up and running on the unit as I want it, I'll definitely try this!
      1
      Hi,
      Nice idea but it will be kind of diificult. I was also thinking myself that that can be acchived because we have all the information. But sending them back to the cluster is the hard part.

      My Experience : VW cluster, Huifei with CanBus support.

      There is already the needed function in one of the MTCA pps to send some information.
      In my cluster, I can see : Music track / length, "Video" if a video is played, SD Card xhen music comes from SD Card, Radio frequency .....

      The apps, depending on your choice in the Settings (Canbus settings) is sending information trought the MCU I think.
      There are some functions like SendRadio(), SendMusic().....
      That is the bad news because if we want to add some custom info, maybe we can't because we would have to modify also MCU img.

      I've seen on other forums some guys successfully displaying all kind of information on their cluster, but it was a more hardware specific device (CANBUS + RS232.....).

      Definitely possible, but a lot of work.
      Hi,

      I did some research and i think that the MCU has nothing or little to do with sending and receiving messages/info from/to the car. The main unit communicates with the canbus converter using serial rx/TX at a 38400bps. This is where the mcu gets out of the game. The serial protocol between the HU and the canbus decoder is the same for all the HUs and canbus decoders. According to this all the hard job is done on the canbus decoder. The more PIDs that it supports, the more the HU can show you!
      I am working on the same thing for my Mercedes car. I need 3 things to do:

      1. Interpret the canbus PIDs.
      2. Interpret the serial protocol between the HU and the canbus converter.
      3. Write an app that listens to the serial port that the HU is connected to and start playing with messages.

      On the above the only difference for various cars is the supported canbus PIDs which are by no way the same between different car brands and sometimes between car models.

      So at the end i believe that i will build my own canbus converter for my car! (i have to re invent the wheel)
      If anyone has info about the serial protocol between the HU and the canbus decoder and willing to share, it would help a lot.

      Regards
    Our Apps
    Get our official app!
    The best way to access XDA on your phone
    Nav Gestures
    Add swipe gestures to any Android
    One Handed Mode
    Eases uses one hand with your phone