Ein Wunsch, welcher schon etliche Jahre besteht, fiel mir wieder ein: dynamische Ambiente Beleuchtung hinter dem TV.
Nachdem im Moment etwas Zeit für Basteln, probieren vorhanden ist (das Wetter wird die Tage wieder besser, so daß die Kopter endlich mal in die Luft kommen) ging die Informationsphase los.
Allein was hier in dem ersten Thread steht, hat mich 8 Tage Urlaub gekostet, da der Raspberry Neuland für mich war und in Probleme reingelaufen bin, wo wohl jeder das erste Mal mit etwas Pech hinkommt.
Schnell landet man hier im Forum von der Entwicklung der OpenSource Software von Hyperion Hyperion Forum.
Nach einigen Lesen, kam als erstes die aktuelle OSMC mit Kodi auf die SD-Karte OSMC Download
Den Raspberry mittels HDMI an den AV Receiver angeschlossen, USB Tastatur dran und gestartet. Kurzer Test = bei OSMC lief erst einmal alles.
Um Hyperion zu installieren gibt es 2 Wege:#
* alles aus der Shell oder
* einfach via GUI auf und von dem PC
Anleitung und Dowlnload Adresse ist hier:
HyperCon
1.Problem
Hier gab es schon das erste Problem beim Starten:
Es muss auf dem PC eine Java-Version installiert sein. Auf dem W7 Rechner gibt es jedesmal Java-Exeptions wenn man den SSH zum Raspberry öffnen möchte. Wie es ausschaut genau dann, wenn der Key-Exchange stattfinden soll.
Hier muss entsprechend erst einmal die Java Version auf dem Rechner upgedatet werden.
Hinweis:
Wenn man zum Beispiel von Java.com https://java.com/de/download/ die Version installiert, gibt es versteckt einen kleinen Hinweis um die AD's erst gar nicht mitzuinstallieren
Ohne AD
Ich habe den Weg der Installation über Hypercon und dem SSH gewählt. Hyperion ist schon einmal installiert und benötigt noch die Config zum testen.Ab den Releases 7u65 und 8u11 ist im Java Control Panel (JCP) eine neue Option zum Deaktivieren von kostenlosen Angeboten anderer Hersteller verfügbar. Um diese Option zu verwenden, gehen Sie zur JCP-Registerkarte "Erweitert", und aktivieren oder deaktivieren Sie Kostenlose Angebote anderer Hersteller beim Aktualisieren von Java unterdrücken. Diese Option gilt für 32-Bit- und 64-Bit-Windows-Betriebssysteme.
Probleme:
Für die WS2812b Leds muss
* der Soundtreiber in die Blacklist
* etliche Sachen in der config.txt (im /boot) entsprechend angepaßt werden
* zusätzliche Einträge in die hyperion.config.json hinzugefügt werden.
Infos findet man u.a.
Hyperion 3 wire https://hyperion-project.org/wiki/3-Wire-PWM
GIT für den Treiber https://github.com/jgarff/rpi_ws281x
und an vielen Stellen mehr.
PROBLEM:
Hyperion wird jedenmal mit einer Speicherschutzverletzung beendet
Code: Alles auswählen
osmc@osmc:~$ service hyperion status
* hyperion.service - Hyperion Systemd service
Loaded: loaded (/etc/systemd/system/hyperion.service; enabled; vendor preset: enabled)
Active: failed (Result: signal) since Thu 2019-04-11 12:39:07 CEST; 5min ago
Process: 435 ExecStart=/usr/bin/hyperiond /etc/hyperion/hyperion.config.json (code=killed, signal=SEGV)
Main PID: 435 (code=killed, signal=SEGV)
Apr 11 12:39:07 osmc systemd[1]: hyperion.service: Failed with result 'signal'.
Apr 11 12:39:07 osmc systemd[1]: hyperion.service: Service hold-off time over, scheduling restart.
Apr 11 12:39:07 osmc systemd[1]: Stopped Hyperion Systemd service.
Apr 11 12:39:07 osmc systemd[1]: hyperion.service: Start request repeated too quickly.
Apr 11 12:39:07 osmc systemd[1]: Failed to start Hyperion Systemd service.
Apr 11 12:39:07 osmc systemd[1]: hyperion.service: Unit entered failed state.
Apr 11 12:39:07 osmc systemd[1]: hyperion.service: Failed with result 'signal'.
* Liebreelec https://libreelec.tv/downloads/
* openelec https://openelec.tv/downloads
Libreelec startete schon einmal gar nicht .... einfach ein Regenbogenscreen. Auch der Hinweis nach einer IN Suche mit dem Bootdelay half nicht weiter. Vermutlich ist das Image doch noch nicht für den 3B+ geeignet....wer weiss
Openelec startet, soweit so gut; ABER : die Rechte hier sind so brutal eingeschränkt (was verhindert, dass der User das System instabilisiert) => also wieder runter damit.....
Nachdem ich den Kodi eigentlich nicht benötige: Es soll ja nur das Ambiete Light laufen ... ging es weiter mit der Strech-Lite Version für den Raspberry https://www.raspberrypi.org/downloads/raspbian/.
Probleme:
Hier muss man man sich erst einmal in das Zeug einlesen um den SSH Zugriff zu bekommen, die Standart-Passwörter in Erfahrung zu bringen ( User: Pie, Passwort : Paspberry) , die komplette Speicherkarte nutzen etc .....
Hilfreiche und ausführliche Informationen habe ich dann gefunden auf dieser Seite:
https://forum-raspberrypi.de/forum/thre ... tv-beamer/
Auch wenn das dortige Image (Google-Drive) nicht ganz das enthält, was es verspricht (fertige Hyperion Installation) so ist zumindest schon einiges erledigt, was man sonst noch etxtra machen müßte.
Problem:
Nach der Installation von Hyperion wurde der Daemon nicht gestartet, da der JSON Server nicht mit dem Port kontakiert werden konnte .
Eine Suche im Internet hat nicht viel geholfen. Einzigste Aussage: Der Server ist schon belegt .....
Dies entspricht jedoch nicht ganz dem Teststand bei mir.
Nachdem ich wissen wollte, ob das Board (PWM 0, GPio 18, Pin 12) überhaupt noch in Ordung ist, bin ich auf folgende Seite gestossen:
https://dordnung.de/raspberrypi-ledstrip/ws2812
Dort steht u.a. folgender Befehl:
Damit werden schon einmal einige Biblotheken geladen, welche zum bauen von Software verwendet werden (apt-get install build-essential .... ) .sudo apt-get install build-essential python-dev python-pip unzip wget scons swig
Der Pin funktionierte schon einmal ... auch auf dem Oszi konnte man endlich ein "zucken" sehen, was bisher noch nie der Fall war.
Auch Hyperion konnte plötzlich auf den JSON Server zugreifen
Interessant ist, das hier wohl etwas nicht ganz von den Software Versionen zusammen paßt.
Nur hatte ich jetzt wieder den gleichen Absturz mit der Speicherschutzverletzung (s.u)
Etliche Stunden später - und der richtigen Google Suche - stellte sich heraus, das es wohl Probleme mit dem Treiber für die WS2812b Led gibt und diese wohl nicht mehr oder k.A. evtl mal gelöst werden ..... Also war hier kein weiterkommen.
Nachdem ich eh schon einen Level-Shifter - welcher jedoch das Signal invertiert ! - und einen Pegelwandler ausprobiert und zur Sicherheit dazwischen geschaltet hatte, kam es jetzt auch nicht mehr drauf an:
Ein Ardunio muss dazwischen
Meine pers. Meinung: Warum alle den Paspi in den Himmel loben und den Arduino verteufeln Ich verstehe es nicht.
X Stunden später wurde ich auf den Adrunio Scetch aufmerksam
https://github.com/hyperion-project/hyp ... alight.ino
Dort sind nur die Anzahl der Led's und die gewünschte Geschwindigkeit zu ändern und auf einen Arduino Nano mit USB-Port! zu flashen.
Die Verdrahtung steht erst einmal dort nicht.
Code: Alles auswählen
Ausgang zum LED Strip: => Pin 6 ist auf der Platine D6
GND vom Netzteil zum Arrduino GND (GND = Minus)
Verbindung zum Raspberry => via USB !
Den Arduino einmal am PI anstecken und via "dmesg" die richtige USB-Schnittstelle bestimmen.
Ich habe als Geschwindigkeit 500.000 bei 184 LED's gewählt. Gut es könnte die eine oder andere Meldung glitchen und korrupt sein... ist an der Stelle jedoch zu vertreten. Wenn es später größere Probleme geben sollte, kann man immer noch runter.
Der Datenpin zur LED-Stripe sollte geschützt werden. Warum, darüber findet man unterschiedliche Aussagen im Netz. Das Thema hatten wir ja auch schon bei anderen BAstelobjekten, das wir einen Widerstand davor gesetzt haben. Einen noch besseren Schutz bietet zu dem Widerstand eine zusätzliche Diode, so dass der I/O Pin vom Arduino mit dem Daten-Eingangspin der WS2812b beim Einschalten keinen Unsinn machen kann.
Hier einmal ein Bild, wie ich es zusammengelötet und eingeschrumpft habe: Nachdem das ganze Spiel nun auf der LED-Rolle lief, habe ich den Fernseher ausgemessen um die LED's syncron um den Bildschirm auf der Rückseite zu kleben.
Die Stripes entsprechend gekürzt und für die Ecken mit Kabel verlötet. Die Lötstellen wurden alle mit Schrumpfschlauch gesichert, da dass Netzteil mal locker 20A bei 5V liefern kann. Hier der Trockentest, bevor die Stripes am Fernseher geklebt wurden: Die Klebefläche am TV wurde mit Alkohol gereinigt und die Stripe aufgeklebt. Ein Versuch (gesteuert mit HyerCon) und unterschiedlichen Farben: Schei...e Eine LED hat ne Macke
zu sehen linke Seite ziemlich weit oben. Ich habe Sie mit Tesafilm markiert. Was tun? Nachdem die LED's ja einzeln arbeiten: Das Stripe vorsichtig von oben gelöst, die defekte LED an den Schnittkanten aus dem Stripe geschnitten, einen neue LED vom Rest abgeschnitten und alles wieder festgeklebt. Dann am Fernseher die 3 Ein- und 3 Ausgänge mit dem restlichen Stripe wieder verlötet.
Auf den AV-Grabber warte ich noch ... dann geht es weiter