Ankündigung

Einklappen
Keine Ankündigung bisher.

ESP8266 KNX mit ETS

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

  • Sonnengruesser
    antwortet
    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!

    Einen Kommentar schreiben:


  • Bernator
    antwortet
    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.


    Einen Kommentar schreiben:


  • Mag Gyver
    antwortet
    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.

    Einen Kommentar schreiben:


  • mumpf
    antwortet
    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

    Einen Kommentar schreiben:


  • Mag Gyver
    antwortet
    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.

    Einen Kommentar schreiben:


  • mumpf
    antwortet
    Hi,

    wollte mal wieder einen - diesmal frustrierten - Zwischenbericht geben...

    Versuche gerade, das Ganze auf den SAMD zu bringen, dabei verwende ich den gleichen, den Thomas nutzt (https://www.ebay.de/itm/WeMos-D1-SAM...frcectupt=true). Folgendes Vorgehen:
    • Ich nutze die Adruino IDE mit dem passenden SAMD Cortex M0 board
    • Mit dem Standard Blink-Beispiel habe ich die Onboard-LED über GPIO 26 zum blinken gebracht
    • Mit dem Standard Button-Beispiel habe ich die Programmiertaste am GPIO 10 ausprobiert (Tastendruck bringt LED zum leuchten)
    • Sobald ich aber die knx-demo aus der Lib hier verwende (die beiden GPIO 26 und 10 sind entsprechend angepasst), funktioniert nichts mehr: Der Prog-Button lässt die LED nicht leuchten, das Gerät ist nicht über den Bus zu erreichen (RX/TX sind auf GPIO 0/1)
    • Das blödeste: Der SAMD ist dann auch nicht mehr über USB zu erreichen, ich kann also nichts weiter machen und den z.B. neu flashen.
    Nachdem ich mir auf diese Weise jetzt 2 SAMD's "zerschossen" habe, frage ich mich, was ich falsch mache. Vielleicht weiß hier jemand noch, was man machen kann, um die Wiederzubeleben. Vor allem, wie ich den SAMD wieder so hin bekomme, dass er wieder in der Arduino-IDE erscheint. Das COM-Device ist nicht mehr da, auch im Gerätemanager unter Windows nicht.

    Ich habe zwar noch einen 3. neuen SAMD hier, aber wollte den nicht opfern, bevor ich weiß, was da los ist... Habe aber leider auch noch nicht so viel mit Arduino gemacht, dass ich genauere Details nachschauen und so sinnvolle Details liefern könnte.

    Bin über jeden Tipp dankbar, Waldemar

    P.S.: Noch was positives hinterher - ich habe unter Linux endlich die Flags getestet, sie verhalten sich jetzt richtig. Ebenso habe ich inzwischen getestet, wie der KNX-Stack auf selbst gesendete Telegramme reagiert - das tut er IMHO korrekt.
    Zuletzt geändert von mumpf; 21.07.2019, 12:36.

    Einen Kommentar schreiben:


  • mumpf
    antwortet
    HI,

    habe soeben mal mit der aktuellsten Version den Linux-Part getestet. DPT9 funktioniert korrekt (zumindest unter Linux), habe es mit zufälligen Werten zwischen -1000 und 1000 versucht, und alle waren korrekt (also der Wert, den die ETS gesendet hat, wurde von meinem Modul auch als DPT9 exakt wieder so gesendet.

    Als nächstes steht immer noch SAMD an, da war ich bisher nicht erfolgreich.

    Danke und Gruß, Waldemar

    Einen Kommentar schreiben:


  • Mag Gyver
    antwortet
    Hallo Thomas,

    kein Problem. Dafür ist ein Pullrequest ja schließlich da. Ab und zu soll Er einfach nur eine Anregung darstellen oder gleich komplett das Problem lösen.
    Leider konnte ich deine Änderungen dazu noch nicht testen.

    Hast du mal über einen Test-Sketch nachgedacht? Damit der nicht so ambitionierte User eine Referenz (Beispiel hat, wie er bestimmte Sachen benutzen kann) …



    Grüße

    Mag Gyver

    Einen Kommentar schreiben:


  • thesing
    antwortet
    Zitat von jorues Beitrag anzeigen

    Bei mir bringt liefert der BME-Sketch immer noch „0- Werte in der aktuelle Version von gihub. Grüße Johannes
    Das ist dann wahrscheinlich ein Endianess-Problem.

    Einen Kommentar schreiben:


  • mumpf
    antwortet
    Hi Thomas,

    danke für die Doku, das ist prima - und zeigt mir gleich, dass meine manuell editierten ParameterRef-IDs neu gemacht werden müssen, ich verletze eindeutig diese Forderung:

    Zitat von thesing Beitrag anzeigen
    ·The UniqueNumber of ParameterRefs must be unique within the application program
    Ich habe es natürlich auch nur eindeutig pro Parameter gemacht. Das ist dann schon mal der Punkt, warum es nicht klappt, hätte ich so nicht herausgefunden. Danke vielmals.

    Gruß, Waldemar

    Einen Kommentar schreiben:


  • jorues
    antwortet
    Zitat von thesing Beitrag anzeigen
    So ich glaube dass Dpt9 nun nach einem einfachem if(value > 2048) wieder wie vorgesehen funktioniert.

    Mag Gyver Danke trotzdem für deine Mühe. Ich lass den Pull-request noch offen falls doch noch was falsch ist.
    Kurze Rückmeldung meinerseits:

    Bei mir liefert der BME-Sketch immer noch „0- Werte“ in der aktuellen Version aus github.
    Grüße Johannes
    Zuletzt geändert von jorues; 16.07.2019, 21:38.

    Einen Kommentar schreiben:


  • mumpf
    antwortet
    Hi,

    ich habe gerade (mal wieder) mein Projekt "zerbastelt", aber sobald das wieder kompilierbar ist, werde ich gerne den DPT9 mit vielen Werten durchtesten. Dauert aber noch 1-2 Tage. Werde berichten...

    Gruß, Waldemar

    Einen Kommentar schreiben:


  • thesing
    antwortet
    mumpf in der Hilfedatei vom MT (muss man das MT für installieren) steht noch genaueres zum Update:
    KNX Manufacturer Tool
    Update Application Program
    This function is called "Update Application Program" in the ETS4 / ETS5 UI.

    The functionality is not available in ETS3.

    When is the function available?

    The function is available if a device is selected and there is an Application Program in the Database (ETS4) or Product Store (ETS5) which has:

    ·the same Manufacturer and ApplicationNumber as the currently assigned application program

    ·a higher version number

    ·contains the existing version in its "Replaces Versions" attribute (see ApplicationProgram).

    ·is linked to the same hardware



    Note: If the new application program is not registered, a special "Replace unregistered products" license has to be installed in ETS.

    How does the function work?


    The function first creates a new device in the project with the newer application program.

    Then the parameter values are transferred: For each ParameterRef of the old application program, a corresponding ParameterRef of the new application is determined by matching UniqueNumber. If no match has been found, the parameter is ignored (without error). Otherwise ETS tries to assign the existing parameter value to the device parameter corresponding to the new ParameterRef. This might fail if parameter types have been changed; such a failure is logged to the ETS log file but is otherwise ignored (the new parameter keeps its default value).

    Then the communication objects are transferred: For each ComObjectRef of the old application program, a corresponding ComObjectRef of the new application is determined by matching object number and size. If no match has been found, the object is ignored (with a warning logged if the old object had associations). Otherwise ETS assigns the existing object flags and associations to the device object corresponding to the new ComObjectRef. If the old device object had a datapoint type assigned, but the new has not, the datapoint type is also transferred.

    What does this imply for the application program?


    The algorithm described above works only as expected if the following restrictions regarding the relation between the new and the old application program hold. It is the manufacturer's responsibility to ensure these restrictions.

    ·The UniqueNumber of ParameterRefs must be unique within the application program (the MT enforces this only for ParameterRefs assigned to the same Parameter/UnionParameter)

    ·The UniqueNumber of ParameterRefs that are present in both the new and the old application program must be identical

    ·If a ParameterRef of the old application program has no correspondence in the new application program, its UniqueNumber must not be re-used.

    ·Care must be taken if the ParameterType of a Parameter has changed. This may make taking over of parameter values impossible.

    ·Adding new ParameterRefs is no problem, they will keep their default values

    ·The object Number of ComObjectRefs that are present in both the new and the old application program must be identical

    ·If a ComObjectRef of the old application program has no correspondence in the new application program, no other ComObject of the same size must be at this Number in the new application program.

    ·Adding new ComObjectRefs is no problem, the will keep their default settings
    KNX Manufacturer Tool, Latest Update: 11/17/2017, © 2017 KNX Association
    Zuletzt geändert von thesing; 15.07.2019, 22:19.

    Einen Kommentar schreiben:


  • thesing
    antwortet
    So ich glaube dass Dpt9 nun nach einem einfachem if(value > 2048) wieder wie vorgesehen funktioniert.

    Mag Gyver Danke trotzdem für deine Mühe. Ich lass den Pull-request noch offen falls doch noch was falsch ist.

    Einen Kommentar schreiben:


  • thesing
    antwortet
    Ich habe die Änderung von Bernator gemergt. Vielen Dank. Mag Gyver: Bei deinem will ich erst nochmal schauen warum der aktuelle Code nicht geht. Der sollte eigentlich das gleiche machen.

    Einen Kommentar schreiben:

Lädt...
X