Mopidy extension for GPIO input on a Raspberry Pi
Ensure Mopidy has access to GPIO:
sudo usermod -a -G gpio mopidy
Make sure you have the RPi.GPIO library installed:
sudo apt install python3-rpi.gpio
Install by running:
python3 -m pip install Mopidy-Raspberry-GPIO
Or, if available, install the Debian/Ubuntu package from apt.mopidy.com.
Before starting Mopidy, you must add configuration for Mopidy-Raspberry-GPIO to your Mopidy configuration file:
[raspberry-gpio] enabled = true bcm5 = play_pause,active_low,250 bcm6 = prev,active_low,250 bcm16 = next,active_low,250 bcm21 = volume_down,active_low,10,rotenc_id=vol,step=1 bcm20 = volume_up,active_low,10,rotenc_id=vol,step=1
Each bcmN entry corresponds to the BCM pin of that number.
You must assign an event, mode and bouncetime (ms) to your desired pins.
Supported events:
- play_pause
- volume_up
- volume_down
- next
- prev
- playlist
Supported modes:
- active_low - configures the pin with a pull-up and triggers when it reads 0/low (RECOMMENDED)
- active_high - configures the pin as a pull-down and triggers when it reads 1/high
Events volume_up and volume_down both support an (optional) "step" option, which controls the amount (in percent) that the volume is adjusted with each button press.
Eg:
[raspberry-gpio] enabled = true bcm5 = play_pause,active_low,250 bcm6 = volume_down,active_low,250,step=1 bcm16 = next,active_low,250 bcm20 = volume_up,active_low,250,step=1
The playlist event allows to assign a playlist to a physical button. It requires an "uri" option. It first clears the tracklist, adds all tracks from the playlist and starts playback.
Eg:
[raspberry-gpio] enabled = true bcm17 = playlist,active_low,250,uri=m3u:test1.m3u8
Hint: If you use the Iris frontend, you can obtain the playlist URI in the tree-dots menu of the playlist.
- Original author: Phil Howard
- Current maintainer: Phil Howard
- Contributors