Dazu brauchst Du kein Script, ein cronjob mit 30 20 * * * root poweroff reicht zum runterfahren. Noch besser wäre die Verwendung der root-crontab (sudo crontab -e), dann der Job ohne root, also 30 20 * * * poweroff
[Projekt] jukebox4kids (Jukebox für Kinder)
- hdo26
- Closed
- Thread is marked as Resolved.
-
-
Hallo Hyle,
das weiß ich auch. Da ich aber noch mehr in das Script einbinden möchte( z.B. auslesen des aktuellen Tracks) wollte ich den Shutdown bzw. die die damit verbunden Schritte in ein script packen. Ist halt noch im Fluss und es gibt sicherlich viele Lösungswege.
Viele Grüße
X-Ray
-
Hallo Leute,
erst einmal Danke an alle die das Projekt so vorantreiben und fragen beantworten. Ich habe mir nun alle benötigten Komponenten zusammen gekauft und der Pi läuft auch schon. Was nun noch fehlt sind die Buttons und insbesondere die lötarbeiten. Hierzu gibt es ja auf git ein paar Bilder. Hier im Threads hatte auch einer bereits einen Eagle Schaltplan als Bild hinterlegt. Leider bin ich kein espezi und habe eher weniger Ahnung von der etechnik. Entsprechend wollte ich fragen ob es hierzu genauere Pläne gibt oder ob jemand einen fritzing oder Eagle Plan hat, den er mir zur Verfügung stellen könnte?
Darüber hinaus habe ich noch ein Problem mit dem Webinterface. Dieses funktioniert zwar hinsichtlich des erstellens von neuen Kartenzuordnungen, jedoch geht keiner der Play Pause Nexus buttons im Interface. Auch die Lautstärke Einstellung via webinterface funktioniert nicht. Kann es eventuell daran liegen dass ich einen pi3 b+ nutze?
lch würde mich sehr über eure Hilfe freuen!
-
Was nun noch fehlt sind die Buttons und insbesondere die lötarbeiten. Hierzu gibt es ja auf git ein paar Bilder. Hier im Threads hatte auch einer bereits einen Eagle Schaltplan als Bild hinterlegt. Leider bin ich kein espezi und habe eher weniger Ahnung von der etechnik. Entsprechend wollte ich fragen ob es hierzu genauere Pläne gibt oder ob jemand einen fritzing oder Eagle Plan hat, den er mir zur Verfügung stellen könnte?
Anbei mal ein Fritzing-Plan den ich für meine Übersetzer-Platine erstellt habe, die ich auf einer Lochrasterplatine gelötet habe. Die dient als einfach wartbare Stecklösung zwischen dem Raspi und der angeschlossenen Peripherie, denn in meinem Gehäuseinneren kommen 2 Flachbandkabel an:
- Von den LEDs (da habe ich ein altes IDE-Kabel genommen und an ein abgeschnittenes Ende die LEDs gelötet)
- Von den Buttons (da habe ich ein ausgesägtes Stück von einer Frontplatine eines alten Receivers oder DVD-Players recycled)
Wenn Du nur Buttons nutzen willst, kannst Du also die rechte Seite im Schaltplan (für die LEDs) ignorieren.
Meine letzte Platine habe ich glaube ich auch vor 20 Jahren in der Schule gelötet, habs aber unter dem Strich ganz gut hinbekommen (musste auch nur 2 Teile zwischendurch wieder auslöten
)
Rückblickend hätte ich den Platz auf der Lochrasterplatine etwas ergiebiger ausnutzen können und auch zum Raspi eine zweizeilige Steckerleiste machen können, so dass man auch da beide Seiten einfach mit einem Flachbandkabel verbinden kann (aktuell nutze ich Jumperkabel)
Darüber hinaus habe ich noch ein Problem mit dem Webinterface. Dieses funktioniert zwar hinsichtlich des erstellens von neuen Kartenzuordnungen, jedoch geht keiner der Play Pause Nexus buttons im Interface. Auch die Lautstärke Einstellung via webinterface funktioniert nicht. Kann es eventuell daran liegen dass ich einen pi3 b+ nutze?
lch würde mich sehr über eure Hilfe freuen!
Play, Pause, next geht bei mir (3B non-plus)
Die Lautstärke geht bei mir auch nicht. Vermutlich, weil ich eine USB-Soundkarte benutze (?). Das Raspi-Audio musste ich deaktivieren, damit es nicht zu Konflikten kommt. Mich stört es nicht, denn für die Lautstärkeregelung habe ich eh das analoge Stellrädchen nach draußen gelegt. Doppelte Lautstärkeregler sorgen eh oft für Probleme...
-
Vielleicht könnte man das Problem mit dem potentiell ungünstigen Abschaltzeitpunkt aber noch anders lindern. Ich überlege gerade, ob man nach Zeitablauf das aktuelle Hörspiel noch bis zu Ende laufen lassen kann.
So hat's geklappt. Wenn die Zeit abgelaufen ist, wird jetzt das laufende Hörspiel noch beendet bevor sich die Box herunterfährt.
inzwischen hab ich auch das letzte Detail am laufen, dass das Kind nicht einfach die Box aus- und wieder anschalten kann, um wieder das defaultkontingent zu bekommen.
Den Code poste ich dann morgen oder so, bin gerade nicht am pc.
-
-
Hey tobi79,
vielen Dank erst Mal für deine Pläne. Leider sind die für mich als Laien noch schwieriger als die von MiczFlor im git. Deswegen bastel ich nun das von MiczFlor nach. Leider verstehe ich hier eine Sache nicht ganz. Die Pins laufen zunächst auf einen 1k Ohm Widerstan. Von da aus laufen sie sowohl auf den Eingang vom Button als auch auf den 10k Ohm widerstand der wiederum direkt auf 3,3vcc läuft. Der Button läuft dann mit einem Pin auf Grund. Wenn ich das richtig interpretiere liegt dann am Pin immer 3,3v an und über den Button wird das ganze dann auf gnd geschaltet. Macht das Sinn? Und was mache ich mit meinem dritten Anschluss am Button? Der wäre laut meiner Interpretation der Schaltung nun gar nicht genutzt. Also der, der im nicht geschalteten Zustand durch läuft im Button.
Ich wäre für eure Hilfe echt dankbar.
Gruß
-
Am Taster brauchst du 2 Anschlüsse.
Guck mal in meinem Beitrag
[Projekt] jukebox4kids (Jukebox für Kinder)
Da ist eine Anleitung. Beitrag 206
-
Das ist genau der Schaltplan den ich meine :) das heißt am Button muss nur Eingang auf geschalteten Kontakt genutzt werden und der "ausgang" der dauerhaft bei nicht geschaltet mit Eingang kontaktiert ist, wird nicht gebraucht?
Und dann habe ich das auch richtig verstanden, dass die 3,3v dauerhaft am Pin Anliegen und der gnd dann beim Schalten dazu geschaltet wird?
Weil genau so habe ich es gemacht und wenn ich die paltine mit Pi verbinde, fährt Pi nicht mehr hoch.
-
und wenn ich die paltine mit Pi verbinde, fährt Pi nicht mehr hoch.
Oha!
Mach mal bitte in paar aussagekräftige Fotos der (angeschlossenen) Platine und lade diese hier hoch. Ein paar Infos zu Deinem Netzteil wären auch nicht schlecht. Evtl. erkennt hier jemand den Fehler...
-
Sehr gern. Anbei die bilder. Ich hoffe es wird verständlich damit.
Edit: Powersuply durch eine TeckNet PowerZen 16750mAh Powerbank
-
-
Würdest Du in Deine Skizze bitte noch die GPIO (als Pinnummern) einzeichnen und ein Foto von der Rückseite der Platine machen? Und was genau ist wo am Ende der Strippen?
-
Und dann habe ich das auch richtig verstanden, dass die 3,3v dauerhaft am Pin Anliegen und der gnd dann beim Schalten dazu geschaltet wird?
Ich bin da auch mit ner Menge Halbwissen rangegangen, mit etwas Einlesen (und gerne auch Nachfragen) klappt das schon :)
In Deiner Zeichnung sehe ich spontan erstmal keinen Fehler.
Dennoch vielleicht doch kurz für Dich zum Verständnis betreffs Deiner Frage:
Ja, hier liegen dauerhaft 3,3V (+) am Schalter an, und wenn man den drückt, wird das "einfach" auf (-) kurzgeschlossen.
Das mag erstmal komisch klingen. Zum Sinn dahinter:
Der Eingang am Raspberry wird so konfiguriert, dass er bei Spannung am Eingangs-Pin von "nicht gedrückt" ausgeht und bei keiner Spannung (0V) von "gedrückt". Deswegen liegt hier dauerhaft 3.3V Spannung an. Wenn man nun den Schalter drückt, sinkt die Spannung am GPIO-Pin durch den Kurzschluss auf 0V und der Raspi erkennt den Tastendruck. So viel zum Prinzip...
Solche Kurzschlüsse sind aber nicht gesund oder verbraten bestenfalls noch zu viel Energie. Daher werden hier die Widerstände mit eingebaut.
Man muss sich das also so vorstellen:
Vom 3.3V Pin kommt Spannung in den Schaltkreis. Die muss aber erstmal durch den 10K Widerstand. Selbst wenn nun hinter dem Widerstand per Schalter ein Kurzschluss provoziert wird, fließt da nur ganz wenig Strom, so dass das unbedenklich ist.
Der 1K Widerstand ist prinzipiell überflüssig, die o.g. Button-Schaltung funktioniert auch so.
Falls man aber am Raspberry den GPIO-Pin versehentlich als Ausgang konfigurieren und auf High setzen würde - d.h. dort 3.3V aufschaltet - würde es beim Drücken des Buttons zu einem Kurzschlus kommen und ungesund viel Strom aus dem GPIO zu (-) (hinter dem Button) fließen. Dabei kann der Raspi kaputtgehen. Deswegen steckt man auch vor den GPIO-Pin noch einen (kleineren) Widerstand.
-
Oha die Pinbelegung hatte ich natürlich vergessen. Anbei die Bilder.
-
Ergänzend hier noch ein Link: https://www.elektronik-kompend…/raspberry-pi/2006051.htm
-
Hi MrBrown997 ,
meine Platine hatte ich hier auch schonmal gepostet:
zudem hatte ich das gleiche Problem mit der Lautstärke. Die Lösung ist auf der gleichen Page hinterlegt.
VG
X-Ray
-
-
So hat's geklappt. Wenn die Zeit abgelaufen ist, wird jetzt das laufende Hörspiel noch beendet bevor sich die Box herunterfährt.
inzwischen hab ich auch das letzte Detail am laufen, dass das Kind nicht einfach die Box aus- und wieder anschalten kann, um wieder das defaultkontingent zu bekommen.
Den Code poste ich dann morgen oder so, bin gerade nicht am pc.
Habe jetzt endlich mal meine Skripte inkl. 2 Readme-Dateien hier hochgeladen, sind ab heute 7 Tage online:
Die wesentlichen Parameter lassen sich am Dateianfang nach Belieben konfigurieren, z.B. das beim Anschalten vergebene Default-Zeitkontingent sowie die nach Ablauf geltende Sperrzeit (überlebt auch ein Neustarten der Box). Ebenso, ob man LEDs mit benutzt oder nicht.
Bei Fragen oder Anregungen einfach melden.
Viele Grüße,
tobi79
-
Habe jetzt endlich mal meine Skripte inkl. 2 Readme-Dateien hier hochgeladen, sind ab heute 7 Tage online:
Die wesentlichen Parameter lassen sich am Dateianfang nach Belieben konfigurieren, z.B. das beim Anschalten vergebene Default-Zeitkontingent sowie die nach Ablauf geltende Sperrzeit (überlebt auch ein Neustarten der Box). Ebenso, ob man LEDs mit benutzt oder nicht.
Bei Fragen oder Anregungen einfach melden.
Viele Grüße,
tobi79
Mal die Datein für die Ewigkeit hier im Forum zum downloaden.
-
Mal die Datein für die Ewigkeit hier im Forum zum downloaden.
Ups, an das Feature habe ich gar nicht gedacht. Danke!
-
Hallo zusammen,
bin schon eine ganze Weile an meiner persönlichen Jukebox für meine Kleine dran.
Habe damals verschiedene Varianten getestet und habe mich letztendlich für MiczFlor/RPi-Jukebox-RFID entschieden.
Mein persönliches Setup besteht aus:
RPi3 imuto 10000mAh Powerbank (für mich war dabei passthrough wichtig) RPi USV+ (damit beim Laden der Powerbank sich der RPi nicht einfach abschaltet) CSL - Externe USB Soundkarte Trust Leto 2.0 USB Lautsprecher Set I2C LCD 20 x 4 (aktuell mein Sorgenkind) 125Khz RFID-Lesegerät EM4100 Die grundlegenden Funktionen laufen einwandfrei und die einzelnen Alben werden über die RFID-Karten geladen.
Nun wollte ich als letzten Step das LCD-Disyplay integrieren, nur bei diesem Thema bin ich ehrlich gesagt total aufgeschmissen.
Habe das "gpio-buttons.py"-Script angepasst, sodass ich bei einem Button eine einfache Anzeige erhalten nur entspricht das nicht meinen Vorstellungen.
Ich möchte über das Display das aktuelle Lied angezeigt bekommen und ein Symbol, ob es gerade abspielt oder pausiert.
Zusätzlich soll über den Laut/Leiser-Button die aktuelle Lautstärke als Balken angezeigt werden.
Falls es funktionieren sollte wäre es schön, wenn man den aktuelle Akkuzustand der Powerbank anzeigen könnte (aber laut Google sollte diese Funktion nicht realisierbar sein).
Vielleicht noch das aktuelle Datum und Uhrzeit? Hättet Ihr noch Ideen für sinnvolle Funktionen?
Ich hoffe Ihr könnt mir dazu weiterhelfen
Achso, ich verwende Stretch-Lite, falls dies für Euch wichtig ist.
Python: persönliche Anleitung zur Installation
Display MoreJukebox4Kids - Installation: Version: Jukebox4Kids - v0.0.1.img - Update & Upgrade - Autologin Desktop - Jukebox4Kids installiert - RFID Reader konfiguriert Jukebox4Kids - v0.0.2.img - Update & Upgrade - Autologin Desktop - Jukebox4Kids installiert - RFID Reader konfiguriert - USB-Soundcard installiert und eingerichtet Jukebox4Kids - v0.0.3.img - Update & Upgrade - Autologin Desktop - Jukebox4Kids installiert - RFID Reader konfiguriert - USB-Soundcard installiert und eingerichtet - GPIO installiert und PushButton konfiguriert Jukebox4Kids - v0.0.4.img - Update & Upgrade - Autologin Desktop - Jukebox4Kids installiert - RFID Reader konfiguriert - USB-Soundcard installiert und eingerichtet - GPIO installiert und PushButton konfiguriert - USV+ installiert und konfiguriert Jukebox4Kids - v0.0.5.img - Update & Upgrade - Autologin Desktop - Jukebox4Kids installiert - RFID Reader konfiguriert - USB-Soundcard installiert und eingerichtet - GPIO installiert und PushButton konfiguriert - USV+ installiert und konfiguriert - LCD-Display installiert und die ersten Einstellungen vorgenommen Installation: - SD per „SD Card Formatter” formatieren - Per „Win32DiskImager“ Raspbian STRETCH auf die SD kopieren - Datei „ssh“ auf die SD kopieren/erstellen - Login: pi / Passwort: raspberry - Passwort mit dem Befehl ändern: -- passwd neue Daten = Login: pi / Passwort: XXX - Root-Passwort erstellen und Passwortabfrage für WinSCP abschalten: -- sudo passwd root -- sudo su -- nano /etc/ssh/sshd_config Folgender Block muss entsprechend abgeändert werden: ALT: # Authentication: LoginGraceTime 120 PermitRootLogin without-password StrictModes yes NEU: # Authentication: LoginGraceTime 120 PermitRootLogin yes StrictModes yes STRG + O, Return & STRG + X - Autologin für PuTTY per SSH einstellen (http://ozzmaker.com/how-automatically-log-into-a-raspberry-pi/): Per WinSCP den Ordner erstellen: /home/pi/.ssh/ Dort wird der Key mit dem Namen eingefügt: authorized_keys Im Programm „PuTTY“ müssen folgende Einstellungen vorgenommen werden: Connection SSH Auth Private Key for authentication = Key (.ppk) auswählen Connection Data unsername = pi - Update durchführen -- sudo apt-get update -- sudo apt-get upgrade - Autologin setzen (vorausgesetzt man hat die Vollversion installiert): -- sudo raspi-config Boot options --> Desktop / CLI --> Console Autologin - Text console, automatically logged in as 'pi' user - Samba installieren: -- sudo apt-get install samba samba-common-bin -- sudo nano /etc/samba/smb.conf Folgendes wird in der Config geändert: workgroup = WORKGROUP wins support = yes [RPi-Jukebox] comment= Pi Jukebox path=/home/pi/RPi-Jukebox-RFID/shared browseable=Yes writeable=Yes only guest=no create mask=0777 directory mask=0777 public=no STRG + O, Return & STRG + X Benutzer für Samba anlegen: -- sudo smbpasswd -a pi - evdev installieren: -- sudo apt-get install python-dev python-pip gcc -- uname -r -- sudo apt-get install linux-headers-4.X (Anstatt dem X muss die Versionsnr. angegeben werden) -- sudo pip install evdev - lighttpd & PHP installieren: -- sudo apt-get install lighttpd php7.0-common php7.0-cgi php7.0 -- sudo nano /etc/lighttpd/lighttpd.conf Folgende Änderung muss vorgenommen werden: server.document-root = "/home/pi/RPi-Jukebox-RFID/htdocs" STRG + O, Return & STRG + X -- sudo nano /etc/sudoers Folgende Zeile muss hinzugefügt werden: www-data ALL=(ALL) NOPASSWD: ALL STRG + O, Return & STRG + X -- sudo lighty-enable-mod fastcgi-php -- sudo service lighttpd force-reload - VLC installieren: -- sudo apt-get install vlc -- sudo sed -i 's/geteuid/getppid/' /usr/bin/vlc - mpg123 installieren: -- sudo apt-get install mpg123 - git installieren: -- sudo apt-get update -- sudo apt-get install git - Jukebox installieren: -- cd /home/pi/ -- git clone https://github.com/MiczFlor/RPi-Jukebox-RFID.git -- sudo chown -R pi:www-data /home/pi/RPi-Jukebox-RFID/shared -- sudo chmod -R 775 /home/pi/RPi-Jukebox-RFID/shared -- sudo reboot - RFID registrieren: -- cd /home/pi/RPi-Jukebox-RFID/scripts/ -- python2 RegisterDevice.py Nun muss der RFID ausgewählt werden. Mit folgendem Code kann man prüfen, welcher eingetragen wurde: -- cat deviceName.txt - Auto-start für Jukebox einrichten: -- crontab -e Folgende Zeilen werden am Schluss hinzugefügt: @reboot mpg123 /home/pi/RPi-Jukebox-RFID/misc/startupsound.mp3 @reboot python2 /home/pi/RPi-Jukebox-RFID/scripts/daemon_rfid_reader.py & STRG + O, Return & STRG + X - Media Player Script: -- cd /home/pi/RPi-Jukebox-RFID/scripts/ -- cp rfid_trigger_play.sh.sample rfid_trigger_play.sh -- chmod +x rfid_trigger_play.sh -- sudo reboot - USB-Soundcard einrichten: -- aplay -l Hier ist die Card Nummer relevant: Beispiel: card 0: ALSA [bcm2835 ALSA], device 0: bcm2835 ALSA [bcm2835 ALSA] Subdevices: 8/8 Subdevice #0: subdevice #0 Subdevice #1: subdevice #1 Subdevice #2: subdevice #2 Subdevice #3: subdevice #3 Subdevice #4: subdevice #4 Subdevice #5: subdevice #5 Subdevice #6: subdevice #6 Subdevice #7: subdevice #7 card 1: Device [USB PnP Sound Device], device 0: USB Audio [USB Audio] Subdevices: 0/1 Subdevice #0: subdevice #0 -- sudo nano /usr/share/alsa/alsa.conf Folgende Werte müssen entsprechend der Card Nummer angepasst werden: defaults.ctl.card 1 defaults.pcm.card 1 STRG + O, Return & STRG + X -- sudo nano ~/.asoundrc Folgende Daten eintragen: pcm.!default { type hw card 1 } ctl.!default { type hw card 1 } STRG + O, Return & STRG + X Da nun die Lautstärke nicht über den Webserver geändert werden kann muss folgende Änderung vorgenommen werden: In der Datei /htdocs/index.php muss in der Zeile 60 "Speaker" anstatt "PCM" eingetragen werden: exec("/usr/bin/sudo amixer sset 'Speaker' ".$urlparams['volume']."%"); Datei speichern und RPi neustarten: -- sudo reboot - GPIO installieren und PushButtons konfigurieren: -- sudo get-apt update -- sudo apt-get install python3-gpiozero python-gpiozero -- cp /home/pi/RPi-Jukebox-RFID/misc/GPIO-button-sample.py /home/pi/RPi-Jukebox-RFID/scripts/gpio-buttons.py -- sudo chmod +x /home/pi/RPi-Jukebox-RFID/scripts/gpio-buttons.py - Autostart einrichten: -- sudo nano /etc/rc.local Folgende Zeile oben einfügen: /home/pi/RPi-Jukebox-RFID/scripts/gpio-buttons.py & - Die Datei "gpio-buttons.py" muss noch wie folgt angepasst werden: #!/usr/bin/python3 from gpiozero import Button from signal import pause from subprocess import check_call # 2017-12-12 # This script was copied from the following RPi forum post: # https://forum-raspberrypi.de/forum/thread/13144-projekt-jukebox4kids-jukebox-fuer-kinder/?postID=312257#post312257 # I have not yet had the time to test is, so I placed it in the misc folder. # If anybody has ideas or tests or experience regarding this solution, please create pull requests or contact me. #def def_shutdown(): # check_call(['sudo', 'poweroff']) def def_volU(): check_call("amixer sset Speaker 1.5db+", shell=True) def def_volD(): check_call("amixer sset Speaker 1.5db-", shell=True) def def_vol0(): check_call("amixer sset Speaker 50db-", shell=True) def def_next(): check_call("echo 'next' | nc.openbsd -w 1 localhost 4212", shell=True) def def_prev(): check_call("echo 'prev' | nc.openbsd -w 1 localhost 4212", shell=True) def def_halt(): check_call("echo 'pause' | nc.openbsd -w 1 localhost 4212", shell=True) #shut = Button(3, hold_time=2) vol0 = Button(13) volU = Button(16,pull_up=True) volD = Button(19,pull_up=True) next = Button(26) prev = Button(20) halt = Button(21) #shut.when_held = def_shutdown vol0.when_pressed = def_vol0 volU.when_pressed = def_volU volD.when_pressed = def_volD next.when_pressed = def_next prev.when_pressed = def_prev halt.when_pressed = def_halt pause() - Buttons müssen via GPIO wie folgt angeschlossen werden: Stumm - vol0 - PIN33 - GPIO13 Lauter - volU - PIN36 - GPIO16 Leiser - volD - PIN35 - GPIO19 Nächstes - next - PIN37 - GPIO26 Zurück - prev - PIN38 - GPIO20 Play/Stop - halt - PIN40 - GPIO21 Ground - - PIN39 - Ground -- sudo reboot - RPI USV+ installieren und konfigurieren: -- sudo apt-get install -y python-smbus -- sudo apt-get install -y i2c-tools -- sudo raspi-config 5 – Interfacing Options P5 – I2C Enabled -- sudo reboot -- sudo nano /etc/piupsmon/piupsmon.conf Config wird folgend angepasst: PowerOffTimer=15 ShutdownTimer=45 ShutdownCmd=init 0 LogLevel=notice LogStatusDesc=1 StatusChangedCmd= STRG + O, Return & STRG + X -- sudo reboot Log-Datei liegt unter: /var/log/piupsmon.log Folgende Befehle stehen zur Verfügung: -- sudo /etc/init.d/piupsmon start -- sudo /etc/init.d/piupsmon stop -- sudo /etc/init.d/piupsmon status - LCD – Installation und Konfiguration: -- sudo apt-get install python-pip python-dev build-essential -- sudo apt-get install python-pip python-dev build-essential -- sudo apt-get install python-imaging -- sudo nano /etc/modules Folgende Zeilen in die Datei einfügen: i2c-bcm2708 i2c-dev STRG + O, Return & STRG + X -- sudo reboot -- mkdir I2C-LCD && cd I2C-LCD -- wget http://tutorials-raspberrypi.de/wp-content/uploads/scripts/hd44780_i2c.zip -- unzip hd44780_i2c.zip I2C-Adresse kontrollieren: -- sudo i2cdetect -y 1 Sollte nicht Adresse 27 angezeigt werden muss folgende Datei angepasst werden: -- sudo nano lcddriver.py Folgende Dateien müssen in den Ordner RPi-Jukebox-RFID/scripts eingefügt werden: i2c_lib.py i2c_lib.pyc lcddriver.py lcddriver.pyc Der Ordner /home/pi/I2C-LCD kann gelöscht werden Die Datei /home/pi/Rpi-Jukebox-RFID/scripts/pgio-buttons.py muss mit folgenden Zeilen angepasst werden: import lcddriver from time import * lcd = lcddriver.lcd() lcd.lcd_clear() lcd.lcd_display_string(" LAUTER ", 1)
-
Ich möchte über das Display das aktuelle Lied angezeigt bekommen und ein Symbol, ob es gerade abspielt oder pausiert.
Zusätzlich soll über den Laut/Leiser-Button die aktuelle Lautstärke als Balken angezeigt werden.
Die Info bekommst Du ebenfalls über das Remote Control Interface von VLC, das bereits auch für die Steuerung (vor, zurück, ...) verwendet wird.
Codeget_title . . . . . the title of the current stream is_playing . . . . 1 if a stream plays, 0 otherwise volume [X] . . . . . . . . . . set/get audio volume
Wenn Du ein Beispiel für Skripte brauchst, die dieser Schnittstelle nicht nur Befehle schicken, sondern auch die Rückgabe auswerten, schau mal in meinen Code von 3 Beiträge weiter oben. Die Skripte scripts/vlc_*.py demonstrieren das.
Bei "volume" bin ich mir gerade nicht sicher, ob die Lautstärkeeinstellung vom VLC dieselbe ist wie die die hier ansonsten verwendete, ggf. musst du die Lautstärke anders ermitteln.
-