Ankündigung

Einklappen
Keine Ankündigung bisher.

Musikbox (alias Toniebox) als Eigenbau

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • #16
    Hi,

    arg das hatte ich vergessen zu erwähnen, die Dip-Schalter am PN532 müssen noch auf I²C eingestellt werden, sonst kann er nicht mit dem ESP8266 kommunizieren. Hab es im Eingangspost ergänzt.

    Bei mir kommen tatsächlich keine Read-Errors vor. Allerdings habe ich in Erinnerung, dass das bei mir auch mal der Fall war. Hast Du auch den RSTPDN (nicht RSTO) Pin verbunden?

    Ansonsten würde ich es erstmal ignorieren, da er ca. 3x pro Sekunde die RFID ausliest, da ist es egal wenn zwischendrin mal ein Fehler kommt.

    Gruß Hannes
    Zuletzt geändert von Maruu; In den letzten 2 Wochen.

    Kommentar


    • #17
      Ja, ich habe den RSTPDN verbunden. Irgendwo müsste ich noch einen PN532 rumliegen habe, dann probiere ich den am WE noch mal aus.

      Danke

      Kommentar


      • #18
        Ich hab es befürchtet! Irgendwie tut sich bei mir gar nichts. Es leuchtet auch keine LED auf dem Leser. Kann es sein, dass der Leser kaputt geht, wenn man vorher nicht die richtige DIP-Stellung hatte? Oder sieht jemand auf den Bildern meinen Fehler?
        Die Lötstellen sehen für mich eigentlich ganz ok aus, auch wenn ich in China vermutlich verhungern würde, weil das bei mir so lange dauert :-)
        Noch ein Nachtrag. Unter "Scan for I2C devices" wird nichts gefunden. Ich denke das ist nicht normal.
        Angehängte Dateien
        Zuletzt geändert von crasythom; In den letzten 2 Wochen.

        Kommentar


        • #19
          Die Lötstellen sehen ok aus, auch die Verdrahtung scheint zu passen. Was mir aber an den Bildern aufgefallen ist, Du hast VCC am PN532 nicht angeschlossen. Ist das nur ein Fehler auf dem Bild oder fehlt die Verbindung tatsächlich? VCC des PN532 muss auf Vin des ESP8266. Nur so bekommt der PN532 auch seine Betriebsspannung. Unter Scan for I2C muss der PN532 dann auch gefunden werden.

          Kommentar


          • crasythom
            crasythom kommentierte
            Kommentar bearbeiten
            Das scheint tatsächlich mein Fehler zu sein. Ich hatte den Satz "Zusätzlich werden ebenfalls noch GND und Vin (5V) " so verstanden, dass GND des PN532 mit VIN am ESP8266 verbunden werden muss.
            Also muss ich jetzt VCC (PN532) mit VIN (ESP8266) verbinden und
            GND (PN532) mit dem G nemben VIN????

          • Maruu
            Maruu kommentierte
            Kommentar bearbeiten
            Genau, hab es nun auch im Ursprungspost nochmal angepasst Ich hoffe VIN am GND des PN532 hat keinen Schaden angerichtet, siehst Du aber recht schnell

          • crasythom
            crasythom kommentierte
            Kommentar bearbeiten
            Gut möglich :-(
            Funktioniert jedenfalls immer noch nicht. Die LED blinkt ganz schwach. Im I2C-Scan kommt auch noch nichts. Da werde ich mir wohl einen neuen bestellen müssen.

        • #20
          Hallo zusammen,

          ich habe jetzt meinen anderen RFID-Leser eingebaut und seitdem sind die "Read error"-Meldungen weg. Eventuell ist beim Löten etwas schiefgelaufen.

          Hat von euch jemand das Problem, dass vom Play-/Pause-Button nichts am ES8266 ankommt? Ich habe bereits die Pin's geprüft und einen anderen Taster verwendet, aber ohne Erfolg.

          Vielen Grüße
          Tobias

          Kommentar


          • #21
            Ich habe heute auch meinen neuen Leser bekommen. Also wieder gelötet und alles angeschlossen. Geht immer noch nicht :-(
            Ich habe dann anstelle von 5 V mal mit 3V verbunden. Siehe da, die LED blinkt wenigstens schon mal. Mehr habe ich aber immer noch nicht erreicht.


            ....

            Ok. Komando zurück: Doch noch ein kleiner Erfolg! Wenn ich für die Stromversorgung VU und G nehme (ebenfalls 5V) dann wird der Leser jetzt endlich im 12C-Scan erkannt! Die Fehler im Log sind auch alle weg. Kommt nur noch nichts an. Mal sehen, ob ich da heute noch was erreiche.
            Zuletzt geändert von crasythom; vor 6 Tagen.

            Kommentar


            • theld
              theld kommentierte
              Kommentar bearbeiten
              Kannst du vielleicht noch mal ein Bild vom RFID-Reader und vom ESP machen.
              Sind die Jumper auf dem RFID-Reader korrekt gesetzt?

            • crasythom
              crasythom kommentierte
              Kommentar bearbeiten
              Danke für eure Hilfe!
              Ich glaub jetzt klappt es. Die Lötverbindung am RSTPDN war nicht ganz sauber. Das Ding ist aber auch verdammt klein und ich habe weder eine Lupe noch einen Lötkolben, der dafür ausgelegt ist. iPhone Zoom-Kamera sei dank habe ich das dann hinbekommen.
              Über MQTT hab ich die ID jetzt schon mal in ioBroker und habe der ersten ID schon ein Hörspiel zugeordnet. Funktioniert!
              Lauter, Leiser usw. dürfte dagegen ein Kinderspiel sein.
              Jetzt baue ich zur Abwechslung erstmal die Box. Über das Resultat werde ich natürlich noch berichten.

            • Maruu
              Maruu kommentierte
              Kommentar bearbeiten
              Sauber, war die letzten Tage nicht da und hab daher die Nachrichten erst heute gelesen. Schön dass du es hinbekommen hast. Halt uns auf dem Laufenden und poste gerne auch ein paar Bilder der fertigen Umsetzung

          • #22
            So, weitestgehend fertig. Das Y-Kabel für die gleichzeitige Stromversorgung vom ESP8266 und Eco-Dot fehlt noch und die Karten müssen noch bedruckt werden.
            Ich habe mich dazu entschieden die Daten per MQTT an ioBroker zu übergeben und von dort die Steuerung der Alexa zu machen.

            Ich gebe natürlich neidlos zu, dass ich die Box auch lieber fertig bestellt hätte :-)

            Der Knopf am GIPO-9 funktioniert leider noch nicht. Mal sehen, was da noch vorliegt. Heißt bei mir aber auch S2.
            Jetzt muss ich noch etwas an den Rules arbeiten. Ich glaube die brauche ich so jetzt gar nicht mehr. Auch die virtuellen Objekte für currentrfid und aktuelle brauche ich glaube ich so nicht.

            Code-Ausschnitt (Devices-ID mit xxxxxxxx ersetzt):

            //Wählt den Titel je nach RFID und setzt diesen in das manuell angelegte Objekt "Titel"
            on({id: 'mqtt.0.Bens_Musikbox.RFID.Tag'/*Bens Musikbox/RFID/Tag*/, change: "any"},
            function (obj) {
            var status=getState("mqtt.0.Bens_Musikbox.RFID.Tag").v al;
            log(status);
            if(status === 1399774466){setState("mqtt.0.Bens_Musikbox.RFID.Ti tel", "Spiele Album 122 als Polizist");}
            else if (status === 2259632933){setState("mqtt.0.Bens_Musikbox.RFID.Ti tel", "Es tanzt ein Biba-Butzemann");}
            });
            //Setzt den Titel bei Alexa ein
            on({id: "mqtt.0.Bens_Musikbox.RFID.Titel", change: "ne"},
            function (obj) {
            var status=getState("mqtt.0.Bens_Musikbox.RFID.Titel") .val;
            setState("alexa2.0.Echo-Devices.xxxxxxxx.Music-Provider.Amazon-Music", status);
            });
            //Leiser
            on({id: "mqtt.0.Bens_Musikbox.Leiser.Switch", change: "ne"},
            function (obj) {
            var status=getState("alexa2.0.Echo-Devices.xxxxxxxx.Player.volume").val;
            status -= 1
            setState("alexa2.0.Echo-Devices.xxxxxxxx.Player.volume", status);
            });
            //Lauter maximal 30
            on({id: "mqtt.0.Bens_Musikbox.Lauter.Switch", change: "ne"},
            function (obj) {
            var status=getState("alexa2.0.Echo-Devices.xxxxxxxx.Player.volume").val;
            status += 1
            if(status <= 30)
            {
            setState("alexa2.0.Echo-Devices.xxxxxxxx.Player.volume", status);
            }
            });
            //Pause und Play
            on({id: "mqtt.0.Bens_Musikbox.Stopp.Switch", change: "ne"},
            function (obj) {
            var status=getState("alexa2.0.Echo-Devices.xxxxxxxx.Player.currentState").val
            if(status===true)
            {
            setState("alexa2.0.Echo-Devices.xxxxxxxx.Player.controlPause", true);
            }
            else
            {
            setState("alexa2.0.Echo-Devices.xxxxxxxx.Player.controlPlay", true);
            }
            });

            Kommentar


            • #23
              Die Idee, den Dot mit in die Box einzubauen, ist ja auch top! Vom Ton und Wlan passt das soweit dann noch?

              Ich hab bissel das Problem, das meine NodeMCU, oder der Reader nach Zeit X aussteigt und nicht mehr reagiert.
              Dann hilft nur Strom aus/an und dann gehs wieder eine Zeit.
              Komisch ist nur, dass die NodeMCU erst nicht mehr per Wlan erreichbar ist, aber es noch seinen Dienst per Rfid usw tut (also muss ja Wlan noch laufen?!), dann später funktionierts garnicht mehr. Werden irgendwie/wo Logs gespeichert, womit ich das Problem evtl. eingrenzen könnte?

              Kommentar


              • crasythom
                crasythom kommentierte
                Kommentar bearbeiten
                Für die Zwecke reicht der Sound. Konzerte würde ich da nicht hören. Oben habe ich Akustikstoff verwendet und unten noch 5 Löcher gebohrt.

                WLAN habe ich noch keine große Distanz versucht. Habe mir hier aber noch gar keine Sorgen gemacht. Der ESP8622 ist ja schließlich in vielen Steckdosen verbaut und funktioniert dort auch.

                Ich habe jetzt jedenfalls noch gemerkt, dass es vermutlich keine gute Idee ist, die ID des Reeders direkt auf MQTT zu senden, weil das zu sehr viel Datenverkehr führt. Hab jetzt auf die Übermittlung der CURRENDREFID umgestellt. Die Reaktion finde ich hier aber noch etwas träge. Ich muss mich jetzt daher noch in die Funktionsweise von den Rules einlesen. Eigentlich will ich, dass er jede Änderung auf die CURRENDREFID schreibt. Weiß jemand wie ich das schreiben muss? Reicht da dieser Teil?

                on RFID#Tag do
                if [CURRENTRFID#CURRENTRFID]!=[RFID#Tag]
                TaskValueSet 7,1,[RFID#Tag]
                endif
                endon

                Eine Log gibt es jedenfalls unter Tools.

            • #24
              samke tatsächlich hab ich das gleiche Verhalten bei einem meiner Boxen auch manchmal. Da hilft dann nur Stecker raus und wieder rein. Man könnte aber auch einmal am Tag (z. B. nachts) die Box neu starten.

              crasythom das Träger verhalten liegt an den Timern. Also an der Stelle: timerSet,1,1 . Wenn Du da die Zeit reduzierst, dann reagiert er auch schneller. Einfach mal mit den Zeiten spielen.

              Kommentar


              • crasythom
                crasythom kommentierte
                Kommentar bearbeiten
                Maruu lag wohl eher daran, dass "Send to Controller" (MQTT) auf 60 Sekunden gestellt war :-) ich hab jetzt mal 1 Sekunde für die RFID gemacht. Das kommt wohl dem gleich was du auch machst. Idealer wäre sicherlich, dass es eine Einstellung gibt, dass der Wert sofort gesendet wird, wenn eine Änderung vorliegt. Aber da habe ich auch noch nichts gefunden.

            • #25
              Zitat von Maruu Beitrag anzeigen
              tatsächlich hab ich das gleiche Verhalten bei einem meiner Boxen auch manchmal. Da hilft dann nur Stecker raus und wieder rein. Man könnte aber auch einmal am Tag (z. B. nachts) die Box neu starten.
              Stimmt, das doch eigenlich eine top Idee - hab ich jetzt mal so eingestellt unter "General Settings -> Auto Restart -> alle 24h". Mal schauen, ob es was bringt.
              Danke für die Idee.

              Kommentar

              Lädt...
              X