Git Product home page Git Product logo

carplay-receiver's Introduction

Screeenshot

Python Carplay implementation for the "Autobox" dongles. Forked from https://github.com/electric-monk/pycarplay to include audio/video output via mpv and key presses

Video of WIP here: https://www.youtube.com/watch?v=D8P99BTqCCo

Dongles

These are readily available from Amazon, but are also available from cheaper sources. The one I got was labelled "Carlinkit" here: https://www.aliexpress.com/item/32829019768.html

Setup

Download assets from the .APK

The dongle relies on the copying of various "assets" to the dongle that happens on every boot. To acquire these assets, a script is provided.

Simply run:

./downloadassets.sh

from the repository root.

Dependencies

This script relies on the following packages (installed via apt-get or otherwise):

  • ffmpeg
  • mpv
  • libmpv
  • libmpv-dev

Setup and running

The code is intended for Python3. To install the necessary packages, run this command:

pip3 install pyusb 

To run, call

sudo python3 carplay.py

(note: you need a user that is allowed to manipulate usb devices, or run as root)

Keys

The following keys have been mapped:

  • Left - navigate left
  • Right - navigate right
  • Enter - select active item
  • Escape - Go back
  • s - Trigger siri. Note: this currently does not work
  • p - Pause (if playing something)
  • space - resume (if something is paused)
  • h - home
  • f - toggle fullscreen mode
  • e - previous track
  • r - next track

What works? What doesn't work?

Working:

  • Audio (for the most part)
  • video
  • key presses

Not working/implemented

  • multi touch - note: electric-monk has an implementation of this in his tesla library. I haven't gotten around to getting it linked up in the mpv player
  • Microphone - siri appears to change the audio mode (likely to a lower sampling rate), and my implementation currently doesn't deal with this
  • telephone - For the same reason as siri not working

Finally

The real 'guts' of this project that drive device communication were not Implemented by me. They were discovered by Colin Monro (Electric-monk). His repo is here: https://github.com/electric-monk/pycarplay

carplay-receiver's People

Contributors

harrylepotter avatar electric-monk avatar

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.