Beiträge von lichtbringer667
-
-
Ok, also nicht die beste Lösung. Allerdings hat sich bisher auch noch keiner erbarmt und mir einen anderen Lösungsansatz vorgeschlagen. Das ist ja in diesem Fall nur für eine Musikbox und nicht für eine Serveranwendung im Unternehmensbereich. Ich muss mich in Python erstmal entsprechend zurecht finden um die Software anzupassen. Aber danke für die Info.
-
Ok, falls es jemanden interessiert. Ich konnte mein Problem lösen indem ich ein python 3.5.2 upgrade gemacht habe. Danach ließ sich alles nach der Anleitung installieren und der HID-Service konnte gestartet werden. Jetzt kann ich die RFID Karten einlesen und damit playlists abspielen.... yes!!!
Vorher habe ich noch ein Volumio Upgrade auf V2909 durchgeführt.
Upgrade Python 3.5.2 (vorher 3.4 und 2.7)
sudo apt-get update
install Python 3.5.2
sudo apt-get install -y build-essential libc6-dev libbz2-dev libexpat1-dev liblzma-dev zlib1g-dev libncurses5-dev libncursesw5-dev libreadline6-dev libdb5.3-dev libgdbm-dev libsqlite3-dev libssl-dev
wget https://www.python.org/ftp/python/3.5.2/Python-3.5.2.tgztar -zxvf Python-3.5.2.tgz
cd Python-3.5.2
./configure
make-j4
sudo makeinstall
cd
sudo rm -fr ./Python-3.5.2*
python3 --versionpip3 -v
aliaspython3=python3.5
-
Hallo Zusammen,
ich habe da ein kleines Problem. Ich versuche gerade anhand dieser Anleitung https://github.com/edmw/volumio-d…511f51c8d395c1c einem USB RFID Reader mit Volumio sprechen zu lassen. Das hatte ich Anfang des Jahres bereits einmal erfolgreich eingerichtet. Leider ist mir vor zwei Wochen die SD Karte kaputt gegangen.
Nun scheitere ich an der Stelle bei dem ich mit python eine virtuelle Umgebung einrichten muss und zwar bei der Installation des socketIO-clients.
Volumio Version: 2873
Python. 3.4
Code
Alles anzeigen(volumio-hid) volumio@lalabox:~$ python3 -m pip install socketIO-client Downloading/unpacking socketIO-client Downloading socketIO-client-0.7.2.tar.gz Running setup.py (path:/tmp/pip-build-6xys8svt/socketIO-client/setup.py) egg_info for package socketIO-client warning: no files found matching '*.html' warning: no files found matching '*.js' warning: no previously-included files matching '*.pyc' found anywhere in distribution Downloading/unpacking requests>=2.7.0 (from socketIO-client) Downloading requests-2.26.0-py2.py3-none-any.whl (62kB): 62kB downloaded Cleaning up... Exception: Traceback (most recent call last): File "/home/volumio/.pyenv/volumio-hid/lib/python-wheels/setuptools-5.5.1-py2.py3-none-any.whl/pkg_resources.py", line 2595, in _dep_map return self.__dep_map File "/home/volumio/.pyenv/volumio-hid/lib/python-wheels/setuptools-5.5.1-py2.py3-none-any.whl/pkg_resources.py", line 2457, in __getattr__ raise AttributeError(attr) AttributeError: _DistInfoDistribution__dep_map During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/volumio/.pyenv/volumio-hid/lib/python3.4/site-packages/pip/basecommand.py", line 122, in main status = self.run(options, args) File "/home/volumio/.pyenv/volumio-hid/lib/python3.4/site-packages/pip/commands/install.py", line 290, in run requirement_set.prepare_files(finder, force_root_egg_info=self.bundle, bundle=self.bundle) File "/home/volumio/.pyenv/volumio-hid/lib/python3.4/site-packages/pip/req.py", line 1266, in prepare_files req_to_install.extras): File "/home/volumio/.pyenv/volumio-hid/lib/python-wheels/setuptools-5.5.1-py2.py3-none-any.whl/pkg_resources.py", line 2401, in requires dm = self._dep_map File "/home/volumio/.pyenv/volumio-hid/lib/python-wheels/setuptools-5.5.1-py2.py3-none-any.whl/pkg_resources.py", line 2597, in _dep_map self.__dep_map = self._compute_dependencies() File "/home/volumio/.pyenv/volumio-hid/lib/python-wheels/setuptools-5.5.1-py2.py3-none-any.whl/pkg_resources.py", line 2621, in _compute_dependencies parsed = next(parse_requirements(distvers)) File "/home/volumio/.pyenv/volumio-hid/lib/python-wheels/setuptools-5.5.1-py2.py3-none-any.whl/pkg_resources.py", line 2721, in parse_requirements "version spec") File "/home/volumio/.pyenv/volumio-hid/lib/python-wheels/setuptools-5.5.1-py2.py3-none-any.whl/pkg_resources.py", line 2686, in scan_list raise ValueError(msg, line, "at", line[p:]) ValueError: ('Expected version spec in', 'charset-normalizer ~=2.0.0', 'at', ' ~=2.0.0') Storing debug log for failure in /home/volumio/.pip/pip.log
Ich habe schon gegoogelt finde aber keine Funktionierende Lösung. Ich bin kein Programmierer und versuche mich da so durchzuwursteln.
Hat jemand eine Idee oder kennt jemand das Problem?
Ich habe meinen beiden Kids bereits erfolgreich zwei Phonieboxen dank diesem tollen Forum bauen können. Danke nochmal.Viele Grüße
-
Hi Shoex, leider schreibst du nicht weiter. Was gibt es neues zu Deinem Projekt?
-
https://github.com/MiczFlor/RPi-J…led%20cover.jpg).
Du musst die Bilddateien entsprechend benennen.
-
Habe ich übrigens dazu gefunden. Kannst ja mal gucken, vielleicht gibt es dafür ja auch schon eine Lösung.
-
Hi,
zu Deiner Konfig.
Die led.py hat andere GPIO Pins als die anderen beiden Konfigurationsdateien.
Soweit ich das verstehe geht hier aber um die Belegung der GPIOs für die LED also sollten das auch die gleichen GPIO wie in der gpiozero_led.py sein.
Ich habe die mal in Klammern dahinter geschrieben.
led.py
prev=5 (10)
play=6 (11)
next=22 (9)
volup=24 (25)
voldown=23 (24)
gpiozero_led.py
LED_PREV = PWMLED(10)
LED_PLAY = PWMLED(11)
LED_NEXT = PWMLED(9)
LED_VOLUP = PWMLED(25)
LED_VOLDOWN = PWMLED(24)
gpiosettings.ini
[VolumeControl]
PinUp: 5
PinDown: 6
[PrevNextControl]
Pin1: 22
Pin2: 23
[PlayPause]
Pin: 27
Bei den Logs würde ich mir mal die Datei anschauen /etc/mopidy/logging.conf und gucken was unter formatters angegeben ist.
Schau mal hier https://www.apt-browse.org/browse/ubuntu/…dy/logging.conf
-
Hi thobo, ich habe anscheinend das gleiche Problem. Hast du dafür schon ein Bug Report auf https://github.com/MiczFlor/RPi-Jukebox-RFID/ aufgemacht?
Welche Version nutzt du denn von der Software? Ich habe folgende Version installiert 2.1.1 - 70f989b .
Auf jedenfall funktioniert der Workaround! Danke dafür!
-
Hi, also wenn ich das richtig verstanden habe. Läuft die LED Konfiguration parallel zu der Buttonsteuerung mit gpio-control. Ist bei mir jedenfalls so.
In der LED Konfig wird eigentlich auch nur das Ansteuern der LED in zusammenhang mit den Buttons gesteuert. NIcht das ansteuern der eigentlichen Schaltfunktionen wie Play, Next, usw.
Du scheinst die spotify installation zu nutzen. Mobidy.service ist dann soweit korrekt.
Poste doch mal Deine Konifgs. Dann kann man eher einen Fehler erkennen.
~/RPi-Jukebox-RFID/settings/gpio_settings.ini
~/phoniebox_led_control/GPIOZeroled.py
~/phoniebox_led_control/led.py
Ich benutzte bei mir die classic version die den mpd.service nutzt.
Wenn der MPD Service nicht läuft musst du dir noch mal die Konfig angucken.
Meine Konfiguration sieht so aus. Das hängt aber immer von der Hardware ab die du einsetzt. Ich habe z.B. die hifiberryminiamp am start.
Code
Alles anzeigen# # An example of an ALSA output: # audio_output { type "alsa" name "My ALSA Device" # device "hw:0,0" # optional # mixer_type "hardware" # optional # mixer_device "default" # optional mixer_control "Master" # optional # mixer_index "0" # optional } audio_output { enabled "yes" type "alsa" name "HiFiBerry DAC" device "hifiberryMiniAmp" auto_resample "no" auto_channels "no" auto_format "no" dop "no" }
-
Hallo Alex, die neue Version ist meiner Meinung nach ziemlich buggy. Ich hatte auch meine Probleme alles reibungslos zum laufen zu bringen.
Was mir geholfen hat ist die Konfiguration der verschiedenen Scripte zu vergleichen.
GPIO-Control
~/.config/phoniebox/gpio_settings.ini (das war zwischenzeitlich mal ein Ort für die Konfig)
~/RPi-Jukebox-RFID/settings/gpio_settings.ini
Falls du ein OLED Display nutzt
oled_phoniebox/scripts/gpio-buttons/gpio-buttons.py
Für die LEDs
~/phoniebox_led_control/gpiozero_led.py
~/phoniebox_led_control/led.py
Kommt denn der Service hoch?
sudo systemctl status mpd.service
Ansonsten schau in die Logs
/var/log/syslog
-
Ich habe es selber herausgefunden.
Aus irgendeinem Grund hatte ich eine falschen GPIO PIN in der settings datei hinterlegt.
Leider ist mir das Händling mit dem Drehschalter für meine beiden Söhne zu ungenau. Ich baue jetzt zwei taster für die Lautstärke ein.
-
Ok, ich habe wohl bei der SD Karte die develop Version der Phoniebox installiert gehabt. Da scheint noch etwas nicht zu stimmen. Mit der Master Variante gehen die Buttons.
Jetzt habe ich immer noch Probleme mit dem Drehregler...das Laut und Leise stellen gelinkt nicht wirklich zuverlässig. Er schaltet beim Drehen in die gleiche Richtung mehrfach zwischen Laut und Leise hin und her oder muted das ganze einfach...keine Ahnung...
-
Hallo ich bin gerade dabei eine Phoniebox für meinen Sohn zum Geburtstag zu bauen.
Ich arbeite mit der Phoniebox Version 2.1.1 (develop)
Neuftech RFID Reader
Raspberry Zero HW
HifiBerry Mini Amp
ON/Off Shim
GPIO Erweiterungsboard
1,3 Zoll OLED Display
2x 3W Einbaulautsprecher
Buttons 5x mini Push Buttons (ohne LED)
Ich bin gerade dabei die Hardware in die Box einzubauen.
Ich habe folgenden Fehler wenn ich den next Button drücke.
PhonieboxGPIOControl[825]: INFO:GPIODevices.simple_button:NextSong: executre callback
PhonieboxGPIOControl[825]: INFO:GPIODevices.simple_button:NextSong: action
mpd[827]: player: played "Musik/lied.mp3"
PhonieboxGPIOControl[825]: volume: 35% repeat: off random: off single: on consume: off
mpd[827]: exception: Not playing
python3[826]: mpd error: Not playing
Ich habe mir für den Einbau eine neue Lochplatine zusammen gelötet.
Da ich die erst unter verdacht hatte habe ich den Button noch mal direkt an den Pi angeschlossen. Leider bleibt der Fehler...
Die GPIO PIN habe ich auch schon gewechselt von 5 auf 10.
Die anderen Taster funkionieren bereits. Der Drehregler zickt allerdings auch noch etwas rum.
Hat jemand eine Idee...wenn ich das script simple_button.py ausführe, gibt er mir eine Bestätigung beim drücken des Tasters...?
sudo python RPi-Jukebox-RFID/components/gpio_control/GPIODevices/simple_button.py
please enter pin no to test
10
FunctionCall with (10,)
FunctionCall with (10,)
FunctionCall with (10,)
FunctionCall with (10,)
FunctionCall with (10,)
FunctionCall with (10,)
FunctionCall with (10,)
FunctionCall with (10,)
FunctionCall with (10,)
FunctionCall with (10,)
Meine PIN Belegung sieht zurzeit so aus...
3,3V
1
2
5V
OOS
OLED SCK
GPIO 2
3
4
5V
OLED
OLED SDA
GPIO 3
5
6
GND
OOS
OOS
GPIO 4
7
8
GPIO 14
OLED
GND
9
10
GPIO 15
OOS
GPIO 17
11
12
GPIO 18
HMA
BT prev
GPIO 27
13
14
GND
BT volU/DT
GPIO 22
15
16
GPIO 23
LED volU
3,3V
17
18
GPIO 24
LED halt
Test(BT next)
GPIO 10
19
20
GND
HMA
HMA
GPIO 9
21
22
GPIO 25
BT VolMute
GPIO 11
23
24
GPIO 8
LED volD/CLK
GND
25
26
GPIO 7
ID_SD
27
28
ID_SC
BT nextGPIO 5
29
30
GND
LED next
GPIO 6
31
32
GPIO 12
BT halt
BT volD
GPIO 13
33
34
GND
HMA
GPIO 19
35
36
GPIO 16
HMA
HMA
GPIO 26
37
38
GPIO 20
HMA
GND
39
40
GPIO 21
Vielen Dank im Voraus... -
Anbei der angepasste Code.
Python
Alles anzeigen#!/usr/bin/python3 import signal from signal import pause import sys from subprocess import check_output from time import sleep from gpiozero import PWMLED, Button LED_PREV = PWMLED(25) BUTTON_PREV = Button(27) LED_PLAY = PWMLED(24) BUTTON_PLAY = Button(12) LED_NEXT = PWMLED(6) BUTTON_NEXT = Button(5) LED_VOLUP = PWMLED(23) BUTTON_VOLUP = Button(22) LED_VOLDOWN = PWMLED(8) BUTTON_VOLDOWN = Button(13) #ALL_GPIO = [LED_PREV, LED_PLAY, LED_NEXT, LED_VOLUP, LED_VOLDOWN] def sigterm_handler(*_): LED_PREV.off() LED_PREV.close() sleep(0.1) LED_PLAY.off() LED_PLAY.close() sleep(0.1) LED_NEXT.off() LED_NEXT.close() sleep(0.1) LED_VOLDOWN.off() LED_VOLDOWN.close() sleep(0.1) LED_VOLUP.off() LED_VOLUP.close() # for device in ALL_GPIO: # device.off() # device.close() sys.exit(0) def getshell(): process = check_output("/bin/ps -ef | grep mpd | grep -v grep | awk '{print $2}'", shell=True) process = process.decode() return process #def ledon(ledname): # for x in range(100): # ledname.value = x * 0.001 # sleep(0.02) #def ledoff(ledname): # for x in range(100, -1, -1): # ledname.value = x * 0.001 # sleep(0.02) def initiate_animation(): process = "" pos = 1 direction = 0 while process == "": print(process) if pos == 1: LED_PREV.pulse(n=1, fade_in_time=0.2, fade_out_time=0.5) sleep(0.1) direction = 0 elif pos == 2: LED_PLAY.pulse(n=1, fade_in_time=0.2, fade_out_time=0.4) sleep(0.05) elif pos == 3: LED_NEXT.pulse(n=1, fade_in_time=0.2, fade_out_time=0.3) elif pos == 4: LED_VOLDOWN.pulse(n=1, fade_in_time=0.2, fade_out_time=0.4) sleep(0.05) elif pos == 5: LED_VOLUP.pulse(n=1, fade_in_time=0.2, fade_out_time=0.5) process = getshell() direction = 1 sleep(0.1) if direction == 0: pos += 1 else: pos -= 1 sleep(0.07) #def leds_on(): # LED_PREV.on() # sleep(0.1) # LED_PLAY.on() # sleep(0.1) # LED_NEXT.on() # sleep(0.1) # LED_VOLDOWN.on() # sleep(0.1) # LED_VOLUP.on() def press_the_button(): LED_PREV.source = BUTTON_PREV LED_PLAY.source = BUTTON_PLAY LED_NEXT.source = BUTTON_NEXT LED_VOLUP.source = BUTTON_VOLUP LED_VOLDOWN.source = BUTTON_VOLDOWN pause() def main(): dummy = "" while dummy == "": sleep(5) if __name__ == "__main__": initiate_animation() press_the_button() # leds_on() signal.signal(signal.SIGTERM, sigterm_handler) main()
-
Ah, ok. Ja das klingt plausibel. Ich habe die Variante jetzt mit led.source angepaßt. Es geht!!! Danke, Danke!!!
-
-
Hi danke hyle !!!
Das Script läuft schon mal, genauso will ich es haben. Jetzt muss ich nur nochmal das script von Splitti anschauen und das damit verknüpfen.
Python
Alles anzeigen#!/usr/bin/python3 from gpiozero import PWMLED, Button from time import sleep LED_PREV = PWMLED(25) BUTTON_PREV = Button(27) LED_PLAY = PWMLED(24) BUTTON_PLAY = Button(12) LED_NEXT = PWMLED(6) BUTTON_NEXT = Button(5) LED_VOLUP = PWMLED(23) BUTTON_VOLUP = Button(22) LED_VOLDOWN = PWMLED(8) BUTTON_VOLDOWN = Button(13) while True: LED_PREV.value = BUTTON_PREV.value LED_PLAY.value = BUTTON_PLAY.value LED_NEXT.value = BUTTON_NEXT.value LED_VOLUP.value = BUTTON_VOLUP.value LED_VOLDOWN.value = BUTTON_VOLDOWN.value sleep(0.01)
-
Erstmal Danke für die schnellen Antworten!
Was bisher funktioniert sind die Taster über das normale Script aus dem RPi-Jukebox-RFID Paket.
Die Steuerung der Taster für die Phoniebox läuft über die "\\x.x.x.x\home\pi\.config\phoniebox\gpio_settings.ini".
1. https://github.com/MiczFlor/RPi-J…gpio_control.py
2. https://github.com/MiczFlor/RPi-J…imple_button.py
Das funktioniert bei mir auch soweit.
Da ich dieses Script aber nicht nachvollziehen kann und ich nicht weiß, ob ich dort irgendwo die Ansteuerung der LED einfügen kann. Habe ich mir gedacht ich passe einfach das Script von splitti79 an. Das läuft bei mir auch soweit nur das die LEDs dann immer anbleiben...
Also das ist das Script von splitti79. Dort habe ich einfach meine Taster mit den GPIO NR. eingetragen und einen neuen Abschnitt mit "press_the_button" hinzugefügt. Ich weiß aber nicht ob das so funktioniert...
Python: gpiozero_led_neu.py
Alles anzeigen#!/usr/bin/python3 import signal from signal import pause import sys from subprocess import check_output from time import sleep from gpiozero import PWMLED, Button LED_PREV = PWMLED(25) BUTTON_PREV = Button(27) LED_PLAY = PWMLED(24) BUTTON_PLAY = Button(12) LED_NEXT = PWMLED(6) BUTTON_NEXT = Button(5) LED_VOLUP = PWMLED(23) BUTTON_VOLUP = Button(22) LED_VOLDOWN = PWMLED(8) BUTTON_VOLDOWN = Button(13) #ALL_GPIO = [LED_PREV, LED_PLAY, LED_NEXT, LED_VOLUP, LED_VOLDOWN] def sigterm_handler(*_): LED_PREV.off() LED_PREV.close() sleep(0.1) LED_PLAY.off() LED_PLAY.close() sleep(0.1) LED_NEXT.off() LED_NEXT.close() sleep(0.1) LED_VOLDOWN.off() LED_VOLDOWN.close() sleep(0.1) LED_VOLUP.off() LED_VOLUP.close() # for device in ALL_GPIO: # device.off() # device.close() sys.exit(0) def getshell(): process = check_output("/bin/ps -ef | grep mpd | grep -v grep | awk '{print $2}'", shell=True) process = process.decode() return process #def ledon(ledname): # for x in range(100): # ledname.value = x * 0.001 # sleep(0.02) #def ledoff(ledname): # for x in range(100, -1, -1): # ledname.value = x * 0.001 # sleep(0.02) def initiate_animation(): process = "" pos = 1 direction = 0 while process == "": print(process) if pos == 1: LED_PREV.pulse(n=1, fade_in_time=0.2, fade_out_time=0.5) sleep(0.1) direction = 0 elif pos == 2: LED_PLAY.pulse(n=1, fade_in_time=0.2, fade_out_time=0.4) sleep(0.05) elif pos == 3: LED_NEXT.pulse(n=1, fade_in_time=0.2, fade_out_time=0.3) elif pos == 4: LED_VOLDOWN.pulse(n=1, fade_in_time=0.2, fade_out_time=0.4) sleep(0.05) elif pos == 5: LED_VOLUP.pulse(n=1, fade_in_time=0.2, fade_out_time=0.5) process = getshell() direction = 1 sleep(0.1) if direction == 0: pos += 1 else: pos -= 1 sleep(0.07) #def leds_on(): # LED_PREV.on() # sleep(0.1) # LED_PLAY.on() # sleep(0.1) # LED_NEXT.on() # sleep(0.1) # LED_VOLDOWN.on() # sleep(0.1) # LED_VOLUP.on() def press_the_button(): BUTTON_PREV.when_pressed = LED_PREV.on() BUTTON_PREV.when_released = LED_PREV.off() # BUTTON_PLAY.when_pressed = LED_PLAY.on() BUTTON_PLAY.when_released = LED_PLAY.off() # BUTTON_NEXT.when_pressed = LED_NEXT.on() BUTTON_NEXT.when_released = LED_NEXT.off() # BUTTON_VOLUP.when_pressed = LED_VOLUP.on() BUTTON_VOLUP.when_released = LED_VOLUP.off() # BUTTON_VOLDOWN.when_pressed = LED_VOLDOWN.on() BUTTON_VOLDOWN.when_released = LED_VOLDOWN.off() pause() def main(): dummy = "" while dummy == "": sleep(5) if __name__ == "__main__": initiate_animation() press_the_button() # leds_on() signal.signal(signal.SIGTERM, sigterm_handler) main()
Das ist meine GPIO Belegung:
3,3V
1
2
5V
OOS
OLED
GPIO 2
3
4
5V
OLED
OLED
GPIO 3
5
6
GND
OOS
OOS
GPIO 4
7
8
GPIO 14
OLED
GND
9
10
GPIO 15
OOS
GPIO 17
11
12
GPIO 18
HMA
BT prev
GPIO 27
13
14
GND
BT volU
GPIO 22
15
16
GPIO 23
LED volU
3,3V
17
18
GPIO 24
LED halt
GPIO 10
19
20
GND
HMA
HMA
GPIO 9
21
22
GPIO 25
GPIO 11
23
24
GPIO 8
LED volD
GND
25
26
GPIO 7
ID_SD
27
28
ID_SC
BT next
GPIO 5
29
30
GND
LED next
GPIO 6
31
32
GPIO 12
BT halt
BT volD
GPIO 13
33
34
GND
HMA
GPIO 19
35
36
GPIO 16
HMA
HMA
GPIO 26
37
38
GPIO 20
HMA
GND
39
40
GPIO 21
Die Taster habe ich einfach auf einer Platine angeklemmt die ich ebenfalls aus der Anleitung von splitti79 nachgebaut habe.http://splittscheid.de/wp-content/upl…e_Korrektur.jpg
Ich hoffe das sind alle fehlenden Information. Sonst liefere ich auch gerne nach.
-
Moin,
ich bastel gerade an einer Phoniebox für meinen Sohn, die bis zu seinem Geburtstag fertig werden soll.
Dank diesem tollen Forum und der Anleitung von splitti79 habe ich das Ding auch soweit, dass es fast alles tut was ich möchte...
Na ja, aber nur fast!
Ich arbeite mit der Phoniebox Version 2.1.1 (develop)
Neuftech RFID Reader
Raspberry Zero HW
HifiBerry Mini Amp
ON/Off Shim
GPIO Erweiterungsboard
1,3 Zoll OLED Display
2x 3W Einbaulautsprecher
Buttons 5x mini Push Buttons (ohne LED)
Ich würde gerne das Drücken auf einem Taster mit eine LED signalisieren. Ich habe das phoniebox_led_control Scripts von splitti79 dazu als Vorlage verwendet. Die Grundfunktion in Python meine ich auch verstanden zu haben.
Leider gehen meine Programmierkenntisse gegen null.
Deshalb bin ich etwas Ratlos wie und wo ich diese Funktion in die vorhanden Scripte einbauen kann?
Wenn ich eine Anpassung in dem Script von Splitti baue und das dann mit "python script" aufrufe. Leuchtet die LED leider nicht.
Vielleicht weil die GPIO für die die Taster dann mehrfach genutzt werden?
Code
Alles anzeigenLED_PREV = PWMLED(25) BUTTON_PREV = Button(27) LED_PLAY = PWMLED(24) BUTTON_PLAY = Button(12) LED_NEXT = PWMLED(6) BUTTON_NEXT = Button(5) LED_VOLUP = PWMLED(23) BUTTON_VOLUP = Button(22) LED_VOLDOWN = PWMLED(8) BUTTON_VOLDOWN = Button(13) .... ..... #def leds_on(): # LED_PREV.on() # sleep(0.1) # LED_PLAY.on() # sleep(0.1) # LED_NEXT.on() # sleep(0.1) # LED_VOLDOWN.on() # sleep(0.1) # LED_VOLUP.on() def press_the_button(): BUTTON_PREV.when_pressed = LED_PREV.on() BUTTON_PREV.when_released = LED_PREV.off() # BUTTON_PLAY.when_pressed = LED_PLAY.on() BUTTON_PLAY.when_released = LED_PLAY.off() # BUTTON_NEXT.when_pressed = LED_NEXT.on() BUTTON_NEXT.when_released = LED_NEXT.off() # BUTTON_VOLUP.when_pressed = LED_VOLUP.on() BUTTON_VOLUP.when_released = LED_VOLUP.off() # BUTTON_VOLDOWN.when_pressed = LED_VOLDOWN.on() BUTTON_VOLDOWN.when_released = LED_VOLDOWN.off() pause() def main(): dummy = "" while dummy == "": sleep(5) if __name__ == "__main__": initiate_animation() press_the_button() # leds_on() signal.signal(signal.SIGTERM, sigterm_handler) main()
Gibt es denn irgendwo ein Dokumentation wie die eingesetzen Scripte genau funktionieren oder weiß man das einfach als Wissender?
Nachdem simplen Beispiel bin ich vorgegangen...
Python
Alles anzeigenfrom signal import pause led = LED(17) button = Button(2) button.when_pressed = led.on button.when_released = led.off pause() <img src="https://forum-raspberrypi.de/images/smilies/icon_helpnew.gif" alt=":helpnew:" class="smiley" height="18" data-tooltip="Icon_helpnew" aria-label="Icon_helpnew" id="wscSmiley_0_1">