Posts by tobi79

    Nach meiner Einhornbox für die Große letztes Jahr hab ich nun endlich die Dinobox für den Zweiten fertig gebaut 8)


    Als wesentliche Neuerung hab ich die beiden onboard LEDs des Raspi über Lichtwellenleiter mit raus gelegt, damit man den Status noch besser sieht.


    (Wer's damals nicht gelesen hat: die 5 großen LEDs oben sind zur Anzeige des restlichen Zeitkontingents - man kann mit Elterntranspondern Zeitlimits setzen)

    Du könntest den Drehregler der USB Boxen von außen erreichbar machen, da sparst du schonmal einiges an lötarbeit. Bei mir hab ich die Box dazu quer durchgesägt, damit der Lautsprecher vorne bleibt und der Drehregler an der Rückseite der phoniebox landet.


    Für Funktionen wie vor/zurück könntest du auch spezielle RFID Karten bedrucken, dann musst du auch nix löten.


    Und für on/off kannst du auch eine 230v Zuleitung mit Kippschalter nehmen

    Und noch die Frage tobi79

    Ist dein Code für den Sleep-Timer aus diesem Beitrag #456 noch für die aktuelle Github-Installation verwendbar - aktuell 1.1.8-beta ?

    Ich vermute, nicht ohne ein paar Anpassungen, zwischenzeitlich gab es ja einige größere Änderungen an der PhonieBox-Codebase. Inzwischen ist dort ja auch eine "offizielle" Timerfunktionalität enthalten - allerdings blockiert die das anschließende Neustarten nicht.


    Da ich eh den Kram für die 2. Box hier schon liegen habe, werde ich das Projekt einer Anpassung für die aktuelle PhonieBox-Software aber in den nächsten Wochen sowieso angehen. Ggf. schiebe ich das diesmal dann auch gleich als Pull-Request in Richtung Hauptprojekt.

    Also bei meinem Raspi 3B geht der Kartenleser aus, wenn der Raspi runterfährt. Also die Betriebs-LED des Kartenlesers geht aus und er reagiert nicht mehr auf Karten.


    Ich vermute daher, den Trust-Boxen würde ebenfalls die Spannung abgedreht, wenn ich sie im Raspi stecken hätte.

    Habe ich aber nicht, sondern parallel zum Raspi-Netzteil in einer zweiten internen Steckdose (meine Box nutzt einfach Netzanschluss).

    Auch wenn man meine Box nach dem Runterfahren nicht per Kippschalter von der Netzspannung trennt, hört man von den Trust-Boxen absolut keinen Mux / Brummen etc.. Entsprechend denke ich nicht, dass die dann nennenswert Strom ziehen, habs aber noch nicht gemessen.

    Bei mir 230V-Buchse <--> Kippschalter <--> Doppelsteckdose -->...

    Steckdose 1: --> 3A Netzteil --> Raspi --> (Kartenleser, GPIO-Board für 5 Buttons und 5 x LED)

    Steckdose 2: --> 1A Netzteil --> Boxen


    Prinzipiell lief es auch alles am Raspi, aber mit Monitor dran hab ich beim Starten durchaus regelmäßig das Blitzsymbol zu sehen bekommen. Daher hab ich sicherheitshalber die Boxen separat geschaltet.

    Ich hab das Ding gerade nicht greifbar, aber die letzte karten-id wird doch immer in eine Textdatei geschrieben. Bin nur gerade unsicher ob das auch für bereits bekannte Karten so gehandhabt wird...


    Als power-led tut es übrigens mit Einschränkungen auch bereits die Led des RFID Readers. Die geht während des Bootvorgangs an und beim Shutdown wieder aus. Ich hab einfach an der Stelle eine Aussparung im Case die ich mit Heißkleber transparent versiegelt habe.

    Ja, man kann kurze und lange Tastendrücke grundsätzlich unterscheiden. Das Problem ist, dass bei einem langen Druck auch das Event für den kurzen mit ausgelöst wird, da muss man ggf. mit umgehen können. In meinem Fall war es egal. Kurz ist bei mir Pause/Resume und lang ist shutdown. Da pausiert der aktuelle Titel halt mit Beginn des langen Tastendrucks bis die Zeitschwelle für nen langen Druck erreicht ist.


    Beim Pi Zero soll der Stromverbrauch von den USB Geräten kritisch werden können, da braucht man dann ein aktives USB Hub das mit etwas Pech größer ist als der Zero selbst ^^

    Wo kann ich denn die Softwarelösung deaktivieren? Oder kann ich die eingeschaltet lassen, wenn ich das mit der 3.3v-Lösung ausprobiere?

    Im Beispielskript der Phoniebox sieht man das glaube ich hier ganz gut:

    Code
    1. shut = Button(3, hold_time=2)
    2. vol0 = Button(13)
    3. volU = Button(16,pull_up=True)
    4. volD = Button(19,pull_up=True)
    5. next = Button(26)
    6. prev = Button(20)
    7. halt = Button(21)


    Da steht beim Button für Lauter (volU) und leiser (VolD) ein ",pull_up=True" mit dabei. Das müsste heißen, dass hier der Widerstand gegen 3.3V per Software aktiviert wird. Umgekehrt ist das bei den anderen Buttons deaktiviert (wenn mans nicht angibt, ist es aus), dort braucht man dann 1-2 eigene Widerstände pro Button.

    Somit müsste das mit ",pull_up=True" dann mit einem Button nur gegen Masse funktionieren. Ich habe das aber noch nicht selbst ausprobiert. Wie gesagt gibt es aber 2, 3 GPIO-Pins wo das per Software NICHT funktioniert.

    Aber mein Fehler scheint zu sein, dass ich nicht generell mit 3,3V versorgt habe. Das war mir nicht klar.

    Hatte das wir hier so verstanden, dass der Button nur ein Signal gibt und keine zusätzliche Spannung benötigt.

    Ja, das geht grundsätzlich auch. Man kann man die 3,3V inkl. ("Pullup-")Widerstand auch in Software zuschalten lassen, dann passiert das automatisch intern im Prozessor. Dann müsstest Du ein Skript wie in diesem Link beschrieben nehmen. Das Beispielskript im Github-Projekt geht m.E. davon aus, dass man selbst einen Widerstand gegen 3.3V platziert.


    Der Nachteil von der Softwarelösung ist, dass die Beschaltung mit Pullup/Pulldownwiderständen nicht für alle GPIO-Pins zur Verfügung steht (die Ausnahmen habe ich nicht im Kopf, müsste ich googeln).

    Und auch hier besteht das Problem: Wenn Du aus Versehen ein anderes Skript startest (z.B. für ein anderes Bastelprojekt), welches den Pin als Output-Pin konfiguriert, dann hast Du außen dran nur Deinen Button gegen Masse. Wenn Du den dann drückst, fließt zuviel Strom aus dem GPIO und der Prozi kann beschädigt werden.


    Daher ist die Variante mit den Widerständen am Button die sicherste...

    Ich habe zum Testen einfach nur einen Button an die im Script programmierten Pins geklemmt. Den anderen des Buttons an einen GND.

    Selbst wenn ich die Jumper-Kabel direkt verbinde reagiert der RPi nicht.

    Das Skript ist für eine Pull-Down Schaltung ausgelegt. Das heißt, im ungedrückten Zustand des Buttons muss der GPIO-Pin mit 3,3V verbunden sein,.

    Durch das Drücken des Buttons muss diese Spannung auf 0V abfallen, indem sie über den Button auf Masse durchgeleitet wird.


    Zum Schutz des Raspi sollten unbedingt noch Widerstände eingesetzt werden: Der 3.3V Pin darf natürlich nicht ungebremst mit Masse kurzgeschlossen werden. Und es sollte den Prozessor nicht zerlegen, wenn der GPIO-PIN versehentlich als output-pin und high programmiert wird und bei Button-Klick dann ein Kurzschluss gegen Masse entsteht.


    Folgende Schaltung gab es glaub ich hier im Thread irgendwo weiter vorne..

    ich bin mal wieder dazu gekommen an der Box weiter zu machen und habe diese nun als phoniebox neu aufgesetzt. Ich setzte einen Hifiberry miniamp ein, allerdings bekomme ich außer dem Startsound keinen Ton, jemand eine Idee woran das liegen könnte?

    Klingt so, als würde Dein System teils durcheinander kommen, welches Sound device es verwenden soll. Ich hatte mit der USB-Soundkarte damals dasselbe Problem, per "speaker-test -c 2 -D plug:hw:1" lief das ding, aber die VLC-Ausgabe ging trotzdem über die Kopfhörerbuchse des Raspi bzw. HDMI raus.


    Ich hatte dann irgendwann keinen Bock mehr, das geradezukonfigurieren - mir hat es geholfen, einfach das Sound device des Raspi abzuschalten.

    Dazu einfach in der Datei /boot/config.txt die Zeile

    dtparam=audio=on

    ändern in

    dtparam=audio=off

    und dann neu starten.


    Falls es dann noch nicht gehen sollte, dann auch noch probieren, in der /usr/share/alsa/alsa.conf

    defaults.ctl.card 0

    defaults.pcm.card 0

    auf

    defaults.ctl.card 1

    defaults.pcm.card 1

    zu ändern und nochmal booten..

    Die USB-Ports des Raspi werden doch abgeschaltet, sobald er herunterfährt, oder? (Mein Kartenleser geht dann jedenfalls aus). Wo hast Du die Boxen denn dann angeschlossen?


    Ich habe sie in der Tat auch parallel zum Raspi verstromt, da ich befürchtet habe, dass sie zu viel Saft aus dem USB ziehen. Grundsätzlich lief das aber so.

    Dafür hat meine Box einen Kippschalter, mit dem man die gesamte Stromversorgung kappen kann nach dem Herunterfahren. Und beim wieder Anschalten fährt der Raspi dann ja sowieso automatisch hoch.


    Theoretisch könnte man die Boxen auch am +5V und einem GND pin des Raspi anschließen, wenn man das USB-Kabel kappt - möglicherweise macht das aber technisch zum Anschluss am USB-Port keinen Unterschied.

    Ansonsten müsste ich ja zB Music1.mp3 in jeden ordner kopieren, in dessen Abspielreihenfolge die vorkommen soll u würde zig-fach auf der Festplatte sein..

    Das ist eine Fehlannahme, da hast Du die Rechnung ohne Hardlinks gemacht. Damit kann man ein und dieselbe Datei an beliebig vielen Orten im selben Dateisystem ablegen ohne dass mehr Platz verbraucht wird - und das sogar mit verschiedenen Dateinamen.

    Du könntest z.B. alle MP3s in einem Ordner "alles" ablegen. Dann kannst Du die daneben liegenden Ordner "deutsch", "englisch", "maenner", "frauen" wie folgt ohne zusätzlichen Speicherbedarf befüllen:

    Code
    1. ln alles/heino.mp3 deutsch/heino.mp3
    2. ln alles/heino.mp3 maenner/heino_ohne_hannelore.mp3
    3. ln alles/djbobo.mp3 englisch/diedschey_popo.mp3
    4. ln alles/djbobo.mp3 maenner/01.mp3
    5. ln alles/jeanettejackson.mp3 frauen/jeanettejackson.mp3
    6. ln alles/jeanettejackson.mp3 englisch/jeanettejackson.mp3
    7. ln alles/michaeljackson.mp3 englisch/michaeljackson.mp3
    8. ln alles/michaeljackson.mp3 maenner/michaeljackson_trotz_zu_hoher_stimme.mp3
    9. ln alles/mariahcarey.mp3 englisch/mariah.mp3
    10. ln alles/mariahcarey.mp3 frauen/mariah.mp3

    So etwas geht natürlich (noch) nicht übers Webinterface. Du Musst das entsprechend über die Konsole eingeben oder machst ggf. besser am PC ein langes Shellskript mit o.g. Inhalt und startest das dann auf dem Raspi.


    Diesen Ordnern kannst Du danach dann ganz normal einzelne RFID-Karten zuweisen, da für die Phoniebox-Software keinerlei Unterschied zu erkennen ist als wenn die Dateien wirklich mehrfach abgelegt wären.


    Elegant daran ist auch, dass man beim Umbenennen oder Löschen solcher Dateien später keinerlei Rücksicht darauf nehmen muss, ob und welche Links man da mal gesetzt hatte. Umbenennen geht beliebig und beim Löschen wird der Speicherplatz erst und automatisch genau dann frei, wenn die letzte Kopie gelöscht wurde. Das ganze geht sogar vom Windows-PC aus über die Netzlaufwerk-Dateifreigabe.

    Nabend zusammen, kann mir bitte mal jemand verraten, wie ich das hin bekomme, dass ich vor, zurück, Pause / Play mit ner rfid Karte steuern kann?!? Bzw wie ich diese registriert bekomme?!?

    Das ist hier beschrieben:


    https://github.com/MiczFlor/RP…ocs/MANUAL.md#cardcontrol


    Kurzfassung: Karte vor den Reader halten und ID ablesen (geht über Webinterface)

    Danach muss auf dem Gerät im Unterordner "settings" die Datei "rfid_trigger_play.conf" editiert werden. Wenn man zum Beispiel mit der RFID-Karte "1352647584" die Stummschaltung aktivieren will, muss man die Standardzeile

    Code
    1. CMDMUTE="%CMDMUTE%"

    ändern in

    Code
    1. CMDMUTE="1352647584"

    Für die anderen Funktionen entsprechend.

    Grundsätzlich lassen sich auch weitere befehle einbauen, zu denen noch nichts vorbereitet ist. Dann muss man glaube ich noch ein anderes Pythonscript erweitern. (Als ich das zuletzt gemacht habe, war beides noch in derselben Datei).