Raspbery Pi regelt Lautstärke von Pulseaudio Soundausgabe über Bluetooth mit GPIO
Mein SmaRPt 3 hat ein Webradio . Und das Display hat 3 Buttons, die schon mit GPIO vorbelegt sind. Die 3 Taster kann man doch für lauter und leiser benutzen. (3.2" Touchdisplay von Joy-IT)
Das Python-Script startet automatisch aus /home/pi/.lxsession/LXDE-pi/autostart
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import RPi.GPIO as GPIO
import time
import os
# Zählweise der Pins festlegen
GPIO.setmode(GPIO.BCM)
# Pin 12 (GPIO 18) als Eingang festlegen
GPIO.setup(18, GPIO.IN, pull_up_down = GPIO.PUD_UP)
# Pin 16 (GPIO 23) als Eingang festlegen
GPIO.setup(23, GPIO.IN, pull_up_down = GPIO.PUD_UP)
# Pin 18 (GPIO 24) als Eingang festlegen
GPIO.setup(24, GPIO.IN, pull_up_down = GPIO.PUD_UP)
# Ereignis-Prozedur für Eingang HIGH
def lolo1(channel):
os.system("pactl -- set-sink-volume 1 +10%")
# if True: exit()
def lolo2(channel):
os.system("pactl -- set-sink-volume 1 -10%")
# if True: exit()
def lolo3(channel):
os.system("pactl -- set-sink-volume 1 0%")
# if True: exit()
# Ereignis deklarieren
#lauter
GPIO.add_event_detect(18, GPIO.RISING, callback = lolo1, bouncetime = 200)
#still
GPIO.add_event_detect(24, GPIO.RISING, callback = lolo2, bouncetime = 200)
#leiser
GPIO.add_event_detect(23, GPIO.RISING, callback = lolo3, bouncetime = 200)
# Eigentlicher Programmablauf
while 1:
time.sleep(2.1)
GPIO.cleanup()