Ankündigung

Einklappen
Keine Ankündigung bisher.

ESP8266 KNX mit ETS

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

    Hallo Mumpf,

    ich habe über das Board keine großartigen Angaben finden können.
    Aber da hat sich Jemand vor dir intensiv mit dem Board beschäftigt, eventuell hilft dir das ja weiter?

    https://github.com/BLavery/SAMD21-M0-Mini

    Ich habe keinen SAMD21 und benützte den ESP8266, daher kann ich nicht viel zu dem Verhalten sagen.
    • Ist die Spannungsversorgung stabil ?
    • Ist die Polarität des EIB/KNX korrekt ?
    • Welche BCU benützt du für den Buszugang ?
    • Bei Siemens BCU 5WG1 117-2AB12 ist der Pegel der Schnittstelle 5 Volt -> Pegelwandler benützen
    • TxD/RxD SAMD21 auf RxD/TxD BCU ?
    • GnD SAMD21 mit GnD BCU Verbunden ?
    • Spannungsversorgung gleichzeitig über BCU und USB ?
    • Bei USB kann es in Verbindung mit dem EIB/KNX zu Problemen kommen (siehe Beitrag im Konnekting Projekt Forum)
    Eventuell zeigst du uns mal ein Bild deiner Anschaltung/Verkabelung des Aufbaues oder Anschaltung?


    Grüße

    Mag Gyver
    Zuletzt geändert von Mag Gyver; 21.07.2019, 17:02.

    Kommentar


      Hi Mag Gyver,

      vielen Dank für die prompte Antwort. Erstmal zu Deinen Fragen:
      • Spannungsversorgung ist 29,9V und Stabil
      • Ich nutze derzeit die Siemens BCU, die ist am Bus korrekt angeschlossen
      • Ich nutze auch einen Pegelwandler von 5V auf 3.3V, sowohl für die Spannungsversorgung wie auch für RX/TX
      • Ja, Rx/Tx habe ich gekreuzt (mehrfach geprüft)
      • Ich hatte den SAMD entweder am USB oder an der BCU, nie beides
      • Ein Bild kann ich nicht mehr zeigen, da ich es schon wieder abgebaut habe...
      Mich treibt derzeit das Grundproblem: Wenn ich den SAMD an den USB anschließe, dann wird keine COM-Schnittstelle erkannt. Und die Programmiertaste schaltet nicht in den Programmiermodus. Also noch ganz ohne Anschluß an den Bus funktioniert es schon nicht. Scheinbar hängt er sich nach dem Flashen komplett auf. Ohne COM-Schnittstelle kann ich aber den Serial Monitor nicht starten und ich kann auch nicht erneut flashen, um weitere Tests zu machen. Den Link, den Du gepostet hast, hatte ich auch schon gefunden, da steht auch was von neuen Bootloader flashen, aber das hab ich mich noch nicht getraut - ich wüsste stand heute auch noch nicht, wie... Ich forsche mal weiter!

      Du schreibst, dass Du den 8266 verwendest... auch mit einer BCU oder über WLAN? Und wenn über BCU, kannst Du mir sagen, was ich genau in der Lib anpassen muss, damit der ESP nicht über WLAN geht? Ich hab hier auch noch nen ESP rumliegen und würde auch mit dem arbeiten, solange es direkt an KNX angeschlossen ist und nicht über Funk geht...

      Gruß, Waldemar

      OpenKNX www.openknx.de

      Kommentar


        Hallo Mumpf,

        also ich habe den ESP8266 über WLAN dran. ESP8266 an der BCU habe ich zwar versucht, nur leider ging dies nie. Die Einstellungen für Linux und ESP8266 sind zumindest im knx_facade.h gleich, nur der SAMD21 ist anders. Soweit ich verstanden hatte muss man nur für den ESP8266 die Einstellungen an die des SAMD21 ändern. Dazu habe ich hier mich mit Thesing schon unterhalten. Aber wie gesagt, daraus wurde bisher nichts, da ich derzeit kaum Zeit habe etwas zu testen.

        Bei meinen Test mit der Anpassung für Kopplung an BCU funktionierte der ESP8266 nur sporadisch oder machte immer wieder nach wenigen Sekunden einen Reset. Wenn ich mir jetzt so meine Test mit deinen Ergebnisse anschauen kommen Parallelen auf. Könnt es sein, dass etwas grundlegendes im "bau07B0" nicht stimmt?

        Thomas, das soll keine Unterstellung sein, es könnte sich auch um ein anderweitiges Problem handeln.

        Oder hat Jemand eine Kopplung von SAMD21 oder ESP8266 an der BCU erfolgreich durchgeführt?
        Würde mich dafür auch interessieren.

        Grüße

        Mag Gyver
        Zuletzt geändert von Mag Gyver; 21.07.2019, 19:00.

        Kommentar


          Ja SAMD21 + BCU funktioniert bei mir....
          Ich vermute stark das was an der Verbindung SAMD21 zu BCU nicht stimmt, der Stack schickt nämlich beim Start ein "Reset" an die BCU und wartet dann auf die "richtige" Antwort, wenn die nicht kommt wartet er hier ewig. Ich weiß jetzt nicht wie der USB darauf reagiert aber könnte mir gut vorstellen das der dann auch "tot" ist.


          Kommentar


            Ich hatte ein ähnliches Problem mit dem SAMD21 beim KonnektING basteln.
            Abhilfe bei mir: den SAMD an den USB und (per Drahtbrücke auf den Reset-Pin) resetten. Das Timing zwischen Reset und Anstecken an den USB ist entscheidend. Das funktioniert manchmal aber auch erst beim 30. Versuch.
            Viel Glück und Geduld!

            Kommentar


              Zitat von mumpf Beitrag anzeigen
              Nachdem ich mir auf diese Weise jetzt 2 SAMD's "zerschossen" habe
              Ich hatte auch mal das Problem, dass die SAMD's nicht mehr per USB erkannt wurden. Wenn man kurz hintereinander den Reset-Button 2x drückt startet der Recovery-Boot-Modus (Status-LED faded hin und her). Hier wird dann ein anderer COM-Port am PC erkannt und lässt sich wieder flashen.

              Kommentar


                Zitat von SebastianObi Beitrag anzeigen
                Wenn man kurz hintereinander den Reset-Button 2x drückt startet der Recovery-Boot-Modus (Status-LED faded hin und her)
                Hey, das ist klasse!

                Das hat schon mal geklappt, ich konnte wieder einen Standard-Example-Sketch flashen und der Arduino macht es. Also schon mal wiederbelebt.

                Zitat von Bernator Beitrag anzeigen
                Ich vermute stark das was an der Verbindung SAMD21 zu BCU nicht stimmt, der Stack schickt nämlich beim Start ein "Reset" an die BCU und wartet dann auf die "richtige" Antwort, wenn die nicht kommt wartet er hier ewig. Ich weiß jetzt nicht wie der USB darauf reagiert aber könnte mir gut vorstellen das der dann auch "tot" ist.
                Das ist ein prima Hinweis... Ich werde das mal unter diesem Gesichtspunkt nochmal testen. Wie ich schon sagte, ich bin ja noch nicht einmal zu meinem eigentlichen Projekt gekommen, da ich noch nicht mal die knx-demo zum laufen bekommen habe.

                Danke euch für die tollen Tipps!

                Gruß, Waldemar
                OpenKNX www.openknx.de

                Kommentar


                  Den Tipp mit 2xReset kannte ich auch noch gar nicht. Danke dafür.

                  Kommentar


                    hmm hab grad meinen fork auf Stand gebracht und jetzt geht auch bei mir nix mehr, er hängt schon bei __libc_init_array(); im main() des Arduino cores.... lt. erster schneller Recherche kann das was mit dem initialisieren der Konstrukoren zu tun haben...
                    muss bei einem der folgenden commits passiert sein:
                    git.jpg

                    Kommentar


                      Ok, das gibt mir die Hoffnung, dass ich mich nicht zu duselig anstelle...

                      Für mich hört sich das so an, als ob Du den SAMD debuggen könntest? Wie geht so was?

                      Ich schau bei mir mal, ob ich auf die 13b1cff zurück gehe und ob es dann zumindest prinzipiell läuft...

                      Danke und Gruß, Waldemar

                      OpenKNX www.openknx.de

                      Kommentar


                        13b1cff geht bei mir auch schon nicht, muss also doch schon vor den oben genannten commits was passiert sein, hab gestern aber nicht mehr weiter zurück getestet....
                        Debugger hab ich von Segger den j-link edu mini, und als IDE eine spezielle Eclipse Konfiguration für Arduino namens sloeber

                        Kommentar


                          Die Reihenfolge der Commits wird im Screenshot falsch herum angezeigt. Siehe https://github.com/thelsing/knx/commits/master. c5bf61a sollte eigentlich gehen. Der Rest sind nur Formatierungen, Erhöhung der MAX_PDU_SIZE und Änderungen in den Projekt-Dateien. Durch das konsequente initialisieren der Zeiger auf 0 wird es wahrscheinlich zu einem Fehler durch Dereferenzierung von einem Nullzeiger kommen. Dass sollte aber auch schon unter Linux passieren.

                          Kommentar


                            Hab den Übeltäter gefunden , die print Funktion im plattform Konstruktor wird aufgerufen bevor Serial initialisiert wird. Im Pull request hab ich die einfach mal entfernt.
                            Zusätzlich hab ich für den TPUART Reset ein Timeout eingebaut damit der Code nicht ewig dort hängen bleibt, man kann jetzt nach knx.start() abfragen ob erfolgreich oder nicht:

                            Code:
                                // start the framework.
                                knx.start();
                                if(knx.enabled())
                                    SerialDBG.print("TPUART OK");
                                else
                                    SerialDBG.print("TPUART NOK");

                            Kommentar


                              Hab auch noch eine Methode ergänzt mit welcher die default Uart Schnittstelle (Serial1) geändert werden kann, schau dir das mal an ob das so in deinem Sinne ist. Hab nämlich das Konzept hinter platform und knx_facade ehrlich gesagt noch nicht ganz verstanden....

                              Kommentar


                                Die Platform ist eine Abstraktion für Hardware/Betriebssystem (Linux vs. Esp8266 vs. Samd21). KnxFacade implementiert das Facade-Patter (https://de.wikipedia.org/wiki/Fassade_(Entwurfsmuster)) Damit soll die Nutzung für den Anwender vereinfacht werden.

                                Kommentar

                                Lädt...
                                X