WS2812B brauche hilfe!

L I V E Stammtisch ab 20:30 Uhr im Chat
  • Einen schönen guten Tag,

    Ich hoffe, dass mir ein paar Leute von euch mir bei meinem Vorhaben helfen können, ich bin absoluter Neuling was RPi und Arduino angeht.
    Ich möchte mir ein Ambilight Basteln welches nur für externe Medien ist USB stick etc. welche ich am RPi anschließe.
    Nach Std. des Nachforschens und durch Stöbern des Forums bin ich leider nicht schlauer geworden ^^

    Hardware:
    RPi B
    Arduino Nano
    WS2812B 120 LED´s (Später kommen noch 60 hinzu)
    5V 20A Netzgerät
    Frage: Brauche ich noch etwas?

    Habe mich an diese Anleitung versucht zu halten,

    http://ai.rs/reviews/rgb-de…on-on-openelec/

    Arduino mit Adafruit Strandtest funtioniert super nur hilft das ja leider nicht weiter auser das ich weis Nano und Kette funktionieren.
    von Hardware Seite würde ich sagen bin ich save, habe alles so gemacht wie da beschrieben.
    Aber von Software Seite komme ich einfach nicht weiter, da bräuchte ich Tipps von euch, was ich am besten nehmen sollte, versucht habe ich es mit OSMC da bekomm ich Hyperion nicht zum Laufen oder die Kommunikation zum Arduino Nano.
    So habe ich Hyperion installiert.

    sudo apt-get update
    sudo apt-get install libqtcore4 libqtgui4 libqt4-network libusb-1.0-0 ca-certificates
    wget -N https://raw.github.com/tvdzwan/hyperi…all_hyperion.sh
    sudo sh ./install_hyperion.sh

    sudo nano /boot/config.txt
    dtparam=spi=on
    eingefügt.
    d1227c-1430402859.jpg
    Auf meiner Zweiten SD habe ich Neuste OpenElec mit Kodi 14.2 und Hyperion wie oben installiert.
    Selbe Problem, ich denke die Kommunikation zum Arduino klappt nicht, erkannt wird er aber
    Wenn ich ls /dev/tty* eintippe wird er als ttyUSB0 erkannt.

    Ich weiß nicht was ihr noch alles an Infos braucht ich reiche alles, nach was ihr Wissen müsst, um mir zu helfen, aber ich danke schon mal im Voraus für Hilfe Stellungen.

    Edit: Also OpenElec mit Boblight funtioniert aber das timing ist beschiessen, ich denke das liegt an der hohen CPU auslastung da openelec alleine schon 50-90% auslastung hat.

    Einmal editiert, zuletzt von Marko (30. April 2015 um 22:29)

  • Raspbmc/Kodi/Hyperion

    Bekomme keine Kommunikation zustande und brauche Hilfe.
    Ambilight über RPi & Arduino(USB) Openelec/Boblight funktioniert in der besagte Konfiguration nur sehr sehr schlecht zu hohe cpu Auslastung.

    "sudo service hyperion status" zeigt mir
    "hyperion start/running, process 548" heißt es das Es läuft?

    Muss ich etwas Bestimmtes bei Kodi einstellen, damit ich Hyperion richtig nutzen kann?
    Ich sehe auch das mein Arduino Daten bekommt die led´s des Arduino flackern wie verrückt.
    Das heißt ja denke ich das Er Daten bekommt nur wahrscheinlich nicht die richtigen.

    hyperionconfcvuli56kog_thumb.jpg

    Mein Arduino Sketch
    habe ich an meine Einstellungen eigentlich angepasst, ich habe auf die LED anzahl,Boutrate und auf die LED prefix geachtet welche led anfängt und welche endet.

    Wie beim Boblight auch nur da klappt es ja also denke ich das Ich bei Hyperion irgendwas falsch gemacht habe und könnte da eure Erfahrung und Unterstützung gebrauchen.

  • Moin,


    ich kann zwar jetzt leider nix zu ambiligth/hyperion sagen, weil ich damit nichts am Hut hab.
    Aber: wie kommst Du auf eine Baudrate von 500000 ???
    Das wird so nicht funktionieren, fürchte ich.
    Die Baudrate ist i.d.R. immer ein Vielfaches der vorausgegangen, also 115200 dann 230400 und dann 460800 ...

    cu,
    -ds-

  • Erst mal danke für deine Unterstützung,
    ich habe die rate der Anleitung entnommen, die ich oben gepostet habe.

    Code
    What about Raspberry Pi Arduino USB serial port speed? Use 500.000 !
    
    
    You must set the same speed in Hyperion (Boblight) configuration and in your Arduino Adalight sketch! Usually standard speed are multiply of 9600 like 115200, 230400, 460800 but it will generate problems for your Raspberry/Arduino! In our tests 115200 work ok, but it could probably be slow (just multiply necessary bandwidth e.g. 300 LEDs, each 3 colors, 1 byte per color,  30 fps … So you will probably need higher speeds. But you boblightd or hyperion will loose connections. Faster Arduinos will work better (eg. Mega can work at 230400, Arduino Due even better), but after lots of hours lost it looks like 500000 is best option. Why? Because it is multiply of CPU frequency and there are no lost clocks.

    Aber ich werde es mal mit 460800 testen.

  • Hallo Marko,


    ...

    Code
    What about Raspberry Pi Arduino USB serial port speed? Use 500.000 !


    ...

    Naja ... wenn die das explizit da reinschreiben wird es wohl so passen.
    Ich bin nur etwas irritiert, weil ich diese Baudrate no nie irgendwo gesehen habe. Zudem läuft so eine RS232 ja von der Taktung her über einen clock-Baustein - und der verwendet Teiler, damit die Baudrate passt. Bei 500000 wird dadurch vermutlich nur ein Näherungswert erreicht.

    Aber vielleicht kann da ja jemand anderes, der wenigstens ein bisschen Ahnung hat, dazu mehr sagen.
    bye,
    -ds-

  • Dennoch danke das Du mir versucht hast zu helfen, habe jetzt mehrere Baudraten getestet immer in der Conf und im Sketch umgeschrieben (500000,460800,115200) leider ohne erfolg.

    Kann auch sein das die Conf und der Sketch passt aber Hyperion nicht richtig läuft gibt es da befehle, wie ich das testen könnte?

    Denn einzigen Befehl, den ich kenne, ist "service hyperion status"

    Edit:
    Oder habe ich bei der Installation vielleicht etwas vergessen? Alles mit Root rechten gemacht.
    apt-get update
    apt-get install libqtcore4 libqtgui4 libqt4-network libusb-1.0-0 libprotobuf7 ca-certificates
    wget -N https://raw.github.com/tvdzwan/hyperi…all_hyperion.sh
    sh ./install_hyperion.sh

    Und meine Conf mit winSCP in opt/hyperion/config geschoben.

    Einmal editiert, zuletzt von Marko (1. Mai 2015 um 14:08)

  • Hallo Marko,

    ich schreibe dir mal hier weiter, weil vielleicht noch andere etwas davon haben, wenn ich dir das nicht nur privat schreibe.

    Also 1.
    Eine Baudrate (nicht Boudrate) von 500000 funktioniert definitiv über ein Arduino.
    Ich nutze das schon ne Weile und es ist das schnellste was ich testen konnte.
    Leider ist das aber alles etwas Augenwischerei, weil die librarys des Arduinos nicht gut genug angepasst sind um wirklich das optimum aus dieser baudrate zu holen.
    Mit einem Oszilloskop hatte ich mal nachgemessen, dass die Übertragungszeit zwar schneller wird, allerdings ab einer bestimmten baudrate der Zeitraum identisch bleibt.
    Zum Beispiel war die Übertragungsdauer gleich lang, aber die pausen wurden bei höheren baudraten länger...

    Wichtig für dich zu wissen ist: eine baudrate von 115200 SOLLTE (da bin ich mit nicht 100%ig sicher) bei dir funktionieren.
    230400 wird sicher schnell genug sein.
    Das Problem könnte aber auch an einer anderen Stelle liegen.
    Die Clone Arduinos verwenden oft andere USB<->Serial Wandler.
    Bei mir ist z.B. auf einem Arduino Mega Clon ein CH340 Chip drauf, der die 500000 baud nicht schafft.

    Daher musst du dich etwas an das was funktioniert rantasten.

    Funktioniert denn überhaupt etwas?
    Ich habe es verstanden, dass es mal langsam funktionierte und mal das es gar nicht erst funktionierte.

    Falls es gar nicht geht:
    Nutze als DATAPIN den pin 13...
    Der ist mit der internen LED gekoppelt und du siehst dann wenigstens ob überhaupt was passiert.
    Übrigends wäre für 6Euro eigentlich ein UNO besser gewesen. Für das Geld sind erst gestern 3 Nanos bei mir eingetroffen (inkl. 100 Widerstände als "gift").

    Falls es geht:
    Dein ArduinoCode (Sketch) sieht nicht gerade optimal für mich aus....
    Zu viel zu berechnen/prüfen und vor allem: warum ist da ein delay eingebaut ?!?!
    200ms sind nicht gerade wenig.

    Die installation von hyperion an sich sieht ok aus.
    Kodi, OpenELEC und Co. laufen bei mir nicht. Ich weiß also nicht ob die Last normal ist.
    Ich würde aber schätzen, dass das zu viel ist.
    Es ist auch möglich über dein Raspberry Pi B die LEDs direkt zu betreiben.
    Da wirst du dann allerdings die einschränkung haben, das Töne die über die 3,5mm Klinke raus gehen, LED flackern erzeugen und umgekehrt.
    Die Ansteuerung der LEDs übernimmt nämlich der "Soundchip".
    Das Ganze findest du auf github - es ist zwar nicht wirklich kompliziert, aber ich würde dir erstmal davon abraten.
    Dieses setting haben wenige und es würde zumindest für mich eine weitere Fehlerquelle einbauen, die ich nicht einschätzen kann.

    Daher teste erstmal über das Arduino.
    Das wird laut deiner Aussage ja über USB0 eingebunden.
    Hast du das auch in der config drinne? auch mit der richtigen baudrate und hast diese auch hochgeladen/ersetzt und dann neugestartet?

    Falls du alles bejahen kannst, dann versuch mal eine andere baudrate.
    Eventuell hat dein Clon auch n schlechten USB-SERIAL Konverter.

    Falls es dann nicht geht, musst du dich bis Dienstag gedulden.
    Dann bin ich wieder zuhause und kann meinen ArduinoSketch posten.
    Deiner gefällt mir nicht ;)

    Achso und nimm zum debuggen das smoothing und Blackborder detection erstmal raus.
    Das "schön machen" kommt nach dem "stabil machen".

    Außerdem würde ich die bootsequence aktivieren.
    mach es ruhig mal nervige 10 sekunden.
    dann kannst du sehen ob die verbindung zwischen PI und Ardunio stabil läuft und fehlerquellen eingrenzen.

    Bin leider unterwegs. sollte ich was vergessen oder übersehen haben, dann sorry.
    Sorry auch für alle Rechtschreibfehler...

  • Also erst mal danke, dass ihr mir unter die Arme greift, ich muss zuerst sagen das Ich von der Materie keine Ahnung habe ich will mich da langsam rein fuchsen Ambilight ist meine erste Berührung überhaupt was Arduino und RPi angeht.

    Ich Versuche jetzt ma zu schilder, was ich vorhabe bzw. was ich versuche zu verwende,

    Ich habe auf meinem RPi RaspBmc Final Version am laufe mit Kodi da ich da die für mich Beste cpu Auslastung von 15-30% im Leerlauf habe. Hyperion installiert wie oben beschrieben, bei der Conf immer drauf geachtet das ich USB0 drauf habe das habe ich ermittelt über Putty /dev/tty* einmal mit arduino dran und einmal ohne um es raus zu filtern. Ich habe den Clon mit 340G Chip vom Sketch schreiben habe ich keine Ahnung habe den genommen, der in der Anleitung freigegeben wurde und in für mich angepasst (Led´s, Baudrate, und Präfix).

    Der Sketch, den ich bis jetzt benutzt habe, hat bei Boblight und OpenElec mit der BR von 460800 funktioniert halt nur sehr langsam. Darum würde ich gerne Hyperion probieren aber das bekomme ich nicht zum Laufen.

    Habe jetzt RaspBmc+Kodi Hyperion Conf so wie Phil empfohlen hat alles raus außer die normale conf (led´s,BR 115200,USB0) und den Sketch angepasst auf 115200 Pin 13 da tut sich leider nix außer das die RX Led von Arduino wie verrückt Blink was aber auch mit allen Digitalen pins so ist. Meine Leds werden beim Hochfahren weiß und bleiben dies auch, ich kann keine Farben wechseln ich vermute das bei Hyperion irgendwas falsch läuft, bei Boblight sind sie nach dem Es hochgefahren ist alle aus und es fährt einmal ein Regenbogen muster durch.

    Ich weis das Ich noch viel Lernen muss aber darum habe ich mich hier ja Reg. um von erfahrenen Leuten zu lernen Fehler machen wir alle ja ;).

    Warten kann ich ohne Probleme Phil auf ein paar Wochen kommt es nicht drauf an ich bin halt nur überglücklich, wenn es läuft.

    Edit:
    Die grundlegende Konfig scheint ja zu gehen sonst hätte Boblight ja nicht funktioniert.
    Und was vielleicht auch noch wichtig sein könnte habe kein IMG ausm forum alles von https://www.raspberrypi.org/downloads/

    P.S. ich denke das bei Hyperion irgendwas nicht stimm weis aber auch nicht, wie ich das kontrollieren könnte. Ich hoffe das sind Infos, mit denen ihr arbeiten könnt um mir zu helfen, wenn nicht schreibt mir, was genau ihr wissen müsst und ich versuche euch so schnell wie möglich diese Infos zukommen zu lassen.

    Einmal editiert, zuletzt von Marko (2. Mai 2015 um 18:29)

  • 1. "grabber-v4l2" ist komplett auskommentiert... falls du den video grabber nutzt geht hier schonmal garnichts...falls du aber xbmc nutzen willst brauchst du das nicht...
    2."xbmcVideoChecker" ist aber auch auskommentiert...also bei dir geht nach dem regenbogen einfach garnichts....

    also nach dem regenbogen bekommt hyperion absolut keine aufgaben...

    3. "device" :
    {
    "name" : "MyPi",
    "type" : "adalight",
    "output" : "/dev/ttyUSB0",
    "rate" : 115200,
    "delayAfterConnect" : 0,
    "colorOrder" : "rgb"
    },
    hier wird die ganze zeit von 500.000 rate geredet beim arduino aber dein hyperion arbeitet hier ja nur mit 115.200... weiss nicht ob das zu problemen führt, da müsste jemand zu wort kommen der mit nem arduino arbeitet und mehr ahnung darüber hat...

    4. und Adalight statt adalight (also das A gross..) ich weiss nicht ob das nen einfluss hat aber probieren würde ich es?

    4 punkte die man ab arbeiten kann um fehler auszuschliessen :)

    Hier war mal eine Signatur.

  • Erst mal danke für eure tatkräftige Unterstützung das weis ich zu schätzen,

    1)Grabber brauch ich keinen da ich NUR über externe Festplatte filme übern RPi+Ambilight schauen möchte.

    2)Was genau macht dieser Checker? Hyperion hat mir leider noch nie einen Regenbogen ausgespuckt immer nur nix. Meine LED´s leuchten einfach nur weiß das wars.

    3)Die Rate habe ich auf rat von Phil zum Testen mal auf 115200 gestellt natürlich auch im Sketch vom Audrino, leider ohne erfolg.

    4)Werde ich Testen und von Berichten, ob es geklappt hat.

    Nochmals danke für die Tipps und Ratschläge

    Du bist der Knüller lag daran, dass alles auskommentiert war, ^^ habe jetzt XBMC Checker und den Frame Grabber an muss nur noch schauen, was ich davon anlassen muss oder ob beides danke schön. Und phil möchte trotzdem noch ma gerne mit dir in kontakt bleiben wegen dem Audrino Sketch.

    Einmal editiert, zuletzt von Marko (2. Mai 2015 um 22:27)

  • Ich bin noch bis Dienstag unterwegs.
    Wenn ich zuhause bin, schick ich dir nen Sketch.

    Das du erstmal "langsam" mit 115200 baud anfängst ist gut und wichtig.
    Der Chip könnte wirklich die 500000 nicht schaffen.

    Ich gucke mir das nochmal an wenn ich zuhause bin.
    An und für sich stimmen die Punkte die tpmodding meinte schon.

    Das "A" von Ada muss groß sein.
    Der grabber kann allerdings für dich aus bleiben.

    Folge erstmal meinen Ratschlägen und melde dich dann wieder.
    Dann sollte man schon mehr wissen.
    Falls nicht kommt bald mein Sketch.

  • Also bei mir ist es jetzt kleingeschrieben und auf 500.000 BR und es läuft es lag am Frame Grabber oder XBMC Checker das muss ich in einer ruhigen std ma testen, aber ich bin euch sehr dankbar ohne eure Unterstützung wäre ich nicht so weit gekommen, vielleicht schon aber das hätte viel länger gedauert. Noch Mals Fettes danke.

  • Woran lag es jetzt? Ich habe das selbe Problem. Es schein als würde mein RPi2 kein Kommunikation zum Arduino Nano haben. Bei mir wird der Nano auf USB0 angezeigt.
    Ich hoffe du kannst helfen.

    LG

    Einmal editiert, zuletzt von Malle355 (26. Juli 2015 um 22:05)

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!