- Notifications
You must be signed in to change notification settings - Fork2
Kivy-based car entertainment and navigation system interface
License
whitelynx/karvy
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
AKivy-based car entertainment system interface.
You'll need an API key for the Google Maps Directions API. Put your key ingoogle-maps-directions.apikey
in the project root before running.
Note: On systems like Alpine Linux, you'll also need the-dev
variants of most of these packages installed.
gcc
make
python3
cython
ffmpeg
sdl2
sdl2_image
sdl2_mixer
sdl2_ttf
pango
zlib
hdf5
opencv
gstreamer
gst-plugins-base
gst-plugins-good
pulseaudio
pulseaudio-bluez
(for Bluetooth audio)dbus
mtdev
Seerequirements.txt.
python-gobject
can be substituted foropencv-python
if you are unable to install the latter.
iconfonts
mapview
pacman -S python cython ffmpeg sdl2 sdl2_image sdl2_mixer sdl2_ttf pango zlib hdf5 opencv gstreamer gst-plugins-base gst-plugins-good pulseaudio pulseaudio-bluetooth mtdev python-gobject python-kivy./bootstrap.sh
If installing in Arch Linux ARM on a Raspberry Pi,bootstrap.sh
will likely fail. In that case, run these steps manually:
pip install --user -r requirements-rpi.txtgarden install --app iconfontsgarden install --app mapview
You probably also want to make sure your user is a member of theaudio
,video
, andinput
groups.
nix-shellgarden install --app iconfontsgarden install --app mapview
You will first need to manually build a package foropencv
withpython3
support and without GTK support. (TODO: instructions coming soon?) This cannot be built on the Raspberry Pi if using diskless mode (the default) because of space constraints. (not to mention the sheer amount of time building on the RPi would take)
Similarly, in order to install Kivy in diskless mode, you first have to mount a persistent volume at/home
so it doesn't attempt to build the entire source tree in memory. (and so you don't lose the results of this process once you reboot)
We also currently need to install Kivy master due to an error that hasn't had a fix released yet; seethis StackOverflow question for more info.
As a normal (non-root
) user withsudo
privileges, in thekarvy
directory:
# Add the `testing` repo, for `hdf5-dev`echo'https://dl-2.alpinelinux.org/alpine/edge/testing'| sudo tee -a /etc/apk/repositories# Assuming you've built `opencv-nogtk` and copied the resulting `packages` dir to `/media/mmcblk0p1/packages`echo'/media/mmcblk0p1/packages/unmaintained'| sudo tee -a /etc/apk/repositoriessudo apk updatesudo apk add gcc make python3-dev cython ffmpeg-dev sdl2-dev sdl2_image-dev sdl2_mixer-dev sdl2_ttf-dev pango-dev zlib-dev hdf5-dev gstreamer-dev gst-plugins-base gst-plugins-good pulseaudio pulseaudio-bluez dbus dbus-dev mtdev libjpeg-turbo-dev musl-dev mesa-dev opencv-nogtk# Ensure DBus is runningsudo rc-update add dbus bootsudo /etc/init.d/dbus startpip3 install --upgrade pippip3 install --upgrade --user cython pillowmkdir -p~/tmpTMPDIR=~/tmp pip3 install --user kivy[base] --pre --extra-index-url https://kivy.org/downloads/simple/pip3 install --user$(grep -vE'opencv-python|Kivy' requirements.txt)~/.local/bin/garden install --app iconfonts~/.local/bin/garden install --app mapview
You probably also want to make sure your user is a member of theaudio
,video
, andinput
groups.
./karvy.py