/tesla-carplay

Carplay Raspberry Pi Wi-Fi Hotspot Web Server for Tesla.

Primary LanguageJavaScriptOtherNOASSERTION

Tesla Carplay

This project allows you to have Carplay in the tesla browser with Raspberry Pi. At least a Raspberry Pi zero W seems to be sufficient.

The manufacturer carlinkit now has a turnkey solution, which works exactly the same way as this project. For those interested here is the link. Overall price level as much to favor the carlinkit solution. This will also save you all the manual installation, and the project is completely finished with an after-sales service.

  • Carlinkit Solution ($60)
  • This Project Solution (Pi Zero $10, 4G Adapter $50, Carlinkit USB $50)

The solution of this project remains advantageous if you already have the material at home.

How it works ?

In fact, add a Raspberry Pi into the tesla, this allows us to create a wifi network for the tesla to connect to. In this Raspberry Pi, we will also create a web server with a stream for Carplay video output with WebSocket. The Carplay video stream is retrieved using a CarlinKit adapter. We then create a small html page on the web server, which allows it to connect to the stream with Websocket/Canvas for video, and send touch gestures to control with WebSocket. For the sound, our Raspberry pi can be connected in bluetooth to the tesla, because the browser does not allow the sound to pass while driving.

What doesn't work ?

  • Siri
  • Sound of calls & Microphone
  • Steering wheel control (AVRCP)

Install / About

  • You can find a documentation for the installation, with the necessary material.
  • If you open Carplay in a browser on a computer, you must simulate a touch screen, otherwise you cannot control Carplay.
  • This solution requires a 4G subscription, however you no longer need to pay the tesla subscription, and you have Wi-Fi in your car. (The tesla does not connect to your raspberry's Wi-Fi network if there is no internet access, you can however try ethernet at home)

Version / Updates

Current version : v0.4

v0.4

  • Remove jmuxer for rendering by canvas (thanks to darreal44)
  • Fix Audio (Now carplay start once bluetooth is connected)

from v0.3 to v0.4

v0.3

  • Wireless CarPlay works 🍾
  • The video is no longer encoded on the Raspberry Pi, jmuxer allows you to decode the raw mp4 stream directly in the tesla browser. (The screen resolution limit no longer depends on the Raspberry Pi, but on the tesla browser. Which means that the project should work on a Raspberry Pi 3

from v0.2 to v0.3

v0.2

  • Sound works with bluetooth
  • Screen résolution fix

v0.1 (first beta)

  • The sound executed by the browser (therefore unavailable while driving)
  • The screen does not take up the whole page

Thanks

This project based on node-carplay. Many thanks to rhysmorgan134 for this library!