Mazda Infotainment + AutoPI [Idea]

I got a 2017 Mazda 3, all Mazda 3 2014-present with a touchscreen run ARMv7 for the car CMU system.

People have been hacking them to tweak them and re-enable stuff like Wifi-menu, free maps, even a full Android Auto mod.

The idea would be to ssh into the mazda cmu console from the auto.pi and be able to send messages to it by executing the following command: /jci/tools/jci-dialog --title=“AutoPI” --text=“Sample TEXT” --ok-label=‘OK’ --no-cancel.

The CMU also has a Opera browser (The os run on the browser kinda like the old Palm WEBos). So I could build a WebServer on auto.pi and present it to the Touchscreen console of the car.

I’ll keep updating on the progress as soon as i get my AutoPi

1 Like

That sounds like a really cool project.
All the things you mention, ssh into the console and running a webserver is very doable.

This got me thinking…
I’m wondering if the notifications from the dongle, instead of being said out loud using the speaker could be overridable, so that it is instead sent to whatever device you want, like in your case, it could be sent to the console.

I have been using a Rpi-Zero to test in the mean while, looking thorough the different mods that some other Mazda owners have done there seem to be a good chunk of information that can be pull in addition to pulling from the ODB port, in addition to sending messages. I’ll leave it here in case anyone else is interested. ( These are all commands to run in the Mazda Console via SSH)

Vehicle Speed
smdb-read -n vdm_vdt_current_data -e VehicleSpeed

Fuel Efficiency
smdb-read -n vdm -e Drv1AvlFuelE

Total Fuel Efficiency
smdb-read -n vdm_vdt_history_data -e TotAvlFuelE

Drive Distance
smdb-read -n vdm -e PID_Drv1Dstnc_curr

GPS Data
GPS=$(/usr/bin/dbus-send --print-reply --address=unix:path=/tmp/dbus_service_socket --type=method_call --dest=com.jci.lds.data /com/jci/lds/data com.jci.lds.data.GetPosition)

GPSSPEED=$(echo “$GPS” | awk ‘NR==8{print $2}’)
ALTITUDE=$(echo “$GPS” | awk ‘NR==6{print $2}’)
HEADING=$(echo “$GPS” | awk ‘NR==7{print $2}’)
LATITUDE=$(echo “$GPS” | awk ‘NR==4{print $2}’)
LONGITUDE=$(echo “$GPS” | awk ‘NR==5{print $2}’)
echo “gpsdata#${GPSSPEED}#${ALTITUDE}#${HEADING}#${LATITUDE}#${LONGITUDE}”

Engine RPM
smdb-read -n vdm_vdt_current_data -e EngineSpeed

1 Like