OLED Display für die Phoniebox

  • Hallo zusammen,


    ich arbeite aktuell an einem Script zur Integration eines 1.3 Zoll OLED Displays in die Phoniebox / jukebox4kids. Ich werde diesen ersten Post immer weiter aktualisieren.





    Ich stelle das Script samt Doku auf Github bereit: https://github.com/splitti/oled_phoniebox


    Ein kleines Video mit den aktuellen Updates findet Ihr auf Youtube:


    Ich hoffe, dass die Arbeit Anklang findet und sich ein paar Mitstreiter und Tester finden? Wenn Ihr Wünsche habt, Anregungen, Kritik oder auch Codeoptimierungen habt, bitte ich um Feedback.


    Da ich oft per PN angeschrieben werde und die Fehler sich gleichen, lasst die anderen davon partizipieren und schreibt Eure Fragen hier rein! Doofe Fragen gibt es nicht ;-)


    Alternativ hab ich auch nen WhatsApp Support Kanal, wenn es mal dringlich ist: https://chat.whatsapp.com/JFR3Zasq3qyAuQbCslt5Rc


    FERTIGE BOXEN aus diesem Thread

    KoRa22's Prototyp


    letzte Änderungen

    • OneLineInstaller
    • Kontrast Kontrolle per Prev und Next Buttons (Long Press)
    • Anzeige von WLAN SSID, IP und Version des Scriptes
    • Full und Lite Version
    • Full und Lite änderbar per Buttons
    • Lite Version mit Trackfortschritt und Wifi-Stärke
    • verbessertes Textscrolling

    Todos:

    • Einbaurahmen (z.B. per 3D-Druck)
    • Test mit OnOff Shim oder YKRUD
    • Update-Beschreibung OHNE Installationsscript
  • Ich hab das gerade versucht zu installieren, aber irgendwie Popen nur Fehler auf. unter anderem fehlen auch die Bilder im images Ordner ^^

    Der Fehler beim ausführen der ./setup.py sieht folgendermaßen aus


    Code
    1. >>> Link demo_opts.py
    2. ln: failed to create symbolic link '/home/pi/oled_phoniebox/demo_opts.py': File exists
    3. >>> Installing Service...
    4. ● oled_phoniebox.service - Display Service
    5. Loaded: loaded (/etc/systemd/oled_phoniebox.service; enabled; vendor preset: enabled)
    6. Active: inactive (dead) (Result: exit-code) since Sat 2018-12-29 11:28:33 CET; 7min ago
    7. Main PID: 1017 (code=exited, status=1/FAILURE)
    8. Dec 29 11:28:32 raspberrypi systemd[1]: oled_phoniebox.service: Failed with result 'exit-code'.
    9. Dec 29 11:28:33 raspberrypi systemd[1]: Stopped Display Service.

    Ich hab das Problem bei mir gefunden und zwar musste ich noch

    Code
    1. sudo apt install libtiff5

    ausführen und dann war alles wieder gut. Wird wohl bei der Python 3 install nicht mit installiert, vorher Abe rnoch ein


    Code
    1. sudo apt-get update

    machen.



    Ansonsten hatte ich statt den Noten auch noch ein anderes Bild, welches zeigen soll, dass man eine karte auflegen soll, vielleicht findet es ja gefallen, es ist eigentlich das "kontaktlose Bezahlen" symbol aber passt imho ganz gut :-)



    Edited once, last by uelly: Fehler selbst gefunden und Lösung eingetragen ().

  • Mir geht es vor allem um die rechtliche Grundlage... Hab schon ein paar Sachen negativer Natur im Bekanntenkreis erlebt.


    Aber ich finde das Bild sehr passend.


    Danke für den Hinweis mit der Installationsroutine. Wird angepasst.

    Ich fand das Bild auch sehr passend und um die Rechte mache ich mir im privaten nicht so den Kopf aber stimmt schon sobald es auf Github ist sollte es natürlich Safe sein...

  • Hab heute den Code umfangreich verändert. Die Kommunikation bzw. die Abfrage per mpc raubt ordentlich Zeit.

    Es werden nun verschiedene Images angezeigt und der Text scrollt. Hier muss ich ggf. noch optimieren, bin mir noch nicht schlüssig wie, ich wollte es erstmal einbauen...

    Dadurch, dass jeder Buchstabe eine andere Breite hat (siehe i VS O) müsste ich entweder die Schriftart wechseln oder alle Buchstaben + Zahlen ausmessen. Vermutlich wechsel ich noch mal die Schriftart, dann allerdings nur für die Anzeige der oberen Infos.

  • Der Wahnsinn, sofort vor dem Frühstück installiert und läuft ohne Probleme... Hatte nicht gedacht, dass das scrollen so schwer ist :-(


    Was vielleicht noch wichtig ist:

    Ich betreibe die Phoniebox in der Classic Version ohne Spotify, bzw. Besorge ich mir die Titel von Spotify anderweitig, weil ich ja sonst immer eine Internetverbindung gewährleisten müsste...

    Das ganze läuft auf einem Raspberry 3a+ (2018er Version) und läuft ohne hackeln und stottern.

    Als Display habe ich die 0.96“ Variante mit ssd1306 Chipsatz und betreibe es an I2C am 5V Anschluss des Raspberry und es läuft ohne Probleme, auch mein ADC3008 am spi läuft weiterhin ohne stottern, soweit bin ich sehr zufrieden mit dem Setup.


    Wonach ich gerade noch auf der Suche bin ist:

    Den titelfortschritt als Balken anzuzeigen und nicht als Zeitanzeige. Und die Lautstärkeanzeige brauche ich persönlich nicht, da meine Lautstärkeregelung über einen schiebepoti läuft und dadurch schon optisch klar ist auf welcher Stellung die Lautstärke ist.


    Und als Sahnebonbon wäre es dann noch Symbole anzeigen zu lassen bei bestehender Internetverbindung und ggf bei gekoppelten Bluetoothgerät, aber das ist erstmal 2.rangig...


    Leider habe ich keine Programmiererfahrung und kopiere mir auch nur was zusammen wo ich mich dann wie ein Schnitzel freue, dass es funktioniert ^^

    Edited once, last by uelly ().

  • Schwer nicht, nur unberechenbar oder kompliziert mit dieser Schriftart. Das einfachste wäre eine Schriftart mit gleich bleibender Breite zu verwenden. Damit kann ich auf den Pixel genau anzeigen. Ich würde ja auch gerne Pixel für Pixel scrollen, funktioniert super, aber die mpc Abfrage dauert zu lang zwischenzeitlich...

    Ich überlege auch die mpc Abfrage weiter einzuschränken, da diese Abfrage das Script bremst. Dann wäre die Sekundenanzeige nicht in Echtzeit, aber gibt schlimmeres.

    Das mit dem Fortschrittsbalken ist relativ simpel. Die Idee finde ich gut.
    Also nutzt das das 0,96 Display, kannst Du bitte mal Bilder einstellen, wie die Anzeige dort ausschaut? Ich programmiere ja die ganze Zeit nur am 1.3 Zoll Display. Kannst Du mir auch den Link von Deinem Display senden, würde das dann unter kompatible Geräte speichern.

    Bei den Symbolen hab ich einige Ideen, weiß noch nicht wie glücklich ich damit bin.

  • Hier mal der Link zum Display 0.96" Display SSD1306 I2C

    Bei dem Fortschrittsbalken würde ja auch die sekündliche abfrage hinfällig werden, weil der muss sich ja nicht jede Sekunde bewegen ^^


    Anbei noch ein paar Bilder von meinem Display, es ist ja die selbe 128x64Pixel Auflösung von daher sollte es exakt so aussehen wie bei dir ^^einziges Problem was ich gerade bei König der Löwen gesehen hab, ist das die Titelnummern nicht in die Spalte passen ^^aber da ich die Volume eh wegnehmen werde ist das nicht tragisch oder ich nehme das "T" davor weg, mal schauen...


    Ich fände es noch gut, wenn der shutdownbefehl kommt, dass eine andere Grafik auf dem display dargestellt wird, denn im moment fährt der PI runter und auf dem Display bleibt die letzte information stehen, bis er vom ström getrennt wird (sind bei mir 2 unterschiedliche Taster/schalter)


  • Das ganze sieht schon sehr gut aus. Wenn ich mit dem letzten Feinschliff an der Box von meiner Tochter soweit durch bin kann ich mir gut vorstellen schon einmal mit dem Display zu spielen. Ist das 1,3" große OLED die größte Größe die mit deinem Code unterstützt wird oder gibt es auch noch größere OLEDs die man mit minimalen Änderungsaufwand anschließen kann?